diff --git a/.github/ISSUE_TEMPLATE/appengine.yml b/.github/ISSUE_TEMPLATE/appengine.yml new file mode 100644 index 00000000..4bd17751 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/appengine.yml @@ -0,0 +1,5 @@ +--- +name: "package:gcloud" +about: "Create a bug or file a feature request against package:gcloud." +labels: "package:gcloud" +--- diff --git a/.github/labeler.yml b/.github/labeler.yml index 52c83718..4084dcd4 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -4,6 +4,14 @@ - changed-files: - any-glob-to-any-file: '.github/**' +'package:appengine': + - changed-files: + - any-glob-to-any-file: 'pkgs/appengine/**' + +'package:gcloud': + - changed-files: + - any-glob-to-any-file: 'pkgs/gcloud/**' + 'package:native_synchronization': - changed-files: - any-glob-to-any-file: 'pkgs/native_synchronization/**' diff --git a/.github/workflows/appengine.yml b/.github/workflows/appengine.yml new file mode 100644 index 00000000..7b6de0d1 --- /dev/null +++ b/.github/workflows/appengine.yml @@ -0,0 +1,40 @@ +name: package:appengine +permissions: read-all + +on: + pull_request: + branches: [ main ] + paths: + - '.github/workflows/appengine.yml' + - 'pkgs/appengine/**' + push: + branches: [ main ] + paths: + - '.github/workflows/appengine.yml' + - 'pkgs/appengine/**' + schedule: + - cron: '0 0 * * 0' # weekly + +jobs: + build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: pkgs/appengine + + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + - uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672 + + - name: Install dependencies + run: dart pub get + + # Disabled - this would format ~492 files. + # - name: Verify formatting + # run: dart format --output=none --set-exit-if-changed . + + - name: Analyze project source + run: dart analyze --fatal-infos + + - name: Run tests + run: dart test diff --git a/pkgs/appengine/.gitignore b/pkgs/appengine/.gitignore new file mode 100644 index 00000000..ce4589be --- /dev/null +++ b/pkgs/appengine/.gitignore @@ -0,0 +1,5 @@ +.dart_tool +.packages +.pub/ +pubspec.lock +tmp/ diff --git a/pkgs/appengine/.test_config b/pkgs/appengine/.test_config new file mode 100644 index 00000000..2fa4b96b --- /dev/null +++ b/pkgs/appengine/.test_config @@ -0,0 +1,5 @@ +{ + "test_package": { + "platforms" : ["vm"] + } +} diff --git a/pkgs/appengine/AUTHORS b/pkgs/appengine/AUTHORS new file mode 100644 index 00000000..7c12ae68 --- /dev/null +++ b/pkgs/appengine/AUTHORS @@ -0,0 +1,6 @@ +# Below is a list of people and organizations that have contributed +# to the Dart project. Names should be added to the list like so: +# +# Name/Organization + +Google Inc. diff --git a/pkgs/appengine/CHANGELOG.md b/pkgs/appengine/CHANGELOG.md new file mode 100644 index 00000000..0391bce8 --- /dev/null +++ b/pkgs/appengine/CHANGELOG.md @@ -0,0 +1,313 @@ +## 0.13.9-wip + +* Update the pubspec repository field to reflect the new repo location. + +## 0.13.8 + +* Require `package:protobuf` ^3.1.0. + +## 0.13.7 + +* Widen dependency constraint on `package:http`. + +## 0.13.6 + +* Require Dart 2.19. +* Setup `dbService` to do retries for failed requests. + +## 0.13.5 + +* Added topics to `pubspec.yaml`. + +## 0.13.4 + +* Implement `onConnectionStateChanged` to sync `grpc: 3.1.0` + +## 0.13.3 + +* Populate the pubspec `repository` field. +* Update the readme to add experimental verbiage. + +## 0.13.2 + * Gracefully handle cases where logging fails. + +## 0.13.1 + * Fix dependency on `package:gcloud` to version `0.8.0`. + +## 0.13.0 +**WARNING**: Version `0.13.0` is broken, use `0.13.1`. + + * Migrated to _null-safety_ and `package:gcloud` version `0.8.0`. + +## 0.12.1 + * Setup default `authClient` in `package:gcloud`, fixing regression from + introduction of _Application Default Credentials_ in `0.12.0`. + +## 0.12.0 + * **Breaking**, now using the environment variable `GOOGLE_CLOUD_PROJECT` + instead of `GCLOUD_PROJECT` for project name. + * **Breaking**, now using + [Application Default Credentials](https://cloud.google.com/docs/authentication/production) + instead of using the environment variable `GCLOUD_KEY`. + This allows authentication by specifying an _exported service account key_ + in `GOOGLE_APPLICATION_CREDENTIALS`, or running + `gcloud auth application-default login` on your local machine. + +## 0.11.0 + + * Upgrade `gcloud` to `0.7.0` with breaking changes in datastore keys. + +## 0.10.5 + + * Handle duplicate `user-agent` headers. + +## 0.10.4 + + * Added `Logging.reportError` to the `logging interface, for reporting errors + to [Stackdriver Error Reporting](https://cloud.google.com/error-reporting/) + when running in AppEngine. + * Report errors logged through the `package:logging` adapter to + `Logging.reportError` (for reporting to Stackdriver Error Reporting). + * Updated protobuf source files. + * Reduced number of unnecessarily generated protos. + +## 0.10.3 + + * Update Protobuf to v1.0.0 + * Add client library identification header + * Fix `grpc/datastore` tests + +## 0.10.2 + + * Update gRPC version dependency + +## 0.10.1 + + * Update gRPC API protos + +## 0.10.0 + + * Revert `0.9.0` + +## 0.9.0 + + * Instantiate new `DatastoreDB` instances for each request. + +## 0.8.1 + + * Detect dev mode when running behind a proxy. + +## 0.8.0 + + * Add `applicationContext` getter to `ClientContext` + +## 0.7.3 + + * Add `onAcceptingConnections` callback to `runAppEngine()` + +## 0.7.2 + + * Update the generated protobufs. + +## 0.7.1 + + * Update to use `package:grpc` version 2.0 + +## 0.7.0 + + * Refactored to use `package:grpc` to talk to Logging and Datastore backends. + +## 0.6.1 + + * Added `isCronJonRequest` as a helper method for determining if a request + originates from the AppEngine cronjob scheduler. + +## 0.6.0 + +**Breaking changes:** + * Removed poorly documented assets support with broken tests. + * Removed memcache as the service was never made it past alpha. + +Users of memcache should consider using +[Cloud Memorystore](https://cloud.google.com/memorystore/) instead. This comes +with a redis interface for which there are multiple packages available on pub. +Serving assets is just a matter of sending a file from disk. This is easy to do +without the logic that this package used to contain. + +## 0.5.1+1 + +* Support latest `pkg:http` and `pkg:http2`. + +## 0.5.1 + +* Correct root path for serving assets. + +## 0.5.0 + +* Support for Dart 2.0 constants and updated gcloud. + +## 0.4.4+2 + +* Fix race condition in gRPC client between `http2Connection.isOpen` and + `http2Connection.makeRequest`. + +## 0.4.4+1 + +* Delay http/2 connection dialer by 20 ms to give client enough time to receive + server settings. + +## 0.4.4 + +* Improve output logging when memcache connections fail. +* Fix Dart 2 runtime issues. + +## 0.4.3+1 + +* When logging requests, the `appengine.googleapis.com/trace_id` label + is populated. + +## 0.4.3 + +* When logging, the following `protoPayload` values are now populated: + * `instanceId` + * `referrer` + * `traceId` via the `X-Cloud-Trace-Context` request header. + +* The `appengine.googleapis.com/instance_name` label is also populated for + all log entries. + +* `traceId` was also added to the `ClientContext` class. + +## 0.4.2 + +* Add support for connecting to memcache instance defined by environment + variables `GAE_MEMCACHE_HOST` and `GAE_MEMCACHE_PORT`. + +## 0.4.1 + +* Add `shared` option to `runAppEngine` to enable multi-threaded operation + with isolates. + +## 0.4.0+3 + +* Fix an issue where models with un-indexed list properties could not be + committed. + +## 0.4.0+2 + +* Be less verbose in request logs printed during local development + +## 0.4.0 + +Switch from Managed VMs to Flexible environment: + +* Removed `UsersService` api. +* Removed `ModulesService` api. +* Removed `RemoteApi` api (was already deprecated). +* Introduce new GCLOUD\_PROJECT and GCLOUD\_KEY environment variables. +* Remove STORAGE\_SERVICE\_ACCOUNT\_FILE environment variable. +* To prevent duplicate logging of errors, `runAppEngine` will no longer log + request-specific errors on stdout if they got already logged via the + request-specific log. + +## 0.3.3+1 + +* Support `gcloud` package version `0.3.0`. + +## 0.3.3 + +* Work around dev\_appserver.py issue (it doesn't drain stdout we therefore avoid + printing anything). + +## 0.3.2 + +* Require `protobuf` package `^0.5.0` +* Support the lastest release of `fixnum` package. + +## 0.3.1+1 + +* Improved output of `Logger.root` with `useLoggingPackageAdaptor`. + +## 0.3.1 + +* Added optional `port` argument to `runAppEngine`. +* Removed the call to `/bin/hostname`. + +## 0.3.0+1 + +* Widen dependency constraint on `package:logging`. + +## 0.3.0 + +* Pass the memcache expiration time to the memcache service. Before the + expiration argument to Memcache.set and Memcache.setAll was ignored. + +* Removed the expiration argument to Memcache.clear. It is not supported by + the App Engine memcache API. + +## 0.2.6+3 + +* Update dependencies to allow gcloud 0.2.0 with Cloud Pub/Sub support. + +## 0.2.6+2 + +* Do not close `authClient`, since `registerStorageService` does it + automatically. + +## 0.2.6+1 + +* Correctly handling `x-appengine-https` header. +* Turn logging of for Level.OFF + +## 0.2.6 + +* Added adaptor for `package:logging` via `useLoggingPackageAdaptor()`. +* Added workaround for incorrect `requestedUri` comming from 'dart:io'. + +## 0.2.5 + +* Added withAppEngineServices() function which allows running arbitrary code + using AppEngine services via a service scope. + +## 0.2.4+1 + +* Change the service scope keys keys to non-private symbols. + +## 0.2.4 + +* Run request handlers inside a service scope +(see `package:gcloud/service_scope.dart`). +* Insert an authenticated HTTP client into the service scope. +* Insert a `memcacheService` into the service scope. +* Added `isDevelopmentServer` and `isProductionEnvironment` getter to client +context. +* Make hostnames returned from modules service use -dot- naming to support +HTTPS. +* Mark `package:appengine/remote_api.dart` as deprecated. + +## 0.2.3 + +* Small bugfix in the lowlevel memcache API implementation. + +## 0.2.2 + +* Updated `README.md` +* Widen googleapis_auth constraint to include version 0.2.0 + +## 0.2.1 + +* Small bugfix in storage API implementation +* respect DART_PUB_SERVE url only in developer mode +* sync db/datastore tests to the ones used in gcloud + +## 0.2.0 + +* Use datastore/db APIs from package:gcloud + * simplified annotation system + * paging-based query API +* Added module service +* Some bugfixes + +## 0.1.0 + +* Alpha release diff --git a/pkgs/appengine/LICENSE b/pkgs/appengine/LICENSE new file mode 100644 index 00000000..000cd7be --- /dev/null +++ b/pkgs/appengine/LICENSE @@ -0,0 +1,27 @@ +Copyright 2014, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/pkgs/appengine/README.md b/pkgs/appengine/README.md new file mode 100644 index 00000000..574ae433 --- /dev/null +++ b/pkgs/appengine/README.md @@ -0,0 +1,173 @@ +[![package:appengine](https://github.com/dart-lang/labs/actions/workflows/appengine.yml/badge.svg)](https://github.com/dart-lang/labs/actions/workflows/appengine.yml) +[![pub package](https://img.shields.io/pub/v/appengine.svg)](https://pub.dev/packages/appengine) +[![package publisher](https://img.shields.io/pub/publisher/appengine.svg)](https://pub.dev/packages/appengine/publisher) + +## Dart support for Google AppEngine + +This package provides support for running server applications written in Dart on +[Google App Engine](https://cloud.google.com/appengine/) using +[Custom Runtimes with Flex Environment](https://cloud.google.com/appengine/docs/flexible/custom-runtimes/). + +## Status: Experimental + +**NOTE**: This package is currently experimental and published under the +[labs.dart.dev](https://dart.dev/dart-team-packages) pub publisher in order to +solicit feedback. + +For packages in the labs.dart.dev publisher we generally plan to either graduate +the package into a supported publisher (dart.dev, tools.dart.dev) after a period +of feedback and iteration, or discontinue the package. These packages have a +much higher expected rate of API and breaking changes. + +Your feedback is valuable and will help us evolve this package. For general +feedback, suggestions, and comments, please file an issue in the +[bug tracker](https://github.com/dart-lang/appengine/issues). + +## Prerequisites + +### Install Dart and Cloud SDKs + +This page assumes the Dart SDK (see +[dart.dev/get-dart](https://dart.dev/get-dart)) as well as the Google +Cloud SDK (see [cloud.google.com/sdk](https://cloud.google.com/sdk/)) were +installed and their bin folders have been added to `PATH`. + +### Setup gcloud + +To ensure gcloud was authorized to access the cloud project and we have the +`app` component installed, we assume the following has been run: +```console +$ gcloud auth login +$ gcloud auth application-default login +$ gcloud config set project +$ gcloud components update app +``` + +Instead of running `gcloud auth application-default login` it is also possible +to authenticate by making the environment variable +`GOOGLE_APPLICATION_CREDENTIALS` point to a file containing +_exported service account credentials_. + +## Creating a hello world application + +To setup a hello world application we need 4 different things: + +#### An `app/pubspec.yaml` file describing the Dart package: +```yaml +name: hello_world +version: 0.1.0 +environment: + sdk: '>=2.0.0 <3.0.0' + +dependencies: + appengine: ^0.12.0 +``` +#### An `app/app.yaml` file describing the AppEngine app: +```yaml +runtime: custom +env: flex +service: default +``` +#### An `app/Dockerfile` describing how to build/bundle the app: +```Dockerfile +FROM google/dart-runtime + +### NOTE: Uncomment the following lines for local testing: +#ADD key.json /project/key.json +#ENV GOOGLE_APPLICATION_CREDENTIALS /project/key.json +#ENV GOOGLE_CLOUD_PROJECT dartlang-pub +``` + +This requires _exported service account credentials_ in `key.json`. + +#### An `app/bin/server.dart` containing the app code +```dart +import 'dart:io'; +import 'package:appengine/appengine.dart'; + +requestHandler(HttpRequest request) { + request.response + ..write('Hello, world!') + ..close(); +} + +main() async { + await runAppEngine(requestHandler); +} +``` + +## Running the app locally + +There are two ways to run the application locally - with or without docker. + +### Running without Docker + +The simplest way to run the application is on the command line like this: +```console +$ gcloud auth application-default login +$ export GOOGLE_CLOUD_PROJECT= +$ dart bin/server.dart +``` + +This will serve the application at [localhost:8080](http://localhost:8080)! + +### Running with Docker + +To be closer to the production environment one can run the application inside a +docker container. In order to do so, docker needs to be installed first (see the +[official instructions](https://docs.docker.com/engine/installation/). + +In order to run the application locally we uncomment the 3 lines in the +`Dockerfile` and place the service account key in `key.json`: +```Dockerfile +ADD key.json /project/key.json +ENV GOOGLE_APPLICATION_CREDENTIALS /project/key.json +ENV GOOGLE_CLOUD_PROJECT dartlang-pub +``` + +We can then run the application via: +```console +$ docker build . +... +Sucessfully built +$ docker run -it +... +``` + +In order to find out at which IP the Docker container is available we inspect +the running container via: +```console +$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + ... +app % docker inspect --format '{{ .NetworkSettings.IPAddress }}' +172.17.0.2 +``` + +Then the application will be available at [172.17.0.2:8080](http://172.17.0.2:8080). + +## Deployment + +Before deploying the app, be sure to remove the environment variables in the +`Dockerfile` which we used for local testing! + +To deploy the application to the cloud we run the following command (optionally +passing the `--no-promote` flag to avoid replacing the production version) + +```console +$ gcloud app deploy --no-promote app.yaml +... +Updating service [default]...done. +Deployed service [default] to [https://-dot-.appspot.com] +... +``` + +This will perform a remote docker build in the cloud and deploy a new version. +You can find the URL to the version that got deployed +in the output of `gcloud app deploy` (as well as via the +[Cloud Console](https://console.cloud.google.com) under `AppEngine > Versions`). + +## Regenerating protobuf + +You need to have protoc in `$PATH`. +Run the `tool/fetch_protos_and_regenerate_dart.sh` script. It will fetch the latest protos and compile them for dart using the protoc_plugin in `dev_dependencies`. diff --git a/pkgs/appengine/analysis_options.yaml b/pkgs/appengine/analysis_options.yaml new file mode 100644 index 00000000..62ee108f --- /dev/null +++ b/pkgs/appengine/analysis_options.yaml @@ -0,0 +1,9 @@ +include: package:pedantic/analysis_options.1.8.0.yaml + +analyzer: + errors: + # This is triggered in generated code. + unnecessary_import: ignore + + exclude: + - tmp/** diff --git a/pkgs/appengine/example/Dockerfile b/pkgs/appengine/example/Dockerfile new file mode 100644 index 00000000..b9517974 --- /dev/null +++ b/pkgs/appengine/example/Dockerfile @@ -0,0 +1 @@ +FROM google/dart-runtime diff --git a/pkgs/appengine/example/app.yaml b/pkgs/appengine/example/app.yaml new file mode 100644 index 00000000..d7fe9efc --- /dev/null +++ b/pkgs/appengine/example/app.yaml @@ -0,0 +1,12 @@ +runtime: custom +env: flex +service: default + +manual_scaling: + instances: 1 + +liveness_check: + path: '/liveness_check' + +readiness_check: + path: '/readiness_check' diff --git a/pkgs/appengine/example/bin/server.dart b/pkgs/appengine/example/bin/server.dart new file mode 100644 index 00000000..f2186ba3 --- /dev/null +++ b/pkgs/appengine/example/bin/server.dart @@ -0,0 +1,57 @@ +import 'dart:io'; +import 'package:appengine/appengine.dart'; +import 'package:logging/logging.dart'; + +final _log = Logger('server'); + +requestHandler(HttpRequest request) { + // Handle liveness checks, this is to show that the server is alive. + // + // The path for this is configured in app.yaml + if (request.requestedUri.path == '/liveness_check') { + request.response + ..statusCode = 200 + ..write('server is alive') + ..close(); + return; + } + // Handle readiness checks, responding 200 OK, shows that we're ready to serve + // traffic. If we had to establish database connections and do other setup + // we might respond 503 until such time that we are ready. + // + // The path for this is configured in app.yaml + if (request.requestedUri.path == '/readiness_check') { + request.response + ..statusCode = 200 + ..write('server is ready') + ..close(); + return; + } + + // Log the request + _log.info('request for path: ${request.requestedUri.path}'); + try { + if (request.requestedUri.path == '/error') { + throw Exception('Something bad happens when hitting this path'); + } + } on Exception catch (e, st) { + // This will log the message to stackdriver logging along with the error + // and stack trace. This will also send error and stack trace to stackdriver + // error reporting service. + _log.severe('a bad thing happend', e, st); + } + + // Respond hello world, when serving normal traffic. + request.response + ..statusCode = 200 + ..write('Hello, world!') + ..close(); +} + +main() async { + await withAppEngineServices(() async { + useLoggingPackageAdaptor(); + + await runAppEngine(requestHandler); + }); +} diff --git a/pkgs/appengine/example/pubspec.yaml b/pkgs/appengine/example/pubspec.yaml new file mode 100644 index 00000000..39a915b5 --- /dev/null +++ b/pkgs/appengine/example/pubspec.yaml @@ -0,0 +1,8 @@ +name: hello_world +publish_to: none +environment: + sdk: '>=2.12.0 <3.0.0' + +dependencies: + appengine: ^0.13.0 + logging: diff --git a/pkgs/appengine/lib/appengine.dart b/pkgs/appengine/lib/appengine.dart new file mode 100644 index 00000000..2bbdbb71 --- /dev/null +++ b/pkgs/appengine/lib/appengine.dart @@ -0,0 +1,169 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine; + +import 'dart:async'; +import 'dart:io'; + +import 'package:gcloud/service_scope.dart' as ss; + +import 'src/appengine_internal.dart' as appengine_internal; +import 'src/client_context.dart'; + +export 'package:gcloud/http.dart'; +export 'src/appengine_context.dart'; +export 'src/client_context.dart'; +export 'src/errors.dart'; +export 'src/logging.dart'; + +const Symbol _APPENGINE_CONTEXT = #appengine.context; + +/// Starts serving requests coming to this AppEngine application. +/// +/// This function will start an HTTP server and will forward new HTTP requests +/// to [handler]. +/// +/// The [handler] will be executed inside a new request handler zone for every +/// new request. This will isolate different requests from each other. +/// Each [handler] has access to a [ClientContext] using the [context] getter +/// in this library. It can be used to access appengine services, e.g. +/// datastore. +/// +/// In case an uncaught error occurs inside the request handler, the request +/// will be closed with an "500 Internal Server Error", if possible, and the +/// given [onError] handler will be called. +/// +/// The [onError] function can take either the error object, or the error object +/// and a stack as an argument. If [onError] was not provided, errors will get +/// printed out to the stdout of this process. +/// +/// You can provide a [port] if you want to run the HTTP server on a different +/// port than the `8080` default. +/// +/// The optional [shared] argument specifies whether additional AppEngine +/// servers can bind to the same `port`. If `shared` is `true` and more +/// AppEngine servers from this isolate or other isolates are bound to the +/// port, then the incoming connections will be distributed among all the bound +/// servers. Connections can be distributed over multiple isolates this way. +/// +/// The optional [onAcceptingConnections] callback, if provided, will be +/// notified when the server is accepting connections on [port]. The `address` +/// and `port` arguments that are passed to the callback specify the address +/// and port that the server is listening on. +/// +/// The returned `Future` will complete when the HTTP server has been shutdown +/// and is no longer serving requests. +Future runAppEngine( + void handler(HttpRequest request), { + Function? onError, + int port = 8080, + bool shared = false, + void onAcceptingConnections(InternetAddress address, int port)?, +}) { + var errorHandler; + if (onError != null) { + if (onError is ZoneUnaryCallback) { + errorHandler = (error, stack) => onError(error); + } else if (onError is ZoneBinaryCallback) { + errorHandler = onError; + } else { + throw ArgumentError( + 'The [onError] argument must take either one or two arguments.'); + } + } + + return appengine_internal.runAppEngine( + (HttpRequest request, ClientContext context) { + ss.register(_APPENGINE_CONTEXT, context); + handler(request); + }, errorHandler, + port: port, + shared: shared, + onAcceptingConnections: onAcceptingConnections); +} + +/// Returns `true`, if the incoming request is an AppEngine cron job request. +/// +/// To schedule cron jobs for your application, you must create a `cron.yaml` +/// file in the project root alongside your `app.yaml`. The following is an +/// example of such a `cron.yaml` file: +/// ```yaml +/// cron: +/// - description: 'daily database cleanup job' +/// url: '/tasks/database-cleanup' +/// schedule: 'every 24 hours' +/// target: 'default' +/// ``` +/// +/// When the cronjob from the example above is triggered AppEngine will send +/// an HTTP request to the `default` service for the resource +/// `/tasks/database-cleanup`. In practice anyone can instigate such a request, +/// but AppEngine will send the request from `'10.0.0.1'` and include a special +/// header. This function will validate the origin of the [request] to +/// ensure that it does indeed originate from +/// [AppEngine's cron job scheduler][1]. +/// +/// [1]: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#validating_cron_requests +bool isCronJobRequest(HttpRequest request) { + return request.headers['X-Appengine-Cron']?.contains('true') == true; +} + +/// Runs [callback] inside a new service scope with appengine services added. +/// +/// The services available to `callback` are all non-request specific appengine +/// services e.g. `dbService`. +/// +/// See `package:gcloud/service_scope.dart` for more information on service +/// scopes. +/// +/// Here is an example on how this can be used: +/// +/// import 'dart:async'; +/// import 'dart:io'; +/// import 'package:appengine/appengine.dart'; +/// +/// Future backgroundWork() { +/// return dbService.query(Person).run().toList().then((persons) { +/// // Do something with `persons`. +/// }); +/// } +/// +/// void mainHandler(HttpRequest request) { +/// dbService.query(Greeting).run().toList().then((greetings) { +/// request.response +/// ..write('Number of greetings: ${greetings.length}') +/// ..close(); +/// }); +/// } +/// +/// main() { +/// withAppEngineServices(() { +/// return Future.wait([ +/// runAppEngine(mainHandler), +/// backgroundWork(), +/// ]); +/// }); +/// } +Future withAppEngineServices(Future callback()) { + return appengine_internal.withAppEngineServices(callback); +} + +/// Returns the [ClientContext] of the current request. +/// +/// This getter can only be called inside a request handler which was passed to +/// [runAppEngine]. +ClientContext get context => ss.lookup(_APPENGINE_CONTEXT) as ClientContext; + +/// Will register for log events produced by `package:logging` and forwards +/// log records to the AppEngine logging service. +/// +/// Errors and exceptions logged with a stacktrace and severity `severe` or +/// higher will also be reported to [Stackdriver Error Reporting][1] when +/// running on AppEngine. +/// +/// [1]: https://cloud.google.com/error-reporting/ +void useLoggingPackageAdaptor() { + appengine_internal.useLoggingPackageAdaptor(); +} diff --git a/pkgs/appengine/lib/src/api_impl/stderr_logging_impl.dart b/pkgs/appengine/lib/src/api_impl/stderr_logging_impl.dart new file mode 100644 index 00000000..c5ca0704 --- /dev/null +++ b/pkgs/appengine/lib/src/api_impl/stderr_logging_impl.dart @@ -0,0 +1,104 @@ +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library stderr_logging; + +import 'dart:async'; +import 'dart:io' as io; + +import '../logging.dart'; +import '../logging_impl.dart'; + +class StderrRequestLoggingImpl extends LoggingImpl { + final String _httpMethod; + final String _httpResource; + final DateTime _startTimestamp = DateTime.now().toUtc(); + final List<_LogLine> _gaeLogLines = <_LogLine>[]; + + LogLevel _currentLogLevel = LogLevel.DEBUG; + + StderrRequestLoggingImpl(this._httpMethod, this._httpResource) { + _resetState(); + } + + @override + void log(LogLevel level, String message, {DateTime? timestamp}) { + if (level.level > _currentLogLevel.level) { + _currentLogLevel = level; + } + _gaeLogLines + .add(_LogLine(level, message, timestamp ?? DateTime.now().toUtc())); + } + + @override + Future flush() async { + if (_gaeLogLines.isNotEmpty) { + _enqueue(finish: false); + } + } + + @override + void finish(int responseStatus, int responseSize) { + _enqueue( + finish: true, + responseStatus: responseStatus, + responseSize: responseSize); + } + + void _enqueue({bool finish = false, int? responseStatus, int? responseSize}) { + final now = DateTime.now().toUtc(); + final buffer = StringBuffer(); + + if (finish) { + buffer.writeln('$now $_httpMethod $responseStatus ' + '${now.difference(_startTimestamp).inMilliseconds} ms' + ' $_httpResource'); + } else { + buffer.writeln('$now $_httpMethod - - $_httpResource'); + } + for (final _LogLine line in _gaeLogLines) { + final indented = line.format(_startTimestamp).replaceAll('\n', '\n '); + buffer.writeln(' $indented'); + } + + io.stderr.write('$buffer'); + _resetState(); + } + + void _resetState() { + _gaeLogLines.clear(); + _currentLogLevel = LogLevel.DEBUG; + } +} + +class StderrBackgroundLoggingImpl extends LoggingBase { + @override + void log(LogLevel level, String message, {DateTime? timestamp}) { + final logLine = + _LogLine(level, message, timestamp ?? DateTime.now().toUtc()); + io.stderr.writeln(logLine.format(null)); + } + + @override + Future flush() => Future.value(); +} + +class _LogLine { + final LogLevel level; + final String message; + final DateTime timestamp; + + _LogLine(this.level, this.message, this.timestamp); + + String format(DateTime? start) { + String time; + if (start != null) { + final ms = timestamp.difference(start).inMilliseconds.toString(); + time = '${' ' * (5 - ms.length)}$ms ms'; + } else { + time = '$timestamp'; + } + return '$time ${level.name}: $message'; + } +} diff --git a/pkgs/appengine/lib/src/appengine_context.dart b/pkgs/appengine/lib/src/appengine_context.dart new file mode 100644 index 00000000..cbcfac01 --- /dev/null +++ b/pkgs/appengine/lib/src/appengine_context.dart @@ -0,0 +1,27 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.appengine_context; + +class AppEngineContext { + final String applicationID; + final String partition; + final String version; + final String module; + final String instance; + final String? instanceId; + final bool isDevelopmentEnvironment; + + AppEngineContext( + this.isDevelopmentEnvironment, + this.applicationID, + this.version, + this.module, + this.instance, + this.instanceId, + Uri? pubServeUrl) + : partition = ''; + + String get fullQualifiedApplicationId => '$partition~$applicationID'; +} diff --git a/pkgs/appengine/lib/src/appengine_internal.dart b/pkgs/appengine/lib/src/appengine_internal.dart new file mode 100644 index 00000000..74f797d3 --- /dev/null +++ b/pkgs/appengine/lib/src/appengine_internal.dart @@ -0,0 +1,428 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.internal; + +import 'dart:async'; +import 'dart:io'; + +import 'package:gcloud/datastore.dart' as datastore; +import 'package:gcloud/db.dart' as db; +import 'package:gcloud/http.dart' as gcloud_http; +import 'package:gcloud/service_scope.dart' as ss; +import 'package:gcloud/storage.dart' as storage; +import 'package:googleapis_auth/auth_io.dart' as auth; +import 'package:grpc/grpc.dart' as grpc; +import 'package:grpc/src/client/connection.dart'; +import 'package:http/http.dart' as http; +import 'package:path/path.dart' as p; + +import 'api_impl/stderr_logging_impl.dart' as stderr_logging_impl; +import 'appengine_context.dart'; +import 'client_context.dart'; +import 'grpc_api_impl/datastore_impl.dart' as grpc_datastore_impl; +import 'grpc_api_impl/logging_impl.dart' as grpc_logging_impl; +import 'logging.dart' as logging; +import 'logging_impl.dart'; +import 'server/context_registry.dart'; +import 'server/logging_package_adaptor.dart'; +import 'server/server.dart'; + +bool _loggingPackageEnabled = false; + +/// Runs the given [callback] inside a new service scope and makes AppEngine +/// services available within that scope. +Future withAppEngineServices(Future callback()) => + _withAppEngineServicesInternal((_) => callback()); + +/// Runs the AppEngine http server and uses the given request [handler] to +/// handle incoming http requests. +/// +/// The given request [handler] is run inside a new service scope and has all +/// AppEngine services available within that scope. +Future runAppEngine( + void handler(HttpRequest request, ClientContext context), + void onError(Object e, StackTrace s)?, { + int port = 8080, + bool shared = false, + void onAcceptingConnections(InternetAddress address, int port)?, +}) { + return _withAppEngineServicesInternal((ContextRegistry contextRegistry) { + final appengineServer = AppEngineHttpServer(contextRegistry, + port: port, shared: shared) + ..run((request, context) { + ss.fork(() { + logging.registerLoggingService(context.services.logging); + handler(request, context); + return request.response.done; + }, onError: (error, stack) { + final context = contextRegistry.lookup(request); + if (context != null) { + try { + context.services.logging + .error('Uncaught error in request handler: $error\n$stack'); + } catch (e) { + print('Error while logging uncaught error: $e.' + 'Original error: $error\n$stack'); + } + } else { + print('Unable to log error, since response has already been sent' + 'Original error: $error\n$stack'); + } + if (onError != null) { + onError('Uncaught error in request handler zone: $error', stack); + } + + // In many cases errors happen during request processing or response + // preparation. In such cases we want to close the connection, since + // user code might not be able to. + try { + request.response.statusCode = HttpStatus.internalServerError; + } on StateError catch (_) {} + request.response.close().catchError((closeError, closeErrorStack) { + final message = + 'Forcefully closing response, due to error in request' + ' handler zone, resulted in an error: $closeError'; + if (onError != null) { + onError(message, closeErrorStack); + } else { + print('$message\n$closeErrorStack'); + } + }); + }); + }, onAcceptingConnections: onAcceptingConnections); + return appengineServer.done; + }); +} + +Future _withAppEngineServicesInternal( + Future callback(ContextRegistry contextRegistry)) { + return ss.fork(() async { + final ContextRegistry contextRegistry = await _initializeAppEngine(); + final bgServices = contextRegistry.newBackgroundServices(); + + db.registerDbService(bgServices.db); + datastore.registerDatastoreService(bgServices.db.datastore); + storage.registerStorageService(bgServices.storage); + logging.registerLoggingService(bgServices.logging); + + return callback(contextRegistry); + }); +} + +/// Sets up a `package:logging` adaptor to use AppEngine logging service. +/// +/// The logging messages made via `package:logging` which are made inside a +/// request handler will end up grouped together in an AppEngine logging entry. +void useLoggingPackageAdaptor() { + if (_loggingPackageEnabled) return; + _loggingPackageEnabled = true; + setupAppEngineLogging(); +} + +/// Uses various environment variables to initialize the appengine services and +/// returns a new [ContextRegistry] which is used for registering in-progress +/// http requests. +Future _initializeAppEngine() async { + var zoneId = await _getZoneInProduction(); + final isDevEnvironment = zoneId == null; + zoneId ??= 'dev-machine'; + final bool isProdEnvironment = !isDevEnvironment; + + String? _findEnvironmentVariable(String name, + {bool onlyInProd = false, bool onlyInDev = false, bool needed = true}) { + if (onlyInProd && !isProdEnvironment) return null; + if (onlyInDev && !isDevEnvironment) return null; + + final value = Platform.environment[name]; + if (value == null && needed) { + throw StateError('Expected environment variable $name to be set!'); + } + return value; + } + + final projectId = _findEnvironmentVariable( + 'GOOGLE_CLOUD_PROJECT', + needed: true, + )!; + + // For local testing the gcloud sdk brings now a gRPC-ready datastore + // emulator which will tell the user to use this environment variable. + final dbEmulatorHost = _findEnvironmentVariable('DATASTORE_EMULATOR_HOST', + onlyInDev: false, needed: false); + + final serviceId = + _findEnvironmentVariable('GAE_SERVICE', onlyInProd: true, needed: true) ?? + 'dummy-service'; + final versionId = + _findEnvironmentVariable('GAE_VERSION', onlyInProd: true, needed: true) ?? + 'dummy-version'; + final instance = _findEnvironmentVariable('GAE_INSTANCE', + onlyInProd: true, needed: true) ?? + 'dummy-instance'; + + final String? pubServeUrlString = Platform.environment['DART_PUB_SERVE']; + final Uri? pubServeUrl = + pubServeUrlString != null ? Uri.parse(pubServeUrlString) : null; + + final instanceId = await _getInstanceid(); + + final context = AppEngineContext(isDevEnvironment, projectId, versionId, + serviceId, instance, instanceId, pubServeUrl); + + final loggerFactory = await _obtainLoggerFactory(context, zoneId); + final storageService = await _obtainStorageService(context.applicationID); + + final dbService = await _obtainDatastoreService( + context.applicationID, + dbEmulatorHost, + ); + + // Setup a default authClient for package:gcloud + gcloud_http.registerAuthClientService( + await auth.clientViaApplicationDefaultCredentials( + scopes: ['https://www.googleapis.com/auth/cloud-platform'], + )); + + return ContextRegistry(loggerFactory, dbService, storageService, context); +} + +/// Obtains a gRPC-based datastore implementation. +/// +/// If [dbEmulatorHost] is not null it must have the form 'host:port' and +/// support http/2-based unencrypted gRPC. +/// +/// Otherwise http2/-based encrypted gRPC will be used to Google's production +/// service. +/// +/// The datastore emulator comes with the gcloud sdk and can be launched via: +/// +/// $ gcloud beta emulators datastore start +/// ... +/// [datastore] If you are using a library that supports the +/// DATASTORE_EMULATOR_HOST environment variable, run: +/// [datastore] +/// [datastore] export DATASTORE_EMULATOR_HOST=localhost:8037 +/// [datastore] +/// [datastore] Dev App Server is now running. +/// ... +/// +/// The returned [db.DatastoreDB] will be usable within the current service +/// scope. +Future _obtainDatastoreService( + String projectId, + String? dbEmulatorHost, +) async { + String endpoint = 'https://datastore.googleapis.com'; + bool needAuthorization = true; + if (dbEmulatorHost != null && dbEmulatorHost.contains(':')) { + // The datastore emulator uses unencrypted http/2, we use therefore 'http' + // for the uri scheme. + endpoint = 'http://$dbEmulatorHost'; + needAuthorization = false; + } + final authenticator = await grpc.applicationDefaultCredentialsAuthenticator( + grpc_datastore_impl.OAuth2Scopes, + ); + final grpcClient = _getGrpcClientChannel(endpoint, needAuthorization); + final rawDatastore = datastore.Datastore.withRetry( + grpc_datastore_impl.GrpcDatastoreImpl( + grpcClient, + authenticator, + projectId, + ), + ); + return db.DatastoreDB(rawDatastore, modelDB: db.ModelDBImpl()); +} + +/// Creates a storage service using the service account credentials (if given) +/// or using the metadata to obtain access credentials. +Future _obtainStorageService(String projectId) async { + final authClient = await auth.clientViaApplicationDefaultCredentials( + scopes: storage.Storage.SCOPES, + ); + return storage.Storage(authClient, projectId); +} + +/// Creates a closure function which can be used for +/// +/// The underlying logging implementation will be usable within the current +/// service scope. +Future _obtainLoggerFactory( + AppEngineContext context, + String zoneId, +) async { + if (context.isDevelopmentEnvironment) { + return StderrLoggerFactory(); + } else { + final authenticator = await grpc.applicationDefaultCredentialsAuthenticator( + grpc_logging_impl.OAuth2Scopes, + ); + final sharedLoggingService = grpc_logging_impl.SharedLoggingService( + _getGrpcClientChannel('https://logging.googleapis.com', true), + authenticator, + context.applicationID, + context.module, + context.version, + zoneId, + context.instance, + context.instanceId); + ss.registerScopeExitCallback(sharedLoggingService.close); + return GrpcLoggerFactory(sharedLoggingService); + } +} + +/// Creates a grpc client to the specified host using service account +/// credentials for authorization. +/// +/// The returned [grpc.Client] will be usable within the current service scope. +grpc.ClientChannel _getGrpcClientChannel(String url, bool needAuthorization) { + final clientChannel = _ClientChannelWithClientId(grpc.ClientChannel( + Uri.parse(url).host, + options: needAuthorization + ? grpc.ChannelOptions() + : grpc.ChannelOptions( + credentials: grpc.ChannelCredentials.insecure(), + ), + )); + ss.registerScopeExitCallback(clientChannel.shutdown); + return clientChannel; +} + +/// Major.minor.patch version of the current Dart SDK. +final _dartVersion = Platform.version.split(RegExp('[^0-9]')).take(3).join('.'); + +/// Wraps [grpc.ClientChannel] attaching a client id header to each request. +class _ClientChannelWithClientId implements grpc.ClientChannel { + final grpc.ClientChannel _clientChannel; + _ClientChannelWithClientId(this._clientChannel); + + @override + grpc.ClientCall createCall( + grpc.ClientMethod method, + Stream requests, + grpc.CallOptions options, + ) => + _clientChannel.createCall( + method, + requests, + grpc.CallOptions(metadata: { + 'x-goog-api-client': 'gl-dart/$_dartVersion', + }).mergedWith(options), + ); + + @override + ClientConnection createConnection() => _clientChannel.createConnection(); + + @override + Future getConnection() => _clientChannel.getConnection(); + + @override + String get host => _clientChannel.host as String; + + @override + grpc.ChannelOptions get options => _clientChannel.options; + + @override + int get port => _clientChannel.port; + + @override + Future shutdown() => _clientChannel.shutdown(); + + @override + Future terminate() => _clientChannel.terminate(); + + @override + Stream get onConnectionStateChanged => + _clientChannel.onConnectionStateChanged; +} + +Future _getZoneInProduction() => _getMetadataValue('zone'); + +Future _getInstanceid() => _getMetadataValue('id'); + +Future _getMetadataValue(String path) async { + final client = http.Client(); + try { + final response = await client.get( + Uri.parse( + 'http://metadata.google.internal/computeMetadata/v1/instance/$path'), + headers: { + 'Metadata-Flavor': 'Google', + }); + if (response.statusCode == HttpStatus.ok) { + if (response.headers[HttpHeaders.contentTypeHeader]!.contains('html') || + response.body.contains('')) { + // The response is not expected to be HTML. This likely means we're not + // running on cloud, and the request was intercepted by an HTTP proxy. + return null; + } + return p.split(response.body).last; + } + + throw Exception([ + 'Reqeust for metadata returned something unexpected', + response.statusCode, + response.body + ].join('\n')); + } on SocketException { + // likely not on cloud + return null; + } catch (e) { + stderr.writeln('Unexpected error when trying to access metadata'); + rethrow; + } finally { + client.close(); + } +} + +/// Factory used for creating request-specific and background loggers. +/// +/// The implementation sends log messages to the Stackdriver logging service via +/// gRPC. +class GrpcLoggerFactory implements LoggerFactory { + final grpc_logging_impl.SharedLoggingService _shared; + + GrpcLoggerFactory(this._shared); + + @override + LoggingImpl newRequestSpecificLogger( + String method, + String resource, + String userAgent, + String host, + String ip, + String? traceId, + String referrer) { + return grpc_logging_impl.GrpcRequestLoggingImpl( + _shared, method, resource, userAgent, host, ip, traceId, referrer); + } + + @override + logging.Logging newBackgroundLogger() { + return grpc_logging_impl.GrpcBackgroundLoggingImpl(_shared); + } +} + +/// Factory used for creating request-specific and background loggers. +/// +/// The implementation writes log messages to stderr. +class StderrLoggerFactory implements LoggerFactory { + @override + LoggingImpl newRequestSpecificLogger( + String method, + String resource, + String userAgent, + String host, + String ip, + String? traceId, + String referrer) { + return stderr_logging_impl.StderrRequestLoggingImpl(method, resource); + } + + @override + logging.Logging newBackgroundLogger() { + return stderr_logging_impl.StderrBackgroundLoggingImpl(); + } +} diff --git a/pkgs/appengine/lib/src/client_context.dart b/pkgs/appengine/lib/src/client_context.dart new file mode 100644 index 00000000..c0359ff6 --- /dev/null +++ b/pkgs/appengine/lib/src/client_context.dart @@ -0,0 +1,41 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.client_context; + +import 'package:gcloud/db.dart'; +import 'package:gcloud/storage.dart'; + +import 'appengine_context.dart'; +import 'logging.dart'; + +abstract class ClientContext { + /// Whether the application is currently running in the development + /// environment. + bool get isDevelopmentEnvironment; + + /// Whether the application is currently running in the production + /// environment. + bool get isProductionEnvironment; + + Services get services; + + AppEngineContext get applicationContext; + + /// The `TRACE_ID` value from the `X-Cloud-Trace-Context` request header. + /// + /// If `X-Cloud-Trace-Context` was not included in the request, the value will + /// be `null`. + /// + /// See https://cloud.google.com/trace/docs/support for details. + String? get traceId; +} + +class Services { + final DatastoreDB db; + final Storage storage; + final Logging logging; + + Services(this.db, this.storage, this.logging); +} diff --git a/pkgs/appengine/lib/src/errors.dart b/pkgs/appengine/lib/src/errors.dart new file mode 100644 index 00000000..ba31cf09 --- /dev/null +++ b/pkgs/appengine/lib/src/errors.dart @@ -0,0 +1,50 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.api.errors; + +import 'dart:io'; + +class AppEngineError implements Exception { + final String message; + + const AppEngineError(this.message); + + @override + String toString() => 'AppEngineException: $message'; +} + +class NetworkError extends AppEngineError implements IOException { + NetworkError(String message) : super(message); + + @override + String toString() => 'NetworkError: $message'; +} + +class ProtocolError extends AppEngineError implements IOException { + static const ProtocolError INVALID_RESPONSE = + ProtocolError('Invalid response'); + + const ProtocolError(String message) : super(message); + + @override + String toString() => 'ProtocolError: $message'; +} + +class ServiceError extends AppEngineError { + final String serviceName; + + ServiceError(String message, {this.serviceName = 'ServiceError'}) + : super(message); + + @override + String toString() => '$serviceName: $message'; +} + +class ApplicationError extends AppEngineError { + ApplicationError(String message) : super(message); + + @override + String toString() => 'ApplicationError: $message'; +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pb.dart new file mode 100644 index 00000000..72474b40 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pb.dart @@ -0,0 +1,33 @@ +// +// Generated code. Do not modify. +// source: google/api/annotations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'http.pb.dart' as $55; + +class Annotations { + static final http = $pb.Extension<$55.HttpRule>( + _omitMessageNames ? '' : 'google.protobuf.MethodOptions', + _omitFieldNames ? '' : 'http', + 72295728, + $pb.PbFieldType.OM, + defaultOrMaker: $55.HttpRule.getDefault, + subBuilder: $55.HttpRule.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(http); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pbenum.dart new file mode 100644 index 00000000..2edb4101 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/annotations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pbjson.dart new file mode 100644 index 00000000..56d3cf31 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/annotations.pbjson.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/api/annotations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pb.dart new file mode 100644 index 00000000..1c99d4a8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pb.dart @@ -0,0 +1,908 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/apikeys.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/field_mask.pb.dart' as $58; +import 'resources.pb.dart' as $30; + +/// Request message for `CreateKey` method. +class CreateKeyRequest extends $pb.GeneratedMessage { + factory CreateKeyRequest({ + $core.String? parent, + $30.Key? key, + $core.String? keyId, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (key != null) { + $result.key = key; + } + if (keyId != null) { + $result.keyId = keyId; + } + return $result; + } + CreateKeyRequest._() : super(); + factory CreateKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateKeyRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$30.Key>(2, _omitFieldNames ? '' : 'key', subBuilder: $30.Key.create) + ..aOS(3, _omitFieldNames ? '' : 'keyId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateKeyRequest clone() => CreateKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateKeyRequest copyWith(void Function(CreateKeyRequest) updates) => + super.copyWith((message) => updates(message as CreateKeyRequest)) + as CreateKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateKeyRequest create() => CreateKeyRequest._(); + CreateKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateKeyRequest? _defaultInstance; + + /// Required. The project in which the API key is created. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The API key fields to set at creation time. + /// You can configure only the `display_name`, `restrictions`, and + /// `annotations` fields. + @$pb.TagNumber(2) + $30.Key get key => $_getN(1); + @$pb.TagNumber(2) + set key($30.Key v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasKey() => $_has(1); + @$pb.TagNumber(2) + void clearKey() => clearField(2); + @$pb.TagNumber(2) + $30.Key ensureKey() => $_ensure(1); + + /// User specified key id (optional). If specified, it will become the final + /// component of the key resource name. + /// + /// The id must be unique within the project, must conform with RFC-1034, + /// is restricted to lower-cased letters, and has a maximum length of 63 + /// characters. In another word, the id must match the regular + /// expression: `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + /// + /// The id must NOT be a UUID-like string. + @$pb.TagNumber(3) + $core.String get keyId => $_getSZ(2); + @$pb.TagNumber(3) + set keyId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasKeyId() => $_has(2); + @$pb.TagNumber(3) + void clearKeyId() => clearField(3); +} + +/// Request message for `ListKeys` method. +class ListKeysRequest extends $pb.GeneratedMessage { + factory ListKeysRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.bool? showDeleted, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (showDeleted != null) { + $result.showDeleted = showDeleted; + } + return $result; + } + ListKeysRequest._() : super(); + factory ListKeysRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListKeysRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListKeysRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOB(6, _omitFieldNames ? '' : 'showDeleted') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListKeysRequest clone() => ListKeysRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListKeysRequest copyWith(void Function(ListKeysRequest) updates) => + super.copyWith((message) => updates(message as ListKeysRequest)) + as ListKeysRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListKeysRequest create() => ListKeysRequest._(); + ListKeysRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListKeysRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListKeysRequest? _defaultInstance; + + /// Required. Lists all API keys associated with this project. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. Specifies the maximum number of results to be returned at a time. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional. Requests a specific page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Optional. Indicate that keys deleted in the past 30 days should also be + /// returned. + @$pb.TagNumber(6) + $core.bool get showDeleted => $_getBF(3); + @$pb.TagNumber(6) + set showDeleted($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(6) + $core.bool hasShowDeleted() => $_has(3); + @$pb.TagNumber(6) + void clearShowDeleted() => clearField(6); +} + +/// Response message for `ListKeys` method. +class ListKeysResponse extends $pb.GeneratedMessage { + factory ListKeysResponse({ + $core.Iterable<$30.Key>? keys, + $core.String? nextPageToken, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListKeysResponse._() : super(); + factory ListKeysResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListKeysResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListKeysResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..pc<$30.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $30.Key.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListKeysResponse clone() => ListKeysResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListKeysResponse copyWith(void Function(ListKeysResponse) updates) => + super.copyWith((message) => updates(message as ListKeysResponse)) + as ListKeysResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListKeysResponse create() => ListKeysResponse._(); + ListKeysResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListKeysResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListKeysResponse? _defaultInstance; + + /// A list of API keys. + @$pb.TagNumber(1) + $core.List<$30.Key> get keys => $_getList(0); + + /// The pagination token for the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `GetKey` method. +class GetKeyRequest extends $pb.GeneratedMessage { + factory GetKeyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetKeyRequest._() : super(); + factory GetKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetKeyRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetKeyRequest clone() => GetKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetKeyRequest copyWith(void Function(GetKeyRequest) updates) => + super.copyWith((message) => updates(message as GetKeyRequest)) + as GetKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetKeyRequest create() => GetKeyRequest._(); + GetKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetKeyRequest? _defaultInstance; + + /// Required. The resource name of the API key to get. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `GetKeyString` method. +class GetKeyStringRequest extends $pb.GeneratedMessage { + factory GetKeyStringRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetKeyStringRequest._() : super(); + factory GetKeyStringRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetKeyStringRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetKeyStringRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetKeyStringRequest clone() => GetKeyStringRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetKeyStringRequest copyWith(void Function(GetKeyStringRequest) updates) => + super.copyWith((message) => updates(message as GetKeyStringRequest)) + as GetKeyStringRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetKeyStringRequest create() => GetKeyStringRequest._(); + GetKeyStringRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetKeyStringRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetKeyStringRequest? _defaultInstance; + + /// Required. The resource name of the API key to be retrieved. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Response message for `GetKeyString` method. +class GetKeyStringResponse extends $pb.GeneratedMessage { + factory GetKeyStringResponse({ + $core.String? keyString, + }) { + final $result = create(); + if (keyString != null) { + $result.keyString = keyString; + } + return $result; + } + GetKeyStringResponse._() : super(); + factory GetKeyStringResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetKeyStringResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetKeyStringResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'keyString') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetKeyStringResponse clone() => + GetKeyStringResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetKeyStringResponse copyWith(void Function(GetKeyStringResponse) updates) => + super.copyWith((message) => updates(message as GetKeyStringResponse)) + as GetKeyStringResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetKeyStringResponse create() => GetKeyStringResponse._(); + GetKeyStringResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetKeyStringResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetKeyStringResponse? _defaultInstance; + + /// An encrypted and signed value of the key. + @$pb.TagNumber(1) + $core.String get keyString => $_getSZ(0); + @$pb.TagNumber(1) + set keyString($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKeyString() => $_has(0); + @$pb.TagNumber(1) + void clearKeyString() => clearField(1); +} + +/// Request message for `UpdateKey` method. +class UpdateKeyRequest extends $pb.GeneratedMessage { + factory UpdateKeyRequest({ + $30.Key? key, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateKeyRequest._() : super(); + factory UpdateKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateKeyRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOM<$30.Key>(1, _omitFieldNames ? '' : 'key', subBuilder: $30.Key.create) + ..aOM<$58.FieldMask>(2, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateKeyRequest clone() => UpdateKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateKeyRequest copyWith(void Function(UpdateKeyRequest) updates) => + super.copyWith((message) => updates(message as UpdateKeyRequest)) + as UpdateKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateKeyRequest create() => UpdateKeyRequest._(); + UpdateKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateKeyRequest? _defaultInstance; + + /// Required. Set the `name` field to the resource name of the API key to be + /// updated. You can update only the `display_name`, `restrictions`, and + /// `annotations` fields. + @$pb.TagNumber(1) + $30.Key get key => $_getN(0); + @$pb.TagNumber(1) + set key($30.Key v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + @$pb.TagNumber(1) + $30.Key ensureKey() => $_ensure(0); + + /// The field mask specifies which fields to be updated as part of this + /// request. All other fields are ignored. + /// Mutable fields are: `display_name`, `restrictions`, and `annotations`. + /// If an update mask is not provided, the service treats it as an implied mask + /// equivalent to all allowed fields that are set on the wire. If the field + /// mask has a special value "*", the service treats it equivalent to replace + /// all allowed mutable fields. + @$pb.TagNumber(2) + $58.FieldMask get updateMask => $_getN(1); + @$pb.TagNumber(2) + set updateMask($58.FieldMask v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasUpdateMask() => $_has(1); + @$pb.TagNumber(2) + void clearUpdateMask() => clearField(2); + @$pb.TagNumber(2) + $58.FieldMask ensureUpdateMask() => $_ensure(1); +} + +/// Request message for `DeleteKey` method. +class DeleteKeyRequest extends $pb.GeneratedMessage { + factory DeleteKeyRequest({ + $core.String? name, + $core.String? etag, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (etag != null) { + $result.etag = etag; + } + return $result; + } + DeleteKeyRequest._() : super(); + factory DeleteKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteKeyRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'etag') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteKeyRequest clone() => DeleteKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteKeyRequest copyWith(void Function(DeleteKeyRequest) updates) => + super.copyWith((message) => updates(message as DeleteKeyRequest)) + as DeleteKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteKeyRequest create() => DeleteKeyRequest._(); + DeleteKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteKeyRequest? _defaultInstance; + + /// Required. The resource name of the API key to be deleted. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. The etag known to the client for the expected state of the key. + /// This is to be used for optimistic concurrency. + @$pb.TagNumber(2) + $core.String get etag => $_getSZ(1); + @$pb.TagNumber(2) + set etag($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEtag() => $_has(1); + @$pb.TagNumber(2) + void clearEtag() => clearField(2); +} + +/// Request message for `UndeleteKey` method. +class UndeleteKeyRequest extends $pb.GeneratedMessage { + factory UndeleteKeyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + UndeleteKeyRequest._() : super(); + factory UndeleteKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteKeyRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteKeyRequest clone() => UndeleteKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteKeyRequest copyWith(void Function(UndeleteKeyRequest) updates) => + super.copyWith((message) => updates(message as UndeleteKeyRequest)) + as UndeleteKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteKeyRequest create() => UndeleteKeyRequest._(); + UndeleteKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteKeyRequest? _defaultInstance; + + /// Required. The resource name of the API key to be undeleted. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `LookupKey` method. +class LookupKeyRequest extends $pb.GeneratedMessage { + factory LookupKeyRequest({ + $core.String? keyString, + }) { + final $result = create(); + if (keyString != null) { + $result.keyString = keyString; + } + return $result; + } + LookupKeyRequest._() : super(); + factory LookupKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LookupKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LookupKeyRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'keyString') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LookupKeyRequest clone() => LookupKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LookupKeyRequest copyWith(void Function(LookupKeyRequest) updates) => + super.copyWith((message) => updates(message as LookupKeyRequest)) + as LookupKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LookupKeyRequest create() => LookupKeyRequest._(); + LookupKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LookupKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LookupKeyRequest? _defaultInstance; + + /// Required. Finds the project that owns the key string value. + @$pb.TagNumber(1) + $core.String get keyString => $_getSZ(0); + @$pb.TagNumber(1) + set keyString($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKeyString() => $_has(0); + @$pb.TagNumber(1) + void clearKeyString() => clearField(1); +} + +/// Response message for `LookupKey` method. +class LookupKeyResponse extends $pb.GeneratedMessage { + factory LookupKeyResponse({ + $core.String? parent, + $core.String? name, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (name != null) { + $result.name = name; + } + return $result; + } + LookupKeyResponse._() : super(); + factory LookupKeyResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LookupKeyResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LookupKeyResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LookupKeyResponse clone() => LookupKeyResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LookupKeyResponse copyWith(void Function(LookupKeyResponse) updates) => + super.copyWith((message) => updates(message as LookupKeyResponse)) + as LookupKeyResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LookupKeyResponse create() => LookupKeyResponse._(); + LookupKeyResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LookupKeyResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LookupKeyResponse? _defaultInstance; + + /// The project that owns the key with the value specified in the request. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The resource name of the API key. If the API key has been purged, + /// resource name is empty. + @$pb.TagNumber(2) + $core.String get name => $_getSZ(1); + @$pb.TagNumber(2) + set name($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasName() => $_has(1); + @$pb.TagNumber(2) + void clearName() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbenum.dart new file mode 100644 index 00000000..cc87da73 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/apikeys.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbgrpc.dart new file mode 100644 index 00000000..afed6baa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbgrpc.dart @@ -0,0 +1,241 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/apikeys.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../longrunning/operations.pb.dart' as $0; +import 'apikeys.pb.dart' as $29; +import 'resources.pb.dart' as $30; + +export 'apikeys.pb.dart'; + +@$pb.GrpcServiceName('google.api.apikeys.v2.ApiKeys') +class ApiKeysClient extends $grpc.Client { + static final _$createKey = + $grpc.ClientMethod<$29.CreateKeyRequest, $0.Operation>( + '/google.api.apikeys.v2.ApiKeys/CreateKey', + ($29.CreateKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listKeys = + $grpc.ClientMethod<$29.ListKeysRequest, $29.ListKeysResponse>( + '/google.api.apikeys.v2.ApiKeys/ListKeys', + ($29.ListKeysRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $29.ListKeysResponse.fromBuffer(value)); + static final _$getKey = $grpc.ClientMethod<$29.GetKeyRequest, $30.Key>( + '/google.api.apikeys.v2.ApiKeys/GetKey', + ($29.GetKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $30.Key.fromBuffer(value)); + static final _$getKeyString = + $grpc.ClientMethod<$29.GetKeyStringRequest, $29.GetKeyStringResponse>( + '/google.api.apikeys.v2.ApiKeys/GetKeyString', + ($29.GetKeyStringRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $29.GetKeyStringResponse.fromBuffer(value)); + static final _$updateKey = + $grpc.ClientMethod<$29.UpdateKeyRequest, $0.Operation>( + '/google.api.apikeys.v2.ApiKeys/UpdateKey', + ($29.UpdateKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteKey = + $grpc.ClientMethod<$29.DeleteKeyRequest, $0.Operation>( + '/google.api.apikeys.v2.ApiKeys/DeleteKey', + ($29.DeleteKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$undeleteKey = + $grpc.ClientMethod<$29.UndeleteKeyRequest, $0.Operation>( + '/google.api.apikeys.v2.ApiKeys/UndeleteKey', + ($29.UndeleteKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$lookupKey = + $grpc.ClientMethod<$29.LookupKeyRequest, $29.LookupKeyResponse>( + '/google.api.apikeys.v2.ApiKeys/LookupKey', + ($29.LookupKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $29.LookupKeyResponse.fromBuffer(value)); + + ApiKeysClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.Operation> createKey($29.CreateKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createKey, request, options: options); + } + + $grpc.ResponseFuture<$29.ListKeysResponse> listKeys( + $29.ListKeysRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listKeys, request, options: options); + } + + $grpc.ResponseFuture<$30.Key> getKey($29.GetKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getKey, request, options: options); + } + + $grpc.ResponseFuture<$29.GetKeyStringResponse> getKeyString( + $29.GetKeyStringRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getKeyString, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateKey($29.UpdateKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateKey, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteKey($29.DeleteKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteKey, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> undeleteKey($29.UndeleteKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteKey, request, options: options); + } + + $grpc.ResponseFuture<$29.LookupKeyResponse> lookupKey( + $29.LookupKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$lookupKey, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.apikeys.v2.ApiKeys') +abstract class ApiKeysServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.apikeys.v2.ApiKeys'; + + ApiKeysServiceBase() { + $addMethod($grpc.ServiceMethod<$29.CreateKeyRequest, $0.Operation>( + 'CreateKey', + createKey_Pre, + false, + false, + ($core.List<$core.int> value) => $29.CreateKeyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$29.ListKeysRequest, $29.ListKeysResponse>( + 'ListKeys', + listKeys_Pre, + false, + false, + ($core.List<$core.int> value) => $29.ListKeysRequest.fromBuffer(value), + ($29.ListKeysResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$29.GetKeyRequest, $30.Key>( + 'GetKey', + getKey_Pre, + false, + false, + ($core.List<$core.int> value) => $29.GetKeyRequest.fromBuffer(value), + ($30.Key value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$29.GetKeyStringRequest, $29.GetKeyStringResponse>( + 'GetKeyString', + getKeyString_Pre, + false, + false, + ($core.List<$core.int> value) => + $29.GetKeyStringRequest.fromBuffer(value), + ($29.GetKeyStringResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$29.UpdateKeyRequest, $0.Operation>( + 'UpdateKey', + updateKey_Pre, + false, + false, + ($core.List<$core.int> value) => $29.UpdateKeyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$29.DeleteKeyRequest, $0.Operation>( + 'DeleteKey', + deleteKey_Pre, + false, + false, + ($core.List<$core.int> value) => $29.DeleteKeyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$29.UndeleteKeyRequest, $0.Operation>( + 'UndeleteKey', + undeleteKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $29.UndeleteKeyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$29.LookupKeyRequest, $29.LookupKeyResponse>( + 'LookupKey', + lookupKey_Pre, + false, + false, + ($core.List<$core.int> value) => $29.LookupKeyRequest.fromBuffer(value), + ($29.LookupKeyResponse value) => value.writeToBuffer())); + } + + $async.Future<$0.Operation> createKey_Pre($grpc.ServiceCall call, + $async.Future<$29.CreateKeyRequest> request) async { + return createKey(call, await request); + } + + $async.Future<$29.ListKeysResponse> listKeys_Pre($grpc.ServiceCall call, + $async.Future<$29.ListKeysRequest> request) async { + return listKeys(call, await request); + } + + $async.Future<$30.Key> getKey_Pre( + $grpc.ServiceCall call, $async.Future<$29.GetKeyRequest> request) async { + return getKey(call, await request); + } + + $async.Future<$29.GetKeyStringResponse> getKeyString_Pre( + $grpc.ServiceCall call, + $async.Future<$29.GetKeyStringRequest> request) async { + return getKeyString(call, await request); + } + + $async.Future<$0.Operation> updateKey_Pre($grpc.ServiceCall call, + $async.Future<$29.UpdateKeyRequest> request) async { + return updateKey(call, await request); + } + + $async.Future<$0.Operation> deleteKey_Pre($grpc.ServiceCall call, + $async.Future<$29.DeleteKeyRequest> request) async { + return deleteKey(call, await request); + } + + $async.Future<$0.Operation> undeleteKey_Pre($grpc.ServiceCall call, + $async.Future<$29.UndeleteKeyRequest> request) async { + return undeleteKey(call, await request); + } + + $async.Future<$29.LookupKeyResponse> lookupKey_Pre($grpc.ServiceCall call, + $async.Future<$29.LookupKeyRequest> request) async { + return lookupKey(call, await request); + } + + $async.Future<$0.Operation> createKey( + $grpc.ServiceCall call, $29.CreateKeyRequest request); + $async.Future<$29.ListKeysResponse> listKeys( + $grpc.ServiceCall call, $29.ListKeysRequest request); + $async.Future<$30.Key> getKey( + $grpc.ServiceCall call, $29.GetKeyRequest request); + $async.Future<$29.GetKeyStringResponse> getKeyString( + $grpc.ServiceCall call, $29.GetKeyStringRequest request); + $async.Future<$0.Operation> updateKey( + $grpc.ServiceCall call, $29.UpdateKeyRequest request); + $async.Future<$0.Operation> deleteKey( + $grpc.ServiceCall call, $29.DeleteKeyRequest request); + $async.Future<$0.Operation> undeleteKey( + $grpc.ServiceCall call, $29.UndeleteKeyRequest request); + $async.Future<$29.LookupKeyResponse> lookupKey( + $grpc.ServiceCall call, $29.LookupKeyRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbjson.dart new file mode 100644 index 00000000..ce0a17e6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/apikeys.pbjson.dart @@ -0,0 +1,198 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/apikeys.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use createKeyRequestDescriptor instead') +const CreateKeyRequest$json = { + '1': 'CreateKeyRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'key', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.Key', + '8': {}, + '10': 'key' + }, + {'1': 'key_id', '3': 3, '4': 1, '5': 9, '10': 'keyId'}, + ], +}; + +/// Descriptor for `CreateKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createKeyRequestDescriptor = $convert.base64Decode( + 'ChBDcmVhdGVLZXlSZXF1ZXN0EjoKBnBhcmVudBgBIAEoCUIi4EEC+kEcEhphcGlrZXlzLmdvb2' + 'dsZWFwaXMuY29tL0tleVIGcGFyZW50EjEKA2tleRgCIAEoCzIaLmdvb2dsZS5hcGkuYXBpa2V5' + 'cy52Mi5LZXlCA+BBAlIDa2V5EhUKBmtleV9pZBgDIAEoCVIFa2V5SWQ='); + +@$core.Deprecated('Use listKeysRequestDescriptor instead') +const ListKeysRequest$json = { + '1': 'ListKeysRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'show_deleted', '3': 6, '4': 1, '5': 8, '8': {}, '10': 'showDeleted'}, + ], +}; + +/// Descriptor for `ListKeysRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listKeysRequestDescriptor = $convert.base64Decode( + 'Cg9MaXN0S2V5c1JlcXVlc3QSOgoGcGFyZW50GAEgASgJQiLgQQL6QRwSGmFwaWtleXMuZ29vZ2' + 'xlYXBpcy5jb20vS2V5UgZwYXJlbnQSIAoJcGFnZV9zaXplGAIgASgFQgPgQQFSCHBhZ2VTaXpl' + 'EiIKCnBhZ2VfdG9rZW4YAyABKAlCA+BBAVIJcGFnZVRva2VuEiYKDHNob3dfZGVsZXRlZBgGIA' + 'EoCEID4EEBUgtzaG93RGVsZXRlZA=='); + +@$core.Deprecated('Use listKeysResponseDescriptor instead') +const ListKeysResponse$json = { + '1': 'ListKeysResponse', + '2': [ + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.apikeys.v2.Key', + '10': 'keys' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListKeysResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listKeysResponseDescriptor = $convert.base64Decode( + 'ChBMaXN0S2V5c1Jlc3BvbnNlEi4KBGtleXMYASADKAsyGi5nb29nbGUuYXBpLmFwaWtleXMudj' + 'IuS2V5UgRrZXlzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getKeyRequestDescriptor instead') +const GetKeyRequest$json = { + '1': 'GetKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getKeyRequestDescriptor = $convert.base64Decode( + 'Cg1HZXRLZXlSZXF1ZXN0EjYKBG5hbWUYASABKAlCIuBBAvpBHAoaYXBpa2V5cy5nb29nbGVhcG' + 'lzLmNvbS9LZXlSBG5hbWU='); + +@$core.Deprecated('Use getKeyStringRequestDescriptor instead') +const GetKeyStringRequest$json = { + '1': 'GetKeyStringRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetKeyStringRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getKeyStringRequestDescriptor = $convert.base64Decode( + 'ChNHZXRLZXlTdHJpbmdSZXF1ZXN0EjYKBG5hbWUYASABKAlCIuBBAvpBHAoaYXBpa2V5cy5nb2' + '9nbGVhcGlzLmNvbS9LZXlSBG5hbWU='); + +@$core.Deprecated('Use getKeyStringResponseDescriptor instead') +const GetKeyStringResponse$json = { + '1': 'GetKeyStringResponse', + '2': [ + {'1': 'key_string', '3': 1, '4': 1, '5': 9, '10': 'keyString'}, + ], +}; + +/// Descriptor for `GetKeyStringResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getKeyStringResponseDescriptor = $convert.base64Decode( + 'ChRHZXRLZXlTdHJpbmdSZXNwb25zZRIdCgprZXlfc3RyaW5nGAEgASgJUglrZXlTdHJpbmc='); + +@$core.Deprecated('Use updateKeyRequestDescriptor instead') +const UpdateKeyRequest$json = { + '1': 'UpdateKeyRequest', + '2': [ + { + '1': 'key', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.Key', + '8': {}, + '10': 'key' + }, + { + '1': 'update_mask', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateKeyRequestDescriptor = $convert.base64Decode( + 'ChBVcGRhdGVLZXlSZXF1ZXN0EjEKA2tleRgBIAEoCzIaLmdvb2dsZS5hcGkuYXBpa2V5cy52Mi' + '5LZXlCA+BBAlIDa2V5EjsKC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZp' + 'ZWxkTWFza1IKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use deleteKeyRequestDescriptor instead') +const DeleteKeyRequest$json = { + '1': 'DeleteKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'etag', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'etag'}, + ], +}; + +/// Descriptor for `DeleteKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteKeyRequestDescriptor = $convert.base64Decode( + 'ChBEZWxldGVLZXlSZXF1ZXN0EjYKBG5hbWUYASABKAlCIuBBAvpBHAoaYXBpa2V5cy5nb29nbG' + 'VhcGlzLmNvbS9LZXlSBG5hbWUSFwoEZXRhZxgCIAEoCUID4EEBUgRldGFn'); + +@$core.Deprecated('Use undeleteKeyRequestDescriptor instead') +const UndeleteKeyRequest$json = { + '1': 'UndeleteKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `UndeleteKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteKeyRequestDescriptor = $convert.base64Decode( + 'ChJVbmRlbGV0ZUtleVJlcXVlc3QSNgoEbmFtZRgBIAEoCUIi4EEC+kEcChphcGlrZXlzLmdvb2' + 'dsZWFwaXMuY29tL0tleVIEbmFtZQ=='); + +@$core.Deprecated('Use lookupKeyRequestDescriptor instead') +const LookupKeyRequest$json = { + '1': 'LookupKeyRequest', + '2': [ + {'1': 'key_string', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'keyString'}, + ], +}; + +/// Descriptor for `LookupKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lookupKeyRequestDescriptor = $convert.base64Decode( + 'ChBMb29rdXBLZXlSZXF1ZXN0EiIKCmtleV9zdHJpbmcYASABKAlCA+BBAlIJa2V5U3RyaW5n'); + +@$core.Deprecated('Use lookupKeyResponseDescriptor instead') +const LookupKeyResponse$json = { + '1': 'LookupKeyResponse', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `LookupKeyResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lookupKeyResponseDescriptor = $convert.base64Decode( + 'ChFMb29rdXBLZXlSZXNwb25zZRIWCgZwYXJlbnQYASABKAlSBnBhcmVudBISCgRuYW1lGAIgAS' + 'gJUgRuYW1l'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pb.dart new file mode 100644 index 00000000..b39b92cb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pb.dart @@ -0,0 +1,833 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/timestamp.pb.dart' as $50; + +/// The representation of a key managed by the API Keys API. +class Key extends $pb.GeneratedMessage { + factory Key({ + $core.String? name, + $core.String? displayName, + $core.String? keyString, + $50.Timestamp? createTime, + $core.String? uid, + $50.Timestamp? updateTime, + $50.Timestamp? deleteTime, + $core.Map<$core.String, $core.String>? annotations, + Restrictions? restrictions, + $core.String? etag, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (keyString != null) { + $result.keyString = keyString; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (uid != null) { + $result.uid = uid; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (deleteTime != null) { + $result.deleteTime = deleteTime; + } + if (annotations != null) { + $result.annotations.addAll(annotations); + } + if (restrictions != null) { + $result.restrictions = restrictions; + } + if (etag != null) { + $result.etag = etag; + } + return $result; + } + Key._() : super(); + factory Key.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Key.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Key', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'displayName') + ..aOS(3, _omitFieldNames ? '' : 'keyString') + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOS(5, _omitFieldNames ? '' : 'uid') + ..aOM<$50.Timestamp>(6, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(7, _omitFieldNames ? '' : 'deleteTime', + subBuilder: $50.Timestamp.create) + ..m<$core.String, $core.String>(8, _omitFieldNames ? '' : 'annotations', + entryClassName: 'Key.AnnotationsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.apikeys.v2')) + ..aOM(9, _omitFieldNames ? '' : 'restrictions', + subBuilder: Restrictions.create) + ..aOS(11, _omitFieldNames ? '' : 'etag') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Key clone() => Key()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Key copyWith(void Function(Key) updates) => + super.copyWith((message) => updates(message as Key)) as Key; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Key create() => Key._(); + Key createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Key getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Key? _defaultInstance; + + /// Output only. The resource name of the key. + /// The `name` has the form: + /// `projects//locations/global/keys/`. + /// For example: + /// `projects/123456867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2` + /// + /// NOTE: Key is a global resource; hence the only supported value for + /// location is `global`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Human-readable display name of this key that you can modify. + /// The maximum length is 63 characters. + @$pb.TagNumber(2) + $core.String get displayName => $_getSZ(1); + @$pb.TagNumber(2) + set displayName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDisplayName() => $_has(1); + @$pb.TagNumber(2) + void clearDisplayName() => clearField(2); + + /// Output only. An encrypted and signed value held by this key. + /// This field can be accessed only through the `GetKeyString` method. + @$pb.TagNumber(3) + $core.String get keyString => $_getSZ(2); + @$pb.TagNumber(3) + set keyString($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasKeyString() => $_has(2); + @$pb.TagNumber(3) + void clearKeyString() => clearField(3); + + /// Output only. A timestamp identifying the time this key was originally + /// created. + @$pb.TagNumber(4) + $50.Timestamp get createTime => $_getN(3); + @$pb.TagNumber(4) + set createTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasCreateTime() => $_has(3); + @$pb.TagNumber(4) + void clearCreateTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureCreateTime() => $_ensure(3); + + /// Output only. Unique id in UUID4 format. + @$pb.TagNumber(5) + $core.String get uid => $_getSZ(4); + @$pb.TagNumber(5) + set uid($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUid() => $_has(4); + @$pb.TagNumber(5) + void clearUid() => clearField(5); + + /// Output only. A timestamp identifying the time this key was last + /// updated. + @$pb.TagNumber(6) + $50.Timestamp get updateTime => $_getN(5); + @$pb.TagNumber(6) + set updateTime($50.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasUpdateTime() => $_has(5); + @$pb.TagNumber(6) + void clearUpdateTime() => clearField(6); + @$pb.TagNumber(6) + $50.Timestamp ensureUpdateTime() => $_ensure(5); + + /// Output only. A timestamp when this key was deleted. If the resource is not + /// deleted, this must be empty. + @$pb.TagNumber(7) + $50.Timestamp get deleteTime => $_getN(6); + @$pb.TagNumber(7) + set deleteTime($50.Timestamp v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasDeleteTime() => $_has(6); + @$pb.TagNumber(7) + void clearDeleteTime() => clearField(7); + @$pb.TagNumber(7) + $50.Timestamp ensureDeleteTime() => $_ensure(6); + + /// Annotations is an unstructured key-value map stored with a policy that + /// may be set by external tools to store and retrieve arbitrary metadata. + /// They are not queryable and should be preserved when modifying objects. + @$pb.TagNumber(8) + $core.Map<$core.String, $core.String> get annotations => $_getMap(7); + + /// Key restrictions. + @$pb.TagNumber(9) + Restrictions get restrictions => $_getN(8); + @$pb.TagNumber(9) + set restrictions(Restrictions v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasRestrictions() => $_has(8); + @$pb.TagNumber(9) + void clearRestrictions() => clearField(9); + @$pb.TagNumber(9) + Restrictions ensureRestrictions() => $_ensure(8); + + /// Output only. A checksum computed by the server based on the current value + /// of the Key resource. This may be sent on update and delete requests to + /// ensure the client has an up-to-date value before proceeding. See + /// https://google.aip.dev/154. + @$pb.TagNumber(11) + $core.String get etag => $_getSZ(9); + @$pb.TagNumber(11) + set etag($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(11) + $core.bool hasEtag() => $_has(9); + @$pb.TagNumber(11) + void clearEtag() => clearField(11); +} + +enum Restrictions_ClientRestrictions { + browserKeyRestrictions, + serverKeyRestrictions, + androidKeyRestrictions, + iosKeyRestrictions, + notSet +} + +/// Describes the restrictions on the key. +class Restrictions extends $pb.GeneratedMessage { + factory Restrictions({ + BrowserKeyRestrictions? browserKeyRestrictions, + ServerKeyRestrictions? serverKeyRestrictions, + AndroidKeyRestrictions? androidKeyRestrictions, + IosKeyRestrictions? iosKeyRestrictions, + $core.Iterable? apiTargets, + }) { + final $result = create(); + if (browserKeyRestrictions != null) { + $result.browserKeyRestrictions = browserKeyRestrictions; + } + if (serverKeyRestrictions != null) { + $result.serverKeyRestrictions = serverKeyRestrictions; + } + if (androidKeyRestrictions != null) { + $result.androidKeyRestrictions = androidKeyRestrictions; + } + if (iosKeyRestrictions != null) { + $result.iosKeyRestrictions = iosKeyRestrictions; + } + if (apiTargets != null) { + $result.apiTargets.addAll(apiTargets); + } + return $result; + } + Restrictions._() : super(); + factory Restrictions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Restrictions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Restrictions_ClientRestrictions> + _Restrictions_ClientRestrictionsByTag = { + 1: Restrictions_ClientRestrictions.browserKeyRestrictions, + 2: Restrictions_ClientRestrictions.serverKeyRestrictions, + 3: Restrictions_ClientRestrictions.androidKeyRestrictions, + 4: Restrictions_ClientRestrictions.iosKeyRestrictions, + 0: Restrictions_ClientRestrictions.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Restrictions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4]) + ..aOM( + 1, _omitFieldNames ? '' : 'browserKeyRestrictions', + subBuilder: BrowserKeyRestrictions.create) + ..aOM( + 2, _omitFieldNames ? '' : 'serverKeyRestrictions', + subBuilder: ServerKeyRestrictions.create) + ..aOM( + 3, _omitFieldNames ? '' : 'androidKeyRestrictions', + subBuilder: AndroidKeyRestrictions.create) + ..aOM(4, _omitFieldNames ? '' : 'iosKeyRestrictions', + subBuilder: IosKeyRestrictions.create) + ..pc(5, _omitFieldNames ? '' : 'apiTargets', $pb.PbFieldType.PM, + subBuilder: ApiTarget.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Restrictions clone() => Restrictions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Restrictions copyWith(void Function(Restrictions) updates) => + super.copyWith((message) => updates(message as Restrictions)) + as Restrictions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Restrictions create() => Restrictions._(); + Restrictions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Restrictions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Restrictions? _defaultInstance; + + Restrictions_ClientRestrictions whichClientRestrictions() => + _Restrictions_ClientRestrictionsByTag[$_whichOneof(0)]!; + void clearClientRestrictions() => clearField($_whichOneof(0)); + + /// The HTTP referrers (websites) that are allowed to use the key. + @$pb.TagNumber(1) + BrowserKeyRestrictions get browserKeyRestrictions => $_getN(0); + @$pb.TagNumber(1) + set browserKeyRestrictions(BrowserKeyRestrictions v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasBrowserKeyRestrictions() => $_has(0); + @$pb.TagNumber(1) + void clearBrowserKeyRestrictions() => clearField(1); + @$pb.TagNumber(1) + BrowserKeyRestrictions ensureBrowserKeyRestrictions() => $_ensure(0); + + /// The IP addresses of callers that are allowed to use the key. + @$pb.TagNumber(2) + ServerKeyRestrictions get serverKeyRestrictions => $_getN(1); + @$pb.TagNumber(2) + set serverKeyRestrictions(ServerKeyRestrictions v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasServerKeyRestrictions() => $_has(1); + @$pb.TagNumber(2) + void clearServerKeyRestrictions() => clearField(2); + @$pb.TagNumber(2) + ServerKeyRestrictions ensureServerKeyRestrictions() => $_ensure(1); + + /// The Android apps that are allowed to use the key. + @$pb.TagNumber(3) + AndroidKeyRestrictions get androidKeyRestrictions => $_getN(2); + @$pb.TagNumber(3) + set androidKeyRestrictions(AndroidKeyRestrictions v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasAndroidKeyRestrictions() => $_has(2); + @$pb.TagNumber(3) + void clearAndroidKeyRestrictions() => clearField(3); + @$pb.TagNumber(3) + AndroidKeyRestrictions ensureAndroidKeyRestrictions() => $_ensure(2); + + /// The iOS apps that are allowed to use the key. + @$pb.TagNumber(4) + IosKeyRestrictions get iosKeyRestrictions => $_getN(3); + @$pb.TagNumber(4) + set iosKeyRestrictions(IosKeyRestrictions v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasIosKeyRestrictions() => $_has(3); + @$pb.TagNumber(4) + void clearIosKeyRestrictions() => clearField(4); + @$pb.TagNumber(4) + IosKeyRestrictions ensureIosKeyRestrictions() => $_ensure(3); + + /// A restriction for a specific service and optionally one or + /// more specific methods. Requests are allowed if they + /// match any of these restrictions. If no restrictions are + /// specified, all targets are allowed. + @$pb.TagNumber(5) + $core.List get apiTargets => $_getList(4); +} + +/// The HTTP referrers (websites) that are allowed to use the key. +class BrowserKeyRestrictions extends $pb.GeneratedMessage { + factory BrowserKeyRestrictions({ + $core.Iterable<$core.String>? allowedReferrers, + }) { + final $result = create(); + if (allowedReferrers != null) { + $result.allowedReferrers.addAll(allowedReferrers); + } + return $result; + } + BrowserKeyRestrictions._() : super(); + factory BrowserKeyRestrictions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BrowserKeyRestrictions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BrowserKeyRestrictions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'allowedReferrers') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BrowserKeyRestrictions clone() => + BrowserKeyRestrictions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BrowserKeyRestrictions copyWith( + void Function(BrowserKeyRestrictions) updates) => + super.copyWith((message) => updates(message as BrowserKeyRestrictions)) + as BrowserKeyRestrictions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BrowserKeyRestrictions create() => BrowserKeyRestrictions._(); + BrowserKeyRestrictions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BrowserKeyRestrictions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BrowserKeyRestrictions? _defaultInstance; + + /// A list of regular expressions for the referrer URLs that are allowed + /// to make API calls with this key. + @$pb.TagNumber(1) + $core.List<$core.String> get allowedReferrers => $_getList(0); +} + +/// The IP addresses of callers that are allowed to use the key. +class ServerKeyRestrictions extends $pb.GeneratedMessage { + factory ServerKeyRestrictions({ + $core.Iterable<$core.String>? allowedIps, + }) { + final $result = create(); + if (allowedIps != null) { + $result.allowedIps.addAll(allowedIps); + } + return $result; + } + ServerKeyRestrictions._() : super(); + factory ServerKeyRestrictions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServerKeyRestrictions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServerKeyRestrictions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'allowedIps') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServerKeyRestrictions clone() => + ServerKeyRestrictions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServerKeyRestrictions copyWith( + void Function(ServerKeyRestrictions) updates) => + super.copyWith((message) => updates(message as ServerKeyRestrictions)) + as ServerKeyRestrictions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServerKeyRestrictions create() => ServerKeyRestrictions._(); + ServerKeyRestrictions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServerKeyRestrictions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServerKeyRestrictions? _defaultInstance; + + /// A list of the caller IP addresses that are allowed to make API calls + /// with this key. + @$pb.TagNumber(1) + $core.List<$core.String> get allowedIps => $_getList(0); +} + +/// The Android apps that are allowed to use the key. +class AndroidKeyRestrictions extends $pb.GeneratedMessage { + factory AndroidKeyRestrictions({ + $core.Iterable? allowedApplications, + }) { + final $result = create(); + if (allowedApplications != null) { + $result.allowedApplications.addAll(allowedApplications); + } + return $result; + } + AndroidKeyRestrictions._() : super(); + factory AndroidKeyRestrictions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AndroidKeyRestrictions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AndroidKeyRestrictions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'allowedApplications', $pb.PbFieldType.PM, + subBuilder: AndroidApplication.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AndroidKeyRestrictions clone() => + AndroidKeyRestrictions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AndroidKeyRestrictions copyWith( + void Function(AndroidKeyRestrictions) updates) => + super.copyWith((message) => updates(message as AndroidKeyRestrictions)) + as AndroidKeyRestrictions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AndroidKeyRestrictions create() => AndroidKeyRestrictions._(); + AndroidKeyRestrictions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AndroidKeyRestrictions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AndroidKeyRestrictions? _defaultInstance; + + /// A list of Android applications that are allowed to make API calls with + /// this key. + @$pb.TagNumber(1) + $core.List get allowedApplications => $_getList(0); +} + +/// Identifier of an Android application for key use. +class AndroidApplication extends $pb.GeneratedMessage { + factory AndroidApplication({ + $core.String? sha1Fingerprint, + $core.String? packageName, + }) { + final $result = create(); + if (sha1Fingerprint != null) { + $result.sha1Fingerprint = sha1Fingerprint; + } + if (packageName != null) { + $result.packageName = packageName; + } + return $result; + } + AndroidApplication._() : super(); + factory AndroidApplication.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AndroidApplication.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AndroidApplication', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sha1Fingerprint') + ..aOS(2, _omitFieldNames ? '' : 'packageName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AndroidApplication clone() => AndroidApplication()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AndroidApplication copyWith(void Function(AndroidApplication) updates) => + super.copyWith((message) => updates(message as AndroidApplication)) + as AndroidApplication; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AndroidApplication create() => AndroidApplication._(); + AndroidApplication createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AndroidApplication getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AndroidApplication? _defaultInstance; + + /// The SHA1 fingerprint of the application. For example, both sha1 formats are + /// acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or + /// DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. + /// Output format is the latter. + @$pb.TagNumber(1) + $core.String get sha1Fingerprint => $_getSZ(0); + @$pb.TagNumber(1) + set sha1Fingerprint($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSha1Fingerprint() => $_has(0); + @$pb.TagNumber(1) + void clearSha1Fingerprint() => clearField(1); + + /// The package name of the application. + @$pb.TagNumber(2) + $core.String get packageName => $_getSZ(1); + @$pb.TagNumber(2) + set packageName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPackageName() => $_has(1); + @$pb.TagNumber(2) + void clearPackageName() => clearField(2); +} + +/// The iOS apps that are allowed to use the key. +class IosKeyRestrictions extends $pb.GeneratedMessage { + factory IosKeyRestrictions({ + $core.Iterable<$core.String>? allowedBundleIds, + }) { + final $result = create(); + if (allowedBundleIds != null) { + $result.allowedBundleIds.addAll(allowedBundleIds); + } + return $result; + } + IosKeyRestrictions._() : super(); + factory IosKeyRestrictions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IosKeyRestrictions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'IosKeyRestrictions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'allowedBundleIds') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IosKeyRestrictions clone() => IosKeyRestrictions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IosKeyRestrictions copyWith(void Function(IosKeyRestrictions) updates) => + super.copyWith((message) => updates(message as IosKeyRestrictions)) + as IosKeyRestrictions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IosKeyRestrictions create() => IosKeyRestrictions._(); + IosKeyRestrictions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IosKeyRestrictions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static IosKeyRestrictions? _defaultInstance; + + /// A list of bundle IDs that are allowed when making API calls with this key. + @$pb.TagNumber(1) + $core.List<$core.String> get allowedBundleIds => $_getList(0); +} + +/// A restriction for a specific service and optionally one or multiple +/// specific methods. Both fields are case insensitive. +class ApiTarget extends $pb.GeneratedMessage { + factory ApiTarget({ + $core.String? service, + $core.Iterable<$core.String>? methods, + }) { + final $result = create(); + if (service != null) { + $result.service = service; + } + if (methods != null) { + $result.methods.addAll(methods); + } + return $result; + } + ApiTarget._() : super(); + factory ApiTarget.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ApiTarget.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ApiTarget', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.apikeys.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'service') + ..pPS(2, _omitFieldNames ? '' : 'methods') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ApiTarget clone() => ApiTarget()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ApiTarget copyWith(void Function(ApiTarget) updates) => + super.copyWith((message) => updates(message as ApiTarget)) as ApiTarget; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ApiTarget create() => ApiTarget._(); + ApiTarget createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ApiTarget getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ApiTarget? _defaultInstance; + + /// The service for this restriction. It should be the canonical + /// service name, for example: `translate.googleapis.com`. + /// You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) + /// to get a list of services that are enabled in the project. + @$pb.TagNumber(1) + $core.String get service => $_getSZ(0); + @$pb.TagNumber(1) + set service($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasService() => $_has(0); + @$pb.TagNumber(1) + void clearService() => clearField(1); + + /// Optional. List of one or more methods that can be called. + /// If empty, all methods for the service are allowed. A wildcard + /// (*) can be used as the last symbol. + /// Valid examples: + /// `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` + /// `TranslateText` + /// `Get*` + /// `translate.googleapis.com.Get*` + @$pb.TagNumber(2) + $core.List<$core.String> get methods => $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pbenum.dart new file mode 100644 index 00000000..b3bfd3dd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pbjson.dart new file mode 100644 index 00000000..020684ab --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/apikeys/v2/resources.pbjson.dart @@ -0,0 +1,264 @@ +// +// Generated code. Do not modify. +// source: google/api/apikeys/v2/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use keyDescriptor instead') +const Key$json = { + '1': 'Key', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'uid', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'uid'}, + {'1': 'display_name', '3': 2, '4': 1, '5': 9, '10': 'displayName'}, + {'1': 'key_string', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'keyString'}, + { + '1': 'create_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + { + '1': 'delete_time', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'deleteTime' + }, + { + '1': 'annotations', + '3': 8, + '4': 3, + '5': 11, + '6': '.google.api.apikeys.v2.Key.AnnotationsEntry', + '10': 'annotations' + }, + { + '1': 'restrictions', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.Restrictions', + '10': 'restrictions' + }, + {'1': 'etag', '3': 11, '4': 1, '5': 9, '8': {}, '10': 'etag'}, + ], + '3': [Key_AnnotationsEntry$json], + '7': {}, +}; + +@$core.Deprecated('Use keyDescriptor instead') +const Key_AnnotationsEntry$json = { + '1': 'AnnotationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Key`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List keyDescriptor = $convert.base64Decode( + 'CgNLZXkSFwoEbmFtZRgBIAEoCUID4EEDUgRuYW1lEhUKA3VpZBgFIAEoCUID4EEDUgN1aWQSIQ' + 'oMZGlzcGxheV9uYW1lGAIgASgJUgtkaXNwbGF5TmFtZRIiCgprZXlfc3RyaW5nGAMgASgJQgPg' + 'QQNSCWtleVN0cmluZxJACgtjcmVhdGVfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW' + '1lc3RhbXBCA+BBA1IKY3JlYXRlVGltZRJACgt1cGRhdGVfdGltZRgGIAEoCzIaLmdvb2dsZS5w' + 'cm90b2J1Zi5UaW1lc3RhbXBCA+BBA1IKdXBkYXRlVGltZRJACgtkZWxldGVfdGltZRgHIAEoCz' + 'IaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBA1IKZGVsZXRlVGltZRJNCgthbm5vdGF0' + 'aW9ucxgIIAMoCzIrLmdvb2dsZS5hcGkuYXBpa2V5cy52Mi5LZXkuQW5ub3RhdGlvbnNFbnRyeV' + 'ILYW5ub3RhdGlvbnMSRwoMcmVzdHJpY3Rpb25zGAkgASgLMiMuZ29vZ2xlLmFwaS5hcGlrZXlz' + 'LnYyLlJlc3RyaWN0aW9uc1IMcmVzdHJpY3Rpb25zEhcKBGV0YWcYCyABKAlCA+BBA1IEZXRhZx' + 'o+ChBBbm5vdGF0aW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2' + 'YWx1ZToCOAE6YepBXgoaYXBpa2V5cy5nb29nbGVhcGlzLmNvbS9LZXkSMnByb2plY3RzL3twcm' + '9qZWN0fS9sb2NhdGlvbnMve2xvY2F0aW9ufS9rZXlzL3trZXl9KgRrZXlzMgNrZXlSAQE='); + +@$core.Deprecated('Use restrictionsDescriptor instead') +const Restrictions$json = { + '1': 'Restrictions', + '2': [ + { + '1': 'browser_key_restrictions', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.BrowserKeyRestrictions', + '9': 0, + '10': 'browserKeyRestrictions' + }, + { + '1': 'server_key_restrictions', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.ServerKeyRestrictions', + '9': 0, + '10': 'serverKeyRestrictions' + }, + { + '1': 'android_key_restrictions', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.AndroidKeyRestrictions', + '9': 0, + '10': 'androidKeyRestrictions' + }, + { + '1': 'ios_key_restrictions', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.apikeys.v2.IosKeyRestrictions', + '9': 0, + '10': 'iosKeyRestrictions' + }, + { + '1': 'api_targets', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.api.apikeys.v2.ApiTarget', + '10': 'apiTargets' + }, + ], + '8': [ + {'1': 'client_restrictions'}, + ], +}; + +/// Descriptor for `Restrictions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List restrictionsDescriptor = $convert.base64Decode( + 'CgxSZXN0cmljdGlvbnMSaQoYYnJvd3Nlcl9rZXlfcmVzdHJpY3Rpb25zGAEgASgLMi0uZ29vZ2' + 'xlLmFwaS5hcGlrZXlzLnYyLkJyb3dzZXJLZXlSZXN0cmljdGlvbnNIAFIWYnJvd3NlcktleVJl' + 'c3RyaWN0aW9ucxJmChdzZXJ2ZXJfa2V5X3Jlc3RyaWN0aW9ucxgCIAEoCzIsLmdvb2dsZS5hcG' + 'kuYXBpa2V5cy52Mi5TZXJ2ZXJLZXlSZXN0cmljdGlvbnNIAFIVc2VydmVyS2V5UmVzdHJpY3Rp' + 'b25zEmkKGGFuZHJvaWRfa2V5X3Jlc3RyaWN0aW9ucxgDIAEoCzItLmdvb2dsZS5hcGkuYXBpa2' + 'V5cy52Mi5BbmRyb2lkS2V5UmVzdHJpY3Rpb25zSABSFmFuZHJvaWRLZXlSZXN0cmljdGlvbnMS' + 'XQoUaW9zX2tleV9yZXN0cmljdGlvbnMYBCABKAsyKS5nb29nbGUuYXBpLmFwaWtleXMudjIuSW' + '9zS2V5UmVzdHJpY3Rpb25zSABSEmlvc0tleVJlc3RyaWN0aW9ucxJBCgthcGlfdGFyZ2V0cxgF' + 'IAMoCzIgLmdvb2dsZS5hcGkuYXBpa2V5cy52Mi5BcGlUYXJnZXRSCmFwaVRhcmdldHNCFQoTY2' + 'xpZW50X3Jlc3RyaWN0aW9ucw=='); + +@$core.Deprecated('Use browserKeyRestrictionsDescriptor instead') +const BrowserKeyRestrictions$json = { + '1': 'BrowserKeyRestrictions', + '2': [ + { + '1': 'allowed_referrers', + '3': 1, + '4': 3, + '5': 9, + '10': 'allowedReferrers' + }, + ], +}; + +/// Descriptor for `BrowserKeyRestrictions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List browserKeyRestrictionsDescriptor = + $convert.base64Decode( + 'ChZCcm93c2VyS2V5UmVzdHJpY3Rpb25zEisKEWFsbG93ZWRfcmVmZXJyZXJzGAEgAygJUhBhbG' + 'xvd2VkUmVmZXJyZXJz'); + +@$core.Deprecated('Use serverKeyRestrictionsDescriptor instead') +const ServerKeyRestrictions$json = { + '1': 'ServerKeyRestrictions', + '2': [ + {'1': 'allowed_ips', '3': 1, '4': 3, '5': 9, '10': 'allowedIps'}, + ], +}; + +/// Descriptor for `ServerKeyRestrictions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serverKeyRestrictionsDescriptor = $convert.base64Decode( + 'ChVTZXJ2ZXJLZXlSZXN0cmljdGlvbnMSHwoLYWxsb3dlZF9pcHMYASADKAlSCmFsbG93ZWRJcH' + 'M='); + +@$core.Deprecated('Use androidKeyRestrictionsDescriptor instead') +const AndroidKeyRestrictions$json = { + '1': 'AndroidKeyRestrictions', + '2': [ + { + '1': 'allowed_applications', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.apikeys.v2.AndroidApplication', + '10': 'allowedApplications' + }, + ], +}; + +/// Descriptor for `AndroidKeyRestrictions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List androidKeyRestrictionsDescriptor = $convert.base64Decode( + 'ChZBbmRyb2lkS2V5UmVzdHJpY3Rpb25zElwKFGFsbG93ZWRfYXBwbGljYXRpb25zGAEgAygLMi' + 'kuZ29vZ2xlLmFwaS5hcGlrZXlzLnYyLkFuZHJvaWRBcHBsaWNhdGlvblITYWxsb3dlZEFwcGxp' + 'Y2F0aW9ucw=='); + +@$core.Deprecated('Use androidApplicationDescriptor instead') +const AndroidApplication$json = { + '1': 'AndroidApplication', + '2': [ + {'1': 'sha1_fingerprint', '3': 1, '4': 1, '5': 9, '10': 'sha1Fingerprint'}, + {'1': 'package_name', '3': 2, '4': 1, '5': 9, '10': 'packageName'}, + ], +}; + +/// Descriptor for `AndroidApplication`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List androidApplicationDescriptor = $convert.base64Decode( + 'ChJBbmRyb2lkQXBwbGljYXRpb24SKQoQc2hhMV9maW5nZXJwcmludBgBIAEoCVIPc2hhMUZpbm' + 'dlcnByaW50EiEKDHBhY2thZ2VfbmFtZRgCIAEoCVILcGFja2FnZU5hbWU='); + +@$core.Deprecated('Use iosKeyRestrictionsDescriptor instead') +const IosKeyRestrictions$json = { + '1': 'IosKeyRestrictions', + '2': [ + { + '1': 'allowed_bundle_ids', + '3': 1, + '4': 3, + '5': 9, + '10': 'allowedBundleIds' + }, + ], +}; + +/// Descriptor for `IosKeyRestrictions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List iosKeyRestrictionsDescriptor = $convert.base64Decode( + 'ChJJb3NLZXlSZXN0cmljdGlvbnMSLAoSYWxsb3dlZF9idW5kbGVfaWRzGAEgAygJUhBhbGxvd2' + 'VkQnVuZGxlSWRz'); + +@$core.Deprecated('Use apiTargetDescriptor instead') +const ApiTarget$json = { + '1': 'ApiTarget', + '2': [ + {'1': 'service', '3': 1, '4': 1, '5': 9, '10': 'service'}, + {'1': 'methods', '3': 2, '4': 3, '5': 9, '8': {}, '10': 'methods'}, + ], +}; + +/// Descriptor for `ApiTarget`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List apiTargetDescriptor = $convert.base64Decode( + 'CglBcGlUYXJnZXQSGAoHc2VydmljZRgBIAEoCVIHc2VydmljZRIdCgdtZXRob2RzGAIgAygJQg' + 'PgQQFSB21ldGhvZHM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pb.dart new file mode 100644 index 00000000..f2faea77 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pb.dart @@ -0,0 +1,753 @@ +// +// Generated code. Do not modify. +// source: google/api/auth.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `Authentication` defines the authentication configuration for API methods +/// provided by an API service. +/// +/// Example: +/// +/// 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 +/// - selector: google.calendar.Delegate +/// oauth: +/// canonical_scopes: https://www.googleapis.com/auth/calendar.read +class Authentication extends $pb.GeneratedMessage { + factory Authentication({ + $core.Iterable? rules, + $core.Iterable? providers, + }) { + final $result = create(); + if (rules != null) { + $result.rules.addAll(rules); + } + if (providers != null) { + $result.providers.addAll(providers); + } + return $result; + } + Authentication._() : super(); + factory Authentication.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Authentication.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Authentication', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 3, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: AuthenticationRule.create) + ..pc( + 4, _omitFieldNames ? '' : 'providers', $pb.PbFieldType.PM, + subBuilder: AuthProvider.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Authentication clone() => Authentication()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Authentication copyWith(void Function(Authentication) updates) => + super.copyWith((message) => updates(message as Authentication)) + as Authentication; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Authentication create() => Authentication._(); + Authentication createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Authentication getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Authentication? _defaultInstance; + + /// A list of authentication rules that apply to individual API methods. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(3) + $core.List get rules => $_getList(0); + + /// Defines a set of authentication providers that a service supports. + @$pb.TagNumber(4) + $core.List get providers => $_getList(1); +} + +/// 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. +class AuthenticationRule extends $pb.GeneratedMessage { + factory AuthenticationRule({ + $core.String? selector, + OAuthRequirements? oauth, + $core.bool? allowWithoutCredential, + $core.Iterable? requirements, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (oauth != null) { + $result.oauth = oauth; + } + if (allowWithoutCredential != null) { + $result.allowWithoutCredential = allowWithoutCredential; + } + if (requirements != null) { + $result.requirements.addAll(requirements); + } + return $result; + } + AuthenticationRule._() : super(); + factory AuthenticationRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthenticationRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthenticationRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOM(2, _omitFieldNames ? '' : 'oauth', + subBuilder: OAuthRequirements.create) + ..aOB(5, _omitFieldNames ? '' : 'allowWithoutCredential') + ..pc( + 7, _omitFieldNames ? '' : 'requirements', $pb.PbFieldType.PM, + subBuilder: AuthRequirement.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthenticationRule clone() => AuthenticationRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthenticationRule copyWith(void Function(AuthenticationRule) updates) => + super.copyWith((message) => updates(message as AuthenticationRule)) + as AuthenticationRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthenticationRule create() => AuthenticationRule._(); + AuthenticationRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthenticationRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthenticationRule? _defaultInstance; + + /// Selects the methods to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// The requirements for OAuth credentials. + @$pb.TagNumber(2) + OAuthRequirements get oauth => $_getN(1); + @$pb.TagNumber(2) + set oauth(OAuthRequirements v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOauth() => $_has(1); + @$pb.TagNumber(2) + void clearOauth() => clearField(2); + @$pb.TagNumber(2) + OAuthRequirements ensureOauth() => $_ensure(1); + + /// If true, the service accepts API keys without any other credential. + /// This flag only applies to HTTP and gRPC requests. + @$pb.TagNumber(5) + $core.bool get allowWithoutCredential => $_getBF(2); + @$pb.TagNumber(5) + set allowWithoutCredential($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasAllowWithoutCredential() => $_has(2); + @$pb.TagNumber(5) + void clearAllowWithoutCredential() => clearField(5); + + /// Requirements for additional authentication providers. + @$pb.TagNumber(7) + $core.List get requirements => $_getList(3); +} + +enum JwtLocation_In { header, query, cookie, notSet } + +/// Specifies a location to extract JWT from an API request. +class JwtLocation extends $pb.GeneratedMessage { + factory JwtLocation({ + $core.String? header, + $core.String? query, + $core.String? valuePrefix, + $core.String? cookie, + }) { + final $result = create(); + if (header != null) { + $result.header = header; + } + if (query != null) { + $result.query = query; + } + if (valuePrefix != null) { + $result.valuePrefix = valuePrefix; + } + if (cookie != null) { + $result.cookie = cookie; + } + return $result; + } + JwtLocation._() : super(); + factory JwtLocation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory JwtLocation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, JwtLocation_In> _JwtLocation_InByTag = { + 1: JwtLocation_In.header, + 2: JwtLocation_In.query, + 4: JwtLocation_In.cookie, + 0: JwtLocation_In.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'JwtLocation', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..oo(0, [1, 2, 4]) + ..aOS(1, _omitFieldNames ? '' : 'header') + ..aOS(2, _omitFieldNames ? '' : 'query') + ..aOS(3, _omitFieldNames ? '' : 'valuePrefix') + ..aOS(4, _omitFieldNames ? '' : 'cookie') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + JwtLocation clone() => JwtLocation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + JwtLocation copyWith(void Function(JwtLocation) updates) => + super.copyWith((message) => updates(message as JwtLocation)) + as JwtLocation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static JwtLocation create() => JwtLocation._(); + JwtLocation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static JwtLocation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static JwtLocation? _defaultInstance; + + JwtLocation_In whichIn() => _JwtLocation_InByTag[$_whichOneof(0)]!; + void clearIn() => clearField($_whichOneof(0)); + + /// Specifies HTTP header name to extract JWT token. + @$pb.TagNumber(1) + $core.String get header => $_getSZ(0); + @$pb.TagNumber(1) + set header($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasHeader() => $_has(0); + @$pb.TagNumber(1) + void clearHeader() => clearField(1); + + /// Specifies URL query parameter name to extract JWT token. + @$pb.TagNumber(2) + $core.String get query => $_getSZ(1); + @$pb.TagNumber(2) + set query($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuery() => $_has(1); + @$pb.TagNumber(2) + void clearQuery() => clearField(2); + + /// The value prefix. The value format is "value_prefix{token}" + /// Only applies to "in" header type. Must be empty for "in" query type. + /// If not empty, the header value has to match (case sensitive) this prefix. + /// If not matched, JWT will not be extracted. If matched, JWT will be + /// extracted after the prefix is removed. + /// + /// For example, for "Authorization: Bearer {JWT}", + /// value_prefix="Bearer " with a space at the end. + @$pb.TagNumber(3) + $core.String get valuePrefix => $_getSZ(2); + @$pb.TagNumber(3) + set valuePrefix($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasValuePrefix() => $_has(2); + @$pb.TagNumber(3) + void clearValuePrefix() => clearField(3); + + /// Specifies cookie name to extract JWT token. + @$pb.TagNumber(4) + $core.String get cookie => $_getSZ(3); + @$pb.TagNumber(4) + set cookie($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasCookie() => $_has(3); + @$pb.TagNumber(4) + void clearCookie() => clearField(4); +} + +/// Configuration for an authentication provider, including support for +/// [JSON Web Token +/// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). +class AuthProvider extends $pb.GeneratedMessage { + factory AuthProvider({ + $core.String? id, + $core.String? issuer, + $core.String? jwksUri, + $core.String? audiences, + $core.String? authorizationUrl, + $core.Iterable? jwtLocations, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (issuer != null) { + $result.issuer = issuer; + } + if (jwksUri != null) { + $result.jwksUri = jwksUri; + } + if (audiences != null) { + $result.audiences = audiences; + } + if (authorizationUrl != null) { + $result.authorizationUrl = authorizationUrl; + } + if (jwtLocations != null) { + $result.jwtLocations.addAll(jwtLocations); + } + return $result; + } + AuthProvider._() : super(); + factory AuthProvider.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthProvider.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthProvider', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'id') + ..aOS(2, _omitFieldNames ? '' : 'issuer') + ..aOS(3, _omitFieldNames ? '' : 'jwksUri') + ..aOS(4, _omitFieldNames ? '' : 'audiences') + ..aOS(5, _omitFieldNames ? '' : 'authorizationUrl') + ..pc( + 6, _omitFieldNames ? '' : 'jwtLocations', $pb.PbFieldType.PM, + subBuilder: JwtLocation.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthProvider clone() => AuthProvider()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthProvider copyWith(void Function(AuthProvider) updates) => + super.copyWith((message) => updates(message as AuthProvider)) + as AuthProvider; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthProvider create() => AuthProvider._(); + AuthProvider createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthProvider getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthProvider? _defaultInstance; + + /// The unique identifier of the auth provider. It will be referred to by + /// `AuthRequirement.provider_id`. + /// + /// Example: "bookstore_auth". + @$pb.TagNumber(1) + $core.String get id => $_getSZ(0); + @$pb.TagNumber(1) + set id($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(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 + @$pb.TagNumber(2) + $core.String get issuer => $_getSZ(1); + @$pb.TagNumber(2) + set issuer($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasIssuer() => $_has(1); + @$pb.TagNumber(2) + void clearIssuer() => clearField(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 + @$pb.TagNumber(3) + $core.String get jwksUri => $_getSZ(2); + @$pb.TagNumber(3) + set jwksUri($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasJwksUri() => $_has(2); + @$pb.TagNumber(3) + void clearJwksUri() => clearField(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, JWTs with audiences: + /// - "https://[service.name]/[google.protobuf.Api.name]" + /// - "https://[service.name]/" + /// will be accepted. + /// For example, if no audiences are in the setting, LibraryService API will + /// accept JWTs with the following audiences: + /// - + /// https://library-example.googleapis.com/google.example.library.v1.LibraryService + /// - https://library-example.googleapis.com/ + /// + /// Example: + /// + /// audiences: bookstore_android.apps.googleusercontent.com, + /// bookstore_web.apps.googleusercontent.com + @$pb.TagNumber(4) + $core.String get audiences => $_getSZ(3); + @$pb.TagNumber(4) + set audiences($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasAudiences() => $_has(3); + @$pb.TagNumber(4) + void clearAudiences() => clearField(4); + + /// Redirect URL if JWT token is required but not present or is expired. + /// Implement authorizationUrl of securityDefinitions in OpenAPI spec. + @$pb.TagNumber(5) + $core.String get authorizationUrl => $_getSZ(4); + @$pb.TagNumber(5) + set authorizationUrl($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasAuthorizationUrl() => $_has(4); + @$pb.TagNumber(5) + void clearAuthorizationUrl() => clearField(5); + + /// Defines the locations to extract the JWT. For now it is only used by the + /// Cloud Endpoints to store the OpenAPI extension [x-google-jwt-locations] + /// (https://cloud.google.com/endpoints/docs/openapi/openapi-extensions#x-google-jwt-locations) + /// + /// JWT locations can be one of HTTP headers, URL query parameters or + /// cookies. The rule is that the first match wins. + /// + /// If not specified, default to use following 3 locations: + /// 1) Authorization: Bearer + /// 2) x-goog-iap-jwt-assertion + /// 3) access_token query parameter + /// + /// Default locations can be specified as followings: + /// jwt_locations: + /// - header: Authorization + /// value_prefix: "Bearer " + /// - header: x-goog-iap-jwt-assertion + /// - query: access_token + @$pb.TagNumber(6) + $core.List get jwtLocations => $_getList(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. +class OAuthRequirements extends $pb.GeneratedMessage { + factory OAuthRequirements({ + $core.String? canonicalScopes, + }) { + final $result = create(); + if (canonicalScopes != null) { + $result.canonicalScopes = canonicalScopes; + } + return $result; + } + OAuthRequirements._() : super(); + factory OAuthRequirements.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OAuthRequirements.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OAuthRequirements', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'canonicalScopes') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OAuthRequirements clone() => OAuthRequirements()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OAuthRequirements copyWith(void Function(OAuthRequirements) updates) => + super.copyWith((message) => updates(message as OAuthRequirements)) + as OAuthRequirements; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OAuthRequirements create() => OAuthRequirements._(); + OAuthRequirements createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OAuthRequirements getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OAuthRequirements? _defaultInstance; + + /// 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 + @$pb.TagNumber(1) + $core.String get canonicalScopes => $_getSZ(0); + @$pb.TagNumber(1) + set canonicalScopes($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCanonicalScopes() => $_has(0); + @$pb.TagNumber(1) + void clearCanonicalScopes() => clearField(1); +} + +/// User-defined authentication requirements, including support for +/// [JSON Web Token +/// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32). +class AuthRequirement extends $pb.GeneratedMessage { + factory AuthRequirement({ + $core.String? providerId, + $core.String? audiences, + }) { + final $result = create(); + if (providerId != null) { + $result.providerId = providerId; + } + if (audiences != null) { + $result.audiences = audiences; + } + return $result; + } + AuthRequirement._() : super(); + factory AuthRequirement.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthRequirement.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthRequirement', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'providerId') + ..aOS(2, _omitFieldNames ? '' : 'audiences') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthRequirement clone() => AuthRequirement()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthRequirement copyWith(void Function(AuthRequirement) updates) => + super.copyWith((message) => updates(message as AuthRequirement)) + as AuthRequirement; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthRequirement create() => AuthRequirement._(); + AuthRequirement createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthRequirement getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthRequirement? _defaultInstance; + + /// [id][google.api.AuthProvider.id] from authentication provider. + /// + /// Example: + /// + /// provider_id: bookstore_auth + @$pb.TagNumber(1) + $core.String get providerId => $_getSZ(0); + @$pb.TagNumber(1) + set providerId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProviderId() => $_has(0); + @$pb.TagNumber(1) + void clearProviderId() => clearField(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 + @$pb.TagNumber(2) + $core.String get audiences => $_getSZ(1); + @$pb.TagNumber(2) + set audiences($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasAudiences() => $_has(1); + @$pb.TagNumber(2) + void clearAudiences() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pbenum.dart new file mode 100644 index 00000000..e01f7fa0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/auth.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pbjson.dart new file mode 100644 index 00000000..4d58068c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/auth.pbjson.dart @@ -0,0 +1,162 @@ +// +// Generated code. Do not modify. +// source: google/api/auth.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use authenticationDescriptor instead') +const Authentication$json = { + '1': 'Authentication', + '2': [ + { + '1': 'rules', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.AuthenticationRule', + '10': 'rules' + }, + { + '1': 'providers', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.AuthProvider', + '10': 'providers' + }, + ], +}; + +/// Descriptor for `Authentication`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authenticationDescriptor = $convert.base64Decode( + 'Cg5BdXRoZW50aWNhdGlvbhI0CgVydWxlcxgDIAMoCzIeLmdvb2dsZS5hcGkuQXV0aGVudGljYX' + 'Rpb25SdWxlUgVydWxlcxI2Cglwcm92aWRlcnMYBCADKAsyGC5nb29nbGUuYXBpLkF1dGhQcm92' + 'aWRlclIJcHJvdmlkZXJz'); + +@$core.Deprecated('Use authenticationRuleDescriptor instead') +const AuthenticationRule$json = { + '1': 'AuthenticationRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'oauth', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.OAuthRequirements', + '10': 'oauth' + }, + { + '1': 'allow_without_credential', + '3': 5, + '4': 1, + '5': 8, + '10': 'allowWithoutCredential' + }, + { + '1': 'requirements', + '3': 7, + '4': 3, + '5': 11, + '6': '.google.api.AuthRequirement', + '10': 'requirements' + }, + ], +}; + +/// Descriptor for `AuthenticationRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authenticationRuleDescriptor = $convert.base64Decode( + 'ChJBdXRoZW50aWNhdGlvblJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEjMKBW9hdX' + 'RoGAIgASgLMh0uZ29vZ2xlLmFwaS5PQXV0aFJlcXVpcmVtZW50c1IFb2F1dGgSOAoYYWxsb3df' + 'd2l0aG91dF9jcmVkZW50aWFsGAUgASgIUhZhbGxvd1dpdGhvdXRDcmVkZW50aWFsEj8KDHJlcX' + 'VpcmVtZW50cxgHIAMoCzIbLmdvb2dsZS5hcGkuQXV0aFJlcXVpcmVtZW50UgxyZXF1aXJlbWVu' + 'dHM='); + +@$core.Deprecated('Use jwtLocationDescriptor instead') +const JwtLocation$json = { + '1': 'JwtLocation', + '2': [ + {'1': 'header', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'header'}, + {'1': 'query', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'query'}, + {'1': 'cookie', '3': 4, '4': 1, '5': 9, '9': 0, '10': 'cookie'}, + {'1': 'value_prefix', '3': 3, '4': 1, '5': 9, '10': 'valuePrefix'}, + ], + '8': [ + {'1': 'in'}, + ], +}; + +/// Descriptor for `JwtLocation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List jwtLocationDescriptor = $convert.base64Decode( + 'CgtKd3RMb2NhdGlvbhIYCgZoZWFkZXIYASABKAlIAFIGaGVhZGVyEhYKBXF1ZXJ5GAIgASgJSA' + 'BSBXF1ZXJ5EhgKBmNvb2tpZRgEIAEoCUgAUgZjb29raWUSIQoMdmFsdWVfcHJlZml4GAMgASgJ' + 'Ugt2YWx1ZVByZWZpeEIECgJpbg=='); + +@$core.Deprecated('Use authProviderDescriptor instead') +const AuthProvider$json = { + '1': 'AuthProvider', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, + {'1': 'issuer', '3': 2, '4': 1, '5': 9, '10': 'issuer'}, + {'1': 'jwks_uri', '3': 3, '4': 1, '5': 9, '10': 'jwksUri'}, + {'1': 'audiences', '3': 4, '4': 1, '5': 9, '10': 'audiences'}, + { + '1': 'authorization_url', + '3': 5, + '4': 1, + '5': 9, + '10': 'authorizationUrl' + }, + { + '1': 'jwt_locations', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.api.JwtLocation', + '10': 'jwtLocations' + }, + ], +}; + +/// Descriptor for `AuthProvider`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authProviderDescriptor = $convert.base64Decode( + 'CgxBdXRoUHJvdmlkZXISDgoCaWQYASABKAlSAmlkEhYKBmlzc3VlchgCIAEoCVIGaXNzdWVyEh' + 'kKCGp3a3NfdXJpGAMgASgJUgdqd2tzVXJpEhwKCWF1ZGllbmNlcxgEIAEoCVIJYXVkaWVuY2Vz' + 'EisKEWF1dGhvcml6YXRpb25fdXJsGAUgASgJUhBhdXRob3JpemF0aW9uVXJsEjwKDWp3dF9sb2' + 'NhdGlvbnMYBiADKAsyFy5nb29nbGUuYXBpLkp3dExvY2F0aW9uUgxqd3RMb2NhdGlvbnM='); + +@$core.Deprecated('Use oAuthRequirementsDescriptor instead') +const OAuthRequirements$json = { + '1': 'OAuthRequirements', + '2': [ + {'1': 'canonical_scopes', '3': 1, '4': 1, '5': 9, '10': 'canonicalScopes'}, + ], +}; + +/// Descriptor for `OAuthRequirements`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List oAuthRequirementsDescriptor = $convert.base64Decode( + 'ChFPQXV0aFJlcXVpcmVtZW50cxIpChBjYW5vbmljYWxfc2NvcGVzGAEgASgJUg9jYW5vbmljYW' + 'xTY29wZXM='); + +@$core.Deprecated('Use authRequirementDescriptor instead') +const AuthRequirement$json = { + '1': 'AuthRequirement', + '2': [ + {'1': 'provider_id', '3': 1, '4': 1, '5': 9, '10': 'providerId'}, + {'1': 'audiences', '3': 2, '4': 1, '5': 9, '10': 'audiences'}, + ], +}; + +/// Descriptor for `AuthRequirement`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authRequirementDescriptor = $convert.base64Decode( + 'Cg9BdXRoUmVxdWlyZW1lbnQSHwoLcHJvdmlkZXJfaWQYASABKAlSCnByb3ZpZGVySWQSHAoJYX' + 'VkaWVuY2VzGAIgASgJUglhdWRpZW5jZXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pb.dart new file mode 100644 index 00000000..734a672a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pb.dart @@ -0,0 +1,373 @@ +// +// Generated code. Do not modify. +// source: google/api/backend.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'backend.pbenum.dart'; + +export 'backend.pbenum.dart'; + +/// `Backend` defines the backend configuration for a service. +class Backend extends $pb.GeneratedMessage { + factory Backend({ + $core.Iterable? rules, + }) { + final $result = create(); + if (rules != null) { + $result.rules.addAll(rules); + } + return $result; + } + Backend._() : super(); + factory Backend.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Backend.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Backend', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: BackendRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Backend clone() => Backend()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Backend copyWith(void Function(Backend) updates) => + super.copyWith((message) => updates(message as Backend)) as Backend; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Backend create() => Backend._(); + Backend createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Backend getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Backend? _defaultInstance; + + /// A list of API backend rules that apply to individual API methods. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(1) + $core.List get rules => $_getList(0); +} + +enum BackendRule_Authentication { jwtAudience, disableAuth, notSet } + +/// A backend rule provides configuration for an individual API element. +class BackendRule extends $pb.GeneratedMessage { + factory BackendRule({ + $core.String? selector, + $core.String? address, + $core.double? deadline, + @$core.Deprecated('This field is deprecated.') $core.double? minDeadline, + $core.double? operationDeadline, + BackendRule_PathTranslation? pathTranslation, + $core.String? jwtAudience, + $core.bool? disableAuth, + $core.String? protocol, + $core.Map<$core.String, BackendRule>? overridesByRequestProtocol, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (address != null) { + $result.address = address; + } + if (deadline != null) { + $result.deadline = deadline; + } + if (minDeadline != null) { + // ignore: deprecated_member_use_from_same_package + $result.minDeadline = minDeadline; + } + if (operationDeadline != null) { + $result.operationDeadline = operationDeadline; + } + if (pathTranslation != null) { + $result.pathTranslation = pathTranslation; + } + if (jwtAudience != null) { + $result.jwtAudience = jwtAudience; + } + if (disableAuth != null) { + $result.disableAuth = disableAuth; + } + if (protocol != null) { + $result.protocol = protocol; + } + if (overridesByRequestProtocol != null) { + $result.overridesByRequestProtocol.addAll(overridesByRequestProtocol); + } + return $result; + } + BackendRule._() : super(); + factory BackendRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BackendRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, BackendRule_Authentication> + _BackendRule_AuthenticationByTag = { + 7: BackendRule_Authentication.jwtAudience, + 8: BackendRule_Authentication.disableAuth, + 0: BackendRule_Authentication.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BackendRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..oo(0, [7, 8]) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOS(2, _omitFieldNames ? '' : 'address') + ..a<$core.double>(3, _omitFieldNames ? '' : 'deadline', $pb.PbFieldType.OD) + ..a<$core.double>( + 4, _omitFieldNames ? '' : 'minDeadline', $pb.PbFieldType.OD) + ..a<$core.double>( + 5, _omitFieldNames ? '' : 'operationDeadline', $pb.PbFieldType.OD) + ..e( + 6, _omitFieldNames ? '' : 'pathTranslation', $pb.PbFieldType.OE, + defaultOrMaker: + BackendRule_PathTranslation.PATH_TRANSLATION_UNSPECIFIED, + valueOf: BackendRule_PathTranslation.valueOf, + enumValues: BackendRule_PathTranslation.values) + ..aOS(7, _omitFieldNames ? '' : 'jwtAudience') + ..aOB(8, _omitFieldNames ? '' : 'disableAuth') + ..aOS(9, _omitFieldNames ? '' : 'protocol') + ..m<$core.String, BackendRule>( + 10, _omitFieldNames ? '' : 'overridesByRequestProtocol', + entryClassName: 'BackendRule.OverridesByRequestProtocolEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: BackendRule.create, + valueDefaultOrMaker: BackendRule.getDefault, + packageName: const $pb.PackageName('google.api')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BackendRule clone() => BackendRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BackendRule copyWith(void Function(BackendRule) updates) => + super.copyWith((message) => updates(message as BackendRule)) + as BackendRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BackendRule create() => BackendRule._(); + BackendRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BackendRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BackendRule? _defaultInstance; + + BackendRule_Authentication whichAuthentication() => + _BackendRule_AuthenticationByTag[$_whichOneof(0)]!; + void clearAuthentication() => clearField($_whichOneof(0)); + + /// Selects the methods to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// The address of the API backend. + /// + /// The scheme is used to determine the backend protocol and security. + /// The following schemes are accepted: + /// + /// SCHEME PROTOCOL SECURITY + /// http:// HTTP None + /// https:// HTTP TLS + /// grpc:// gRPC None + /// grpcs:// gRPC TLS + /// + /// It is recommended to explicitly include a scheme. Leaving out the scheme + /// may cause constrasting behaviors across platforms. + /// + /// If the port is unspecified, the default is: + /// - 80 for schemes without TLS + /// - 443 for schemes with TLS + /// + /// For HTTP backends, use [protocol][google.api.BackendRule.protocol] + /// to specify the protocol version. + @$pb.TagNumber(2) + $core.String get address => $_getSZ(1); + @$pb.TagNumber(2) + set address($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasAddress() => $_has(1); + @$pb.TagNumber(2) + void clearAddress() => clearField(2); + + /// The number of seconds to wait for a response from a request. The default + /// varies based on the request protocol and deployment environment. + @$pb.TagNumber(3) + $core.double get deadline => $_getN(2); + @$pb.TagNumber(3) + set deadline($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDeadline() => $_has(2); + @$pb.TagNumber(3) + void clearDeadline() => clearField(3); + + /// Deprecated, do not use. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + $core.double get minDeadline => $_getN(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + set minDeadline($core.double v) { + $_setDouble(3, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + $core.bool hasMinDeadline() => $_has(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + void clearMinDeadline() => clearField(4); + + /// The number of seconds to wait for the completion of a long running + /// operation. The default is no deadline. + @$pb.TagNumber(5) + $core.double get operationDeadline => $_getN(4); + @$pb.TagNumber(5) + set operationDeadline($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOperationDeadline() => $_has(4); + @$pb.TagNumber(5) + void clearOperationDeadline() => clearField(5); + + @$pb.TagNumber(6) + BackendRule_PathTranslation get pathTranslation => $_getN(5); + @$pb.TagNumber(6) + set pathTranslation(BackendRule_PathTranslation v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasPathTranslation() => $_has(5); + @$pb.TagNumber(6) + void clearPathTranslation() => clearField(6); + + /// The JWT audience is used when generating a JWT ID token for the backend. + /// This ID token will be added in the HTTP "authorization" header, and sent + /// to the backend. + @$pb.TagNumber(7) + $core.String get jwtAudience => $_getSZ(6); + @$pb.TagNumber(7) + set jwtAudience($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasJwtAudience() => $_has(6); + @$pb.TagNumber(7) + void clearJwtAudience() => clearField(7); + + /// When disable_auth is true, a JWT ID token won't be generated and the + /// original "Authorization" HTTP header will be preserved. If the header is + /// used to carry the original token and is expected by the backend, this + /// field must be set to true to preserve the header. + @$pb.TagNumber(8) + $core.bool get disableAuth => $_getBF(7); + @$pb.TagNumber(8) + set disableAuth($core.bool v) { + $_setBool(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasDisableAuth() => $_has(7); + @$pb.TagNumber(8) + void clearDisableAuth() => clearField(8); + + /// The protocol used for sending a request to the backend. + /// The supported values are "http/1.1" and "h2". + /// + /// The default value is inferred from the scheme in the + /// [address][google.api.BackendRule.address] field: + /// + /// SCHEME PROTOCOL + /// http:// http/1.1 + /// https:// http/1.1 + /// grpc:// h2 + /// grpcs:// h2 + /// + /// For secure HTTP backends (https://) that support HTTP/2, set this field + /// to "h2" for improved performance. + /// + /// Configuring this field to non-default values is only supported for secure + /// HTTP backends. This field will be ignored for all other backends. + /// + /// See + /// https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + /// for more details on the supported values. + @$pb.TagNumber(9) + $core.String get protocol => $_getSZ(8); + @$pb.TagNumber(9) + set protocol($core.String v) { + $_setString(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasProtocol() => $_has(8); + @$pb.TagNumber(9) + void clearProtocol() => clearField(9); + + /// The map between request protocol and the backend address. + @$pb.TagNumber(10) + $core.Map<$core.String, BackendRule> get overridesByRequestProtocol => + $_getMap(9); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pbenum.dart new file mode 100644 index 00000000..b7746ef5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pbenum.dart @@ -0,0 +1,50 @@ +// +// Generated code. Do not modify. +// source: google/api/backend.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Path Translation specifies how to combine the backend address with the +/// request path in order to produce the appropriate forwarding URL for the +/// request. +/// +/// Path Translation is applicable only to HTTP-based backends. Backends which +/// do not accept requests over HTTP/HTTPS should leave `path_translation` +/// unspecified. +class BackendRule_PathTranslation extends $pb.ProtobufEnum { + static const BackendRule_PathTranslation PATH_TRANSLATION_UNSPECIFIED = + BackendRule_PathTranslation._( + 0, _omitEnumNames ? '' : 'PATH_TRANSLATION_UNSPECIFIED'); + static const BackendRule_PathTranslation CONSTANT_ADDRESS = + BackendRule_PathTranslation._( + 1, _omitEnumNames ? '' : 'CONSTANT_ADDRESS'); + static const BackendRule_PathTranslation APPEND_PATH_TO_ADDRESS = + BackendRule_PathTranslation._( + 2, _omitEnumNames ? '' : 'APPEND_PATH_TO_ADDRESS'); + + static const $core.List values = + [ + PATH_TRANSLATION_UNSPECIFIED, + CONSTANT_ADDRESS, + APPEND_PATH_TO_ADDRESS, + ]; + + static final $core.Map<$core.int, BackendRule_PathTranslation> _byValue = + $pb.ProtobufEnum.initByValue(values); + static BackendRule_PathTranslation? valueOf($core.int value) => + _byValue[value]; + + const BackendRule_PathTranslation._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pbjson.dart new file mode 100644 index 00000000..dadbce72 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/backend.pbjson.dart @@ -0,0 +1,126 @@ +// +// Generated code. Do not modify. +// source: google/api/backend.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use backendDescriptor instead') +const Backend$json = { + '1': 'Backend', + '2': [ + { + '1': 'rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.BackendRule', + '10': 'rules' + }, + ], +}; + +/// Descriptor for `Backend`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List backendDescriptor = $convert.base64Decode( + 'CgdCYWNrZW5kEi0KBXJ1bGVzGAEgAygLMhcuZ29vZ2xlLmFwaS5CYWNrZW5kUnVsZVIFcnVsZX' + 'M='); + +@$core.Deprecated('Use backendRuleDescriptor instead') +const BackendRule$json = { + '1': 'BackendRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + {'1': 'address', '3': 2, '4': 1, '5': 9, '10': 'address'}, + {'1': 'deadline', '3': 3, '4': 1, '5': 1, '10': 'deadline'}, + { + '1': 'min_deadline', + '3': 4, + '4': 1, + '5': 1, + '8': {'3': true}, + '10': 'minDeadline', + }, + { + '1': 'operation_deadline', + '3': 5, + '4': 1, + '5': 1, + '10': 'operationDeadline' + }, + { + '1': 'path_translation', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.api.BackendRule.PathTranslation', + '10': 'pathTranslation' + }, + {'1': 'jwt_audience', '3': 7, '4': 1, '5': 9, '9': 0, '10': 'jwtAudience'}, + {'1': 'disable_auth', '3': 8, '4': 1, '5': 8, '9': 0, '10': 'disableAuth'}, + {'1': 'protocol', '3': 9, '4': 1, '5': 9, '10': 'protocol'}, + { + '1': 'overrides_by_request_protocol', + '3': 10, + '4': 3, + '5': 11, + '6': '.google.api.BackendRule.OverridesByRequestProtocolEntry', + '10': 'overridesByRequestProtocol' + }, + ], + '3': [BackendRule_OverridesByRequestProtocolEntry$json], + '4': [BackendRule_PathTranslation$json], + '8': [ + {'1': 'authentication'}, + ], +}; + +@$core.Deprecated('Use backendRuleDescriptor instead') +const BackendRule_OverridesByRequestProtocolEntry$json = { + '1': 'OverridesByRequestProtocolEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.BackendRule', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use backendRuleDescriptor instead') +const BackendRule_PathTranslation$json = { + '1': 'PathTranslation', + '2': [ + {'1': 'PATH_TRANSLATION_UNSPECIFIED', '2': 0}, + {'1': 'CONSTANT_ADDRESS', '2': 1}, + {'1': 'APPEND_PATH_TO_ADDRESS', '2': 2}, + ], +}; + +/// Descriptor for `BackendRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List backendRuleDescriptor = $convert.base64Decode( + 'CgtCYWNrZW5kUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISGAoHYWRkcmVzcxgCIA' + 'EoCVIHYWRkcmVzcxIaCghkZWFkbGluZRgDIAEoAVIIZGVhZGxpbmUSJQoMbWluX2RlYWRsaW5l' + 'GAQgASgBQgIYAVILbWluRGVhZGxpbmUSLQoSb3BlcmF0aW9uX2RlYWRsaW5lGAUgASgBUhFvcG' + 'VyYXRpb25EZWFkbGluZRJSChBwYXRoX3RyYW5zbGF0aW9uGAYgASgOMicuZ29vZ2xlLmFwaS5C' + 'YWNrZW5kUnVsZS5QYXRoVHJhbnNsYXRpb25SD3BhdGhUcmFuc2xhdGlvbhIjCgxqd3RfYXVkaW' + 'VuY2UYByABKAlIAFILand0QXVkaWVuY2USIwoMZGlzYWJsZV9hdXRoGAggASgISABSC2Rpc2Fi' + 'bGVBdXRoEhoKCHByb3RvY29sGAkgASgJUghwcm90b2NvbBJ6Ch1vdmVycmlkZXNfYnlfcmVxdW' + 'VzdF9wcm90b2NvbBgKIAMoCzI3Lmdvb2dsZS5hcGkuQmFja2VuZFJ1bGUuT3ZlcnJpZGVzQnlS' + 'ZXF1ZXN0UHJvdG9jb2xFbnRyeVIab3ZlcnJpZGVzQnlSZXF1ZXN0UHJvdG9jb2waZgofT3Zlcn' + 'JpZGVzQnlSZXF1ZXN0UHJvdG9jb2xFbnRyeRIQCgNrZXkYASABKAlSA2tleRItCgV2YWx1ZRgC' + 'IAEoCzIXLmdvb2dsZS5hcGkuQmFja2VuZFJ1bGVSBXZhbHVlOgI4ASJlCg9QYXRoVHJhbnNsYX' + 'Rpb24SIAocUEFUSF9UUkFOU0xBVElPTl9VTlNQRUNJRklFRBAAEhQKEENPTlNUQU5UX0FERFJF' + 'U1MQARIaChZBUFBFTkRfUEFUSF9UT19BRERSRVNTEAJCEAoOYXV0aGVudGljYXRpb24='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pb.dart new file mode 100644 index 00000000..8f53d56b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pb.dart @@ -0,0 +1,187 @@ +// +// Generated code. Do not modify. +// source: google/api/billing.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Configuration of a specific billing destination (Currently only support +/// bill against consumer project). +class Billing_BillingDestination extends $pb.GeneratedMessage { + factory Billing_BillingDestination({ + $core.String? monitoredResource, + $core.Iterable<$core.String>? metrics, + }) { + final $result = create(); + if (monitoredResource != null) { + $result.monitoredResource = monitoredResource; + } + if (metrics != null) { + $result.metrics.addAll(metrics); + } + return $result; + } + Billing_BillingDestination._() : super(); + factory Billing_BillingDestination.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Billing_BillingDestination.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Billing.BillingDestination', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'monitoredResource') + ..pPS(2, _omitFieldNames ? '' : 'metrics') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Billing_BillingDestination clone() => + Billing_BillingDestination()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Billing_BillingDestination copyWith( + void Function(Billing_BillingDestination) updates) => + super.copyWith( + (message) => updates(message as Billing_BillingDestination)) + as Billing_BillingDestination; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Billing_BillingDestination create() => Billing_BillingDestination._(); + Billing_BillingDestination createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Billing_BillingDestination getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Billing_BillingDestination? _defaultInstance; + + /// The monitored resource type. The type must be defined in + /// [Service.monitored_resources][google.api.Service.monitored_resources] + /// section. + @$pb.TagNumber(1) + $core.String get monitoredResource => $_getSZ(0); + @$pb.TagNumber(1) + set monitoredResource($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMonitoredResource() => $_has(0); + @$pb.TagNumber(1) + void clearMonitoredResource() => clearField(1); + + /// Names of the metrics to report to this billing destination. + /// Each name must be defined in + /// [Service.metrics][google.api.Service.metrics] section. + @$pb.TagNumber(2) + $core.List<$core.String> get metrics => $_getList(1); +} + +/// Billing related configuration of the service. +/// +/// The following example shows how to configure monitored resources and metrics +/// for billing, `consumer_destinations` is the only supported destination and +/// the monitored resources need at least one label key +/// `cloud.googleapis.com/location` to indicate the location of the billing +/// usage, using different monitored resources between monitoring and billing is +/// recommended so they can be evolved independently: +/// +/// +/// monitored_resources: +/// - type: library.googleapis.com/billing_branch +/// labels: +/// - key: cloud.googleapis.com/location +/// description: | +/// Predefined label to support billing location restriction. +/// - key: city +/// description: | +/// Custom label to define the city where the library branch is located +/// in. +/// - key: name +/// description: Custom label to define the name of the library branch. +/// metrics: +/// - name: library.googleapis.com/book/borrowed_count +/// metric_kind: DELTA +/// value_type: INT64 +/// unit: "1" +/// billing: +/// consumer_destinations: +/// - monitored_resource: library.googleapis.com/billing_branch +/// metrics: +/// - library.googleapis.com/book/borrowed_count +class Billing extends $pb.GeneratedMessage { + factory Billing({ + $core.Iterable? consumerDestinations, + }) { + final $result = create(); + if (consumerDestinations != null) { + $result.consumerDestinations.addAll(consumerDestinations); + } + return $result; + } + Billing._() : super(); + factory Billing.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Billing.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Billing', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 8, _omitFieldNames ? '' : 'consumerDestinations', $pb.PbFieldType.PM, + subBuilder: Billing_BillingDestination.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Billing clone() => Billing()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Billing copyWith(void Function(Billing) updates) => + super.copyWith((message) => updates(message as Billing)) as Billing; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Billing create() => Billing._(); + Billing createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Billing getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Billing? _defaultInstance; + + /// 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. + @$pb.TagNumber(8) + $core.List get consumerDestinations => + $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pbenum.dart new file mode 100644 index 00000000..d4639aff --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/billing.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pbjson.dart new file mode 100644 index 00000000..8fa5969e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/billing.pbjson.dart @@ -0,0 +1,52 @@ +// +// Generated code. Do not modify. +// source: google/api/billing.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use billingDescriptor instead') +const Billing$json = { + '1': 'Billing', + '2': [ + { + '1': 'consumer_destinations', + '3': 8, + '4': 3, + '5': 11, + '6': '.google.api.Billing.BillingDestination', + '10': 'consumerDestinations' + }, + ], + '3': [Billing_BillingDestination$json], +}; + +@$core.Deprecated('Use billingDescriptor instead') +const Billing_BillingDestination$json = { + '1': 'BillingDestination', + '2': [ + { + '1': 'monitored_resource', + '3': 1, + '4': 1, + '5': 9, + '10': 'monitoredResource' + }, + {'1': 'metrics', '3': 2, '4': 3, '5': 9, '10': 'metrics'}, + ], +}; + +/// Descriptor for `Billing`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List billingDescriptor = $convert.base64Decode( + 'CgdCaWxsaW5nElsKFWNvbnN1bWVyX2Rlc3RpbmF0aW9ucxgIIAMoCzImLmdvb2dsZS5hcGkuQm' + 'lsbGluZy5CaWxsaW5nRGVzdGluYXRpb25SFGNvbnN1bWVyRGVzdGluYXRpb25zGl0KEkJpbGxp' + 'bmdEZXN0aW5hdGlvbhItChJtb25pdG9yZWRfcmVzb3VyY2UYASABKAlSEW1vbml0b3JlZFJlc2' + '91cmNlEhgKB21ldHJpY3MYAiADKAlSB21ldHJpY3M='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pb.dart new file mode 100644 index 00000000..c60e85f4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pb.dart @@ -0,0 +1,1660 @@ +// +// Generated code. Do not modify. +// source: google/api/client.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/duration.pb.dart' as $51; +import 'client.pbenum.dart'; +import 'launch_stage.pbenum.dart' as $56; + +export 'client.pbenum.dart'; + +/// Required information for every language. +class CommonLanguageSettings extends $pb.GeneratedMessage { + factory CommonLanguageSettings({ + @$core.Deprecated('This field is deprecated.') + $core.String? referenceDocsUri, + $core.Iterable? destinations, + }) { + final $result = create(); + if (referenceDocsUri != null) { + // ignore: deprecated_member_use_from_same_package + $result.referenceDocsUri = referenceDocsUri; + } + if (destinations != null) { + $result.destinations.addAll(destinations); + } + return $result; + } + CommonLanguageSettings._() : super(); + factory CommonLanguageSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommonLanguageSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommonLanguageSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'referenceDocsUri') + ..pc( + 2, _omitFieldNames ? '' : 'destinations', $pb.PbFieldType.KE, + valueOf: ClientLibraryDestination.valueOf, + enumValues: ClientLibraryDestination.values, + defaultEnumValue: + ClientLibraryDestination.CLIENT_LIBRARY_DESTINATION_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommonLanguageSettings clone() => + CommonLanguageSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommonLanguageSettings copyWith( + void Function(CommonLanguageSettings) updates) => + super.copyWith((message) => updates(message as CommonLanguageSettings)) + as CommonLanguageSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommonLanguageSettings create() => CommonLanguageSettings._(); + CommonLanguageSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommonLanguageSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommonLanguageSettings? _defaultInstance; + + /// Link to automatically generated reference documentation. Example: + /// https://cloud.google.com/nodejs/docs/reference/asset/latest + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.String get referenceDocsUri => $_getSZ(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + set referenceDocsUri($core.String v) { + $_setString(0, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.bool hasReferenceDocsUri() => $_has(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + void clearReferenceDocsUri() => clearField(1); + + /// The destination where API teams want this client library to be published. + @$pb.TagNumber(2) + $core.List get destinations => $_getList(1); +} + +/// Details about how and where to publish client libraries. +class ClientLibrarySettings extends $pb.GeneratedMessage { + factory ClientLibrarySettings({ + $core.String? version, + $56.LaunchStage? launchStage, + $core.bool? restNumericEnums, + JavaSettings? javaSettings, + CppSettings? cppSettings, + PhpSettings? phpSettings, + PythonSettings? pythonSettings, + NodeSettings? nodeSettings, + DotnetSettings? dotnetSettings, + RubySettings? rubySettings, + GoSettings? goSettings, + }) { + final $result = create(); + if (version != null) { + $result.version = version; + } + if (launchStage != null) { + $result.launchStage = launchStage; + } + if (restNumericEnums != null) { + $result.restNumericEnums = restNumericEnums; + } + if (javaSettings != null) { + $result.javaSettings = javaSettings; + } + if (cppSettings != null) { + $result.cppSettings = cppSettings; + } + if (phpSettings != null) { + $result.phpSettings = phpSettings; + } + if (pythonSettings != null) { + $result.pythonSettings = pythonSettings; + } + if (nodeSettings != null) { + $result.nodeSettings = nodeSettings; + } + if (dotnetSettings != null) { + $result.dotnetSettings = dotnetSettings; + } + if (rubySettings != null) { + $result.rubySettings = rubySettings; + } + if (goSettings != null) { + $result.goSettings = goSettings; + } + return $result; + } + ClientLibrarySettings._() : super(); + factory ClientLibrarySettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ClientLibrarySettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ClientLibrarySettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'version') + ..e<$56.LaunchStage>( + 2, _omitFieldNames ? '' : 'launchStage', $pb.PbFieldType.OE, + defaultOrMaker: $56.LaunchStage.LAUNCH_STAGE_UNSPECIFIED, + valueOf: $56.LaunchStage.valueOf, + enumValues: $56.LaunchStage.values) + ..aOB(3, _omitFieldNames ? '' : 'restNumericEnums') + ..aOM(21, _omitFieldNames ? '' : 'javaSettings', + subBuilder: JavaSettings.create) + ..aOM(22, _omitFieldNames ? '' : 'cppSettings', + subBuilder: CppSettings.create) + ..aOM(23, _omitFieldNames ? '' : 'phpSettings', + subBuilder: PhpSettings.create) + ..aOM(24, _omitFieldNames ? '' : 'pythonSettings', + subBuilder: PythonSettings.create) + ..aOM(25, _omitFieldNames ? '' : 'nodeSettings', + subBuilder: NodeSettings.create) + ..aOM(26, _omitFieldNames ? '' : 'dotnetSettings', + subBuilder: DotnetSettings.create) + ..aOM(27, _omitFieldNames ? '' : 'rubySettings', + subBuilder: RubySettings.create) + ..aOM(28, _omitFieldNames ? '' : 'goSettings', + subBuilder: GoSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ClientLibrarySettings clone() => + ClientLibrarySettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ClientLibrarySettings copyWith( + void Function(ClientLibrarySettings) updates) => + super.copyWith((message) => updates(message as ClientLibrarySettings)) + as ClientLibrarySettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ClientLibrarySettings create() => ClientLibrarySettings._(); + ClientLibrarySettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ClientLibrarySettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ClientLibrarySettings? _defaultInstance; + + /// Version of the API to apply these settings to. This is the full protobuf + /// package for the API, ending in the version element. + /// Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1". + @$pb.TagNumber(1) + $core.String get version => $_getSZ(0); + @$pb.TagNumber(1) + set version($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasVersion() => $_has(0); + @$pb.TagNumber(1) + void clearVersion() => clearField(1); + + /// Launch stage of this version of the API. + @$pb.TagNumber(2) + $56.LaunchStage get launchStage => $_getN(1); + @$pb.TagNumber(2) + set launchStage($56.LaunchStage v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasLaunchStage() => $_has(1); + @$pb.TagNumber(2) + void clearLaunchStage() => clearField(2); + + /// When using transport=rest, the client request will encode enums as + /// numbers rather than strings. + @$pb.TagNumber(3) + $core.bool get restNumericEnums => $_getBF(2); + @$pb.TagNumber(3) + set restNumericEnums($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasRestNumericEnums() => $_has(2); + @$pb.TagNumber(3) + void clearRestNumericEnums() => clearField(3); + + /// Settings for legacy Java features, supported in the Service YAML. + @$pb.TagNumber(21) + JavaSettings get javaSettings => $_getN(3); + @$pb.TagNumber(21) + set javaSettings(JavaSettings v) { + setField(21, v); + } + + @$pb.TagNumber(21) + $core.bool hasJavaSettings() => $_has(3); + @$pb.TagNumber(21) + void clearJavaSettings() => clearField(21); + @$pb.TagNumber(21) + JavaSettings ensureJavaSettings() => $_ensure(3); + + /// Settings for C++ client libraries. + @$pb.TagNumber(22) + CppSettings get cppSettings => $_getN(4); + @$pb.TagNumber(22) + set cppSettings(CppSettings v) { + setField(22, v); + } + + @$pb.TagNumber(22) + $core.bool hasCppSettings() => $_has(4); + @$pb.TagNumber(22) + void clearCppSettings() => clearField(22); + @$pb.TagNumber(22) + CppSettings ensureCppSettings() => $_ensure(4); + + /// Settings for PHP client libraries. + @$pb.TagNumber(23) + PhpSettings get phpSettings => $_getN(5); + @$pb.TagNumber(23) + set phpSettings(PhpSettings v) { + setField(23, v); + } + + @$pb.TagNumber(23) + $core.bool hasPhpSettings() => $_has(5); + @$pb.TagNumber(23) + void clearPhpSettings() => clearField(23); + @$pb.TagNumber(23) + PhpSettings ensurePhpSettings() => $_ensure(5); + + /// Settings for Python client libraries. + @$pb.TagNumber(24) + PythonSettings get pythonSettings => $_getN(6); + @$pb.TagNumber(24) + set pythonSettings(PythonSettings v) { + setField(24, v); + } + + @$pb.TagNumber(24) + $core.bool hasPythonSettings() => $_has(6); + @$pb.TagNumber(24) + void clearPythonSettings() => clearField(24); + @$pb.TagNumber(24) + PythonSettings ensurePythonSettings() => $_ensure(6); + + /// Settings for Node client libraries. + @$pb.TagNumber(25) + NodeSettings get nodeSettings => $_getN(7); + @$pb.TagNumber(25) + set nodeSettings(NodeSettings v) { + setField(25, v); + } + + @$pb.TagNumber(25) + $core.bool hasNodeSettings() => $_has(7); + @$pb.TagNumber(25) + void clearNodeSettings() => clearField(25); + @$pb.TagNumber(25) + NodeSettings ensureNodeSettings() => $_ensure(7); + + /// Settings for .NET client libraries. + @$pb.TagNumber(26) + DotnetSettings get dotnetSettings => $_getN(8); + @$pb.TagNumber(26) + set dotnetSettings(DotnetSettings v) { + setField(26, v); + } + + @$pb.TagNumber(26) + $core.bool hasDotnetSettings() => $_has(8); + @$pb.TagNumber(26) + void clearDotnetSettings() => clearField(26); + @$pb.TagNumber(26) + DotnetSettings ensureDotnetSettings() => $_ensure(8); + + /// Settings for Ruby client libraries. + @$pb.TagNumber(27) + RubySettings get rubySettings => $_getN(9); + @$pb.TagNumber(27) + set rubySettings(RubySettings v) { + setField(27, v); + } + + @$pb.TagNumber(27) + $core.bool hasRubySettings() => $_has(9); + @$pb.TagNumber(27) + void clearRubySettings() => clearField(27); + @$pb.TagNumber(27) + RubySettings ensureRubySettings() => $_ensure(9); + + /// Settings for Go client libraries. + @$pb.TagNumber(28) + GoSettings get goSettings => $_getN(10); + @$pb.TagNumber(28) + set goSettings(GoSettings v) { + setField(28, v); + } + + @$pb.TagNumber(28) + $core.bool hasGoSettings() => $_has(10); + @$pb.TagNumber(28) + void clearGoSettings() => clearField(28); + @$pb.TagNumber(28) + GoSettings ensureGoSettings() => $_ensure(10); +} + +/// This message configures the settings for publishing [Google Cloud Client +/// libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) +/// generated from the service config. +class Publishing extends $pb.GeneratedMessage { + factory Publishing({ + $core.Iterable? methodSettings, + $core.String? newIssueUri, + $core.String? documentationUri, + $core.String? apiShortName, + $core.String? githubLabel, + $core.Iterable<$core.String>? codeownerGithubTeams, + $core.String? docTagPrefix, + ClientLibraryOrganization? organization, + $core.Iterable? librarySettings, + $core.String? protoReferenceDocumentationUri, + $core.String? restReferenceDocumentationUri, + }) { + final $result = create(); + if (methodSettings != null) { + $result.methodSettings.addAll(methodSettings); + } + if (newIssueUri != null) { + $result.newIssueUri = newIssueUri; + } + if (documentationUri != null) { + $result.documentationUri = documentationUri; + } + if (apiShortName != null) { + $result.apiShortName = apiShortName; + } + if (githubLabel != null) { + $result.githubLabel = githubLabel; + } + if (codeownerGithubTeams != null) { + $result.codeownerGithubTeams.addAll(codeownerGithubTeams); + } + if (docTagPrefix != null) { + $result.docTagPrefix = docTagPrefix; + } + if (organization != null) { + $result.organization = organization; + } + if (librarySettings != null) { + $result.librarySettings.addAll(librarySettings); + } + if (protoReferenceDocumentationUri != null) { + $result.protoReferenceDocumentationUri = protoReferenceDocumentationUri; + } + if (restReferenceDocumentationUri != null) { + $result.restReferenceDocumentationUri = restReferenceDocumentationUri; + } + return $result; + } + Publishing._() : super(); + factory Publishing.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Publishing.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Publishing', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 2, _omitFieldNames ? '' : 'methodSettings', $pb.PbFieldType.PM, + subBuilder: MethodSettings.create) + ..aOS(101, _omitFieldNames ? '' : 'newIssueUri') + ..aOS(102, _omitFieldNames ? '' : 'documentationUri') + ..aOS(103, _omitFieldNames ? '' : 'apiShortName') + ..aOS(104, _omitFieldNames ? '' : 'githubLabel') + ..pPS(105, _omitFieldNames ? '' : 'codeownerGithubTeams') + ..aOS(106, _omitFieldNames ? '' : 'docTagPrefix') + ..e( + 107, _omitFieldNames ? '' : 'organization', $pb.PbFieldType.OE, + defaultOrMaker: + ClientLibraryOrganization.CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED, + valueOf: ClientLibraryOrganization.valueOf, + enumValues: ClientLibraryOrganization.values) + ..pc( + 109, _omitFieldNames ? '' : 'librarySettings', $pb.PbFieldType.PM, + subBuilder: ClientLibrarySettings.create) + ..aOS(110, _omitFieldNames ? '' : 'protoReferenceDocumentationUri') + ..aOS(111, _omitFieldNames ? '' : 'restReferenceDocumentationUri') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Publishing clone() => Publishing()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Publishing copyWith(void Function(Publishing) updates) => + super.copyWith((message) => updates(message as Publishing)) as Publishing; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Publishing create() => Publishing._(); + Publishing createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Publishing getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Publishing? _defaultInstance; + + /// A list of API method settings, e.g. the behavior for methods that use the + /// long-running operation pattern. + @$pb.TagNumber(2) + $core.List get methodSettings => $_getList(0); + + /// Link to a *public* URI where users can report issues. Example: + /// https://issuetracker.google.com/issues/new?component=190865&template=1161103 + @$pb.TagNumber(101) + $core.String get newIssueUri => $_getSZ(1); + @$pb.TagNumber(101) + set newIssueUri($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(101) + $core.bool hasNewIssueUri() => $_has(1); + @$pb.TagNumber(101) + void clearNewIssueUri() => clearField(101); + + /// Link to product home page. Example: + /// https://cloud.google.com/asset-inventory/docs/overview + @$pb.TagNumber(102) + $core.String get documentationUri => $_getSZ(2); + @$pb.TagNumber(102) + set documentationUri($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(102) + $core.bool hasDocumentationUri() => $_has(2); + @$pb.TagNumber(102) + void clearDocumentationUri() => clearField(102); + + /// Used as a tracking tag when collecting data about the APIs developer + /// relations artifacts like docs, packages delivered to package managers, + /// etc. Example: "speech". + @$pb.TagNumber(103) + $core.String get apiShortName => $_getSZ(3); + @$pb.TagNumber(103) + set apiShortName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(103) + $core.bool hasApiShortName() => $_has(3); + @$pb.TagNumber(103) + void clearApiShortName() => clearField(103); + + /// GitHub label to apply to issues and pull requests opened for this API. + @$pb.TagNumber(104) + $core.String get githubLabel => $_getSZ(4); + @$pb.TagNumber(104) + set githubLabel($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(104) + $core.bool hasGithubLabel() => $_has(4); + @$pb.TagNumber(104) + void clearGithubLabel() => clearField(104); + + /// GitHub teams to be added to CODEOWNERS in the directory in GitHub + /// containing source code for the client libraries for this API. + @$pb.TagNumber(105) + $core.List<$core.String> get codeownerGithubTeams => $_getList(5); + + /// A prefix used in sample code when demarking regions to be included in + /// documentation. + @$pb.TagNumber(106) + $core.String get docTagPrefix => $_getSZ(6); + @$pb.TagNumber(106) + set docTagPrefix($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(106) + $core.bool hasDocTagPrefix() => $_has(6); + @$pb.TagNumber(106) + void clearDocTagPrefix() => clearField(106); + + /// For whom the client library is being published. + @$pb.TagNumber(107) + ClientLibraryOrganization get organization => $_getN(7); + @$pb.TagNumber(107) + set organization(ClientLibraryOrganization v) { + setField(107, v); + } + + @$pb.TagNumber(107) + $core.bool hasOrganization() => $_has(7); + @$pb.TagNumber(107) + void clearOrganization() => clearField(107); + + /// Client library settings. If the same version string appears multiple + /// times in this list, then the last one wins. Settings from earlier + /// settings with the same version string are discarded. + @$pb.TagNumber(109) + $core.List get librarySettings => $_getList(8); + + /// Optional link to proto reference documentation. Example: + /// https://cloud.google.com/pubsub/lite/docs/reference/rpc + @$pb.TagNumber(110) + $core.String get protoReferenceDocumentationUri => $_getSZ(9); + @$pb.TagNumber(110) + set protoReferenceDocumentationUri($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(110) + $core.bool hasProtoReferenceDocumentationUri() => $_has(9); + @$pb.TagNumber(110) + void clearProtoReferenceDocumentationUri() => clearField(110); + + /// Optional link to REST reference documentation. Example: + /// https://cloud.google.com/pubsub/lite/docs/reference/rest + @$pb.TagNumber(111) + $core.String get restReferenceDocumentationUri => $_getSZ(10); + @$pb.TagNumber(111) + set restReferenceDocumentationUri($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(111) + $core.bool hasRestReferenceDocumentationUri() => $_has(10); + @$pb.TagNumber(111) + void clearRestReferenceDocumentationUri() => clearField(111); +} + +/// Settings for Java client libraries. +class JavaSettings extends $pb.GeneratedMessage { + factory JavaSettings({ + $core.String? libraryPackage, + $core.Map<$core.String, $core.String>? serviceClassNames, + CommonLanguageSettings? common, + }) { + final $result = create(); + if (libraryPackage != null) { + $result.libraryPackage = libraryPackage; + } + if (serviceClassNames != null) { + $result.serviceClassNames.addAll(serviceClassNames); + } + if (common != null) { + $result.common = common; + } + return $result; + } + JavaSettings._() : super(); + factory JavaSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory JavaSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'JavaSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'libraryPackage') + ..m<$core.String, $core.String>( + 2, _omitFieldNames ? '' : 'serviceClassNames', + entryClassName: 'JavaSettings.ServiceClassNamesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api')) + ..aOM(3, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + JavaSettings clone() => JavaSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + JavaSettings copyWith(void Function(JavaSettings) updates) => + super.copyWith((message) => updates(message as JavaSettings)) + as JavaSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static JavaSettings create() => JavaSettings._(); + JavaSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static JavaSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static JavaSettings? _defaultInstance; + + /// The package name to use in Java. Clobbers the java_package option + /// set in the protobuf. This should be used **only** by APIs + /// who have already set the language_settings.java.package_name" field + /// in gapic.yaml. API teams should use the protobuf java_package option + /// where possible. + /// + /// Example of a YAML configuration:: + /// + /// publishing: + /// java_settings: + /// library_package: com.google.cloud.pubsub.v1 + @$pb.TagNumber(1) + $core.String get libraryPackage => $_getSZ(0); + @$pb.TagNumber(1) + set libraryPackage($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLibraryPackage() => $_has(0); + @$pb.TagNumber(1) + void clearLibraryPackage() => clearField(1); + + /// Configure the Java class name to use instead of the service's for its + /// corresponding generated GAPIC client. Keys are fully-qualified + /// service names as they appear in the protobuf (including the full + /// the language_settings.java.interface_names" field in gapic.yaml. API + /// teams should otherwise use the service name as it appears in the + /// protobuf. + /// + /// Example of a YAML configuration:: + /// + /// publishing: + /// java_settings: + /// service_class_names: + /// - google.pubsub.v1.Publisher: TopicAdmin + /// - google.pubsub.v1.Subscriber: SubscriptionAdmin + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get serviceClassNames => $_getMap(1); + + /// Some settings. + @$pb.TagNumber(3) + CommonLanguageSettings get common => $_getN(2); + @$pb.TagNumber(3) + set common(CommonLanguageSettings v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasCommon() => $_has(2); + @$pb.TagNumber(3) + void clearCommon() => clearField(3); + @$pb.TagNumber(3) + CommonLanguageSettings ensureCommon() => $_ensure(2); +} + +/// Settings for C++ client libraries. +class CppSettings extends $pb.GeneratedMessage { + factory CppSettings({ + CommonLanguageSettings? common, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + return $result; + } + CppSettings._() : super(); + factory CppSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CppSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CppSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CppSettings clone() => CppSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CppSettings copyWith(void Function(CppSettings) updates) => + super.copyWith((message) => updates(message as CppSettings)) + as CppSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CppSettings create() => CppSettings._(); + CppSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CppSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CppSettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); +} + +/// Settings for Php client libraries. +class PhpSettings extends $pb.GeneratedMessage { + factory PhpSettings({ + CommonLanguageSettings? common, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + return $result; + } + PhpSettings._() : super(); + factory PhpSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PhpSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PhpSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PhpSettings clone() => PhpSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PhpSettings copyWith(void Function(PhpSettings) updates) => + super.copyWith((message) => updates(message as PhpSettings)) + as PhpSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PhpSettings create() => PhpSettings._(); + PhpSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PhpSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PhpSettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); +} + +/// Experimental features to be included during client library generation. +/// These fields will be deprecated once the feature graduates and is enabled +/// by default. +class PythonSettings_ExperimentalFeatures extends $pb.GeneratedMessage { + factory PythonSettings_ExperimentalFeatures({ + $core.bool? restAsyncIoEnabled, + }) { + final $result = create(); + if (restAsyncIoEnabled != null) { + $result.restAsyncIoEnabled = restAsyncIoEnabled; + } + return $result; + } + PythonSettings_ExperimentalFeatures._() : super(); + factory PythonSettings_ExperimentalFeatures.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PythonSettings_ExperimentalFeatures.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PythonSettings.ExperimentalFeatures', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'restAsyncIoEnabled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PythonSettings_ExperimentalFeatures clone() => + PythonSettings_ExperimentalFeatures()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PythonSettings_ExperimentalFeatures copyWith( + void Function(PythonSettings_ExperimentalFeatures) updates) => + super.copyWith((message) => + updates(message as PythonSettings_ExperimentalFeatures)) + as PythonSettings_ExperimentalFeatures; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PythonSettings_ExperimentalFeatures create() => + PythonSettings_ExperimentalFeatures._(); + PythonSettings_ExperimentalFeatures createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PythonSettings_ExperimentalFeatures getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + PythonSettings_ExperimentalFeatures>(create); + static PythonSettings_ExperimentalFeatures? _defaultInstance; + + /// Enables generation of asynchronous REST clients if `rest` transport is + /// enabled. By default, asynchronous REST clients will not be generated. + /// This feature will be enabled by default 1 month after launching the + /// feature in preview packages. + @$pb.TagNumber(1) + $core.bool get restAsyncIoEnabled => $_getBF(0); + @$pb.TagNumber(1) + set restAsyncIoEnabled($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRestAsyncIoEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearRestAsyncIoEnabled() => clearField(1); +} + +/// Settings for Python client libraries. +class PythonSettings extends $pb.GeneratedMessage { + factory PythonSettings({ + CommonLanguageSettings? common, + PythonSettings_ExperimentalFeatures? experimentalFeatures, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (experimentalFeatures != null) { + $result.experimentalFeatures = experimentalFeatures; + } + return $result; + } + PythonSettings._() : super(); + factory PythonSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PythonSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PythonSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..aOM( + 2, _omitFieldNames ? '' : 'experimentalFeatures', + subBuilder: PythonSettings_ExperimentalFeatures.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PythonSettings clone() => PythonSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PythonSettings copyWith(void Function(PythonSettings) updates) => + super.copyWith((message) => updates(message as PythonSettings)) + as PythonSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PythonSettings create() => PythonSettings._(); + PythonSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PythonSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PythonSettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); + + /// Experimental features to be included during client library generation. + @$pb.TagNumber(2) + PythonSettings_ExperimentalFeatures get experimentalFeatures => $_getN(1); + @$pb.TagNumber(2) + set experimentalFeatures(PythonSettings_ExperimentalFeatures v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExperimentalFeatures() => $_has(1); + @$pb.TagNumber(2) + void clearExperimentalFeatures() => clearField(2); + @$pb.TagNumber(2) + PythonSettings_ExperimentalFeatures ensureExperimentalFeatures() => + $_ensure(1); +} + +/// Settings for Node client libraries. +class NodeSettings extends $pb.GeneratedMessage { + factory NodeSettings({ + CommonLanguageSettings? common, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + return $result; + } + NodeSettings._() : super(); + factory NodeSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NodeSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NodeSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NodeSettings clone() => NodeSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NodeSettings copyWith(void Function(NodeSettings) updates) => + super.copyWith((message) => updates(message as NodeSettings)) + as NodeSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NodeSettings create() => NodeSettings._(); + NodeSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NodeSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NodeSettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); +} + +/// Settings for Dotnet client libraries. +class DotnetSettings extends $pb.GeneratedMessage { + factory DotnetSettings({ + CommonLanguageSettings? common, + $core.Map<$core.String, $core.String>? renamedServices, + $core.Map<$core.String, $core.String>? renamedResources, + $core.Iterable<$core.String>? ignoredResources, + $core.Iterable<$core.String>? forcedNamespaceAliases, + $core.Iterable<$core.String>? handwrittenSignatures, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (renamedServices != null) { + $result.renamedServices.addAll(renamedServices); + } + if (renamedResources != null) { + $result.renamedResources.addAll(renamedResources); + } + if (ignoredResources != null) { + $result.ignoredResources.addAll(ignoredResources); + } + if (forcedNamespaceAliases != null) { + $result.forcedNamespaceAliases.addAll(forcedNamespaceAliases); + } + if (handwrittenSignatures != null) { + $result.handwrittenSignatures.addAll(handwrittenSignatures); + } + return $result; + } + DotnetSettings._() : super(); + factory DotnetSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DotnetSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DotnetSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'renamedServices', + entryClassName: 'DotnetSettings.RenamedServicesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api')) + ..m<$core.String, $core.String>( + 3, _omitFieldNames ? '' : 'renamedResources', + entryClassName: 'DotnetSettings.RenamedResourcesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api')) + ..pPS(4, _omitFieldNames ? '' : 'ignoredResources') + ..pPS(5, _omitFieldNames ? '' : 'forcedNamespaceAliases') + ..pPS(6, _omitFieldNames ? '' : 'handwrittenSignatures') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DotnetSettings clone() => DotnetSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DotnetSettings copyWith(void Function(DotnetSettings) updates) => + super.copyWith((message) => updates(message as DotnetSettings)) + as DotnetSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DotnetSettings create() => DotnetSettings._(); + DotnetSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DotnetSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DotnetSettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); + + /// Map from original service names to renamed versions. + /// This is used when the default generated types + /// would cause a naming conflict. (Neither name is + /// fully-qualified.) + /// Example: Subscriber to SubscriberServiceApi. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get renamedServices => $_getMap(1); + + /// Map from full resource types to the effective short name + /// for the resource. This is used when otherwise resource + /// named from different services would cause naming collisions. + /// Example entry: + /// "datalabeling.googleapis.com/Dataset": "DataLabelingDataset" + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get renamedResources => $_getMap(2); + + /// List of full resource types to ignore during generation. + /// This is typically used for API-specific Location resources, + /// which should be handled by the generator as if they were actually + /// the common Location resources. + /// Example entry: "documentai.googleapis.com/Location" + @$pb.TagNumber(4) + $core.List<$core.String> get ignoredResources => $_getList(3); + + /// Namespaces which must be aliased in snippets due to + /// a known (but non-generator-predictable) naming collision + @$pb.TagNumber(5) + $core.List<$core.String> get forcedNamespaceAliases => $_getList(4); + + /// Method signatures (in the form "service.method(signature)") + /// which are provided separately, so shouldn't be generated. + /// Snippets *calling* these methods are still generated, however. + @$pb.TagNumber(6) + $core.List<$core.String> get handwrittenSignatures => $_getList(5); +} + +/// Settings for Ruby client libraries. +class RubySettings extends $pb.GeneratedMessage { + factory RubySettings({ + CommonLanguageSettings? common, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + return $result; + } + RubySettings._() : super(); + factory RubySettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RubySettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RubySettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RubySettings clone() => RubySettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RubySettings copyWith(void Function(RubySettings) updates) => + super.copyWith((message) => updates(message as RubySettings)) + as RubySettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RubySettings create() => RubySettings._(); + RubySettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RubySettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RubySettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); +} + +/// Settings for Go client libraries. +class GoSettings extends $pb.GeneratedMessage { + factory GoSettings({ + CommonLanguageSettings? common, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + return $result; + } + GoSettings._() : super(); + factory GoSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GoSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GoSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonLanguageSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GoSettings clone() => GoSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GoSettings copyWith(void Function(GoSettings) updates) => + super.copyWith((message) => updates(message as GoSettings)) as GoSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GoSettings create() => GoSettings._(); + GoSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GoSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GoSettings? _defaultInstance; + + /// Some settings. + @$pb.TagNumber(1) + CommonLanguageSettings get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonLanguageSettings v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonLanguageSettings ensureCommon() => $_ensure(0); +} + +/// Describes settings to use when generating API methods that use the +/// long-running operation pattern. +/// All default values below are from those used in the client library +/// generators (e.g. +/// [Java](https://github.com/googleapis/gapic-generator-java/blob/04c2faa191a9b5a10b92392fe8482279c4404803/src/main/java/com/google/api/generator/gapic/composer/common/RetrySettingsComposer.java)). +class MethodSettings_LongRunning extends $pb.GeneratedMessage { + factory MethodSettings_LongRunning({ + $51.Duration? initialPollDelay, + $core.double? pollDelayMultiplier, + $51.Duration? maxPollDelay, + $51.Duration? totalPollTimeout, + }) { + final $result = create(); + if (initialPollDelay != null) { + $result.initialPollDelay = initialPollDelay; + } + if (pollDelayMultiplier != null) { + $result.pollDelayMultiplier = pollDelayMultiplier; + } + if (maxPollDelay != null) { + $result.maxPollDelay = maxPollDelay; + } + if (totalPollTimeout != null) { + $result.totalPollTimeout = totalPollTimeout; + } + return $result; + } + MethodSettings_LongRunning._() : super(); + factory MethodSettings_LongRunning.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MethodSettings_LongRunning.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MethodSettings.LongRunning', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'initialPollDelay', + subBuilder: $51.Duration.create) + ..a<$core.double>( + 2, _omitFieldNames ? '' : 'pollDelayMultiplier', $pb.PbFieldType.OF) + ..aOM<$51.Duration>(3, _omitFieldNames ? '' : 'maxPollDelay', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(4, _omitFieldNames ? '' : 'totalPollTimeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodSettings_LongRunning clone() => + MethodSettings_LongRunning()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodSettings_LongRunning copyWith( + void Function(MethodSettings_LongRunning) updates) => + super.copyWith( + (message) => updates(message as MethodSettings_LongRunning)) + as MethodSettings_LongRunning; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodSettings_LongRunning create() => MethodSettings_LongRunning._(); + MethodSettings_LongRunning createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodSettings_LongRunning getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MethodSettings_LongRunning? _defaultInstance; + + /// Initial delay after which the first poll request will be made. + /// Default value: 5 seconds. + @$pb.TagNumber(1) + $51.Duration get initialPollDelay => $_getN(0); + @$pb.TagNumber(1) + set initialPollDelay($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasInitialPollDelay() => $_has(0); + @$pb.TagNumber(1) + void clearInitialPollDelay() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureInitialPollDelay() => $_ensure(0); + + /// Multiplier to gradually increase delay between subsequent polls until it + /// reaches max_poll_delay. + /// Default value: 1.5. + @$pb.TagNumber(2) + $core.double get pollDelayMultiplier => $_getN(1); + @$pb.TagNumber(2) + set pollDelayMultiplier($core.double v) { + $_setFloat(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPollDelayMultiplier() => $_has(1); + @$pb.TagNumber(2) + void clearPollDelayMultiplier() => clearField(2); + + /// Maximum time between two subsequent poll requests. + /// Default value: 45 seconds. + @$pb.TagNumber(3) + $51.Duration get maxPollDelay => $_getN(2); + @$pb.TagNumber(3) + set maxPollDelay($51.Duration v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasMaxPollDelay() => $_has(2); + @$pb.TagNumber(3) + void clearMaxPollDelay() => clearField(3); + @$pb.TagNumber(3) + $51.Duration ensureMaxPollDelay() => $_ensure(2); + + /// Total polling timeout. + /// Default value: 5 minutes. + @$pb.TagNumber(4) + $51.Duration get totalPollTimeout => $_getN(3); + @$pb.TagNumber(4) + set totalPollTimeout($51.Duration v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasTotalPollTimeout() => $_has(3); + @$pb.TagNumber(4) + void clearTotalPollTimeout() => clearField(4); + @$pb.TagNumber(4) + $51.Duration ensureTotalPollTimeout() => $_ensure(3); +} + +/// Describes the generator configuration for a method. +class MethodSettings extends $pb.GeneratedMessage { + factory MethodSettings({ + $core.String? selector, + MethodSettings_LongRunning? longRunning, + $core.Iterable<$core.String>? autoPopulatedFields, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (longRunning != null) { + $result.longRunning = longRunning; + } + if (autoPopulatedFields != null) { + $result.autoPopulatedFields.addAll(autoPopulatedFields); + } + return $result; + } + MethodSettings._() : super(); + factory MethodSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MethodSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MethodSettings', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOM(2, _omitFieldNames ? '' : 'longRunning', + subBuilder: MethodSettings_LongRunning.create) + ..pPS(3, _omitFieldNames ? '' : 'autoPopulatedFields') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodSettings clone() => MethodSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodSettings copyWith(void Function(MethodSettings) updates) => + super.copyWith((message) => updates(message as MethodSettings)) + as MethodSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodSettings create() => MethodSettings._(); + MethodSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MethodSettings? _defaultInstance; + + /// The fully qualified name of the method, for which the options below apply. + /// This is used to find the method to apply the options. + /// + /// Example: + /// + /// publishing: + /// method_settings: + /// - selector: google.storage.control.v2.StorageControl.CreateFolder + /// # method settings for CreateFolder... + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// Describes settings to use for long-running operations when generating + /// API methods for RPCs. Complements RPCs that use the annotations in + /// google/longrunning/operations.proto. + /// + /// Example of a YAML configuration:: + /// + /// publishing: + /// method_settings: + /// - selector: google.cloud.speech.v2.Speech.BatchRecognize + /// long_running: + /// initial_poll_delay: 60s # 1 minute + /// poll_delay_multiplier: 1.5 + /// max_poll_delay: 360s # 6 minutes + /// total_poll_timeout: 54000s # 90 minutes + @$pb.TagNumber(2) + MethodSettings_LongRunning get longRunning => $_getN(1); + @$pb.TagNumber(2) + set longRunning(MethodSettings_LongRunning v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasLongRunning() => $_has(1); + @$pb.TagNumber(2) + void clearLongRunning() => clearField(2); + @$pb.TagNumber(2) + MethodSettings_LongRunning ensureLongRunning() => $_ensure(1); + + /// List of top-level fields of the request message, that should be + /// automatically populated by the client libraries based on their + /// (google.api.field_info).format. Currently supported format: UUID4. + /// + /// Example of a YAML configuration: + /// + /// publishing: + /// method_settings: + /// - selector: google.example.v1.ExampleService.CreateExample + /// auto_populated_fields: + /// - request_id + @$pb.TagNumber(3) + $core.List<$core.String> get autoPopulatedFields => $_getList(2); +} + +class Client { + static final methodSignature = $pb.Extension<$core.String>.repeated( + _omitMessageNames ? '' : 'google.protobuf.MethodOptions', + _omitFieldNames ? '' : 'methodSignature', + 1051, + $pb.PbFieldType.PS, + check: $pb.getCheckFunction($pb.PbFieldType.PS)); + static final defaultHost = $pb.Extension<$core.String>( + _omitMessageNames ? '' : 'google.protobuf.ServiceOptions', + _omitFieldNames ? '' : 'defaultHost', + 1049, + $pb.PbFieldType.OS); + static final oauthScopes = $pb.Extension<$core.String>( + _omitMessageNames ? '' : 'google.protobuf.ServiceOptions', + _omitFieldNames ? '' : 'oauthScopes', + 1050, + $pb.PbFieldType.OS); + static final apiVersion = $pb.Extension<$core.String>( + _omitMessageNames ? '' : 'google.protobuf.ServiceOptions', + _omitFieldNames ? '' : 'apiVersion', + 525000001, + $pb.PbFieldType.OS); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(methodSignature); + registry.add(defaultHost); + registry.add(oauthScopes); + registry.add(apiVersion); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pbenum.dart new file mode 100644 index 00000000..3a0f3a48 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pbenum.dart @@ -0,0 +1,80 @@ +// +// Generated code. Do not modify. +// source: google/api/client.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The organization for which the client libraries are being published. +/// Affects the url where generated docs are published, etc. +class ClientLibraryOrganization extends $pb.ProtobufEnum { + static const ClientLibraryOrganization + CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = ClientLibraryOrganization._( + 0, _omitEnumNames ? '' : 'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED'); + static const ClientLibraryOrganization CLOUD = + ClientLibraryOrganization._(1, _omitEnumNames ? '' : 'CLOUD'); + static const ClientLibraryOrganization ADS = + ClientLibraryOrganization._(2, _omitEnumNames ? '' : 'ADS'); + static const ClientLibraryOrganization PHOTOS = + ClientLibraryOrganization._(3, _omitEnumNames ? '' : 'PHOTOS'); + static const ClientLibraryOrganization STREET_VIEW = + ClientLibraryOrganization._(4, _omitEnumNames ? '' : 'STREET_VIEW'); + static const ClientLibraryOrganization SHOPPING = + ClientLibraryOrganization._(5, _omitEnumNames ? '' : 'SHOPPING'); + static const ClientLibraryOrganization GEO = + ClientLibraryOrganization._(6, _omitEnumNames ? '' : 'GEO'); + static const ClientLibraryOrganization GENERATIVE_AI = + ClientLibraryOrganization._(7, _omitEnumNames ? '' : 'GENERATIVE_AI'); + + static const $core.List values = + [ + CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED, + CLOUD, + ADS, + PHOTOS, + STREET_VIEW, + SHOPPING, + GEO, + GENERATIVE_AI, + ]; + + static final $core.Map<$core.int, ClientLibraryOrganization> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ClientLibraryOrganization? valueOf($core.int value) => _byValue[value]; + + const ClientLibraryOrganization._($core.int v, $core.String n) : super(v, n); +} + +/// To where should client libraries be published? +class ClientLibraryDestination extends $pb.ProtobufEnum { + static const ClientLibraryDestination CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = + ClientLibraryDestination._( + 0, _omitEnumNames ? '' : 'CLIENT_LIBRARY_DESTINATION_UNSPECIFIED'); + static const ClientLibraryDestination GITHUB = + ClientLibraryDestination._(10, _omitEnumNames ? '' : 'GITHUB'); + static const ClientLibraryDestination PACKAGE_MANAGER = + ClientLibraryDestination._(20, _omitEnumNames ? '' : 'PACKAGE_MANAGER'); + + static const $core.List values = + [ + CLIENT_LIBRARY_DESTINATION_UNSPECIFIED, + GITHUB, + PACKAGE_MANAGER, + ]; + + static final $core.Map<$core.int, ClientLibraryDestination> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ClientLibraryDestination? valueOf($core.int value) => _byValue[value]; + + const ClientLibraryDestination._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pbjson.dart new file mode 100644 index 00000000..e70ed21c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/client.pbjson.dart @@ -0,0 +1,614 @@ +// +// Generated code. Do not modify. +// source: google/api/client.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use clientLibraryOrganizationDescriptor instead') +const ClientLibraryOrganization$json = { + '1': 'ClientLibraryOrganization', + '2': [ + {'1': 'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED', '2': 0}, + {'1': 'CLOUD', '2': 1}, + {'1': 'ADS', '2': 2}, + {'1': 'PHOTOS', '2': 3}, + {'1': 'STREET_VIEW', '2': 4}, + {'1': 'SHOPPING', '2': 5}, + {'1': 'GEO', '2': 6}, + {'1': 'GENERATIVE_AI', '2': 7}, + ], +}; + +/// Descriptor for `ClientLibraryOrganization`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List clientLibraryOrganizationDescriptor = $convert.base64Decode( + 'ChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVE' + 'lPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RS' + 'RUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBw=='); + +@$core.Deprecated('Use clientLibraryDestinationDescriptor instead') +const ClientLibraryDestination$json = { + '1': 'ClientLibraryDestination', + '2': [ + {'1': 'CLIENT_LIBRARY_DESTINATION_UNSPECIFIED', '2': 0}, + {'1': 'GITHUB', '2': 10}, + {'1': 'PACKAGE_MANAGER', '2': 20}, + ], +}; + +/// Descriptor for `ClientLibraryDestination`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List clientLibraryDestinationDescriptor = + $convert.base64Decode( + 'ChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT0' + '5fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFA=='); + +@$core.Deprecated('Use commonLanguageSettingsDescriptor instead') +const CommonLanguageSettings$json = { + '1': 'CommonLanguageSettings', + '2': [ + { + '1': 'reference_docs_uri', + '3': 1, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'referenceDocsUri', + }, + { + '1': 'destinations', + '3': 2, + '4': 3, + '5': 14, + '6': '.google.api.ClientLibraryDestination', + '10': 'destinations' + }, + ], +}; + +/// Descriptor for `CommonLanguageSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commonLanguageSettingsDescriptor = $convert.base64Decode( + 'ChZDb21tb25MYW5ndWFnZVNldHRpbmdzEjAKEnJlZmVyZW5jZV9kb2NzX3VyaRgBIAEoCUICGA' + 'FSEHJlZmVyZW5jZURvY3NVcmkSSAoMZGVzdGluYXRpb25zGAIgAygOMiQuZ29vZ2xlLmFwaS5D' + 'bGllbnRMaWJyYXJ5RGVzdGluYXRpb25SDGRlc3RpbmF0aW9ucw=='); + +@$core.Deprecated('Use clientLibrarySettingsDescriptor instead') +const ClientLibrarySettings$json = { + '1': 'ClientLibrarySettings', + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 9, '10': 'version'}, + { + '1': 'launch_stage', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.api.LaunchStage', + '10': 'launchStage' + }, + { + '1': 'rest_numeric_enums', + '3': 3, + '4': 1, + '5': 8, + '10': 'restNumericEnums' + }, + { + '1': 'java_settings', + '3': 21, + '4': 1, + '5': 11, + '6': '.google.api.JavaSettings', + '10': 'javaSettings' + }, + { + '1': 'cpp_settings', + '3': 22, + '4': 1, + '5': 11, + '6': '.google.api.CppSettings', + '10': 'cppSettings' + }, + { + '1': 'php_settings', + '3': 23, + '4': 1, + '5': 11, + '6': '.google.api.PhpSettings', + '10': 'phpSettings' + }, + { + '1': 'python_settings', + '3': 24, + '4': 1, + '5': 11, + '6': '.google.api.PythonSettings', + '10': 'pythonSettings' + }, + { + '1': 'node_settings', + '3': 25, + '4': 1, + '5': 11, + '6': '.google.api.NodeSettings', + '10': 'nodeSettings' + }, + { + '1': 'dotnet_settings', + '3': 26, + '4': 1, + '5': 11, + '6': '.google.api.DotnetSettings', + '10': 'dotnetSettings' + }, + { + '1': 'ruby_settings', + '3': 27, + '4': 1, + '5': 11, + '6': '.google.api.RubySettings', + '10': 'rubySettings' + }, + { + '1': 'go_settings', + '3': 28, + '4': 1, + '5': 11, + '6': '.google.api.GoSettings', + '10': 'goSettings' + }, + ], +}; + +/// Descriptor for `ClientLibrarySettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List clientLibrarySettingsDescriptor = $convert.base64Decode( + 'ChVDbGllbnRMaWJyYXJ5U2V0dGluZ3MSGAoHdmVyc2lvbhgBIAEoCVIHdmVyc2lvbhI6CgxsYX' + 'VuY2hfc3RhZ2UYAiABKA4yFy5nb29nbGUuYXBpLkxhdW5jaFN0YWdlUgtsYXVuY2hTdGFnZRIs' + 'ChJyZXN0X251bWVyaWNfZW51bXMYAyABKAhSEHJlc3ROdW1lcmljRW51bXMSPQoNamF2YV9zZX' + 'R0aW5ncxgVIAEoCzIYLmdvb2dsZS5hcGkuSmF2YVNldHRpbmdzUgxqYXZhU2V0dGluZ3MSOgoM' + 'Y3BwX3NldHRpbmdzGBYgASgLMhcuZ29vZ2xlLmFwaS5DcHBTZXR0aW5nc1ILY3BwU2V0dGluZ3' + 'MSOgoMcGhwX3NldHRpbmdzGBcgASgLMhcuZ29vZ2xlLmFwaS5QaHBTZXR0aW5nc1ILcGhwU2V0' + 'dGluZ3MSQwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW' + '5nc1IOcHl0aG9uU2V0dGluZ3MSPQoNbm9kZV9zZXR0aW5ncxgZIAEoCzIYLmdvb2dsZS5hcGku' + 'Tm9kZVNldHRpbmdzUgxub2RlU2V0dGluZ3MSQwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ2' + '9vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5nc1IOZG90bmV0U2V0dGluZ3MSPQoNcnVieV9zZXR0aW5n' + 'cxgbIAEoCzIYLmdvb2dsZS5hcGkuUnVieVNldHRpbmdzUgxydWJ5U2V0dGluZ3MSNwoLZ29fc2' + 'V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3NSCmdvU2V0dGluZ3M='); + +@$core.Deprecated('Use publishingDescriptor instead') +const Publishing$json = { + '1': 'Publishing', + '2': [ + { + '1': 'method_settings', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.MethodSettings', + '10': 'methodSettings' + }, + {'1': 'new_issue_uri', '3': 101, '4': 1, '5': 9, '10': 'newIssueUri'}, + { + '1': 'documentation_uri', + '3': 102, + '4': 1, + '5': 9, + '10': 'documentationUri' + }, + {'1': 'api_short_name', '3': 103, '4': 1, '5': 9, '10': 'apiShortName'}, + {'1': 'github_label', '3': 104, '4': 1, '5': 9, '10': 'githubLabel'}, + { + '1': 'codeowner_github_teams', + '3': 105, + '4': 3, + '5': 9, + '10': 'codeownerGithubTeams' + }, + {'1': 'doc_tag_prefix', '3': 106, '4': 1, '5': 9, '10': 'docTagPrefix'}, + { + '1': 'organization', + '3': 107, + '4': 1, + '5': 14, + '6': '.google.api.ClientLibraryOrganization', + '10': 'organization' + }, + { + '1': 'library_settings', + '3': 109, + '4': 3, + '5': 11, + '6': '.google.api.ClientLibrarySettings', + '10': 'librarySettings' + }, + { + '1': 'proto_reference_documentation_uri', + '3': 110, + '4': 1, + '5': 9, + '10': 'protoReferenceDocumentationUri' + }, + { + '1': 'rest_reference_documentation_uri', + '3': 111, + '4': 1, + '5': 9, + '10': 'restReferenceDocumentationUri' + }, + ], +}; + +/// Descriptor for `Publishing`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List publishingDescriptor = $convert.base64Decode( + 'CgpQdWJsaXNoaW5nEkMKD21ldGhvZF9zZXR0aW5ncxgCIAMoCzIaLmdvb2dsZS5hcGkuTWV0aG' + '9kU2V0dGluZ3NSDm1ldGhvZFNldHRpbmdzEiIKDW5ld19pc3N1ZV91cmkYZSABKAlSC25ld0lz' + 'c3VlVXJpEisKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJUhBkb2N1bWVudGF0aW9uVXJpEiQKDm' + 'FwaV9zaG9ydF9uYW1lGGcgASgJUgxhcGlTaG9ydE5hbWUSIQoMZ2l0aHViX2xhYmVsGGggASgJ' + 'UgtnaXRodWJMYWJlbBI0ChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJUhRjb2Rlb3duZX' + 'JHaXRodWJUZWFtcxIkCg5kb2NfdGFnX3ByZWZpeBhqIAEoCVIMZG9jVGFnUHJlZml4EkkKDG9y' + 'Z2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbl' + 'IMb3JnYW5pemF0aW9uEkwKEGxpYnJhcnlfc2V0dGluZ3MYbSADKAsyIS5nb29nbGUuYXBpLkNs' + 'aWVudExpYnJhcnlTZXR0aW5nc1IPbGlicmFyeVNldHRpbmdzEkkKIXByb3RvX3JlZmVyZW5jZV' + '9kb2N1bWVudGF0aW9uX3VyaRhuIAEoCVIecHJvdG9SZWZlcmVuY2VEb2N1bWVudGF0aW9uVXJp' + 'EkcKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJUh1yZXN0UmVmZXJlbm' + 'NlRG9jdW1lbnRhdGlvblVyaQ=='); + +@$core.Deprecated('Use javaSettingsDescriptor instead') +const JavaSettings$json = { + '1': 'JavaSettings', + '2': [ + {'1': 'library_package', '3': 1, '4': 1, '5': 9, '10': 'libraryPackage'}, + { + '1': 'service_class_names', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.JavaSettings.ServiceClassNamesEntry', + '10': 'serviceClassNames' + }, + { + '1': 'common', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + ], + '3': [JavaSettings_ServiceClassNamesEntry$json], +}; + +@$core.Deprecated('Use javaSettingsDescriptor instead') +const JavaSettings_ServiceClassNamesEntry$json = { + '1': 'ServiceClassNamesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `JavaSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List javaSettingsDescriptor = $convert.base64Decode( + 'CgxKYXZhU2V0dGluZ3MSJwoPbGlicmFyeV9wYWNrYWdlGAEgASgJUg5saWJyYXJ5UGFja2FnZR' + 'JfChNzZXJ2aWNlX2NsYXNzX25hbWVzGAIgAygLMi8uZ29vZ2xlLmFwaS5KYXZhU2V0dGluZ3Mu' + 'U2VydmljZUNsYXNzTmFtZXNFbnRyeVIRc2VydmljZUNsYXNzTmFtZXMSOgoGY29tbW9uGAMgAS' + 'gLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzUgZjb21tb24aRAoWU2Vydmlj' + 'ZUNsYXNzTmFtZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdW' + 'U6AjgB'); + +@$core.Deprecated('Use cppSettingsDescriptor instead') +const CppSettings$json = { + '1': 'CppSettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + ], +}; + +/// Descriptor for `CppSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cppSettingsDescriptor = $convert.base64Decode( + 'CgtDcHBTZXR0aW5ncxI6CgZjb21tb24YASABKAsyIi5nb29nbGUuYXBpLkNvbW1vbkxhbmd1YW' + 'dlU2V0dGluZ3NSBmNvbW1vbg=='); + +@$core.Deprecated('Use phpSettingsDescriptor instead') +const PhpSettings$json = { + '1': 'PhpSettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + ], +}; + +/// Descriptor for `PhpSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List phpSettingsDescriptor = $convert.base64Decode( + 'CgtQaHBTZXR0aW5ncxI6CgZjb21tb24YASABKAsyIi5nb29nbGUuYXBpLkNvbW1vbkxhbmd1YW' + 'dlU2V0dGluZ3NSBmNvbW1vbg=='); + +@$core.Deprecated('Use pythonSettingsDescriptor instead') +const PythonSettings$json = { + '1': 'PythonSettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + { + '1': 'experimental_features', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.PythonSettings.ExperimentalFeatures', + '10': 'experimentalFeatures' + }, + ], + '3': [PythonSettings_ExperimentalFeatures$json], +}; + +@$core.Deprecated('Use pythonSettingsDescriptor instead') +const PythonSettings_ExperimentalFeatures$json = { + '1': 'ExperimentalFeatures', + '2': [ + { + '1': 'rest_async_io_enabled', + '3': 1, + '4': 1, + '5': 8, + '10': 'restAsyncIoEnabled' + }, + ], +}; + +/// Descriptor for `PythonSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List pythonSettingsDescriptor = $convert.base64Decode( + 'Cg5QeXRob25TZXR0aW5ncxI6CgZjb21tb24YASABKAsyIi5nb29nbGUuYXBpLkNvbW1vbkxhbm' + 'd1YWdlU2V0dGluZ3NSBmNvbW1vbhJkChVleHBlcmltZW50YWxfZmVhdHVyZXMYAiABKAsyLy5n' + 'b29nbGUuYXBpLlB5dGhvblNldHRpbmdzLkV4cGVyaW1lbnRhbEZlYXR1cmVzUhRleHBlcmltZW' + '50YWxGZWF0dXJlcxpJChRFeHBlcmltZW50YWxGZWF0dXJlcxIxChVyZXN0X2FzeW5jX2lvX2Vu' + 'YWJsZWQYASABKAhSEnJlc3RBc3luY0lvRW5hYmxlZA=='); + +@$core.Deprecated('Use nodeSettingsDescriptor instead') +const NodeSettings$json = { + '1': 'NodeSettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + ], +}; + +/// Descriptor for `NodeSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nodeSettingsDescriptor = $convert.base64Decode( + 'CgxOb2RlU2V0dGluZ3MSOgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndW' + 'FnZVNldHRpbmdzUgZjb21tb24='); + +@$core.Deprecated('Use dotnetSettingsDescriptor instead') +const DotnetSettings$json = { + '1': 'DotnetSettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + { + '1': 'renamed_services', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.DotnetSettings.RenamedServicesEntry', + '10': 'renamedServices' + }, + { + '1': 'renamed_resources', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.DotnetSettings.RenamedResourcesEntry', + '10': 'renamedResources' + }, + { + '1': 'ignored_resources', + '3': 4, + '4': 3, + '5': 9, + '10': 'ignoredResources' + }, + { + '1': 'forced_namespace_aliases', + '3': 5, + '4': 3, + '5': 9, + '10': 'forcedNamespaceAliases' + }, + { + '1': 'handwritten_signatures', + '3': 6, + '4': 3, + '5': 9, + '10': 'handwrittenSignatures' + }, + ], + '3': [ + DotnetSettings_RenamedServicesEntry$json, + DotnetSettings_RenamedResourcesEntry$json + ], +}; + +@$core.Deprecated('Use dotnetSettingsDescriptor instead') +const DotnetSettings_RenamedServicesEntry$json = { + '1': 'RenamedServicesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use dotnetSettingsDescriptor instead') +const DotnetSettings_RenamedResourcesEntry$json = { + '1': 'RenamedResourcesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `DotnetSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List dotnetSettingsDescriptor = $convert.base64Decode( + 'Cg5Eb3RuZXRTZXR0aW5ncxI6CgZjb21tb24YASABKAsyIi5nb29nbGUuYXBpLkNvbW1vbkxhbm' + 'd1YWdlU2V0dGluZ3NSBmNvbW1vbhJaChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMi8uZ29vZ2xl' + 'LmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkU2VydmljZXNFbnRyeVIPcmVuYW1lZFNlcnZpY2' + 'VzEl0KEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5n' + 'cy5SZW5hbWVkUmVzb3VyY2VzRW50cnlSEHJlbmFtZWRSZXNvdXJjZXMSKwoRaWdub3JlZF9yZX' + 'NvdXJjZXMYBCADKAlSEGlnbm9yZWRSZXNvdXJjZXMSOAoYZm9yY2VkX25hbWVzcGFjZV9hbGlh' + 'c2VzGAUgAygJUhZmb3JjZWROYW1lc3BhY2VBbGlhc2VzEjUKFmhhbmR3cml0dGVuX3NpZ25hdH' + 'VyZXMYBiADKAlSFWhhbmR3cml0dGVuU2lnbmF0dXJlcxpCChRSZW5hbWVkU2VydmljZXNFbnRy' + 'eRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkMKFVJlbmFtZW' + 'RSZXNvdXJjZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6' + 'AjgB'); + +@$core.Deprecated('Use rubySettingsDescriptor instead') +const RubySettings$json = { + '1': 'RubySettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + ], +}; + +/// Descriptor for `RubySettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rubySettingsDescriptor = $convert.base64Decode( + 'CgxSdWJ5U2V0dGluZ3MSOgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndW' + 'FnZVNldHRpbmdzUgZjb21tb24='); + +@$core.Deprecated('Use goSettingsDescriptor instead') +const GoSettings$json = { + '1': 'GoSettings', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.CommonLanguageSettings', + '10': 'common' + }, + ], +}; + +/// Descriptor for `GoSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List goSettingsDescriptor = $convert.base64Decode( + 'CgpHb1NldHRpbmdzEjoKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2' + 'VTZXR0aW5nc1IGY29tbW9u'); + +@$core.Deprecated('Use methodSettingsDescriptor instead') +const MethodSettings$json = { + '1': 'MethodSettings', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'long_running', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.MethodSettings.LongRunning', + '10': 'longRunning' + }, + { + '1': 'auto_populated_fields', + '3': 3, + '4': 3, + '5': 9, + '10': 'autoPopulatedFields' + }, + ], + '3': [MethodSettings_LongRunning$json], +}; + +@$core.Deprecated('Use methodSettingsDescriptor instead') +const MethodSettings_LongRunning$json = { + '1': 'LongRunning', + '2': [ + { + '1': 'initial_poll_delay', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'initialPollDelay' + }, + { + '1': 'poll_delay_multiplier', + '3': 2, + '4': 1, + '5': 2, + '10': 'pollDelayMultiplier' + }, + { + '1': 'max_poll_delay', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'maxPollDelay' + }, + { + '1': 'total_poll_timeout', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'totalPollTimeout' + }, + ], +}; + +/// Descriptor for `MethodSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodSettingsDescriptor = $convert.base64Decode( + 'Cg5NZXRob2RTZXR0aW5ncxIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISSQoMbG9uZ19ydW' + '5uaW5nGAIgASgLMiYuZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncy5Mb25nUnVubmluZ1ILbG9u' + 'Z1J1bm5pbmcSMgoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJUhNhdXRvUG9wdWxhdGVkRm' + 'llbGRzGpQCCgtMb25nUnVubmluZxJHChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29n' + 'bGUucHJvdG9idWYuRHVyYXRpb25SEGluaXRpYWxQb2xsRGVsYXkSMgoVcG9sbF9kZWxheV9tdW' + 'x0aXBsaWVyGAIgASgCUhNwb2xsRGVsYXlNdWx0aXBsaWVyEj8KDm1heF9wb2xsX2RlbGF5GAMg' + 'ASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgxtYXhQb2xsRGVsYXkSRwoSdG90YWxfcG' + '9sbF90aW1lb3V0GAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUhB0b3RhbFBvbGxU' + 'aW1lb3V0'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pb.dart new file mode 100644 index 00000000..7278a6d8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pb.dart @@ -0,0 +1,867 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/cloudquotas.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/field_mask.pb.dart' as $58; +import 'resources.pb.dart' as $32; +import 'resources.pbenum.dart' as $32; + +/// Message for requesting list of QuotaInfos +class ListQuotaInfosRequest extends $pb.GeneratedMessage { + factory ListQuotaInfosRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListQuotaInfosRequest._() : super(); + factory ListQuotaInfosRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListQuotaInfosRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListQuotaInfosRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListQuotaInfosRequest clone() => + ListQuotaInfosRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListQuotaInfosRequest copyWith( + void Function(ListQuotaInfosRequest) updates) => + super.copyWith((message) => updates(message as ListQuotaInfosRequest)) + as ListQuotaInfosRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListQuotaInfosRequest create() => ListQuotaInfosRequest._(); + ListQuotaInfosRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListQuotaInfosRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListQuotaInfosRequest? _defaultInstance; + + /// Required. Parent value of QuotaInfo resources. + /// Listing across different resource containers (such as 'projects/-') is not + /// allowed. + /// + /// Example names: + /// `projects/123/locations/global/services/compute.googleapis.com` + /// `folders/234/locations/global/services/compute.googleapis.com` + /// `organizations/345/locations/global/services/compute.googleapis.com` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. Requested page size. Server may return fewer items than + /// requested. If unspecified, server will pick an appropriate default. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional. A token identifying a page of results the server should return. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Message for response to listing QuotaInfos +class ListQuotaInfosResponse extends $pb.GeneratedMessage { + factory ListQuotaInfosResponse({ + $core.Iterable<$32.QuotaInfo>? quotaInfos, + $core.String? nextPageToken, + }) { + final $result = create(); + if (quotaInfos != null) { + $result.quotaInfos.addAll(quotaInfos); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListQuotaInfosResponse._() : super(); + factory ListQuotaInfosResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListQuotaInfosResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListQuotaInfosResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..pc<$32.QuotaInfo>( + 1, _omitFieldNames ? '' : 'quotaInfos', $pb.PbFieldType.PM, + subBuilder: $32.QuotaInfo.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListQuotaInfosResponse clone() => + ListQuotaInfosResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListQuotaInfosResponse copyWith( + void Function(ListQuotaInfosResponse) updates) => + super.copyWith((message) => updates(message as ListQuotaInfosResponse)) + as ListQuotaInfosResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListQuotaInfosResponse create() => ListQuotaInfosResponse._(); + ListQuotaInfosResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListQuotaInfosResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListQuotaInfosResponse? _defaultInstance; + + /// The list of QuotaInfo + @$pb.TagNumber(1) + $core.List<$32.QuotaInfo> get quotaInfos => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there are no subsequent pages. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Message for getting a QuotaInfo +class GetQuotaInfoRequest extends $pb.GeneratedMessage { + factory GetQuotaInfoRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetQuotaInfoRequest._() : super(); + factory GetQuotaInfoRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetQuotaInfoRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetQuotaInfoRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetQuotaInfoRequest clone() => GetQuotaInfoRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetQuotaInfoRequest copyWith(void Function(GetQuotaInfoRequest) updates) => + super.copyWith((message) => updates(message as GetQuotaInfoRequest)) + as GetQuotaInfoRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetQuotaInfoRequest create() => GetQuotaInfoRequest._(); + GetQuotaInfoRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetQuotaInfoRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetQuotaInfoRequest? _defaultInstance; + + /// Required. The resource name of the quota info. + /// + /// An example name: + /// `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Message for requesting list of QuotaPreferences +class ListQuotaPreferencesRequest extends $pb.GeneratedMessage { + factory ListQuotaPreferencesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.String? filter, + $core.String? orderBy, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (filter != null) { + $result.filter = filter; + } + if (orderBy != null) { + $result.orderBy = orderBy; + } + return $result; + } + ListQuotaPreferencesRequest._() : super(); + factory ListQuotaPreferencesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListQuotaPreferencesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListQuotaPreferencesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOS(4, _omitFieldNames ? '' : 'filter') + ..aOS(5, _omitFieldNames ? '' : 'orderBy') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListQuotaPreferencesRequest clone() => + ListQuotaPreferencesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListQuotaPreferencesRequest copyWith( + void Function(ListQuotaPreferencesRequest) updates) => + super.copyWith( + (message) => updates(message as ListQuotaPreferencesRequest)) + as ListQuotaPreferencesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListQuotaPreferencesRequest create() => + ListQuotaPreferencesRequest._(); + ListQuotaPreferencesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListQuotaPreferencesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListQuotaPreferencesRequest? _defaultInstance; + + /// Required. Parent value of QuotaPreference resources. + /// Listing across different resource containers (such as 'projects/-') is not + /// allowed. + /// + /// When the value starts with 'folders' or 'organizations', it lists the + /// QuotaPreferences for org quotas in the container. It does not list the + /// QuotaPreferences in the descendant projects of the container. + /// + /// Example parents: + /// `projects/123/locations/global` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. Requested page size. Server may return fewer items than + /// requested. If unspecified, server will pick an appropriate default. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional. A token identifying a page of results the server should return. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Optional. Filter result QuotaPreferences by their state, type, + /// create/update time range. + /// + /// Example filters: + /// `reconciling=true AND request_type=CLOUD_CONSOLE`, + /// `reconciling=true OR creation_time>2022-12-03T10:30:00` + @$pb.TagNumber(4) + $core.String get filter => $_getSZ(3); + @$pb.TagNumber(4) + set filter($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilter() => $_has(3); + @$pb.TagNumber(4) + void clearFilter() => clearField(4); + + /// Optional. How to order of the results. By default, the results are ordered + /// by create time. + /// + /// Example orders: + /// `quota_id`, + /// `service, create_time` + @$pb.TagNumber(5) + $core.String get orderBy => $_getSZ(4); + @$pb.TagNumber(5) + set orderBy($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOrderBy() => $_has(4); + @$pb.TagNumber(5) + void clearOrderBy() => clearField(5); +} + +/// Message for response to listing QuotaPreferences +class ListQuotaPreferencesResponse extends $pb.GeneratedMessage { + factory ListQuotaPreferencesResponse({ + $core.Iterable<$32.QuotaPreference>? quotaPreferences, + $core.String? nextPageToken, + $core.Iterable<$core.String>? unreachable, + }) { + final $result = create(); + if (quotaPreferences != null) { + $result.quotaPreferences.addAll(quotaPreferences); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + if (unreachable != null) { + $result.unreachable.addAll(unreachable); + } + return $result; + } + ListQuotaPreferencesResponse._() : super(); + factory ListQuotaPreferencesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListQuotaPreferencesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListQuotaPreferencesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..pc<$32.QuotaPreference>( + 1, _omitFieldNames ? '' : 'quotaPreferences', $pb.PbFieldType.PM, + subBuilder: $32.QuotaPreference.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..pPS(3, _omitFieldNames ? '' : 'unreachable') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListQuotaPreferencesResponse clone() => + ListQuotaPreferencesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListQuotaPreferencesResponse copyWith( + void Function(ListQuotaPreferencesResponse) updates) => + super.copyWith( + (message) => updates(message as ListQuotaPreferencesResponse)) + as ListQuotaPreferencesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListQuotaPreferencesResponse create() => + ListQuotaPreferencesResponse._(); + ListQuotaPreferencesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListQuotaPreferencesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListQuotaPreferencesResponse? _defaultInstance; + + /// The list of QuotaPreference + @$pb.TagNumber(1) + $core.List<$32.QuotaPreference> get quotaPreferences => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there are no subsequent pages. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); + + /// Locations that could not be reached. + @$pb.TagNumber(3) + $core.List<$core.String> get unreachable => $_getList(2); +} + +/// Message for getting a QuotaPreference +class GetQuotaPreferenceRequest extends $pb.GeneratedMessage { + factory GetQuotaPreferenceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetQuotaPreferenceRequest._() : super(); + factory GetQuotaPreferenceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetQuotaPreferenceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetQuotaPreferenceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetQuotaPreferenceRequest clone() => + GetQuotaPreferenceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetQuotaPreferenceRequest copyWith( + void Function(GetQuotaPreferenceRequest) updates) => + super.copyWith((message) => updates(message as GetQuotaPreferenceRequest)) + as GetQuotaPreferenceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetQuotaPreferenceRequest create() => GetQuotaPreferenceRequest._(); + GetQuotaPreferenceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetQuotaPreferenceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetQuotaPreferenceRequest? _defaultInstance; + + /// Required. Name of the resource + /// + /// Example name: + /// `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Message for creating a QuotaPreference +class CreateQuotaPreferenceRequest extends $pb.GeneratedMessage { + factory CreateQuotaPreferenceRequest({ + $core.String? parent, + $core.String? quotaPreferenceId, + $32.QuotaPreference? quotaPreference, + $core.Iterable<$32.QuotaSafetyCheck>? ignoreSafetyChecks, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (quotaPreferenceId != null) { + $result.quotaPreferenceId = quotaPreferenceId; + } + if (quotaPreference != null) { + $result.quotaPreference = quotaPreference; + } + if (ignoreSafetyChecks != null) { + $result.ignoreSafetyChecks.addAll(ignoreSafetyChecks); + } + return $result; + } + CreateQuotaPreferenceRequest._() : super(); + factory CreateQuotaPreferenceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateQuotaPreferenceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateQuotaPreferenceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'quotaPreferenceId') + ..aOM<$32.QuotaPreference>(3, _omitFieldNames ? '' : 'quotaPreference', + subBuilder: $32.QuotaPreference.create) + ..pc<$32.QuotaSafetyCheck>( + 4, _omitFieldNames ? '' : 'ignoreSafetyChecks', $pb.PbFieldType.KE, + valueOf: $32.QuotaSafetyCheck.valueOf, + enumValues: $32.QuotaSafetyCheck.values, + defaultEnumValue: $32.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateQuotaPreferenceRequest clone() => + CreateQuotaPreferenceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateQuotaPreferenceRequest copyWith( + void Function(CreateQuotaPreferenceRequest) updates) => + super.copyWith( + (message) => updates(message as CreateQuotaPreferenceRequest)) + as CreateQuotaPreferenceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateQuotaPreferenceRequest create() => + CreateQuotaPreferenceRequest._(); + CreateQuotaPreferenceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateQuotaPreferenceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateQuotaPreferenceRequest? _defaultInstance; + + /// Required. Value for parent. + /// + /// Example: + /// `projects/123/locations/global` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. Id of the requesting object, must be unique under its parent. + /// If client does not set this field, the service will generate one. + @$pb.TagNumber(2) + $core.String get quotaPreferenceId => $_getSZ(1); + @$pb.TagNumber(2) + set quotaPreferenceId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuotaPreferenceId() => $_has(1); + @$pb.TagNumber(2) + void clearQuotaPreferenceId() => clearField(2); + + /// Required. The resource being created + @$pb.TagNumber(3) + $32.QuotaPreference get quotaPreference => $_getN(2); + @$pb.TagNumber(3) + set quotaPreference($32.QuotaPreference v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasQuotaPreference() => $_has(2); + @$pb.TagNumber(3) + void clearQuotaPreference() => clearField(3); + @$pb.TagNumber(3) + $32.QuotaPreference ensureQuotaPreference() => $_ensure(2); + + /// The list of quota safety checks to be ignored. + @$pb.TagNumber(4) + $core.List<$32.QuotaSafetyCheck> get ignoreSafetyChecks => $_getList(3); +} + +/// Message for updating a QuotaPreference +class UpdateQuotaPreferenceRequest extends $pb.GeneratedMessage { + factory UpdateQuotaPreferenceRequest({ + $58.FieldMask? updateMask, + $32.QuotaPreference? quotaPreference, + $core.bool? allowMissing, + $core.bool? validateOnly, + $core.Iterable<$32.QuotaSafetyCheck>? ignoreSafetyChecks, + }) { + final $result = create(); + if (updateMask != null) { + $result.updateMask = updateMask; + } + if (quotaPreference != null) { + $result.quotaPreference = quotaPreference; + } + if (allowMissing != null) { + $result.allowMissing = allowMissing; + } + if (validateOnly != null) { + $result.validateOnly = validateOnly; + } + if (ignoreSafetyChecks != null) { + $result.ignoreSafetyChecks.addAll(ignoreSafetyChecks); + } + return $result; + } + UpdateQuotaPreferenceRequest._() : super(); + factory UpdateQuotaPreferenceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateQuotaPreferenceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateQuotaPreferenceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOM<$58.FieldMask>(1, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..aOM<$32.QuotaPreference>(2, _omitFieldNames ? '' : 'quotaPreference', + subBuilder: $32.QuotaPreference.create) + ..aOB(3, _omitFieldNames ? '' : 'allowMissing') + ..aOB(4, _omitFieldNames ? '' : 'validateOnly') + ..pc<$32.QuotaSafetyCheck>( + 5, _omitFieldNames ? '' : 'ignoreSafetyChecks', $pb.PbFieldType.KE, + valueOf: $32.QuotaSafetyCheck.valueOf, + enumValues: $32.QuotaSafetyCheck.values, + defaultEnumValue: $32.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateQuotaPreferenceRequest clone() => + UpdateQuotaPreferenceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateQuotaPreferenceRequest copyWith( + void Function(UpdateQuotaPreferenceRequest) updates) => + super.copyWith( + (message) => updates(message as UpdateQuotaPreferenceRequest)) + as UpdateQuotaPreferenceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateQuotaPreferenceRequest create() => + UpdateQuotaPreferenceRequest._(); + UpdateQuotaPreferenceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateQuotaPreferenceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateQuotaPreferenceRequest? _defaultInstance; + + /// Optional. Field mask is used to specify the fields to be overwritten in the + /// QuotaPreference resource by the update. + /// The fields specified in the update_mask are relative to the resource, not + /// the full request. A field will be overwritten if it is in the mask. If the + /// user does not provide a mask then all fields will be overwritten. + @$pb.TagNumber(1) + $58.FieldMask get updateMask => $_getN(0); + @$pb.TagNumber(1) + set updateMask($58.FieldMask v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasUpdateMask() => $_has(0); + @$pb.TagNumber(1) + void clearUpdateMask() => clearField(1); + @$pb.TagNumber(1) + $58.FieldMask ensureUpdateMask() => $_ensure(0); + + /// Required. The resource being updated + @$pb.TagNumber(2) + $32.QuotaPreference get quotaPreference => $_getN(1); + @$pb.TagNumber(2) + set quotaPreference($32.QuotaPreference v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuotaPreference() => $_has(1); + @$pb.TagNumber(2) + void clearQuotaPreference() => clearField(2); + @$pb.TagNumber(2) + $32.QuotaPreference ensureQuotaPreference() => $_ensure(1); + + /// Optional. If set to true, and the quota preference is not found, a new one + /// will be created. In this situation, `update_mask` is ignored. + @$pb.TagNumber(3) + $core.bool get allowMissing => $_getBF(2); + @$pb.TagNumber(3) + set allowMissing($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasAllowMissing() => $_has(2); + @$pb.TagNumber(3) + void clearAllowMissing() => clearField(3); + + /// Optional. If set to true, validate the request, but do not actually update. + /// Note that a request being valid does not mean that the request is + /// guaranteed to be fulfilled. + @$pb.TagNumber(4) + $core.bool get validateOnly => $_getBF(3); + @$pb.TagNumber(4) + set validateOnly($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasValidateOnly() => $_has(3); + @$pb.TagNumber(4) + void clearValidateOnly() => clearField(4); + + /// The list of quota safety checks to be ignored. + @$pb.TagNumber(5) + $core.List<$32.QuotaSafetyCheck> get ignoreSafetyChecks => $_getList(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbenum.dart new file mode 100644 index 00000000..f564bf27 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/cloudquotas.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbgrpc.dart new file mode 100644 index 00000000..11b3cf8a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbgrpc.dart @@ -0,0 +1,210 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/cloudquotas.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'cloudquotas.pb.dart' as $31; +import 'resources.pb.dart' as $32; + +export 'cloudquotas.pb.dart'; + +@$pb.GrpcServiceName('google.api.cloudquotas.v1.CloudQuotas') +class CloudQuotasClient extends $grpc.Client { + static final _$listQuotaInfos = + $grpc.ClientMethod<$31.ListQuotaInfosRequest, $31.ListQuotaInfosResponse>( + '/google.api.cloudquotas.v1.CloudQuotas/ListQuotaInfos', + ($31.ListQuotaInfosRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $31.ListQuotaInfosResponse.fromBuffer(value)); + static final _$getQuotaInfo = + $grpc.ClientMethod<$31.GetQuotaInfoRequest, $32.QuotaInfo>( + '/google.api.cloudquotas.v1.CloudQuotas/GetQuotaInfo', + ($31.GetQuotaInfoRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $32.QuotaInfo.fromBuffer(value)); + static final _$listQuotaPreferences = $grpc.ClientMethod< + $31.ListQuotaPreferencesRequest, $31.ListQuotaPreferencesResponse>( + '/google.api.cloudquotas.v1.CloudQuotas/ListQuotaPreferences', + ($31.ListQuotaPreferencesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $31.ListQuotaPreferencesResponse.fromBuffer(value)); + static final _$getQuotaPreference = + $grpc.ClientMethod<$31.GetQuotaPreferenceRequest, $32.QuotaPreference>( + '/google.api.cloudquotas.v1.CloudQuotas/GetQuotaPreference', + ($31.GetQuotaPreferenceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $32.QuotaPreference.fromBuffer(value)); + static final _$createQuotaPreference = + $grpc.ClientMethod<$31.CreateQuotaPreferenceRequest, $32.QuotaPreference>( + '/google.api.cloudquotas.v1.CloudQuotas/CreateQuotaPreference', + ($31.CreateQuotaPreferenceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $32.QuotaPreference.fromBuffer(value)); + static final _$updateQuotaPreference = + $grpc.ClientMethod<$31.UpdateQuotaPreferenceRequest, $32.QuotaPreference>( + '/google.api.cloudquotas.v1.CloudQuotas/UpdateQuotaPreference', + ($31.UpdateQuotaPreferenceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $32.QuotaPreference.fromBuffer(value)); + + CloudQuotasClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$31.ListQuotaInfosResponse> listQuotaInfos( + $31.ListQuotaInfosRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listQuotaInfos, request, options: options); + } + + $grpc.ResponseFuture<$32.QuotaInfo> getQuotaInfo( + $31.GetQuotaInfoRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getQuotaInfo, request, options: options); + } + + $grpc.ResponseFuture<$31.ListQuotaPreferencesResponse> listQuotaPreferences( + $31.ListQuotaPreferencesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listQuotaPreferences, request, options: options); + } + + $grpc.ResponseFuture<$32.QuotaPreference> getQuotaPreference( + $31.GetQuotaPreferenceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getQuotaPreference, request, options: options); + } + + $grpc.ResponseFuture<$32.QuotaPreference> createQuotaPreference( + $31.CreateQuotaPreferenceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createQuotaPreference, request, options: options); + } + + $grpc.ResponseFuture<$32.QuotaPreference> updateQuotaPreference( + $31.UpdateQuotaPreferenceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateQuotaPreference, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.cloudquotas.v1.CloudQuotas') +abstract class CloudQuotasServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.cloudquotas.v1.CloudQuotas'; + + CloudQuotasServiceBase() { + $addMethod($grpc.ServiceMethod<$31.ListQuotaInfosRequest, + $31.ListQuotaInfosResponse>( + 'ListQuotaInfos', + listQuotaInfos_Pre, + false, + false, + ($core.List<$core.int> value) => + $31.ListQuotaInfosRequest.fromBuffer(value), + ($31.ListQuotaInfosResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$31.GetQuotaInfoRequest, $32.QuotaInfo>( + 'GetQuotaInfo', + getQuotaInfo_Pre, + false, + false, + ($core.List<$core.int> value) => + $31.GetQuotaInfoRequest.fromBuffer(value), + ($32.QuotaInfo value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$31.ListQuotaPreferencesRequest, + $31.ListQuotaPreferencesResponse>( + 'ListQuotaPreferences', + listQuotaPreferences_Pre, + false, + false, + ($core.List<$core.int> value) => + $31.ListQuotaPreferencesRequest.fromBuffer(value), + ($31.ListQuotaPreferencesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$31.GetQuotaPreferenceRequest, $32.QuotaPreference>( + 'GetQuotaPreference', + getQuotaPreference_Pre, + false, + false, + ($core.List<$core.int> value) => + $31.GetQuotaPreferenceRequest.fromBuffer(value), + ($32.QuotaPreference value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$31.CreateQuotaPreferenceRequest, + $32.QuotaPreference>( + 'CreateQuotaPreference', + createQuotaPreference_Pre, + false, + false, + ($core.List<$core.int> value) => + $31.CreateQuotaPreferenceRequest.fromBuffer(value), + ($32.QuotaPreference value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$31.UpdateQuotaPreferenceRequest, + $32.QuotaPreference>( + 'UpdateQuotaPreference', + updateQuotaPreference_Pre, + false, + false, + ($core.List<$core.int> value) => + $31.UpdateQuotaPreferenceRequest.fromBuffer(value), + ($32.QuotaPreference value) => value.writeToBuffer())); + } + + $async.Future<$31.ListQuotaInfosResponse> listQuotaInfos_Pre( + $grpc.ServiceCall call, + $async.Future<$31.ListQuotaInfosRequest> request) async { + return listQuotaInfos(call, await request); + } + + $async.Future<$32.QuotaInfo> getQuotaInfo_Pre($grpc.ServiceCall call, + $async.Future<$31.GetQuotaInfoRequest> request) async { + return getQuotaInfo(call, await request); + } + + $async.Future<$31.ListQuotaPreferencesResponse> listQuotaPreferences_Pre( + $grpc.ServiceCall call, + $async.Future<$31.ListQuotaPreferencesRequest> request) async { + return listQuotaPreferences(call, await request); + } + + $async.Future<$32.QuotaPreference> getQuotaPreference_Pre( + $grpc.ServiceCall call, + $async.Future<$31.GetQuotaPreferenceRequest> request) async { + return getQuotaPreference(call, await request); + } + + $async.Future<$32.QuotaPreference> createQuotaPreference_Pre( + $grpc.ServiceCall call, + $async.Future<$31.CreateQuotaPreferenceRequest> request) async { + return createQuotaPreference(call, await request); + } + + $async.Future<$32.QuotaPreference> updateQuotaPreference_Pre( + $grpc.ServiceCall call, + $async.Future<$31.UpdateQuotaPreferenceRequest> request) async { + return updateQuotaPreference(call, await request); + } + + $async.Future<$31.ListQuotaInfosResponse> listQuotaInfos( + $grpc.ServiceCall call, $31.ListQuotaInfosRequest request); + $async.Future<$32.QuotaInfo> getQuotaInfo( + $grpc.ServiceCall call, $31.GetQuotaInfoRequest request); + $async.Future<$31.ListQuotaPreferencesResponse> listQuotaPreferences( + $grpc.ServiceCall call, $31.ListQuotaPreferencesRequest request); + $async.Future<$32.QuotaPreference> getQuotaPreference( + $grpc.ServiceCall call, $31.GetQuotaPreferenceRequest request); + $async.Future<$32.QuotaPreference> createQuotaPreference( + $grpc.ServiceCall call, $31.CreateQuotaPreferenceRequest request); + $async.Future<$32.QuotaPreference> updateQuotaPreference( + $grpc.ServiceCall call, $31.UpdateQuotaPreferenceRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbjson.dart new file mode 100644 index 00000000..f49f4415 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/cloudquotas.pbjson.dart @@ -0,0 +1,225 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/cloudquotas.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use listQuotaInfosRequestDescriptor instead') +const ListQuotaInfosRequest$json = { + '1': 'ListQuotaInfosRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListQuotaInfosRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listQuotaInfosRequestDescriptor = $convert.base64Decode( + 'ChVMaXN0UXVvdGFJbmZvc1JlcXVlc3QSRAoGcGFyZW50GAEgASgJQizgQQL6QSYSJGNsb3VkcX' + 'VvdGFzLmdvb2dsZWFwaXMuY29tL1F1b3RhSW5mb1IGcGFyZW50EiAKCXBhZ2Vfc2l6ZRgCIAEo' + 'BUID4EEBUghwYWdlU2l6ZRIiCgpwYWdlX3Rva2VuGAMgASgJQgPgQQFSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listQuotaInfosResponseDescriptor instead') +const ListQuotaInfosResponse$json = { + '1': 'ListQuotaInfosResponse', + '2': [ + { + '1': 'quota_infos', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaInfo', + '10': 'quotaInfos' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListQuotaInfosResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listQuotaInfosResponseDescriptor = $convert.base64Decode( + 'ChZMaXN0UXVvdGFJbmZvc1Jlc3BvbnNlEkUKC3F1b3RhX2luZm9zGAEgAygLMiQuZ29vZ2xlLm' + 'FwaS5jbG91ZHF1b3Rhcy52MS5RdW90YUluZm9SCnF1b3RhSW5mb3MSJgoPbmV4dF9wYWdlX3Rv' + 'a2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use getQuotaInfoRequestDescriptor instead') +const GetQuotaInfoRequest$json = { + '1': 'GetQuotaInfoRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetQuotaInfoRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getQuotaInfoRequestDescriptor = $convert.base64Decode( + 'ChNHZXRRdW90YUluZm9SZXF1ZXN0EkAKBG5hbWUYASABKAlCLOBBAvpBJgokY2xvdWRxdW90YX' + 'MuZ29vZ2xlYXBpcy5jb20vUXVvdGFJbmZvUgRuYW1l'); + +@$core.Deprecated('Use listQuotaPreferencesRequestDescriptor instead') +const ListQuotaPreferencesRequest$json = { + '1': 'ListQuotaPreferencesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'filter', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + {'1': 'order_by', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'orderBy'}, + ], +}; + +/// Descriptor for `ListQuotaPreferencesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listQuotaPreferencesRequestDescriptor = $convert.base64Decode( + 'ChtMaXN0UXVvdGFQcmVmZXJlbmNlc1JlcXVlc3QSSgoGcGFyZW50GAEgASgJQjLgQQL6QSwSKm' + 'Nsb3VkcXVvdGFzLmdvb2dsZWFwaXMuY29tL1F1b3RhUHJlZmVyZW5jZVIGcGFyZW50EiAKCXBh' + 'Z2Vfc2l6ZRgCIAEoBUID4EEBUghwYWdlU2l6ZRIiCgpwYWdlX3Rva2VuGAMgASgJQgPgQQFSCX' + 'BhZ2VUb2tlbhIbCgZmaWx0ZXIYBCABKAlCA+BBAVIGZmlsdGVyEh4KCG9yZGVyX2J5GAUgASgJ' + 'QgPgQQFSB29yZGVyQnk='); + +@$core.Deprecated('Use listQuotaPreferencesResponseDescriptor instead') +const ListQuotaPreferencesResponse$json = { + '1': 'ListQuotaPreferencesResponse', + '2': [ + { + '1': 'quota_preferences', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaPreference', + '10': 'quotaPreferences' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + {'1': 'unreachable', '3': 3, '4': 3, '5': 9, '10': 'unreachable'}, + ], +}; + +/// Descriptor for `ListQuotaPreferencesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listQuotaPreferencesResponseDescriptor = $convert.base64Decode( + 'ChxMaXN0UXVvdGFQcmVmZXJlbmNlc1Jlc3BvbnNlElcKEXF1b3RhX3ByZWZlcmVuY2VzGAEgAy' + 'gLMiouZ29vZ2xlLmFwaS5jbG91ZHF1b3Rhcy52MS5RdW90YVByZWZlcmVuY2VSEHF1b3RhUHJl' + 'ZmVyZW5jZXMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2VuEiAKC3Vucm' + 'VhY2hhYmxlGAMgAygJUgt1bnJlYWNoYWJsZQ=='); + +@$core.Deprecated('Use getQuotaPreferenceRequestDescriptor instead') +const GetQuotaPreferenceRequest$json = { + '1': 'GetQuotaPreferenceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetQuotaPreferenceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getQuotaPreferenceRequestDescriptor = + $convert.base64Decode( + 'ChlHZXRRdW90YVByZWZlcmVuY2VSZXF1ZXN0EkYKBG5hbWUYASABKAlCMuBBAvpBLAoqY2xvdW' + 'RxdW90YXMuZ29vZ2xlYXBpcy5jb20vUXVvdGFQcmVmZXJlbmNlUgRuYW1l'); + +@$core.Deprecated('Use createQuotaPreferenceRequestDescriptor instead') +const CreateQuotaPreferenceRequest$json = { + '1': 'CreateQuotaPreferenceRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'quota_preference_id', + '3': 2, + '4': 1, + '5': 9, + '8': {}, + '10': 'quotaPreferenceId' + }, + { + '1': 'quota_preference', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaPreference', + '8': {}, + '10': 'quotaPreference' + }, + { + '1': 'ignore_safety_checks', + '3': 4, + '4': 3, + '5': 14, + '6': '.google.api.cloudquotas.v1.QuotaSafetyCheck', + '10': 'ignoreSafetyChecks' + }, + ], +}; + +/// Descriptor for `CreateQuotaPreferenceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createQuotaPreferenceRequestDescriptor = $convert.base64Decode( + 'ChxDcmVhdGVRdW90YVByZWZlcmVuY2VSZXF1ZXN0EkoKBnBhcmVudBgBIAEoCUIy4EEC+kEsEi' + 'pjbG91ZHF1b3Rhcy5nb29nbGVhcGlzLmNvbS9RdW90YVByZWZlcmVuY2VSBnBhcmVudBIzChNx' + 'dW90YV9wcmVmZXJlbmNlX2lkGAIgASgJQgPgQQFSEXF1b3RhUHJlZmVyZW5jZUlkEloKEHF1b3' + 'RhX3ByZWZlcmVuY2UYAyABKAsyKi5nb29nbGUuYXBpLmNsb3VkcXVvdGFzLnYxLlF1b3RhUHJl' + 'ZmVyZW5jZUID4EECUg9xdW90YVByZWZlcmVuY2USXQoUaWdub3JlX3NhZmV0eV9jaGVja3MYBC' + 'ADKA4yKy5nb29nbGUuYXBpLmNsb3VkcXVvdGFzLnYxLlF1b3RhU2FmZXR5Q2hlY2tSEmlnbm9y' + 'ZVNhZmV0eUNoZWNrcw=='); + +@$core.Deprecated('Use updateQuotaPreferenceRequestDescriptor instead') +const UpdateQuotaPreferenceRequest$json = { + '1': 'UpdateQuotaPreferenceRequest', + '2': [ + { + '1': 'update_mask', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + { + '1': 'quota_preference', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaPreference', + '8': {}, + '10': 'quotaPreference' + }, + { + '1': 'allow_missing', + '3': 3, + '4': 1, + '5': 8, + '8': {}, + '10': 'allowMissing' + }, + { + '1': 'validate_only', + '3': 4, + '4': 1, + '5': 8, + '8': {}, + '10': 'validateOnly' + }, + { + '1': 'ignore_safety_checks', + '3': 5, + '4': 3, + '5': 14, + '6': '.google.api.cloudquotas.v1.QuotaSafetyCheck', + '10': 'ignoreSafetyChecks' + }, + ], +}; + +/// Descriptor for `UpdateQuotaPreferenceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateQuotaPreferenceRequestDescriptor = $convert.base64Decode( + 'ChxVcGRhdGVRdW90YVByZWZlcmVuY2VSZXF1ZXN0EkAKC3VwZGF0ZV9tYXNrGAEgASgLMhouZ2' + '9vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0ID4EEBUgp1cGRhdGVNYXNrEloKEHF1b3RhX3ByZWZl' + 'cmVuY2UYAiABKAsyKi5nb29nbGUuYXBpLmNsb3VkcXVvdGFzLnYxLlF1b3RhUHJlZmVyZW5jZU' + 'ID4EECUg9xdW90YVByZWZlcmVuY2USKAoNYWxsb3dfbWlzc2luZxgDIAEoCEID4EEBUgxhbGxv' + 'd01pc3NpbmcSKAoNdmFsaWRhdGVfb25seRgEIAEoCEID4EEBUgx2YWxpZGF0ZU9ubHkSXQoUaW' + 'dub3JlX3NhZmV0eV9jaGVja3MYBSADKA4yKy5nb29nbGUuYXBpLmNsb3VkcXVvdGFzLnYxLlF1' + 'b3RhU2FmZXR5Q2hlY2tSEmlnbm9yZVNhZmV0eUNoZWNrcw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pb.dart new file mode 100644 index 00000000..73d4005b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pb.dart @@ -0,0 +1,1149 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/timestamp.pb.dart' as $50; +import '../../../protobuf/wrappers.pb.dart' as $73; +import 'resources.pbenum.dart'; + +export 'resources.pbenum.dart'; + +/// QuotaInfo represents information about a particular quota for a given +/// project, folder or organization. +class QuotaInfo extends $pb.GeneratedMessage { + factory QuotaInfo({ + $core.String? name, + $core.String? quotaId, + $core.String? metric, + $core.String? service, + $core.bool? isPrecise, + $core.String? refreshInterval, + QuotaInfo_ContainerType? containerType, + $core.Iterable<$core.String>? dimensions, + $core.String? metricDisplayName, + $core.String? quotaDisplayName, + $core.String? metricUnit, + QuotaIncreaseEligibility? quotaIncreaseEligibility, + $core.bool? isFixed, + $core.Iterable? dimensionsInfos, + $core.bool? isConcurrent, + $core.String? serviceRequestQuotaUri, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (quotaId != null) { + $result.quotaId = quotaId; + } + if (metric != null) { + $result.metric = metric; + } + if (service != null) { + $result.service = service; + } + if (isPrecise != null) { + $result.isPrecise = isPrecise; + } + if (refreshInterval != null) { + $result.refreshInterval = refreshInterval; + } + if (containerType != null) { + $result.containerType = containerType; + } + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (metricDisplayName != null) { + $result.metricDisplayName = metricDisplayName; + } + if (quotaDisplayName != null) { + $result.quotaDisplayName = quotaDisplayName; + } + if (metricUnit != null) { + $result.metricUnit = metricUnit; + } + if (quotaIncreaseEligibility != null) { + $result.quotaIncreaseEligibility = quotaIncreaseEligibility; + } + if (isFixed != null) { + $result.isFixed = isFixed; + } + if (dimensionsInfos != null) { + $result.dimensionsInfos.addAll(dimensionsInfos); + } + if (isConcurrent != null) { + $result.isConcurrent = isConcurrent; + } + if (serviceRequestQuotaUri != null) { + $result.serviceRequestQuotaUri = serviceRequestQuotaUri; + } + return $result; + } + QuotaInfo._() : super(); + factory QuotaInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'quotaId') + ..aOS(3, _omitFieldNames ? '' : 'metric') + ..aOS(4, _omitFieldNames ? '' : 'service') + ..aOB(5, _omitFieldNames ? '' : 'isPrecise') + ..aOS(6, _omitFieldNames ? '' : 'refreshInterval') + ..e( + 7, _omitFieldNames ? '' : 'containerType', $pb.PbFieldType.OE, + defaultOrMaker: QuotaInfo_ContainerType.CONTAINER_TYPE_UNSPECIFIED, + valueOf: QuotaInfo_ContainerType.valueOf, + enumValues: QuotaInfo_ContainerType.values) + ..pPS(8, _omitFieldNames ? '' : 'dimensions') + ..aOS(9, _omitFieldNames ? '' : 'metricDisplayName') + ..aOS(10, _omitFieldNames ? '' : 'quotaDisplayName') + ..aOS(11, _omitFieldNames ? '' : 'metricUnit') + ..aOM( + 12, _omitFieldNames ? '' : 'quotaIncreaseEligibility', + subBuilder: QuotaIncreaseEligibility.create) + ..aOB(13, _omitFieldNames ? '' : 'isFixed') + ..pc( + 14, _omitFieldNames ? '' : 'dimensionsInfos', $pb.PbFieldType.PM, + subBuilder: DimensionsInfo.create) + ..aOB(15, _omitFieldNames ? '' : 'isConcurrent') + ..aOS(17, _omitFieldNames ? '' : 'serviceRequestQuotaUri') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaInfo clone() => QuotaInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaInfo copyWith(void Function(QuotaInfo) updates) => + super.copyWith((message) => updates(message as QuotaInfo)) as QuotaInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaInfo create() => QuotaInfo._(); + QuotaInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QuotaInfo? _defaultInstance; + + /// Resource name of this QuotaInfo. + /// The ID component following "locations/" must be "global". + /// Example: + /// `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The id of the quota, which is unquie within the service. + /// Example: `CpusPerProjectPerRegion` + @$pb.TagNumber(2) + $core.String get quotaId => $_getSZ(1); + @$pb.TagNumber(2) + set quotaId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuotaId() => $_has(1); + @$pb.TagNumber(2) + void clearQuotaId() => clearField(2); + + /// The metric of the quota. It specifies the resources consumption the quota + /// is defined for. + /// Example: `compute.googleapis.com/cpus` + @$pb.TagNumber(3) + $core.String get metric => $_getSZ(2); + @$pb.TagNumber(3) + set metric($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMetric() => $_has(2); + @$pb.TagNumber(3) + void clearMetric() => clearField(3); + + /// The name of the service in which the quota is defined. + /// Example: `compute.googleapis.com` + @$pb.TagNumber(4) + $core.String get service => $_getSZ(3); + @$pb.TagNumber(4) + set service($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasService() => $_has(3); + @$pb.TagNumber(4) + void clearService() => clearField(4); + + /// Whether this is a precise quota. A precise quota is tracked with absolute + /// precision. In contrast, an imprecise quota is not tracked with precision. + @$pb.TagNumber(5) + $core.bool get isPrecise => $_getBF(4); + @$pb.TagNumber(5) + set isPrecise($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasIsPrecise() => $_has(4); + @$pb.TagNumber(5) + void clearIsPrecise() => clearField(5); + + /// The reset time interval for the quota. Refresh interval applies to rate + /// quota only. + /// Example: "minute" for per minute, "day" for per day, or "10 seconds" for + /// every 10 seconds. + @$pb.TagNumber(6) + $core.String get refreshInterval => $_getSZ(5); + @$pb.TagNumber(6) + set refreshInterval($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasRefreshInterval() => $_has(5); + @$pb.TagNumber(6) + void clearRefreshInterval() => clearField(6); + + /// The container type of the QuotaInfo. + @$pb.TagNumber(7) + QuotaInfo_ContainerType get containerType => $_getN(6); + @$pb.TagNumber(7) + set containerType(QuotaInfo_ContainerType v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasContainerType() => $_has(6); + @$pb.TagNumber(7) + void clearContainerType() => clearField(7); + + /// The dimensions the quota is defined on. + @$pb.TagNumber(8) + $core.List<$core.String> get dimensions => $_getList(7); + + /// The display name of the quota metric + @$pb.TagNumber(9) + $core.String get metricDisplayName => $_getSZ(8); + @$pb.TagNumber(9) + set metricDisplayName($core.String v) { + $_setString(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasMetricDisplayName() => $_has(8); + @$pb.TagNumber(9) + void clearMetricDisplayName() => clearField(9); + + /// The display name of the quota. + @$pb.TagNumber(10) + $core.String get quotaDisplayName => $_getSZ(9); + @$pb.TagNumber(10) + set quotaDisplayName($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasQuotaDisplayName() => $_has(9); + @$pb.TagNumber(10) + void clearQuotaDisplayName() => clearField(10); + + /// The unit in which the metric value is reported, e.g., "MByte". + @$pb.TagNumber(11) + $core.String get metricUnit => $_getSZ(10); + @$pb.TagNumber(11) + set metricUnit($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasMetricUnit() => $_has(10); + @$pb.TagNumber(11) + void clearMetricUnit() => clearField(11); + + /// Whether it is eligible to request a higher quota value for this quota. + @$pb.TagNumber(12) + QuotaIncreaseEligibility get quotaIncreaseEligibility => $_getN(11); + @$pb.TagNumber(12) + set quotaIncreaseEligibility(QuotaIncreaseEligibility v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasQuotaIncreaseEligibility() => $_has(11); + @$pb.TagNumber(12) + void clearQuotaIncreaseEligibility() => clearField(12); + @$pb.TagNumber(12) + QuotaIncreaseEligibility ensureQuotaIncreaseEligibility() => $_ensure(11); + + /// Whether the quota value is fixed or adjustable + @$pb.TagNumber(13) + $core.bool get isFixed => $_getBF(12); + @$pb.TagNumber(13) + set isFixed($core.bool v) { + $_setBool(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasIsFixed() => $_has(12); + @$pb.TagNumber(13) + void clearIsFixed() => clearField(13); + + /// The collection of dimensions info ordered by their dimensions from more + /// specific ones to less specific ones. + @$pb.TagNumber(14) + $core.List get dimensionsInfos => $_getList(13); + + /// Whether the quota is a concurrent quota. Concurrent quotas are enforced + /// on the total number of concurrent operations in flight at any given time. + @$pb.TagNumber(15) + $core.bool get isConcurrent => $_getBF(14); + @$pb.TagNumber(15) + set isConcurrent($core.bool v) { + $_setBool(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasIsConcurrent() => $_has(14); + @$pb.TagNumber(15) + void clearIsConcurrent() => clearField(15); + + /// URI to the page where users can request more quota for the cloud + /// service—for example, + /// https://console.cloud.google.com/iam-admin/quotas. + @$pb.TagNumber(17) + $core.String get serviceRequestQuotaUri => $_getSZ(15); + @$pb.TagNumber(17) + set serviceRequestQuotaUri($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(17) + $core.bool hasServiceRequestQuotaUri() => $_has(15); + @$pb.TagNumber(17) + void clearServiceRequestQuotaUri() => clearField(17); +} + +/// Eligibility information regarding requesting increase adjustment of a quota. +class QuotaIncreaseEligibility extends $pb.GeneratedMessage { + factory QuotaIncreaseEligibility({ + $core.bool? isEligible, + QuotaIncreaseEligibility_IneligibilityReason? ineligibilityReason, + }) { + final $result = create(); + if (isEligible != null) { + $result.isEligible = isEligible; + } + if (ineligibilityReason != null) { + $result.ineligibilityReason = ineligibilityReason; + } + return $result; + } + QuotaIncreaseEligibility._() : super(); + factory QuotaIncreaseEligibility.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaIncreaseEligibility.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaIncreaseEligibility', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'isEligible') + ..e( + 2, _omitFieldNames ? '' : 'ineligibilityReason', $pb.PbFieldType.OE, + defaultOrMaker: QuotaIncreaseEligibility_IneligibilityReason + .INELIGIBILITY_REASON_UNSPECIFIED, + valueOf: QuotaIncreaseEligibility_IneligibilityReason.valueOf, + enumValues: QuotaIncreaseEligibility_IneligibilityReason.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaIncreaseEligibility clone() => + QuotaIncreaseEligibility()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaIncreaseEligibility copyWith( + void Function(QuotaIncreaseEligibility) updates) => + super.copyWith((message) => updates(message as QuotaIncreaseEligibility)) + as QuotaIncreaseEligibility; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaIncreaseEligibility create() => QuotaIncreaseEligibility._(); + QuotaIncreaseEligibility createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaIncreaseEligibility getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaIncreaseEligibility? _defaultInstance; + + /// Whether a higher quota value can be requested for the quota. + @$pb.TagNumber(1) + $core.bool get isEligible => $_getBF(0); + @$pb.TagNumber(1) + set isEligible($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasIsEligible() => $_has(0); + @$pb.TagNumber(1) + void clearIsEligible() => clearField(1); + + /// The reason of why it is ineligible to request increased value of the quota. + /// If the is_eligible field is true, it defaults to + /// INELIGIBILITY_REASON_UNSPECIFIED. + @$pb.TagNumber(2) + QuotaIncreaseEligibility_IneligibilityReason get ineligibilityReason => + $_getN(1); + @$pb.TagNumber(2) + set ineligibilityReason(QuotaIncreaseEligibility_IneligibilityReason v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasIneligibilityReason() => $_has(1); + @$pb.TagNumber(2) + void clearIneligibilityReason() => clearField(2); +} + +/// QuotaPreference represents the preferred quota configuration specified for +/// a project, folder or organization. There is only one QuotaPreference +/// resource for a quota value targeting a unique set of dimensions. +class QuotaPreference extends $pb.GeneratedMessage { + factory QuotaPreference({ + $core.String? name, + $core.Map<$core.String, $core.String>? dimensions, + QuotaConfig? quotaConfig, + $core.String? etag, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $core.String? service, + $core.String? quotaId, + $core.bool? reconciling, + $core.String? justification, + $core.String? contactEmail, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (quotaConfig != null) { + $result.quotaConfig = quotaConfig; + } + if (etag != null) { + $result.etag = etag; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (service != null) { + $result.service = service; + } + if (quotaId != null) { + $result.quotaId = quotaId; + } + if (reconciling != null) { + $result.reconciling = reconciling; + } + if (justification != null) { + $result.justification = justification; + } + if (contactEmail != null) { + $result.contactEmail = contactEmail; + } + return $result; + } + QuotaPreference._() : super(); + factory QuotaPreference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaPreference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaPreference', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'dimensions', + entryClassName: 'QuotaPreference.DimensionsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.cloudquotas.v1')) + ..aOM(3, _omitFieldNames ? '' : 'quotaConfig', + subBuilder: QuotaConfig.create) + ..aOS(4, _omitFieldNames ? '' : 'etag') + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(6, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOS(7, _omitFieldNames ? '' : 'service') + ..aOS(8, _omitFieldNames ? '' : 'quotaId') + ..aOB(10, _omitFieldNames ? '' : 'reconciling') + ..aOS(11, _omitFieldNames ? '' : 'justification') + ..aOS(12, _omitFieldNames ? '' : 'contactEmail') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaPreference clone() => QuotaPreference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaPreference copyWith(void Function(QuotaPreference) updates) => + super.copyWith((message) => updates(message as QuotaPreference)) + as QuotaPreference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaPreference create() => QuotaPreference._(); + QuotaPreference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaPreference getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaPreference? _defaultInstance; + + /// Required except in the CREATE requests. + /// The resource name of the quota preference. + /// The ID component following "locations/" must be "global". + /// Example: + /// `projects/123/locations/global/quotaPreferences/my-config-for-us-east1` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Immutable. The dimensions that this quota preference applies to. The key of + /// the map entry is the name of a dimension, such as "region", "zone", + /// "network_id", and the value of the map entry is the dimension value. + /// + /// If a dimension is missing from the map of dimensions, the quota preference + /// applies to all the dimension values except for those that have other quota + /// preferences configured for the specific value. + /// + /// NOTE: QuotaPreferences can only be applied across all values of "user" and + /// "resource" dimension. Do not set values for "user" or "resource" in the + /// dimension map. + /// + /// Example: {"provider", "Foo Inc"} where "provider" is a service specific + /// dimension. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get dimensions => $_getMap(1); + + /// Required. Preferred quota configuration. + @$pb.TagNumber(3) + QuotaConfig get quotaConfig => $_getN(2); + @$pb.TagNumber(3) + set quotaConfig(QuotaConfig v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasQuotaConfig() => $_has(2); + @$pb.TagNumber(3) + void clearQuotaConfig() => clearField(3); + @$pb.TagNumber(3) + QuotaConfig ensureQuotaConfig() => $_ensure(2); + + /// Optional. The current etag of the quota preference. If an etag is provided + /// on update and does not match the current server's etag of the quota + /// preference, the request will be blocked and an ABORTED error will be + /// returned. See https://google.aip.dev/134#etags for more details on etags. + @$pb.TagNumber(4) + $core.String get etag => $_getSZ(3); + @$pb.TagNumber(4) + set etag($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasEtag() => $_has(3); + @$pb.TagNumber(4) + void clearEtag() => clearField(4); + + /// Output only. Create time stamp + @$pb.TagNumber(5) + $50.Timestamp get createTime => $_getN(4); + @$pb.TagNumber(5) + set createTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCreateTime() => $_has(4); + @$pb.TagNumber(5) + void clearCreateTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureCreateTime() => $_ensure(4); + + /// Output only. Update time stamp + @$pb.TagNumber(6) + $50.Timestamp get updateTime => $_getN(5); + @$pb.TagNumber(6) + set updateTime($50.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasUpdateTime() => $_has(5); + @$pb.TagNumber(6) + void clearUpdateTime() => clearField(6); + @$pb.TagNumber(6) + $50.Timestamp ensureUpdateTime() => $_ensure(5); + + /// Required. The name of the service to which the quota preference is applied. + @$pb.TagNumber(7) + $core.String get service => $_getSZ(6); + @$pb.TagNumber(7) + set service($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasService() => $_has(6); + @$pb.TagNumber(7) + void clearService() => clearField(7); + + /// Required. The id of the quota to which the quota preference is applied. A + /// quota name is unique in the service. Example: `CpusPerProjectPerRegion` + @$pb.TagNumber(8) + $core.String get quotaId => $_getSZ(7); + @$pb.TagNumber(8) + set quotaId($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasQuotaId() => $_has(7); + @$pb.TagNumber(8) + void clearQuotaId() => clearField(8); + + /// Output only. Is the quota preference pending Google Cloud approval and + /// fulfillment. + @$pb.TagNumber(10) + $core.bool get reconciling => $_getBF(8); + @$pb.TagNumber(10) + set reconciling($core.bool v) { + $_setBool(8, v); + } + + @$pb.TagNumber(10) + $core.bool hasReconciling() => $_has(8); + @$pb.TagNumber(10) + void clearReconciling() => clearField(10); + + /// The reason / justification for this quota preference. + @$pb.TagNumber(11) + $core.String get justification => $_getSZ(9); + @$pb.TagNumber(11) + set justification($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(11) + $core.bool hasJustification() => $_has(9); + @$pb.TagNumber(11) + void clearJustification() => clearField(11); + + /// Input only. An email address that can be used to contact the the user, in + /// case Google Cloud needs more information to make a decision before + /// additional quota can be granted. + /// + /// When requesting a quota increase, the email address is required. + /// When requesting a quota decrease, the email address is optional. + /// For example, the email address is optional when the + /// `QuotaConfig.preferred_value` is smaller than the + /// `QuotaDetails.reset_value`. + @$pb.TagNumber(12) + $core.String get contactEmail => $_getSZ(10); + @$pb.TagNumber(12) + set contactEmail($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(12) + $core.bool hasContactEmail() => $_has(10); + @$pb.TagNumber(12) + void clearContactEmail() => clearField(12); +} + +/// The preferred quota configuration. +class QuotaConfig extends $pb.GeneratedMessage { + factory QuotaConfig({ + $fixnum.Int64? preferredValue, + $core.String? stateDetail, + $73.Int64Value? grantedValue, + $core.String? traceId, + $core.Map<$core.String, $core.String>? annotations, + QuotaConfig_Origin? requestOrigin, + }) { + final $result = create(); + if (preferredValue != null) { + $result.preferredValue = preferredValue; + } + if (stateDetail != null) { + $result.stateDetail = stateDetail; + } + if (grantedValue != null) { + $result.grantedValue = grantedValue; + } + if (traceId != null) { + $result.traceId = traceId; + } + if (annotations != null) { + $result.annotations.addAll(annotations); + } + if (requestOrigin != null) { + $result.requestOrigin = requestOrigin; + } + return $result; + } + QuotaConfig._() : super(); + factory QuotaConfig.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaConfig.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaConfig', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'preferredValue') + ..aOS(2, _omitFieldNames ? '' : 'stateDetail') + ..aOM<$73.Int64Value>(3, _omitFieldNames ? '' : 'grantedValue', + subBuilder: $73.Int64Value.create) + ..aOS(4, _omitFieldNames ? '' : 'traceId') + ..m<$core.String, $core.String>(5, _omitFieldNames ? '' : 'annotations', + entryClassName: 'QuotaConfig.AnnotationsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.cloudquotas.v1')) + ..e( + 6, _omitFieldNames ? '' : 'requestOrigin', $pb.PbFieldType.OE, + defaultOrMaker: QuotaConfig_Origin.ORIGIN_UNSPECIFIED, + valueOf: QuotaConfig_Origin.valueOf, + enumValues: QuotaConfig_Origin.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaConfig clone() => QuotaConfig()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaConfig copyWith(void Function(QuotaConfig) updates) => + super.copyWith((message) => updates(message as QuotaConfig)) + as QuotaConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaConfig create() => QuotaConfig._(); + QuotaConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaConfig getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaConfig? _defaultInstance; + + /// Required. The preferred value. Must be greater than or equal to -1. If set + /// to -1, it means the value is "unlimited". + @$pb.TagNumber(1) + $fixnum.Int64 get preferredValue => $_getI64(0); + @$pb.TagNumber(1) + set preferredValue($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPreferredValue() => $_has(0); + @$pb.TagNumber(1) + void clearPreferredValue() => clearField(1); + + /// Output only. Optional details about the state of this quota preference. + @$pb.TagNumber(2) + $core.String get stateDetail => $_getSZ(1); + @$pb.TagNumber(2) + set stateDetail($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasStateDetail() => $_has(1); + @$pb.TagNumber(2) + void clearStateDetail() => clearField(2); + + /// Output only. Granted quota value. + @$pb.TagNumber(3) + $73.Int64Value get grantedValue => $_getN(2); + @$pb.TagNumber(3) + set grantedValue($73.Int64Value v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasGrantedValue() => $_has(2); + @$pb.TagNumber(3) + void clearGrantedValue() => clearField(3); + @$pb.TagNumber(3) + $73.Int64Value ensureGrantedValue() => $_ensure(2); + + /// Output only. The trace id that the Google Cloud uses to provision the + /// requested quota. This trace id may be used by the client to contact Cloud + /// support to track the state of a quota preference request. The trace id is + /// only produced for increase requests and is unique for each request. The + /// quota decrease requests do not have a trace id. + @$pb.TagNumber(4) + $core.String get traceId => $_getSZ(3); + @$pb.TagNumber(4) + set traceId($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasTraceId() => $_has(3); + @$pb.TagNumber(4) + void clearTraceId() => clearField(4); + + /// Optional. The annotations map for clients to store small amounts of + /// arbitrary data. Do not put PII or other sensitive information here. See + /// https://google.aip.dev/128#annotations + @$pb.TagNumber(5) + $core.Map<$core.String, $core.String> get annotations => $_getMap(4); + + /// Output only. The origin of the quota preference request. + @$pb.TagNumber(6) + QuotaConfig_Origin get requestOrigin => $_getN(5); + @$pb.TagNumber(6) + set requestOrigin(QuotaConfig_Origin v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasRequestOrigin() => $_has(5); + @$pb.TagNumber(6) + void clearRequestOrigin() => clearField(6); +} + +/// The detailed quota information such as effective quota value for a +/// combination of dimensions. +class DimensionsInfo extends $pb.GeneratedMessage { + factory DimensionsInfo({ + $core.Map<$core.String, $core.String>? dimensions, + QuotaDetails? details, + $core.Iterable<$core.String>? applicableLocations, + }) { + final $result = create(); + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (details != null) { + $result.details = details; + } + if (applicableLocations != null) { + $result.applicableLocations.addAll(applicableLocations); + } + return $result; + } + DimensionsInfo._() : super(); + factory DimensionsInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DimensionsInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DimensionsInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..m<$core.String, $core.String>(1, _omitFieldNames ? '' : 'dimensions', + entryClassName: 'DimensionsInfo.DimensionsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.cloudquotas.v1')) + ..aOM(2, _omitFieldNames ? '' : 'details', + subBuilder: QuotaDetails.create) + ..pPS(3, _omitFieldNames ? '' : 'applicableLocations') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DimensionsInfo clone() => DimensionsInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DimensionsInfo copyWith(void Function(DimensionsInfo) updates) => + super.copyWith((message) => updates(message as DimensionsInfo)) + as DimensionsInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DimensionsInfo create() => DimensionsInfo._(); + DimensionsInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DimensionsInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DimensionsInfo? _defaultInstance; + + /// The map of dimensions for this dimensions info. The key of a map entry + /// is "region", "zone" or the name of a service specific dimension, and the + /// value of a map entry is the value of the dimension. If a dimension does + /// not appear in the map of dimensions, the dimensions info applies to all + /// the dimension values except for those that have another DimenisonInfo + /// instance configured for the specific value. + /// Example: {"provider" : "Foo Inc"} where "provider" is a service specific + /// dimension of a quota. + @$pb.TagNumber(1) + $core.Map<$core.String, $core.String> get dimensions => $_getMap(0); + + /// Quota details for the specified dimensions. + @$pb.TagNumber(2) + QuotaDetails get details => $_getN(1); + @$pb.TagNumber(2) + set details(QuotaDetails v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDetails() => $_has(1); + @$pb.TagNumber(2) + void clearDetails() => clearField(2); + @$pb.TagNumber(2) + QuotaDetails ensureDetails() => $_ensure(1); + + /// The applicable regions or zones of this dimensions info. The field will be + /// set to ['global'] for quotas that are not per region or per zone. + /// Otherwise, it will be set to the list of locations this dimension info is + /// applicable to. + @$pb.TagNumber(3) + $core.List<$core.String> get applicableLocations => $_getList(2); +} + +/// The quota details for a map of dimensions. +class QuotaDetails extends $pb.GeneratedMessage { + factory QuotaDetails({ + $fixnum.Int64? value, + RolloutInfo? rolloutInfo, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (rolloutInfo != null) { + $result.rolloutInfo = rolloutInfo; + } + return $result; + } + QuotaDetails._() : super(); + factory QuotaDetails.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaDetails.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaDetails', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'value') + ..aOM(3, _omitFieldNames ? '' : 'rolloutInfo', + subBuilder: RolloutInfo.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaDetails clone() => QuotaDetails()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaDetails copyWith(void Function(QuotaDetails) updates) => + super.copyWith((message) => updates(message as QuotaDetails)) + as QuotaDetails; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaDetails create() => QuotaDetails._(); + QuotaDetails createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaDetails getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaDetails? _defaultInstance; + + /// The value currently in effect and being enforced. + @$pb.TagNumber(1) + $fixnum.Int64 get value => $_getI64(0); + @$pb.TagNumber(1) + set value($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); + + /// Rollout information of this quota. + /// This field is present only if the effective limit will change due to the + /// ongoing rollout of the service config. + @$pb.TagNumber(3) + RolloutInfo get rolloutInfo => $_getN(1); + @$pb.TagNumber(3) + set rolloutInfo(RolloutInfo v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasRolloutInfo() => $_has(1); + @$pb.TagNumber(3) + void clearRolloutInfo() => clearField(3); + @$pb.TagNumber(3) + RolloutInfo ensureRolloutInfo() => $_ensure(1); +} + +/// [Output only] Rollout information of a quota. +class RolloutInfo extends $pb.GeneratedMessage { + factory RolloutInfo({ + $core.bool? ongoingRollout, + }) { + final $result = create(); + if (ongoingRollout != null) { + $result.ongoingRollout = ongoingRollout; + } + return $result; + } + RolloutInfo._() : super(); + factory RolloutInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RolloutInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RolloutInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.cloudquotas.v1'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'ongoingRollout') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RolloutInfo clone() => RolloutInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RolloutInfo copyWith(void Function(RolloutInfo) updates) => + super.copyWith((message) => updates(message as RolloutInfo)) + as RolloutInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RolloutInfo create() => RolloutInfo._(); + RolloutInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RolloutInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RolloutInfo? _defaultInstance; + + /// Whether there is an ongoing rollout for a quota or not. + @$pb.TagNumber(1) + $core.bool get ongoingRollout => $_getBF(0); + @$pb.TagNumber(1) + set ongoingRollout($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOngoingRollout() => $_has(0); + @$pb.TagNumber(1) + void clearOngoingRollout() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pbenum.dart new file mode 100644 index 00000000..7fcef85f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pbenum.dart @@ -0,0 +1,122 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Enumerations of quota safety checks. +class QuotaSafetyCheck extends $pb.ProtobufEnum { + static const QuotaSafetyCheck QUOTA_SAFETY_CHECK_UNSPECIFIED = + QuotaSafetyCheck._( + 0, _omitEnumNames ? '' : 'QUOTA_SAFETY_CHECK_UNSPECIFIED'); + static const QuotaSafetyCheck QUOTA_DECREASE_BELOW_USAGE = + QuotaSafetyCheck._(1, _omitEnumNames ? '' : 'QUOTA_DECREASE_BELOW_USAGE'); + static const QuotaSafetyCheck QUOTA_DECREASE_PERCENTAGE_TOO_HIGH = + QuotaSafetyCheck._( + 2, _omitEnumNames ? '' : 'QUOTA_DECREASE_PERCENTAGE_TOO_HIGH'); + + static const $core.List values = [ + QUOTA_SAFETY_CHECK_UNSPECIFIED, + QUOTA_DECREASE_BELOW_USAGE, + QUOTA_DECREASE_PERCENTAGE_TOO_HIGH, + ]; + + static final $core.Map<$core.int, QuotaSafetyCheck> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaSafetyCheck? valueOf($core.int value) => _byValue[value]; + + const QuotaSafetyCheck._($core.int v, $core.String n) : super(v, n); +} + +/// The enumeration of the types of a cloud resource container. +class QuotaInfo_ContainerType extends $pb.ProtobufEnum { + static const QuotaInfo_ContainerType CONTAINER_TYPE_UNSPECIFIED = + QuotaInfo_ContainerType._( + 0, _omitEnumNames ? '' : 'CONTAINER_TYPE_UNSPECIFIED'); + static const QuotaInfo_ContainerType PROJECT = + QuotaInfo_ContainerType._(1, _omitEnumNames ? '' : 'PROJECT'); + static const QuotaInfo_ContainerType FOLDER = + QuotaInfo_ContainerType._(2, _omitEnumNames ? '' : 'FOLDER'); + static const QuotaInfo_ContainerType ORGANIZATION = + QuotaInfo_ContainerType._(3, _omitEnumNames ? '' : 'ORGANIZATION'); + + static const $core.List values = + [ + CONTAINER_TYPE_UNSPECIFIED, + PROJECT, + FOLDER, + ORGANIZATION, + ]; + + static final $core.Map<$core.int, QuotaInfo_ContainerType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaInfo_ContainerType? valueOf($core.int value) => _byValue[value]; + + const QuotaInfo_ContainerType._($core.int v, $core.String n) : super(v, n); +} + +/// The enumeration of reasons when it is ineligible to request increase +/// adjustment. +class QuotaIncreaseEligibility_IneligibilityReason extends $pb.ProtobufEnum { + static const QuotaIncreaseEligibility_IneligibilityReason + INELIGIBILITY_REASON_UNSPECIFIED = + QuotaIncreaseEligibility_IneligibilityReason._( + 0, _omitEnumNames ? '' : 'INELIGIBILITY_REASON_UNSPECIFIED'); + static const QuotaIncreaseEligibility_IneligibilityReason + NO_VALID_BILLING_ACCOUNT = QuotaIncreaseEligibility_IneligibilityReason._( + 1, _omitEnumNames ? '' : 'NO_VALID_BILLING_ACCOUNT'); + static const QuotaIncreaseEligibility_IneligibilityReason OTHER = + QuotaIncreaseEligibility_IneligibilityReason._( + 2, _omitEnumNames ? '' : 'OTHER'); + + static const $core.List values = + [ + INELIGIBILITY_REASON_UNSPECIFIED, + NO_VALID_BILLING_ACCOUNT, + OTHER, + ]; + + static final $core + .Map<$core.int, QuotaIncreaseEligibility_IneligibilityReason> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaIncreaseEligibility_IneligibilityReason? valueOf( + $core.int value) => + _byValue[value]; + + const QuotaIncreaseEligibility_IneligibilityReason._( + $core.int v, $core.String n) + : super(v, n); +} + +/// The enumeration of the origins of quota preference requests. +class QuotaConfig_Origin extends $pb.ProtobufEnum { + static const QuotaConfig_Origin ORIGIN_UNSPECIFIED = + QuotaConfig_Origin._(0, _omitEnumNames ? '' : 'ORIGIN_UNSPECIFIED'); + static const QuotaConfig_Origin CLOUD_CONSOLE = + QuotaConfig_Origin._(1, _omitEnumNames ? '' : 'CLOUD_CONSOLE'); + static const QuotaConfig_Origin AUTO_ADJUSTER = + QuotaConfig_Origin._(2, _omitEnumNames ? '' : 'AUTO_ADJUSTER'); + + static const $core.List values = [ + ORIGIN_UNSPECIFIED, + CLOUD_CONSOLE, + AUTO_ADJUSTER, + ]; + + static final $core.Map<$core.int, QuotaConfig_Origin> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaConfig_Origin? valueOf($core.int value) => _byValue[value]; + + const QuotaConfig_Origin._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pbjson.dart new file mode 100644 index 00000000..87abbd1d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/cloudquotas/v1/resources.pbjson.dart @@ -0,0 +1,417 @@ +// +// Generated code. Do not modify. +// source: google/api/cloudquotas/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use quotaSafetyCheckDescriptor instead') +const QuotaSafetyCheck$json = { + '1': 'QuotaSafetyCheck', + '2': [ + {'1': 'QUOTA_SAFETY_CHECK_UNSPECIFIED', '2': 0}, + {'1': 'QUOTA_DECREASE_BELOW_USAGE', '2': 1}, + {'1': 'QUOTA_DECREASE_PERCENTAGE_TOO_HIGH', '2': 2}, + ], +}; + +/// Descriptor for `QuotaSafetyCheck`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List quotaSafetyCheckDescriptor = $convert.base64Decode( + 'ChBRdW90YVNhZmV0eUNoZWNrEiIKHlFVT1RBX1NBRkVUWV9DSEVDS19VTlNQRUNJRklFRBAAEh' + '4KGlFVT1RBX0RFQ1JFQVNFX0JFTE9XX1VTQUdFEAESJgoiUVVPVEFfREVDUkVBU0VfUEVSQ0VO' + 'VEFHRV9UT09fSElHSBAC'); + +@$core.Deprecated('Use quotaInfoDescriptor instead') +const QuotaInfo$json = { + '1': 'QuotaInfo', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'quota_id', '3': 2, '4': 1, '5': 9, '10': 'quotaId'}, + {'1': 'metric', '3': 3, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'service', '3': 4, '4': 1, '5': 9, '10': 'service'}, + {'1': 'is_precise', '3': 5, '4': 1, '5': 8, '10': 'isPrecise'}, + {'1': 'refresh_interval', '3': 6, '4': 1, '5': 9, '10': 'refreshInterval'}, + { + '1': 'container_type', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.api.cloudquotas.v1.QuotaInfo.ContainerType', + '10': 'containerType' + }, + {'1': 'dimensions', '3': 8, '4': 3, '5': 9, '10': 'dimensions'}, + { + '1': 'metric_display_name', + '3': 9, + '4': 1, + '5': 9, + '10': 'metricDisplayName' + }, + { + '1': 'quota_display_name', + '3': 10, + '4': 1, + '5': 9, + '10': 'quotaDisplayName' + }, + {'1': 'metric_unit', '3': 11, '4': 1, '5': 9, '10': 'metricUnit'}, + { + '1': 'quota_increase_eligibility', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaIncreaseEligibility', + '10': 'quotaIncreaseEligibility' + }, + {'1': 'is_fixed', '3': 13, '4': 1, '5': 8, '10': 'isFixed'}, + { + '1': 'dimensions_infos', + '3': 14, + '4': 3, + '5': 11, + '6': '.google.api.cloudquotas.v1.DimensionsInfo', + '10': 'dimensionsInfos' + }, + {'1': 'is_concurrent', '3': 15, '4': 1, '5': 8, '10': 'isConcurrent'}, + { + '1': 'service_request_quota_uri', + '3': 17, + '4': 1, + '5': 9, + '10': 'serviceRequestQuotaUri' + }, + ], + '4': [QuotaInfo_ContainerType$json], + '7': {}, +}; + +@$core.Deprecated('Use quotaInfoDescriptor instead') +const QuotaInfo_ContainerType$json = { + '1': 'ContainerType', + '2': [ + {'1': 'CONTAINER_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'PROJECT', '2': 1}, + {'1': 'FOLDER', '2': 2}, + {'1': 'ORGANIZATION', '2': 3}, + ], +}; + +/// Descriptor for `QuotaInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaInfoDescriptor = $convert.base64Decode( + 'CglRdW90YUluZm8SEgoEbmFtZRgBIAEoCVIEbmFtZRIZCghxdW90YV9pZBgCIAEoCVIHcXVvdG' + 'FJZBIWCgZtZXRyaWMYAyABKAlSBm1ldHJpYxIYCgdzZXJ2aWNlGAQgASgJUgdzZXJ2aWNlEh0K' + 'CmlzX3ByZWNpc2UYBSABKAhSCWlzUHJlY2lzZRIpChByZWZyZXNoX2ludGVydmFsGAYgASgJUg' + '9yZWZyZXNoSW50ZXJ2YWwSWQoOY29udGFpbmVyX3R5cGUYByABKA4yMi5nb29nbGUuYXBpLmNs' + 'b3VkcXVvdGFzLnYxLlF1b3RhSW5mby5Db250YWluZXJUeXBlUg1jb250YWluZXJUeXBlEh4KCm' + 'RpbWVuc2lvbnMYCCADKAlSCmRpbWVuc2lvbnMSLgoTbWV0cmljX2Rpc3BsYXlfbmFtZRgJIAEo' + 'CVIRbWV0cmljRGlzcGxheU5hbWUSLAoScXVvdGFfZGlzcGxheV9uYW1lGAogASgJUhBxdW90YU' + 'Rpc3BsYXlOYW1lEh8KC21ldHJpY191bml0GAsgASgJUgptZXRyaWNVbml0EnEKGnF1b3RhX2lu' + 'Y3JlYXNlX2VsaWdpYmlsaXR5GAwgASgLMjMuZ29vZ2xlLmFwaS5jbG91ZHF1b3Rhcy52MS5RdW' + '90YUluY3JlYXNlRWxpZ2liaWxpdHlSGHF1b3RhSW5jcmVhc2VFbGlnaWJpbGl0eRIZCghpc19m' + 'aXhlZBgNIAEoCFIHaXNGaXhlZBJUChBkaW1lbnNpb25zX2luZm9zGA4gAygLMikuZ29vZ2xlLm' + 'FwaS5jbG91ZHF1b3Rhcy52MS5EaW1lbnNpb25zSW5mb1IPZGltZW5zaW9uc0luZm9zEiMKDWlz' + 'X2NvbmN1cnJlbnQYDyABKAhSDGlzQ29uY3VycmVudBI5ChlzZXJ2aWNlX3JlcXVlc3RfcXVvdG' + 'FfdXJpGBEgASgJUhZzZXJ2aWNlUmVxdWVzdFF1b3RhVXJpIloKDUNvbnRhaW5lclR5cGUSHgoa' + 'Q09OVEFJTkVSX1RZUEVfVU5TUEVDSUZJRUQQABILCgdQUk9KRUNUEAESCgoGRk9MREVSEAISEA' + 'oMT1JHQU5JWkFUSU9OEAM6rgLqQaoCCiRjbG91ZHF1b3Rhcy5nb29nbGVhcGlzLmNvbS9RdW90' + 'YUluZm8SUnByb2plY3RzL3twcm9qZWN0fS9sb2NhdGlvbnMve2xvY2F0aW9ufS9zZXJ2aWNlcy' + '97c2VydmljZX0vcXVvdGFJbmZvcy97cXVvdGFfaW5mb30SUGZvbGRlcnMve2ZvbGRlcn0vbG9j' + 'YXRpb25zL3tsb2NhdGlvbn0vc2VydmljZXMve3NlcnZpY2V9L3F1b3RhSW5mb3Mve3F1b3RhX2' + 'luZm99Elxvcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb259L2xvY2F0aW9ucy97bG9jYXRpb259' + 'L3NlcnZpY2VzL3tzZXJ2aWNlfS9xdW90YUluZm9zL3txdW90YV9pbmZvfQ=='); + +@$core.Deprecated('Use quotaIncreaseEligibilityDescriptor instead') +const QuotaIncreaseEligibility$json = { + '1': 'QuotaIncreaseEligibility', + '2': [ + {'1': 'is_eligible', '3': 1, '4': 1, '5': 8, '10': 'isEligible'}, + { + '1': 'ineligibility_reason', + '3': 2, + '4': 1, + '5': 14, + '6': + '.google.api.cloudquotas.v1.QuotaIncreaseEligibility.IneligibilityReason', + '10': 'ineligibilityReason' + }, + ], + '4': [QuotaIncreaseEligibility_IneligibilityReason$json], +}; + +@$core.Deprecated('Use quotaIncreaseEligibilityDescriptor instead') +const QuotaIncreaseEligibility_IneligibilityReason$json = { + '1': 'IneligibilityReason', + '2': [ + {'1': 'INELIGIBILITY_REASON_UNSPECIFIED', '2': 0}, + {'1': 'NO_VALID_BILLING_ACCOUNT', '2': 1}, + {'1': 'OTHER', '2': 2}, + ], +}; + +/// Descriptor for `QuotaIncreaseEligibility`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaIncreaseEligibilityDescriptor = $convert.base64Decode( + 'ChhRdW90YUluY3JlYXNlRWxpZ2liaWxpdHkSHwoLaXNfZWxpZ2libGUYASABKAhSCmlzRWxpZ2' + 'libGUSegoUaW5lbGlnaWJpbGl0eV9yZWFzb24YAiABKA4yRy5nb29nbGUuYXBpLmNsb3VkcXVv' + 'dGFzLnYxLlF1b3RhSW5jcmVhc2VFbGlnaWJpbGl0eS5JbmVsaWdpYmlsaXR5UmVhc29uUhNpbm' + 'VsaWdpYmlsaXR5UmVhc29uImQKE0luZWxpZ2liaWxpdHlSZWFzb24SJAogSU5FTElHSUJJTElU' + 'WV9SRUFTT05fVU5TUEVDSUZJRUQQABIcChhOT19WQUxJRF9CSUxMSU5HX0FDQ09VTlQQARIJCg' + 'VPVEhFUhAC'); + +@$core.Deprecated('Use quotaPreferenceDescriptor instead') +const QuotaPreference$json = { + '1': 'QuotaPreference', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'dimensions', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaPreference.DimensionsEntry', + '8': {}, + '10': 'dimensions' + }, + { + '1': 'quota_config', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaConfig', + '8': {}, + '10': 'quotaConfig' + }, + {'1': 'etag', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'etag'}, + { + '1': 'create_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + {'1': 'service', '3': 7, '4': 1, '5': 9, '8': {}, '10': 'service'}, + {'1': 'quota_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'quotaId'}, + {'1': 'reconciling', '3': 10, '4': 1, '5': 8, '8': {}, '10': 'reconciling'}, + {'1': 'justification', '3': 11, '4': 1, '5': 9, '10': 'justification'}, + { + '1': 'contact_email', + '3': 12, + '4': 1, + '5': 9, + '8': {}, + '10': 'contactEmail' + }, + ], + '3': [QuotaPreference_DimensionsEntry$json], + '7': {}, +}; + +@$core.Deprecated('Use quotaPreferenceDescriptor instead') +const QuotaPreference_DimensionsEntry$json = { + '1': 'DimensionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `QuotaPreference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaPreferenceDescriptor = $convert.base64Decode( + 'Cg9RdW90YVByZWZlcmVuY2USEgoEbmFtZRgBIAEoCVIEbmFtZRJfCgpkaW1lbnNpb25zGAIgAy' + 'gLMjouZ29vZ2xlLmFwaS5jbG91ZHF1b3Rhcy52MS5RdW90YVByZWZlcmVuY2UuRGltZW5zaW9u' + 'c0VudHJ5QgPgQQVSCmRpbWVuc2lvbnMSTgoMcXVvdGFfY29uZmlnGAMgASgLMiYuZ29vZ2xlLm' + 'FwaS5jbG91ZHF1b3Rhcy52MS5RdW90YUNvbmZpZ0ID4EECUgtxdW90YUNvbmZpZxIXCgRldGFn' + 'GAQgASgJQgPgQQFSBGV0YWcSQAoLY3JlYXRlX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idW' + 'YuVGltZXN0YW1wQgPgQQNSCmNyZWF0ZVRpbWUSQAoLdXBkYXRlX3RpbWUYBiABKAsyGi5nb29n' + 'bGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQNSCnVwZGF0ZVRpbWUSHQoHc2VydmljZRgHIAEoCU' + 'ID4EECUgdzZXJ2aWNlEh4KCHF1b3RhX2lkGAggASgJQgPgQQJSB3F1b3RhSWQSJQoLcmVjb25j' + 'aWxpbmcYCiABKAhCA+BBA1ILcmVjb25jaWxpbmcSJAoNanVzdGlmaWNhdGlvbhgLIAEoCVINan' + 'VzdGlmaWNhdGlvbhIoCg1jb250YWN0X2VtYWlsGAwgASgJQgPgQQRSDGNvbnRhY3RFbWFpbBo9' + 'Cg9EaW1lbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbH' + 'VlOgI4ATqfAupBmwIKKmNsb3VkcXVvdGFzLmdvb2dsZWFwaXMuY29tL1F1b3RhUHJlZmVyZW5j' + 'ZRJLcHJvamVjdHMve3Byb2plY3R9L2xvY2F0aW9ucy97bG9jYXRpb259L3F1b3RhUHJlZmVyZW' + '5jZXMve3F1b3RhX3ByZWZlcmVuY2V9Eklmb2xkZXJzL3tmb2xkZXJ9L2xvY2F0aW9ucy97bG9j' + 'YXRpb259L3F1b3RhUHJlZmVyZW5jZXMve3F1b3RhX3ByZWZlcmVuY2V9ElVvcmdhbml6YXRpb2' + '5zL3tvcmdhbml6YXRpb259L2xvY2F0aW9ucy97bG9jYXRpb259L3F1b3RhUHJlZmVyZW5jZXMv' + 'e3F1b3RhX3ByZWZlcmVuY2V9'); + +@$core.Deprecated('Use quotaConfigDescriptor instead') +const QuotaConfig$json = { + '1': 'QuotaConfig', + '2': [ + { + '1': 'preferred_value', + '3': 1, + '4': 1, + '5': 3, + '8': {}, + '10': 'preferredValue' + }, + {'1': 'state_detail', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'stateDetail'}, + { + '1': 'granted_value', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Int64Value', + '8': {}, + '10': 'grantedValue' + }, + {'1': 'trace_id', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'traceId'}, + { + '1': 'annotations', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaConfig.AnnotationsEntry', + '8': {}, + '10': 'annotations' + }, + { + '1': 'request_origin', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.api.cloudquotas.v1.QuotaConfig.Origin', + '8': {}, + '10': 'requestOrigin' + }, + ], + '3': [QuotaConfig_AnnotationsEntry$json], + '4': [QuotaConfig_Origin$json], +}; + +@$core.Deprecated('Use quotaConfigDescriptor instead') +const QuotaConfig_AnnotationsEntry$json = { + '1': 'AnnotationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use quotaConfigDescriptor instead') +const QuotaConfig_Origin$json = { + '1': 'Origin', + '2': [ + {'1': 'ORIGIN_UNSPECIFIED', '2': 0}, + {'1': 'CLOUD_CONSOLE', '2': 1}, + {'1': 'AUTO_ADJUSTER', '2': 2}, + ], +}; + +/// Descriptor for `QuotaConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaConfigDescriptor = $convert.base64Decode( + 'CgtRdW90YUNvbmZpZxIsCg9wcmVmZXJyZWRfdmFsdWUYASABKANCA+BBAlIOcHJlZmVycmVkVm' + 'FsdWUSJgoMc3RhdGVfZGV0YWlsGAIgASgJQgPgQQNSC3N0YXRlRGV0YWlsEkUKDWdyYW50ZWRf' + 'dmFsdWUYAyABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZUID4EEDUgxncmFudGVkVm' + 'FsdWUSHgoIdHJhY2VfaWQYBCABKAlCA+BBA1IHdHJhY2VJZBJeCgthbm5vdGF0aW9ucxgFIAMo' + 'CzI3Lmdvb2dsZS5hcGkuY2xvdWRxdW90YXMudjEuUXVvdGFDb25maWcuQW5ub3RhdGlvbnNFbn' + 'RyeUID4EEBUgthbm5vdGF0aW9ucxJZCg5yZXF1ZXN0X29yaWdpbhgGIAEoDjItLmdvb2dsZS5h' + 'cGkuY2xvdWRxdW90YXMudjEuUXVvdGFDb25maWcuT3JpZ2luQgPgQQNSDXJlcXVlc3RPcmlnaW' + '4aPgoQQW5ub3RhdGlvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIF' + 'dmFsdWU6AjgBIkYKBk9yaWdpbhIWChJPUklHSU5fVU5TUEVDSUZJRUQQABIRCg1DTE9VRF9DT0' + '5TT0xFEAESEQoNQVVUT19BREpVU1RFUhAC'); + +@$core.Deprecated('Use dimensionsInfoDescriptor instead') +const DimensionsInfo$json = { + '1': 'DimensionsInfo', + '2': [ + { + '1': 'dimensions', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.cloudquotas.v1.DimensionsInfo.DimensionsEntry', + '10': 'dimensions' + }, + { + '1': 'details', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.cloudquotas.v1.QuotaDetails', + '10': 'details' + }, + { + '1': 'applicable_locations', + '3': 3, + '4': 3, + '5': 9, + '10': 'applicableLocations' + }, + ], + '3': [DimensionsInfo_DimensionsEntry$json], +}; + +@$core.Deprecated('Use dimensionsInfoDescriptor instead') +const DimensionsInfo_DimensionsEntry$json = { + '1': 'DimensionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `DimensionsInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List dimensionsInfoDescriptor = $convert.base64Decode( + 'Cg5EaW1lbnNpb25zSW5mbxJZCgpkaW1lbnNpb25zGAEgAygLMjkuZ29vZ2xlLmFwaS5jbG91ZH' + 'F1b3Rhcy52MS5EaW1lbnNpb25zSW5mby5EaW1lbnNpb25zRW50cnlSCmRpbWVuc2lvbnMSQQoH' + 'ZGV0YWlscxgCIAEoCzInLmdvb2dsZS5hcGkuY2xvdWRxdW90YXMudjEuUXVvdGFEZXRhaWxzUg' + 'dkZXRhaWxzEjEKFGFwcGxpY2FibGVfbG9jYXRpb25zGAMgAygJUhNhcHBsaWNhYmxlTG9jYXRp' + 'b25zGj0KD0RpbWVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCV' + 'IFdmFsdWU6AjgB'); + +@$core.Deprecated('Use quotaDetailsDescriptor instead') +const QuotaDetails$json = { + '1': 'QuotaDetails', + '2': [ + {'1': 'value', '3': 1, '4': 1, '5': 3, '10': 'value'}, + { + '1': 'rollout_info', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.cloudquotas.v1.RolloutInfo', + '10': 'rolloutInfo' + }, + ], +}; + +/// Descriptor for `QuotaDetails`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaDetailsDescriptor = $convert.base64Decode( + 'CgxRdW90YURldGFpbHMSFAoFdmFsdWUYASABKANSBXZhbHVlEkkKDHJvbGxvdXRfaW5mbxgDIA' + 'EoCzImLmdvb2dsZS5hcGkuY2xvdWRxdW90YXMudjEuUm9sbG91dEluZm9SC3JvbGxvdXRJbmZv'); + +@$core.Deprecated('Use rolloutInfoDescriptor instead') +const RolloutInfo$json = { + '1': 'RolloutInfo', + '2': [ + {'1': 'ongoing_rollout', '3': 1, '4': 1, '5': 8, '10': 'ongoingRollout'}, + ], +}; + +/// Descriptor for `RolloutInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rolloutInfoDescriptor = $convert.base64Decode( + 'CgtSb2xsb3V0SW5mbxInCg9vbmdvaW5nX3JvbGxvdXQYASABKAhSDm9uZ29pbmdSb2xsb3V0'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pb.dart new file mode 100644 index 00000000..0263b647 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pb.dart @@ -0,0 +1,231 @@ +// +// Generated code. Do not modify. +// source: google/api/config_change.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'config_change.pbenum.dart'; + +export 'config_change.pbenum.dart'; + +/// 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. +class ConfigChange extends $pb.GeneratedMessage { + factory ConfigChange({ + $core.String? element, + $core.String? oldValue, + $core.String? newValue, + ChangeType? changeType, + $core.Iterable? advices, + }) { + final $result = create(); + if (element != null) { + $result.element = element; + } + if (oldValue != null) { + $result.oldValue = oldValue; + } + if (newValue != null) { + $result.newValue = newValue; + } + if (changeType != null) { + $result.changeType = changeType; + } + if (advices != null) { + $result.advices.addAll(advices); + } + return $result; + } + ConfigChange._() : super(); + factory ConfigChange.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ConfigChange.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ConfigChange', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'element') + ..aOS(2, _omitFieldNames ? '' : 'oldValue') + ..aOS(3, _omitFieldNames ? '' : 'newValue') + ..e(4, _omitFieldNames ? '' : 'changeType', $pb.PbFieldType.OE, + defaultOrMaker: ChangeType.CHANGE_TYPE_UNSPECIFIED, + valueOf: ChangeType.valueOf, + enumValues: ChangeType.values) + ..pc(5, _omitFieldNames ? '' : 'advices', $pb.PbFieldType.PM, + subBuilder: Advice.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConfigChange clone() => ConfigChange()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConfigChange copyWith(void Function(ConfigChange) updates) => + super.copyWith((message) => updates(message as ConfigChange)) + as ConfigChange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConfigChange create() => ConfigChange._(); + ConfigChange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConfigChange getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ConfigChange? _defaultInstance; + + /// 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.ListBooks"].restriction + /// - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value + /// - logging.producer_destinations[0] + @$pb.TagNumber(1) + $core.String get element => $_getSZ(0); + @$pb.TagNumber(1) + set element($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasElement() => $_has(0); + @$pb.TagNumber(1) + void clearElement() => clearField(1); + + /// Value of the changed object in the old Service configuration, + /// in JSON format. This field will not be populated if ChangeType == ADDED. + @$pb.TagNumber(2) + $core.String get oldValue => $_getSZ(1); + @$pb.TagNumber(2) + set oldValue($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOldValue() => $_has(1); + @$pb.TagNumber(2) + void clearOldValue() => clearField(2); + + /// Value of the changed object in the new Service configuration, + /// in JSON format. This field will not be populated if ChangeType == REMOVED. + @$pb.TagNumber(3) + $core.String get newValue => $_getSZ(2); + @$pb.TagNumber(3) + set newValue($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasNewValue() => $_has(2); + @$pb.TagNumber(3) + void clearNewValue() => clearField(3); + + /// The type for this change, either ADDED, REMOVED, or MODIFIED. + @$pb.TagNumber(4) + ChangeType get changeType => $_getN(3); + @$pb.TagNumber(4) + set changeType(ChangeType v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasChangeType() => $_has(3); + @$pb.TagNumber(4) + void clearChangeType() => clearField(4); + + /// Collection of advice provided for this change, useful for determining the + /// possible impact of this change. + @$pb.TagNumber(5) + $core.List get advices => $_getList(4); +} + +/// Generated advice about this change, used for providing more +/// information about how a change will affect the existing service. +class Advice extends $pb.GeneratedMessage { + factory Advice({ + $core.String? description, + }) { + final $result = create(); + if (description != null) { + $result.description = description; + } + return $result; + } + Advice._() : super(); + factory Advice.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Advice.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Advice', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'description') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Advice clone() => Advice()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Advice copyWith(void Function(Advice) updates) => + super.copyWith((message) => updates(message as Advice)) as Advice; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Advice create() => Advice._(); + Advice createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Advice getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Advice? _defaultInstance; + + /// Useful description for why this advice was applied and what actions should + /// be taken to mitigate any implied risks. + @$pb.TagNumber(2) + $core.String get description => $_getSZ(0); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(0); + @$pb.TagNumber(2) + void clearDescription() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pbenum.dart new file mode 100644 index 00000000..f04e38fa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pbenum.dart @@ -0,0 +1,42 @@ +// +// Generated code. Do not modify. +// source: google/api/config_change.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Classifies set of possible modifications to an object in the service +/// configuration. +class ChangeType extends $pb.ProtobufEnum { + static const ChangeType CHANGE_TYPE_UNSPECIFIED = + ChangeType._(0, _omitEnumNames ? '' : 'CHANGE_TYPE_UNSPECIFIED'); + static const ChangeType ADDED = + ChangeType._(1, _omitEnumNames ? '' : 'ADDED'); + static const ChangeType REMOVED = + ChangeType._(2, _omitEnumNames ? '' : 'REMOVED'); + static const ChangeType MODIFIED = + ChangeType._(3, _omitEnumNames ? '' : 'MODIFIED'); + + static const $core.List values = [ + CHANGE_TYPE_UNSPECIFIED, + ADDED, + REMOVED, + MODIFIED, + ]; + + static final $core.Map<$core.int, ChangeType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ChangeType? valueOf($core.int value) => _byValue[value]; + + const ChangeType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pbjson.dart new file mode 100644 index 00000000..88bc2cf8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/config_change.pbjson.dart @@ -0,0 +1,75 @@ +// +// Generated code. Do not modify. +// source: google/api/config_change.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use changeTypeDescriptor instead') +const ChangeType$json = { + '1': 'ChangeType', + '2': [ + {'1': 'CHANGE_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'ADDED', '2': 1}, + {'1': 'REMOVED', '2': 2}, + {'1': 'MODIFIED', '2': 3}, + ], +}; + +/// Descriptor for `ChangeType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List changeTypeDescriptor = $convert.base64Decode( + 'CgpDaGFuZ2VUeXBlEhsKF0NIQU5HRV9UWVBFX1VOU1BFQ0lGSUVEEAASCQoFQURERUQQARILCg' + 'dSRU1PVkVEEAISDAoITU9ESUZJRUQQAw=='); + +@$core.Deprecated('Use configChangeDescriptor instead') +const ConfigChange$json = { + '1': 'ConfigChange', + '2': [ + {'1': 'element', '3': 1, '4': 1, '5': 9, '10': 'element'}, + {'1': 'old_value', '3': 2, '4': 1, '5': 9, '10': 'oldValue'}, + {'1': 'new_value', '3': 3, '4': 1, '5': 9, '10': 'newValue'}, + { + '1': 'change_type', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.ChangeType', + '10': 'changeType' + }, + { + '1': 'advices', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.api.Advice', + '10': 'advices' + }, + ], +}; + +/// Descriptor for `ConfigChange`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List configChangeDescriptor = $convert.base64Decode( + 'CgxDb25maWdDaGFuZ2USGAoHZWxlbWVudBgBIAEoCVIHZWxlbWVudBIbCglvbGRfdmFsdWUYAi' + 'ABKAlSCG9sZFZhbHVlEhsKCW5ld192YWx1ZRgDIAEoCVIIbmV3VmFsdWUSNwoLY2hhbmdlX3R5' + 'cGUYBCABKA4yFi5nb29nbGUuYXBpLkNoYW5nZVR5cGVSCmNoYW5nZVR5cGUSLAoHYWR2aWNlcx' + 'gFIAMoCzISLmdvb2dsZS5hcGkuQWR2aWNlUgdhZHZpY2Vz'); + +@$core.Deprecated('Use adviceDescriptor instead') +const Advice$json = { + '1': 'Advice', + '2': [ + {'1': 'description', '3': 2, '4': 1, '5': 9, '10': 'description'}, + ], +}; + +/// Descriptor for `Advice`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List adviceDescriptor = $convert + .base64Decode('CgZBZHZpY2USIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9u'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pb.dart new file mode 100644 index 00000000..cb4a83ba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pb.dart @@ -0,0 +1,202 @@ +// +// Generated code. Do not modify. +// source: google/api/consumer.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'consumer.pbenum.dart'; + +export 'consumer.pbenum.dart'; + +/// 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 +class ProjectProperties extends $pb.GeneratedMessage { + factory ProjectProperties({ + $core.Iterable? properties, + }) { + final $result = create(); + if (properties != null) { + $result.properties.addAll(properties); + } + return $result; + } + ProjectProperties._() : super(); + factory ProjectProperties.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ProjectProperties.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ProjectProperties', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'properties', $pb.PbFieldType.PM, + subBuilder: Property.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ProjectProperties clone() => ProjectProperties()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ProjectProperties copyWith(void Function(ProjectProperties) updates) => + super.copyWith((message) => updates(message as ProjectProperties)) + as ProjectProperties; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ProjectProperties create() => ProjectProperties._(); + ProjectProperties createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ProjectProperties getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ProjectProperties? _defaultInstance; + + /// List of per consumer project-specific properties. + @$pb.TagNumber(1) + $core.List get properties => $_getList(0); +} + +/// 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. +class Property extends $pb.GeneratedMessage { + factory Property({ + $core.String? name, + Property_PropertyType? type, + $core.String? description, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (type != null) { + $result.type = type; + } + if (description != null) { + $result.description = description; + } + return $result; + } + Property._() : super(); + factory Property.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Property.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Property', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, + defaultOrMaker: Property_PropertyType.UNSPECIFIED, + valueOf: Property_PropertyType.valueOf, + enumValues: Property_PropertyType.values) + ..aOS(3, _omitFieldNames ? '' : 'description') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Property clone() => Property()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Property copyWith(void Function(Property) updates) => + super.copyWith((message) => updates(message as Property)) as Property; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Property create() => Property._(); + Property createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Property getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Property? _defaultInstance; + + /// The name of the property (a.k.a key). + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The type of this property. + @$pb.TagNumber(2) + Property_PropertyType get type => $_getN(1); + @$pb.TagNumber(2) + set type(Property_PropertyType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + /// The description of the property + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pbenum.dart new file mode 100644 index 00000000..c713df65 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pbenum.dart @@ -0,0 +1,45 @@ +// +// Generated code. Do not modify. +// source: google/api/consumer.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Supported data type of the property values +class Property_PropertyType extends $pb.ProtobufEnum { + static const Property_PropertyType UNSPECIFIED = + Property_PropertyType._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const Property_PropertyType INT64 = + Property_PropertyType._(1, _omitEnumNames ? '' : 'INT64'); + static const Property_PropertyType BOOL = + Property_PropertyType._(2, _omitEnumNames ? '' : 'BOOL'); + static const Property_PropertyType STRING = + Property_PropertyType._(3, _omitEnumNames ? '' : 'STRING'); + static const Property_PropertyType DOUBLE = + Property_PropertyType._(4, _omitEnumNames ? '' : 'DOUBLE'); + + static const $core.List values = + [ + UNSPECIFIED, + INT64, + BOOL, + STRING, + DOUBLE, + ]; + + static final $core.Map<$core.int, Property_PropertyType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Property_PropertyType? valueOf($core.int value) => _byValue[value]; + + const Property_PropertyType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pbjson.dart new file mode 100644 index 00000000..ac8535a0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/consumer.pbjson.dart @@ -0,0 +1,71 @@ +// +// Generated code. Do not modify. +// source: google/api/consumer.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use projectPropertiesDescriptor instead') +const ProjectProperties$json = { + '1': 'ProjectProperties', + '2': [ + { + '1': 'properties', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.Property', + '10': 'properties' + }, + ], +}; + +/// Descriptor for `ProjectProperties`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List projectPropertiesDescriptor = $convert.base64Decode( + 'ChFQcm9qZWN0UHJvcGVydGllcxI0Cgpwcm9wZXJ0aWVzGAEgAygLMhQuZ29vZ2xlLmFwaS5Qcm' + '9wZXJ0eVIKcHJvcGVydGllcw=='); + +@$core.Deprecated('Use propertyDescriptor instead') +const Property$json = { + '1': 'Property', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.api.Property.PropertyType', + '10': 'type' + }, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + ], + '4': [Property_PropertyType$json], +}; + +@$core.Deprecated('Use propertyDescriptor instead') +const Property_PropertyType$json = { + '1': 'PropertyType', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'INT64', '2': 1}, + {'1': 'BOOL', '2': 2}, + {'1': 'STRING', '2': 3}, + {'1': 'DOUBLE', '2': 4}, + ], +}; + +/// Descriptor for `Property`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyDescriptor = $convert.base64Decode( + 'CghQcm9wZXJ0eRISCgRuYW1lGAEgASgJUgRuYW1lEjUKBHR5cGUYAiABKA4yIS5nb29nbGUuYX' + 'BpLlByb3BlcnR5LlByb3BlcnR5VHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVz' + 'Y3JpcHRpb24iTAoMUHJvcGVydHlUeXBlEg8KC1VOU1BFQ0lGSUVEEAASCQoFSU5UNjQQARIICg' + 'RCT09MEAISCgoGU1RSSU5HEAMSCgoGRE9VQkxFEAQ='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pb.dart new file mode 100644 index 00000000..e9fb642d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pb.dart @@ -0,0 +1,214 @@ +// +// Generated code. Do not modify. +// source: google/api/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `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`. +/// +/// This also provides mechanism to allowlist any protobuf message extension that +/// can be sent in grpc metadata using “x-goog-ext--bin” and +/// “x-goog-ext--jspb” format. For example, list any service +/// specific protobuf types that can appear in grpc metadata as follows in your +/// yaml file: +/// +/// Example: +/// +/// context: +/// rules: +/// - selector: "google.example.library.v1.LibraryService.CreateBook" +/// allowed_request_extensions: +/// - google.foo.v1.NewExtension +/// allowed_response_extensions: +/// - google.foo.v1.NewExtension +/// +/// You can also specify extension ID instead of fully qualified extension name +/// here. +class Context extends $pb.GeneratedMessage { + factory Context({ + $core.Iterable? rules, + }) { + final $result = create(); + if (rules != null) { + $result.rules.addAll(rules); + } + return $result; + } + Context._() : super(); + factory Context.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Context.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Context', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: ContextRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Context clone() => Context()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Context copyWith(void Function(Context) updates) => + super.copyWith((message) => updates(message as Context)) as Context; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Context create() => Context._(); + Context createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Context getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Context? _defaultInstance; + + /// A list of RPC context rules that apply to individual API methods. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(1) + $core.List get rules => $_getList(0); +} + +/// A context rule provides information about the context for an individual API +/// element. +class ContextRule extends $pb.GeneratedMessage { + factory ContextRule({ + $core.String? selector, + $core.Iterable<$core.String>? requested, + $core.Iterable<$core.String>? provided, + $core.Iterable<$core.String>? allowedRequestExtensions, + $core.Iterable<$core.String>? allowedResponseExtensions, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (requested != null) { + $result.requested.addAll(requested); + } + if (provided != null) { + $result.provided.addAll(provided); + } + if (allowedRequestExtensions != null) { + $result.allowedRequestExtensions.addAll(allowedRequestExtensions); + } + if (allowedResponseExtensions != null) { + $result.allowedResponseExtensions.addAll(allowedResponseExtensions); + } + return $result; + } + ContextRule._() : super(); + factory ContextRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ContextRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ContextRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..pPS(2, _omitFieldNames ? '' : 'requested') + ..pPS(3, _omitFieldNames ? '' : 'provided') + ..pPS(4, _omitFieldNames ? '' : 'allowedRequestExtensions') + ..pPS(5, _omitFieldNames ? '' : 'allowedResponseExtensions') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ContextRule clone() => ContextRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ContextRule copyWith(void Function(ContextRule) updates) => + super.copyWith((message) => updates(message as ContextRule)) + as ContextRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ContextRule create() => ContextRule._(); + ContextRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ContextRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ContextRule? _defaultInstance; + + /// Selects the methods to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// A list of full type names of requested contexts, only the requested context + /// will be made available to the backend. + @$pb.TagNumber(2) + $core.List<$core.String> get requested => $_getList(1); + + /// A list of full type names of provided contexts. It is used to support + /// propagating HTTP headers and ETags from the response extension. + @$pb.TagNumber(3) + $core.List<$core.String> get provided => $_getList(2); + + /// A list of full type names or extension IDs of extensions allowed in grpc + /// side channel from client to backend. + @$pb.TagNumber(4) + $core.List<$core.String> get allowedRequestExtensions => $_getList(3); + + /// A list of full type names or extension IDs of extensions allowed in grpc + /// side channel from backend to client. + @$pb.TagNumber(5) + $core.List<$core.String> get allowedResponseExtensions => $_getList(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pbenum.dart new file mode 100644 index 00000000..2a5778b5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pbjson.dart new file mode 100644 index 00000000..934d53f9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/context.pbjson.dart @@ -0,0 +1,66 @@ +// +// Generated code. Do not modify. +// source: google/api/context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use contextDescriptor instead') +const Context$json = { + '1': 'Context', + '2': [ + { + '1': 'rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.ContextRule', + '10': 'rules' + }, + ], +}; + +/// Descriptor for `Context`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List contextDescriptor = $convert.base64Decode( + 'CgdDb250ZXh0Ei0KBXJ1bGVzGAEgAygLMhcuZ29vZ2xlLmFwaS5Db250ZXh0UnVsZVIFcnVsZX' + 'M='); + +@$core.Deprecated('Use contextRuleDescriptor instead') +const ContextRule$json = { + '1': 'ContextRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + {'1': 'requested', '3': 2, '4': 3, '5': 9, '10': 'requested'}, + {'1': 'provided', '3': 3, '4': 3, '5': 9, '10': 'provided'}, + { + '1': 'allowed_request_extensions', + '3': 4, + '4': 3, + '5': 9, + '10': 'allowedRequestExtensions' + }, + { + '1': 'allowed_response_extensions', + '3': 5, + '4': 3, + '5': 9, + '10': 'allowedResponseExtensions' + }, + ], +}; + +/// Descriptor for `ContextRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List contextRuleDescriptor = $convert.base64Decode( + 'CgtDb250ZXh0UnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISHAoJcmVxdWVzdGVkGA' + 'IgAygJUglyZXF1ZXN0ZWQSGgoIcHJvdmlkZWQYAyADKAlSCHByb3ZpZGVkEjwKGmFsbG93ZWRf' + 'cmVxdWVzdF9leHRlbnNpb25zGAQgAygJUhhhbGxvd2VkUmVxdWVzdEV4dGVuc2lvbnMSPgobYW' + 'xsb3dlZF9yZXNwb25zZV9leHRlbnNpb25zGAUgAygJUhlhbGxvd2VkUmVzcG9uc2VFeHRlbnNp' + 'b25z'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pb.dart new file mode 100644 index 00000000..8e9d5f82 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pb.dart @@ -0,0 +1,99 @@ +// +// Generated code. Do not modify. +// source: google/api/control.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'policy.pb.dart' as $81; + +/// Selects and configures the service controller used by the service. +/// +/// Example: +/// +/// control: +/// environment: servicecontrol.googleapis.com +class Control extends $pb.GeneratedMessage { + factory Control({ + $core.String? environment, + $core.Iterable<$81.MethodPolicy>? methodPolicies, + }) { + final $result = create(); + if (environment != null) { + $result.environment = environment; + } + if (methodPolicies != null) { + $result.methodPolicies.addAll(methodPolicies); + } + return $result; + } + Control._() : super(); + factory Control.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Control.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Control', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'environment') + ..pc<$81.MethodPolicy>( + 4, _omitFieldNames ? '' : 'methodPolicies', $pb.PbFieldType.PM, + subBuilder: $81.MethodPolicy.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Control clone() => Control()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Control copyWith(void Function(Control) updates) => + super.copyWith((message) => updates(message as Control)) as Control; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Control create() => Control._(); + Control createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Control getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Control? _defaultInstance; + + /// The service controller environment to use. If empty, no control plane + /// feature (like quota and billing) will be enabled. The recommended value for + /// most services is servicecontrol.googleapis.com + @$pb.TagNumber(1) + $core.String get environment => $_getSZ(0); + @$pb.TagNumber(1) + set environment($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasEnvironment() => $_has(0); + @$pb.TagNumber(1) + void clearEnvironment() => clearField(1); + + /// Defines policies applying to the API methods of the service. + @$pb.TagNumber(4) + $core.List<$81.MethodPolicy> get methodPolicies => $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pbenum.dart new file mode 100644 index 00000000..bd04affa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/control.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pbjson.dart new file mode 100644 index 00000000..13a06711 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/control.pbjson.dart @@ -0,0 +1,35 @@ +// +// Generated code. Do not modify. +// source: google/api/control.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use controlDescriptor instead') +const Control$json = { + '1': 'Control', + '2': [ + {'1': 'environment', '3': 1, '4': 1, '5': 9, '10': 'environment'}, + { + '1': 'method_policies', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.MethodPolicy', + '10': 'methodPolicies' + }, + ], +}; + +/// Descriptor for `Control`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List controlDescriptor = $convert.base64Decode( + 'CgdDb250cm9sEiAKC2Vudmlyb25tZW50GAEgASgJUgtlbnZpcm9ubWVudBJBCg9tZXRob2RfcG' + '9saWNpZXMYBCADKAsyGC5nb29nbGUuYXBpLk1ldGhvZFBvbGljeVIObWV0aG9kUG9saWNpZXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pb.dart new file mode 100644 index 00000000..bb98c762 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pb.dart @@ -0,0 +1,865 @@ +// +// Generated code. Do not modify. +// source: google/api/distribution.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/any.pb.dart' as $49; +import '../protobuf/timestamp.pb.dart' as $50; + +/// The range of the population values. +class Distribution_Range extends $pb.GeneratedMessage { + factory Distribution_Range({ + $core.double? min, + $core.double? max, + }) { + final $result = create(); + if (min != null) { + $result.min = min; + } + if (max != null) { + $result.max = max; + } + return $result; + } + Distribution_Range._() : super(); + factory Distribution_Range.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_Range.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.Range', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..a<$core.double>(1, _omitFieldNames ? '' : 'min', $pb.PbFieldType.OD) + ..a<$core.double>(2, _omitFieldNames ? '' : 'max', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_Range clone() => Distribution_Range()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_Range copyWith(void Function(Distribution_Range) updates) => + super.copyWith((message) => updates(message as Distribution_Range)) + as Distribution_Range; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_Range create() => Distribution_Range._(); + Distribution_Range createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_Range getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution_Range? _defaultInstance; + + /// The minimum of the population values. + @$pb.TagNumber(1) + $core.double get min => $_getN(0); + @$pb.TagNumber(1) + set min($core.double v) { + $_setDouble(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMin() => $_has(0); + @$pb.TagNumber(1) + void clearMin() => clearField(1); + + /// The maximum of the population values. + @$pb.TagNumber(2) + $core.double get max => $_getN(1); + @$pb.TagNumber(2) + set max($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMax() => $_has(1); + @$pb.TagNumber(2) + void clearMax() => clearField(2); +} + +/// 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)). +class Distribution_BucketOptions_Linear extends $pb.GeneratedMessage { + factory Distribution_BucketOptions_Linear({ + $core.int? numFiniteBuckets, + $core.double? width, + $core.double? offset, + }) { + final $result = create(); + if (numFiniteBuckets != null) { + $result.numFiniteBuckets = numFiniteBuckets; + } + if (width != null) { + $result.width = width; + } + if (offset != null) { + $result.offset = offset; + } + return $result; + } + Distribution_BucketOptions_Linear._() : super(); + factory Distribution_BucketOptions_Linear.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_BucketOptions_Linear.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.BucketOptions.Linear', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'numFiniteBuckets', $pb.PbFieldType.O3) + ..a<$core.double>(2, _omitFieldNames ? '' : 'width', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions_Linear clone() => + Distribution_BucketOptions_Linear()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions_Linear copyWith( + void Function(Distribution_BucketOptions_Linear) updates) => + super.copyWith((message) => + updates(message as Distribution_BucketOptions_Linear)) + as Distribution_BucketOptions_Linear; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions_Linear create() => + Distribution_BucketOptions_Linear._(); + Distribution_BucketOptions_Linear createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions_Linear getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static Distribution_BucketOptions_Linear? _defaultInstance; + + /// Must be greater than 0. + @$pb.TagNumber(1) + $core.int get numFiniteBuckets => $_getIZ(0); + @$pb.TagNumber(1) + set numFiniteBuckets($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasNumFiniteBuckets() => $_has(0); + @$pb.TagNumber(1) + void clearNumFiniteBuckets() => clearField(1); + + /// Must be greater than 0. + @$pb.TagNumber(2) + $core.double get width => $_getN(1); + @$pb.TagNumber(2) + set width($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasWidth() => $_has(1); + @$pb.TagNumber(2) + void clearWidth() => clearField(2); + + /// Lower bound of the first bucket. + @$pb.TagNumber(3) + $core.double get offset => $_getN(2); + @$pb.TagNumber(3) + set offset($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOffset() => $_has(2); + @$pb.TagNumber(3) + void clearOffset() => clearField(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)). +class Distribution_BucketOptions_Exponential extends $pb.GeneratedMessage { + factory Distribution_BucketOptions_Exponential({ + $core.int? numFiniteBuckets, + $core.double? growthFactor, + $core.double? scale, + }) { + final $result = create(); + if (numFiniteBuckets != null) { + $result.numFiniteBuckets = numFiniteBuckets; + } + if (growthFactor != null) { + $result.growthFactor = growthFactor; + } + if (scale != null) { + $result.scale = scale; + } + return $result; + } + Distribution_BucketOptions_Exponential._() : super(); + factory Distribution_BucketOptions_Exponential.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_BucketOptions_Exponential.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.BucketOptions.Exponential', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'numFiniteBuckets', $pb.PbFieldType.O3) + ..a<$core.double>( + 2, _omitFieldNames ? '' : 'growthFactor', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'scale', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions_Exponential clone() => + Distribution_BucketOptions_Exponential()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions_Exponential copyWith( + void Function(Distribution_BucketOptions_Exponential) updates) => + super.copyWith((message) => + updates(message as Distribution_BucketOptions_Exponential)) + as Distribution_BucketOptions_Exponential; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions_Exponential create() => + Distribution_BucketOptions_Exponential._(); + Distribution_BucketOptions_Exponential createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions_Exponential getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + Distribution_BucketOptions_Exponential>(create); + static Distribution_BucketOptions_Exponential? _defaultInstance; + + /// Must be greater than 0. + @$pb.TagNumber(1) + $core.int get numFiniteBuckets => $_getIZ(0); + @$pb.TagNumber(1) + set numFiniteBuckets($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasNumFiniteBuckets() => $_has(0); + @$pb.TagNumber(1) + void clearNumFiniteBuckets() => clearField(1); + + /// Must be greater than 1. + @$pb.TagNumber(2) + $core.double get growthFactor => $_getN(1); + @$pb.TagNumber(2) + set growthFactor($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasGrowthFactor() => $_has(1); + @$pb.TagNumber(2) + void clearGrowthFactor() => clearField(2); + + /// Must be greater than 0. + @$pb.TagNumber(3) + $core.double get scale => $_getN(2); + @$pb.TagNumber(3) + set scale($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasScale() => $_has(2); + @$pb.TagNumber(3) + void clearScale() => clearField(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. +class Distribution_BucketOptions_Explicit extends $pb.GeneratedMessage { + factory Distribution_BucketOptions_Explicit({ + $core.Iterable<$core.double>? bounds, + }) { + final $result = create(); + if (bounds != null) { + $result.bounds.addAll(bounds); + } + return $result; + } + Distribution_BucketOptions_Explicit._() : super(); + factory Distribution_BucketOptions_Explicit.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_BucketOptions_Explicit.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.BucketOptions.Explicit', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..p<$core.double>(1, _omitFieldNames ? '' : 'bounds', $pb.PbFieldType.KD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions_Explicit clone() => + Distribution_BucketOptions_Explicit()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions_Explicit copyWith( + void Function(Distribution_BucketOptions_Explicit) updates) => + super.copyWith((message) => + updates(message as Distribution_BucketOptions_Explicit)) + as Distribution_BucketOptions_Explicit; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions_Explicit create() => + Distribution_BucketOptions_Explicit._(); + Distribution_BucketOptions_Explicit createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions_Explicit getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + Distribution_BucketOptions_Explicit>(create); + static Distribution_BucketOptions_Explicit? _defaultInstance; + + /// The values must be monotonically increasing. + @$pb.TagNumber(1) + $core.List<$core.double> get bounds => $_getList(0); +} + +enum Distribution_BucketOptions_Options { + linearBuckets, + exponentialBuckets, + explicitBuckets, + notSet +} + +/// `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. +class Distribution_BucketOptions extends $pb.GeneratedMessage { + factory Distribution_BucketOptions({ + Distribution_BucketOptions_Linear? linearBuckets, + Distribution_BucketOptions_Exponential? exponentialBuckets, + Distribution_BucketOptions_Explicit? explicitBuckets, + }) { + final $result = create(); + if (linearBuckets != null) { + $result.linearBuckets = linearBuckets; + } + if (exponentialBuckets != null) { + $result.exponentialBuckets = exponentialBuckets; + } + if (explicitBuckets != null) { + $result.explicitBuckets = explicitBuckets; + } + return $result; + } + Distribution_BucketOptions._() : super(); + factory Distribution_BucketOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_BucketOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Distribution_BucketOptions_Options> + _Distribution_BucketOptions_OptionsByTag = { + 1: Distribution_BucketOptions_Options.linearBuckets, + 2: Distribution_BucketOptions_Options.exponentialBuckets, + 3: Distribution_BucketOptions_Options.explicitBuckets, + 0: Distribution_BucketOptions_Options.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.BucketOptions', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3]) + ..aOM( + 1, _omitFieldNames ? '' : 'linearBuckets', + subBuilder: Distribution_BucketOptions_Linear.create) + ..aOM( + 2, _omitFieldNames ? '' : 'exponentialBuckets', + subBuilder: Distribution_BucketOptions_Exponential.create) + ..aOM( + 3, _omitFieldNames ? '' : 'explicitBuckets', + subBuilder: Distribution_BucketOptions_Explicit.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions clone() => + Distribution_BucketOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_BucketOptions copyWith( + void Function(Distribution_BucketOptions) updates) => + super.copyWith( + (message) => updates(message as Distribution_BucketOptions)) + as Distribution_BucketOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions create() => Distribution_BucketOptions._(); + Distribution_BucketOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_BucketOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution_BucketOptions? _defaultInstance; + + Distribution_BucketOptions_Options whichOptions() => + _Distribution_BucketOptions_OptionsByTag[$_whichOneof(0)]!; + void clearOptions() => clearField($_whichOneof(0)); + + /// The linear bucket. + @$pb.TagNumber(1) + Distribution_BucketOptions_Linear get linearBuckets => $_getN(0); + @$pb.TagNumber(1) + set linearBuckets(Distribution_BucketOptions_Linear v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasLinearBuckets() => $_has(0); + @$pb.TagNumber(1) + void clearLinearBuckets() => clearField(1); + @$pb.TagNumber(1) + Distribution_BucketOptions_Linear ensureLinearBuckets() => $_ensure(0); + + /// The exponential buckets. + @$pb.TagNumber(2) + Distribution_BucketOptions_Exponential get exponentialBuckets => $_getN(1); + @$pb.TagNumber(2) + set exponentialBuckets(Distribution_BucketOptions_Exponential v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExponentialBuckets() => $_has(1); + @$pb.TagNumber(2) + void clearExponentialBuckets() => clearField(2); + @$pb.TagNumber(2) + Distribution_BucketOptions_Exponential ensureExponentialBuckets() => + $_ensure(1); + + /// The explicit buckets. + @$pb.TagNumber(3) + Distribution_BucketOptions_Explicit get explicitBuckets => $_getN(2); + @$pb.TagNumber(3) + set explicitBuckets(Distribution_BucketOptions_Explicit v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasExplicitBuckets() => $_has(2); + @$pb.TagNumber(3) + void clearExplicitBuckets() => clearField(3); + @$pb.TagNumber(3) + Distribution_BucketOptions_Explicit ensureExplicitBuckets() => $_ensure(2); +} + +/// 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. +class Distribution_Exemplar extends $pb.GeneratedMessage { + factory Distribution_Exemplar({ + $core.double? value, + $50.Timestamp? timestamp, + $core.Iterable<$49.Any>? attachments, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (timestamp != null) { + $result.timestamp = timestamp; + } + if (attachments != null) { + $result.attachments.addAll(attachments); + } + return $result; + } + Distribution_Exemplar._() : super(); + factory Distribution_Exemplar.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_Exemplar.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.Exemplar', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..a<$core.double>(1, _omitFieldNames ? '' : 'value', $pb.PbFieldType.OD) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'timestamp', + subBuilder: $50.Timestamp.create) + ..pc<$49.Any>(3, _omitFieldNames ? '' : 'attachments', $pb.PbFieldType.PM, + subBuilder: $49.Any.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_Exemplar clone() => + Distribution_Exemplar()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_Exemplar copyWith( + void Function(Distribution_Exemplar) updates) => + super.copyWith((message) => updates(message as Distribution_Exemplar)) + as Distribution_Exemplar; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_Exemplar create() => Distribution_Exemplar._(); + Distribution_Exemplar createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_Exemplar getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution_Exemplar? _defaultInstance; + + /// Value of the exemplar point. This value determines to which bucket the + /// exemplar belongs. + @$pb.TagNumber(1) + $core.double get value => $_getN(0); + @$pb.TagNumber(1) + set value($core.double v) { + $_setDouble(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); + + /// The observation (sampling) time of the above value. + @$pb.TagNumber(2) + $50.Timestamp get timestamp => $_getN(1); + @$pb.TagNumber(2) + set timestamp($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasTimestamp() => $_has(1); + @$pb.TagNumber(2) + void clearTimestamp() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureTimestamp() => $_ensure(1); + + /// Contextual information about the example value. Examples are: + /// + /// Trace: type.googleapis.com/google.monitoring.v3.SpanContext + /// + /// 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. + @$pb.TagNumber(3) + $core.List<$49.Any> get attachments => $_getList(2); +} + +/// `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. +class Distribution extends $pb.GeneratedMessage { + factory Distribution({ + $fixnum.Int64? count, + $core.double? mean, + $core.double? sumOfSquaredDeviation, + Distribution_Range? range, + Distribution_BucketOptions? bucketOptions, + $core.Iterable<$fixnum.Int64>? bucketCounts, + $core.Iterable? exemplars, + }) { + final $result = create(); + if (count != null) { + $result.count = count; + } + if (mean != null) { + $result.mean = mean; + } + if (sumOfSquaredDeviation != null) { + $result.sumOfSquaredDeviation = sumOfSquaredDeviation; + } + if (range != null) { + $result.range = range; + } + if (bucketOptions != null) { + $result.bucketOptions = bucketOptions; + } + if (bucketCounts != null) { + $result.bucketCounts.addAll(bucketCounts); + } + if (exemplars != null) { + $result.exemplars.addAll(exemplars); + } + return $result; + } + Distribution._() : super(); + factory Distribution.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'count') + ..a<$core.double>(2, _omitFieldNames ? '' : 'mean', $pb.PbFieldType.OD) + ..a<$core.double>( + 3, _omitFieldNames ? '' : 'sumOfSquaredDeviation', $pb.PbFieldType.OD) + ..aOM(4, _omitFieldNames ? '' : 'range', + subBuilder: Distribution_Range.create) + ..aOM(6, _omitFieldNames ? '' : 'bucketOptions', + subBuilder: Distribution_BucketOptions.create) + ..p<$fixnum.Int64>( + 7, _omitFieldNames ? '' : 'bucketCounts', $pb.PbFieldType.K6) + ..pc( + 10, _omitFieldNames ? '' : 'exemplars', $pb.PbFieldType.PM, + subBuilder: Distribution_Exemplar.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution clone() => Distribution()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution copyWith(void Function(Distribution) updates) => + super.copyWith((message) => updates(message as Distribution)) + as Distribution; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution create() => Distribution._(); + Distribution createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $fixnum.Int64 get count => $_getI64(0); + @$pb.TagNumber(1) + set count($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCount() => $_has(0); + @$pb.TagNumber(1) + void clearCount() => clearField(1); + + /// The arithmetic mean of the values in the population. If `count` is zero + /// then this field must be zero. + @$pb.TagNumber(2) + $core.double get mean => $_getN(1); + @$pb.TagNumber(2) + set mean($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMean() => $_has(1); + @$pb.TagNumber(2) + void clearMean() => clearField(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 232, 3rd edition + /// describes Welford's method for accumulating this sum in one pass. + /// + /// If `count` is zero then this field must be zero. + @$pb.TagNumber(3) + $core.double get sumOfSquaredDeviation => $_getN(2); + @$pb.TagNumber(3) + set sumOfSquaredDeviation($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSumOfSquaredDeviation() => $_has(2); + @$pb.TagNumber(3) + void clearSumOfSquaredDeviation() => clearField(3); + + /// If specified, contains the range of the population values. The field + /// must not be present if the `count` is zero. + @$pb.TagNumber(4) + Distribution_Range get range => $_getN(3); + @$pb.TagNumber(4) + set range(Distribution_Range v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasRange() => $_has(3); + @$pb.TagNumber(4) + void clearRange() => clearField(4); + @$pb.TagNumber(4) + Distribution_Range ensureRange() => $_ensure(3); + + /// Defines the histogram bucket boundaries. If the distribution does not + /// contain a histogram, then omit this field. + @$pb.TagNumber(6) + Distribution_BucketOptions get bucketOptions => $_getN(4); + @$pb.TagNumber(6) + set bucketOptions(Distribution_BucketOptions v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasBucketOptions() => $_has(4); + @$pb.TagNumber(6) + void clearBucketOptions() => clearField(6); + @$pb.TagNumber(6) + Distribution_BucketOptions ensureBucketOptions() => $_ensure(4); + + /// 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). + @$pb.TagNumber(7) + $core.List<$fixnum.Int64> get bucketCounts => $_getList(5); + + /// Must be in increasing order of `value` field. + @$pb.TagNumber(10) + $core.List get exemplars => $_getList(6); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pbenum.dart new file mode 100644 index 00000000..baa84d98 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/distribution.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pbjson.dart new file mode 100644 index 00000000..de298a6d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/distribution.pbjson.dart @@ -0,0 +1,199 @@ +// +// Generated code. Do not modify. +// source: google/api/distribution.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution$json = { + '1': 'Distribution', + '2': [ + {'1': 'count', '3': 1, '4': 1, '5': 3, '10': 'count'}, + {'1': 'mean', '3': 2, '4': 1, '5': 1, '10': 'mean'}, + { + '1': 'sum_of_squared_deviation', + '3': 3, + '4': 1, + '5': 1, + '10': 'sumOfSquaredDeviation' + }, + { + '1': 'range', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.Distribution.Range', + '10': 'range' + }, + { + '1': 'bucket_options', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.Distribution.BucketOptions', + '10': 'bucketOptions' + }, + {'1': 'bucket_counts', '3': 7, '4': 3, '5': 3, '10': 'bucketCounts'}, + { + '1': 'exemplars', + '3': 10, + '4': 3, + '5': 11, + '6': '.google.api.Distribution.Exemplar', + '10': 'exemplars' + }, + ], + '3': [ + Distribution_Range$json, + Distribution_BucketOptions$json, + Distribution_Exemplar$json + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_Range$json = { + '1': 'Range', + '2': [ + {'1': 'min', '3': 1, '4': 1, '5': 1, '10': 'min'}, + {'1': 'max', '3': 2, '4': 1, '5': 1, '10': 'max'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_BucketOptions$json = { + '1': 'BucketOptions', + '2': [ + { + '1': 'linear_buckets', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.Distribution.BucketOptions.Linear', + '9': 0, + '10': 'linearBuckets' + }, + { + '1': 'exponential_buckets', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.Distribution.BucketOptions.Exponential', + '9': 0, + '10': 'exponentialBuckets' + }, + { + '1': 'explicit_buckets', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.Distribution.BucketOptions.Explicit', + '9': 0, + '10': 'explicitBuckets' + }, + ], + '3': [ + Distribution_BucketOptions_Linear$json, + Distribution_BucketOptions_Exponential$json, + Distribution_BucketOptions_Explicit$json + ], + '8': [ + {'1': 'options'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_BucketOptions_Linear$json = { + '1': 'Linear', + '2': [ + { + '1': 'num_finite_buckets', + '3': 1, + '4': 1, + '5': 5, + '10': 'numFiniteBuckets' + }, + {'1': 'width', '3': 2, '4': 1, '5': 1, '10': 'width'}, + {'1': 'offset', '3': 3, '4': 1, '5': 1, '10': 'offset'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_BucketOptions_Exponential$json = { + '1': 'Exponential', + '2': [ + { + '1': 'num_finite_buckets', + '3': 1, + '4': 1, + '5': 5, + '10': 'numFiniteBuckets' + }, + {'1': 'growth_factor', '3': 2, '4': 1, '5': 1, '10': 'growthFactor'}, + {'1': 'scale', '3': 3, '4': 1, '5': 1, '10': 'scale'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_BucketOptions_Explicit$json = { + '1': 'Explicit', + '2': [ + {'1': 'bounds', '3': 1, '4': 3, '5': 1, '10': 'bounds'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_Exemplar$json = { + '1': 'Exemplar', + '2': [ + {'1': 'value', '3': 1, '4': 1, '5': 1, '10': 'value'}, + { + '1': 'timestamp', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'timestamp' + }, + { + '1': 'attachments', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'attachments' + }, + ], +}; + +/// Descriptor for `Distribution`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List distributionDescriptor = $convert.base64Decode( + 'CgxEaXN0cmlidXRpb24SFAoFY291bnQYASABKANSBWNvdW50EhIKBG1lYW4YAiABKAFSBG1lYW' + '4SNwoYc3VtX29mX3NxdWFyZWRfZGV2aWF0aW9uGAMgASgBUhVzdW1PZlNxdWFyZWREZXZpYXRp' + 'b24SNAoFcmFuZ2UYBCABKAsyHi5nb29nbGUuYXBpLkRpc3RyaWJ1dGlvbi5SYW5nZVIFcmFuZ2' + 'USTQoOYnVja2V0X29wdGlvbnMYBiABKAsyJi5nb29nbGUuYXBpLkRpc3RyaWJ1dGlvbi5CdWNr' + 'ZXRPcHRpb25zUg1idWNrZXRPcHRpb25zEiMKDWJ1Y2tldF9jb3VudHMYByADKANSDGJ1Y2tldE' + 'NvdW50cxI/CglleGVtcGxhcnMYCiADKAsyIS5nb29nbGUuYXBpLkRpc3RyaWJ1dGlvbi5FeGVt' + 'cGxhclIJZXhlbXBsYXJzGisKBVJhbmdlEhAKA21pbhgBIAEoAVIDbWluEhAKA21heBgCIAEoAV' + 'IDbWF4GrkECg1CdWNrZXRPcHRpb25zElYKDmxpbmVhcl9idWNrZXRzGAEgASgLMi0uZ29vZ2xl' + 'LmFwaS5EaXN0cmlidXRpb24uQnVja2V0T3B0aW9ucy5MaW5lYXJIAFINbGluZWFyQnVja2V0cx' + 'JlChNleHBvbmVudGlhbF9idWNrZXRzGAIgASgLMjIuZ29vZ2xlLmFwaS5EaXN0cmlidXRpb24u' + 'QnVja2V0T3B0aW9ucy5FeHBvbmVudGlhbEgAUhJleHBvbmVudGlhbEJ1Y2tldHMSXAoQZXhwbG' + 'ljaXRfYnVja2V0cxgDIAEoCzIvLmdvb2dsZS5hcGkuRGlzdHJpYnV0aW9uLkJ1Y2tldE9wdGlv' + 'bnMuRXhwbGljaXRIAFIPZXhwbGljaXRCdWNrZXRzGmQKBkxpbmVhchIsChJudW1fZmluaXRlX2' + 'J1Y2tldHMYASABKAVSEG51bUZpbml0ZUJ1Y2tldHMSFAoFd2lkdGgYAiABKAFSBXdpZHRoEhYK' + 'Bm9mZnNldBgDIAEoAVIGb2Zmc2V0GnYKC0V4cG9uZW50aWFsEiwKEm51bV9maW5pdGVfYnVja2' + 'V0cxgBIAEoBVIQbnVtRmluaXRlQnVja2V0cxIjCg1ncm93dGhfZmFjdG9yGAIgASgBUgxncm93' + 'dGhGYWN0b3ISFAoFc2NhbGUYAyABKAFSBXNjYWxlGiIKCEV4cGxpY2l0EhYKBmJvdW5kcxgBIA' + 'MoAVIGYm91bmRzQgkKB29wdGlvbnMakgEKCEV4ZW1wbGFyEhQKBXZhbHVlGAEgASgBUgV2YWx1' + 'ZRI4Cgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgl0aW1lc3' + 'RhbXASNgoLYXR0YWNobWVudHMYAyADKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgthdHRhY2ht' + 'ZW50cw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pb.dart new file mode 100644 index 00000000..d00dde59 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pb.dart @@ -0,0 +1,444 @@ +// +// Generated code. Do not modify. +// source: google/api/documentation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `Documentation` provides the information for describing a service. +/// +/// Example: +///
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: >
+///        ...
+///  
+/// 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: +///
[fully.qualified.proto.name][]
+/// To override the display text used for the link, this can be used: +///
[display text][fully.qualified.proto.name]
+/// Text can be excluded from doc using the following notation: +///
(-- internal comment --)
+/// +/// 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: +///
(== include path/to/file ==)
+/// 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: +///
(== resource_for v1.shelves.books ==)
+/// The directive `suppress_warning` does not directly affect documentation +/// and is documented together with service config validation. +class Documentation extends $pb.GeneratedMessage { + factory Documentation({ + $core.String? summary, + $core.String? overview, + $core.Iterable? rules, + $core.String? documentationRootUrl, + $core.Iterable? pages, + $core.String? serviceRootUrl, + }) { + final $result = create(); + if (summary != null) { + $result.summary = summary; + } + if (overview != null) { + $result.overview = overview; + } + if (rules != null) { + $result.rules.addAll(rules); + } + if (documentationRootUrl != null) { + $result.documentationRootUrl = documentationRootUrl; + } + if (pages != null) { + $result.pages.addAll(pages); + } + if (serviceRootUrl != null) { + $result.serviceRootUrl = serviceRootUrl; + } + return $result; + } + Documentation._() : super(); + factory Documentation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Documentation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Documentation', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'summary') + ..aOS(2, _omitFieldNames ? '' : 'overview') + ..pc( + 3, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: DocumentationRule.create) + ..aOS(4, _omitFieldNames ? '' : 'documentationRootUrl') + ..pc(5, _omitFieldNames ? '' : 'pages', $pb.PbFieldType.PM, + subBuilder: Page.create) + ..aOS(6, _omitFieldNames ? '' : 'serviceRootUrl') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Documentation clone() => Documentation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Documentation copyWith(void Function(Documentation) updates) => + super.copyWith((message) => updates(message as Documentation)) + as Documentation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Documentation create() => Documentation._(); + Documentation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Documentation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Documentation? _defaultInstance; + + /// A short description of what the service does. The summary must be plain + /// text. It becomes the overview of the service displayed in Google Cloud + /// Console. + /// NOTE: This field is equivalent to the standard field `description`. + @$pb.TagNumber(1) + $core.String get summary => $_getSZ(0); + @$pb.TagNumber(1) + set summary($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSummary() => $_has(0); + @$pb.TagNumber(1) + void clearSummary() => clearField(1); + + /// Declares a single overview page. For example: + ///
documentation:
+  ///   summary: ...
+  ///   overview: (== include overview.md ==)
+  /// 
+ /// This is a shortcut for the following declaration (using pages style): + ///
documentation:
+  ///   summary: ...
+  ///   pages:
+  ///   - name: Overview
+  ///     content: (== include overview.md ==)
+  /// 
+ /// Note: you cannot specify both `overview` field and `pages` field. + @$pb.TagNumber(2) + $core.String get overview => $_getSZ(1); + @$pb.TagNumber(2) + set overview($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOverview() => $_has(1); + @$pb.TagNumber(2) + void clearOverview() => clearField(2); + + /// A list of documentation rules that apply to individual API elements. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(3) + $core.List get rules => $_getList(2); + + /// The URL to the root of documentation. + @$pb.TagNumber(4) + $core.String get documentationRootUrl => $_getSZ(3); + @$pb.TagNumber(4) + set documentationRootUrl($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDocumentationRootUrl() => $_has(3); + @$pb.TagNumber(4) + void clearDocumentationRootUrl() => clearField(4); + + /// The top level pages for the documentation set. + @$pb.TagNumber(5) + $core.List get pages => $_getList(4); + + /// Specifies the service root url if the default one (the service name + /// from the yaml file) is not suitable. This can be seen in any fully + /// specified service urls as well as sections that show a base that other + /// urls are relative to. + @$pb.TagNumber(6) + $core.String get serviceRootUrl => $_getSZ(5); + @$pb.TagNumber(6) + set serviceRootUrl($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasServiceRootUrl() => $_has(5); + @$pb.TagNumber(6) + void clearServiceRootUrl() => clearField(6); +} + +/// A documentation rule provides information about individual API elements. +class DocumentationRule extends $pb.GeneratedMessage { + factory DocumentationRule({ + $core.String? selector, + $core.String? description, + $core.String? deprecationDescription, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (description != null) { + $result.description = description; + } + if (deprecationDescription != null) { + $result.deprecationDescription = deprecationDescription; + } + return $result; + } + DocumentationRule._() : super(); + factory DocumentationRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DocumentationRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DocumentationRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOS(2, _omitFieldNames ? '' : 'description') + ..aOS(3, _omitFieldNames ? '' : 'deprecationDescription') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DocumentationRule clone() => DocumentationRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DocumentationRule copyWith(void Function(DocumentationRule) updates) => + super.copyWith((message) => updates(message as DocumentationRule)) + as DocumentationRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DocumentationRule create() => DocumentationRule._(); + DocumentationRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DocumentationRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DocumentationRule? _defaultInstance; + + /// The selector is a comma-separated list of patterns for any element such as + /// a method, a field, an enum value. 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". A wildcard will match + /// one or more components. To specify a default for all applicable elements, + /// the whole pattern "*" is used. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// Description of the selected proto element (e.g. a message, a method, a + /// 'service' definition, or a field). Defaults to leading & trailing comments + /// taken from the proto source definition of the proto element. + @$pb.TagNumber(2) + $core.String get description => $_getSZ(1); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(1); + @$pb.TagNumber(2) + void clearDescription() => clearField(2); + + /// Deprecation description of the selected element(s). It can be provided if + /// an element is marked as `deprecated`. + @$pb.TagNumber(3) + $core.String get deprecationDescription => $_getSZ(2); + @$pb.TagNumber(3) + set deprecationDescription($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDeprecationDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDeprecationDescription() => clearField(3); +} + +/// Represents a documentation page. A page can contain subpages to represent +/// nested documentation set structure. +class Page extends $pb.GeneratedMessage { + factory Page({ + $core.String? name, + $core.String? content, + $core.Iterable? subpages, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (content != null) { + $result.content = content; + } + if (subpages != null) { + $result.subpages.addAll(subpages); + } + return $result; + } + Page._() : super(); + factory Page.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Page.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Page', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'content') + ..pc(3, _omitFieldNames ? '' : 'subpages', $pb.PbFieldType.PM, + subBuilder: Page.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Page clone() => Page()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Page copyWith(void Function(Page) updates) => + super.copyWith((message) => updates(message as Page)) as Page; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Page create() => Page._(); + Page createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Page getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Page? _defaultInstance; + + /// 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: + ///
pages:
+  /// - name: Tutorial
+  ///   content: (== include tutorial.md ==)
+  ///   subpages:
+  ///   - name: Java
+  ///     content: (== include tutorial_java.md ==)
+  /// 
+ /// You can reference `Java` page using Markdown reference link syntax: + /// `[Java][Tutorial.Java]`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The Markdown content of the page. You can use (== include {path} + /// ==) to include content from a Markdown file. The content can be + /// used to produce the documentation page such as HTML format page. + @$pb.TagNumber(2) + $core.String get content => $_getSZ(1); + @$pb.TagNumber(2) + set content($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasContent() => $_has(1); + @$pb.TagNumber(2) + void clearContent() => clearField(2); + + /// Subpages of this page. The order of subpages specified here will be + /// honored in the generated docset. + @$pb.TagNumber(3) + $core.List get subpages => $_getList(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pbenum.dart new file mode 100644 index 00000000..7d7a2627 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/documentation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pbjson.dart new file mode 100644 index 00000000..ae6f7f88 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/documentation.pbjson.dart @@ -0,0 +1,99 @@ +// +// Generated code. Do not modify. +// source: google/api/documentation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use documentationDescriptor instead') +const Documentation$json = { + '1': 'Documentation', + '2': [ + {'1': 'summary', '3': 1, '4': 1, '5': 9, '10': 'summary'}, + { + '1': 'pages', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.api.Page', + '10': 'pages' + }, + { + '1': 'rules', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.DocumentationRule', + '10': 'rules' + }, + { + '1': 'documentation_root_url', + '3': 4, + '4': 1, + '5': 9, + '10': 'documentationRootUrl' + }, + {'1': 'service_root_url', '3': 6, '4': 1, '5': 9, '10': 'serviceRootUrl'}, + {'1': 'overview', '3': 2, '4': 1, '5': 9, '10': 'overview'}, + ], +}; + +/// Descriptor for `Documentation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List documentationDescriptor = $convert.base64Decode( + 'Cg1Eb2N1bWVudGF0aW9uEhgKB3N1bW1hcnkYASABKAlSB3N1bW1hcnkSJgoFcGFnZXMYBSADKA' + 'syEC5nb29nbGUuYXBpLlBhZ2VSBXBhZ2VzEjMKBXJ1bGVzGAMgAygLMh0uZ29vZ2xlLmFwaS5E' + 'b2N1bWVudGF0aW9uUnVsZVIFcnVsZXMSNAoWZG9jdW1lbnRhdGlvbl9yb290X3VybBgEIAEoCV' + 'IUZG9jdW1lbnRhdGlvblJvb3RVcmwSKAoQc2VydmljZV9yb290X3VybBgGIAEoCVIOc2Vydmlj' + 'ZVJvb3RVcmwSGgoIb3ZlcnZpZXcYAiABKAlSCG92ZXJ2aWV3'); + +@$core.Deprecated('Use documentationRuleDescriptor instead') +const DocumentationRule$json = { + '1': 'DocumentationRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + {'1': 'description', '3': 2, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'deprecation_description', + '3': 3, + '4': 1, + '5': 9, + '10': 'deprecationDescription' + }, + ], +}; + +/// Descriptor for `DocumentationRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List documentationRuleDescriptor = $convert.base64Decode( + 'ChFEb2N1bWVudGF0aW9uUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISIAoLZGVzY3' + 'JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEjcKF2RlcHJlY2F0aW9uX2Rlc2NyaXB0aW9uGAMg' + 'ASgJUhZkZXByZWNhdGlvbkRlc2NyaXB0aW9u'); + +@$core.Deprecated('Use pageDescriptor instead') +const Page$json = { + '1': 'Page', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'content', '3': 2, '4': 1, '5': 9, '10': 'content'}, + { + '1': 'subpages', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.Page', + '10': 'subpages' + }, + ], +}; + +/// Descriptor for `Page`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List pageDescriptor = $convert.base64Decode( + 'CgRQYWdlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHY29udGVudBgCIAEoCVIHY29udGVudBIsCg' + 'hzdWJwYWdlcxgDIAMoCzIQLmdvb2dsZS5hcGkuUGFnZVIIc3VicGFnZXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pb.dart new file mode 100644 index 00000000..bee1aefa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pb.dart @@ -0,0 +1,155 @@ +// +// Generated code. Do not modify. +// source: google/api/endpoint.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `Endpoint` describes a network address of a service that serves a set of +/// APIs. It is commonly known as a service endpoint. A service may expose +/// any number of service endpoints, and all service endpoints share the same +/// service definition, such as quota limits and monitoring metrics. +/// +/// Example: +/// +/// type: google.api.Service +/// name: library-example.googleapis.com +/// endpoints: +/// # Declares network address `https://library-example.googleapis.com` +/// # for service `library-example.googleapis.com`. The `https` scheme +/// # is implicit for all service endpoints. Other schemes may be +/// # supported in the future. +/// - name: library-example.googleapis.com +/// allow_cors: false +/// - name: content-staging-library-example.googleapis.com +/// # Allows HTTP OPTIONS calls to be passed to the API frontend, for it +/// # to decide whether the subsequent cross-origin request is allowed +/// # to proceed. +/// allow_cors: true +class Endpoint extends $pb.GeneratedMessage { + factory Endpoint({ + $core.String? name, + $core.Iterable<$core.String>? aliases, + $core.bool? allowCors, + $core.String? target, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (aliases != null) { + $result.aliases.addAll(aliases); + } + if (allowCors != null) { + $result.allowCors = allowCors; + } + if (target != null) { + $result.target = target; + } + return $result; + } + Endpoint._() : super(); + factory Endpoint.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Endpoint.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Endpoint', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pPS(2, _omitFieldNames ? '' : 'aliases') + ..aOB(5, _omitFieldNames ? '' : 'allowCors') + ..aOS(101, _omitFieldNames ? '' : 'target') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Endpoint clone() => Endpoint()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Endpoint copyWith(void Function(Endpoint) updates) => + super.copyWith((message) => updates(message as Endpoint)) as Endpoint; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Endpoint create() => Endpoint._(); + Endpoint createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Endpoint getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Endpoint? _defaultInstance; + + /// The canonical name of this endpoint. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Aliases for this endpoint, these will be served by the same UrlMap as the + /// parent endpoint, and will be provisioned in the GCP stack for the Regional + /// Endpoints. + @$pb.TagNumber(2) + $core.List<$core.String> get aliases => $_getList(1); + + /// 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. + @$pb.TagNumber(5) + $core.bool get allowCors => $_getBF(2); + @$pb.TagNumber(5) + set allowCors($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasAllowCors() => $_has(2); + @$pb.TagNumber(5) + void clearAllowCors() => clearField(5); + + /// 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". + @$pb.TagNumber(101) + $core.String get target => $_getSZ(3); + @$pb.TagNumber(101) + set target($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(101) + $core.bool hasTarget() => $_has(3); + @$pb.TagNumber(101) + void clearTarget() => clearField(101); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pbenum.dart new file mode 100644 index 00000000..27d763a2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/endpoint.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pbjson.dart new file mode 100644 index 00000000..50f3a6ed --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/endpoint.pbjson.dart @@ -0,0 +1,30 @@ +// +// Generated code. Do not modify. +// source: google/api/endpoint.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use endpointDescriptor instead') +const Endpoint$json = { + '1': 'Endpoint', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'aliases', '3': 2, '4': 3, '5': 9, '10': 'aliases'}, + {'1': 'target', '3': 101, '4': 1, '5': 9, '10': 'target'}, + {'1': 'allow_cors', '3': 5, '4': 1, '5': 8, '10': 'allowCors'}, + ], +}; + +/// Descriptor for `Endpoint`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List endpointDescriptor = $convert.base64Decode( + 'CghFbmRwb2ludBISCgRuYW1lGAEgASgJUgRuYW1lEhgKB2FsaWFzZXMYAiADKAlSB2FsaWFzZX' + 'MSFgoGdGFyZ2V0GGUgASgJUgZ0YXJnZXQSHQoKYWxsb3dfY29ycxgFIAEoCFIJYWxsb3dDb3Jz'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pb.dart new file mode 100644 index 00000000..f3db1ca9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pb.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/api/error_reason.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +export 'error_reason.pbenum.dart'; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pbenum.dart new file mode 100644 index 00000000..bf2a7d79 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pbenum.dart @@ -0,0 +1,131 @@ +// +// Generated code. Do not modify. +// source: google/api/error_reason.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Defines the supported values for `google.rpc.ErrorInfo.reason` for the +/// `googleapis.com` error domain. This error domain is reserved for [Service +/// Infrastructure](https://cloud.google.com/service-infrastructure/docs/overview). +/// For each error info of this domain, the metadata key "service" refers to the +/// logical identifier of an API service, such as "pubsub.googleapis.com". The +/// "consumer" refers to the entity that consumes an API Service. It typically is +/// a Google project that owns the client application or the server resource, +/// such as "projects/123". Other metadata keys are specific to each error +/// reason. For more information, see the definition of the specific error +/// reason. +class ErrorReason extends $pb.ProtobufEnum { + static const ErrorReason ERROR_REASON_UNSPECIFIED = + ErrorReason._(0, _omitEnumNames ? '' : 'ERROR_REASON_UNSPECIFIED'); + static const ErrorReason SERVICE_DISABLED = + ErrorReason._(1, _omitEnumNames ? '' : 'SERVICE_DISABLED'); + static const ErrorReason BILLING_DISABLED = + ErrorReason._(2, _omitEnumNames ? '' : 'BILLING_DISABLED'); + static const ErrorReason API_KEY_INVALID = + ErrorReason._(3, _omitEnumNames ? '' : 'API_KEY_INVALID'); + static const ErrorReason API_KEY_SERVICE_BLOCKED = + ErrorReason._(4, _omitEnumNames ? '' : 'API_KEY_SERVICE_BLOCKED'); + static const ErrorReason API_KEY_HTTP_REFERRER_BLOCKED = + ErrorReason._(7, _omitEnumNames ? '' : 'API_KEY_HTTP_REFERRER_BLOCKED'); + static const ErrorReason API_KEY_IP_ADDRESS_BLOCKED = + ErrorReason._(8, _omitEnumNames ? '' : 'API_KEY_IP_ADDRESS_BLOCKED'); + static const ErrorReason API_KEY_ANDROID_APP_BLOCKED = + ErrorReason._(9, _omitEnumNames ? '' : 'API_KEY_ANDROID_APP_BLOCKED'); + static const ErrorReason API_KEY_IOS_APP_BLOCKED = + ErrorReason._(13, _omitEnumNames ? '' : 'API_KEY_IOS_APP_BLOCKED'); + static const ErrorReason RATE_LIMIT_EXCEEDED = + ErrorReason._(5, _omitEnumNames ? '' : 'RATE_LIMIT_EXCEEDED'); + static const ErrorReason RESOURCE_QUOTA_EXCEEDED = + ErrorReason._(6, _omitEnumNames ? '' : 'RESOURCE_QUOTA_EXCEEDED'); + static const ErrorReason LOCATION_TAX_POLICY_VIOLATED = + ErrorReason._(10, _omitEnumNames ? '' : 'LOCATION_TAX_POLICY_VIOLATED'); + static const ErrorReason USER_PROJECT_DENIED = + ErrorReason._(11, _omitEnumNames ? '' : 'USER_PROJECT_DENIED'); + static const ErrorReason CONSUMER_SUSPENDED = + ErrorReason._(12, _omitEnumNames ? '' : 'CONSUMER_SUSPENDED'); + static const ErrorReason CONSUMER_INVALID = + ErrorReason._(14, _omitEnumNames ? '' : 'CONSUMER_INVALID'); + static const ErrorReason SECURITY_POLICY_VIOLATED = + ErrorReason._(15, _omitEnumNames ? '' : 'SECURITY_POLICY_VIOLATED'); + static const ErrorReason ACCESS_TOKEN_EXPIRED = + ErrorReason._(16, _omitEnumNames ? '' : 'ACCESS_TOKEN_EXPIRED'); + static const ErrorReason ACCESS_TOKEN_SCOPE_INSUFFICIENT = ErrorReason._( + 17, _omitEnumNames ? '' : 'ACCESS_TOKEN_SCOPE_INSUFFICIENT'); + static const ErrorReason ACCOUNT_STATE_INVALID = + ErrorReason._(18, _omitEnumNames ? '' : 'ACCOUNT_STATE_INVALID'); + static const ErrorReason ACCESS_TOKEN_TYPE_UNSUPPORTED = + ErrorReason._(19, _omitEnumNames ? '' : 'ACCESS_TOKEN_TYPE_UNSUPPORTED'); + static const ErrorReason CREDENTIALS_MISSING = + ErrorReason._(20, _omitEnumNames ? '' : 'CREDENTIALS_MISSING'); + static const ErrorReason RESOURCE_PROJECT_INVALID = + ErrorReason._(21, _omitEnumNames ? '' : 'RESOURCE_PROJECT_INVALID'); + static const ErrorReason SESSION_COOKIE_INVALID = + ErrorReason._(23, _omitEnumNames ? '' : 'SESSION_COOKIE_INVALID'); + static const ErrorReason USER_BLOCKED_BY_ADMIN = + ErrorReason._(24, _omitEnumNames ? '' : 'USER_BLOCKED_BY_ADMIN'); + static const ErrorReason RESOURCE_USAGE_RESTRICTION_VIOLATED = ErrorReason._( + 25, _omitEnumNames ? '' : 'RESOURCE_USAGE_RESTRICTION_VIOLATED'); + static const ErrorReason SYSTEM_PARAMETER_UNSUPPORTED = + ErrorReason._(26, _omitEnumNames ? '' : 'SYSTEM_PARAMETER_UNSUPPORTED'); + static const ErrorReason ORG_RESTRICTION_VIOLATION = + ErrorReason._(27, _omitEnumNames ? '' : 'ORG_RESTRICTION_VIOLATION'); + static const ErrorReason ORG_RESTRICTION_HEADER_INVALID = + ErrorReason._(28, _omitEnumNames ? '' : 'ORG_RESTRICTION_HEADER_INVALID'); + static const ErrorReason SERVICE_NOT_VISIBLE = + ErrorReason._(29, _omitEnumNames ? '' : 'SERVICE_NOT_VISIBLE'); + static const ErrorReason GCP_SUSPENDED = + ErrorReason._(30, _omitEnumNames ? '' : 'GCP_SUSPENDED'); + static const ErrorReason LOCATION_POLICY_VIOLATED = + ErrorReason._(31, _omitEnumNames ? '' : 'LOCATION_POLICY_VIOLATED'); + + static const $core.List values = [ + ERROR_REASON_UNSPECIFIED, + SERVICE_DISABLED, + BILLING_DISABLED, + API_KEY_INVALID, + API_KEY_SERVICE_BLOCKED, + API_KEY_HTTP_REFERRER_BLOCKED, + API_KEY_IP_ADDRESS_BLOCKED, + API_KEY_ANDROID_APP_BLOCKED, + API_KEY_IOS_APP_BLOCKED, + RATE_LIMIT_EXCEEDED, + RESOURCE_QUOTA_EXCEEDED, + LOCATION_TAX_POLICY_VIOLATED, + USER_PROJECT_DENIED, + CONSUMER_SUSPENDED, + CONSUMER_INVALID, + SECURITY_POLICY_VIOLATED, + ACCESS_TOKEN_EXPIRED, + ACCESS_TOKEN_SCOPE_INSUFFICIENT, + ACCOUNT_STATE_INVALID, + ACCESS_TOKEN_TYPE_UNSUPPORTED, + CREDENTIALS_MISSING, + RESOURCE_PROJECT_INVALID, + SESSION_COOKIE_INVALID, + USER_BLOCKED_BY_ADMIN, + RESOURCE_USAGE_RESTRICTION_VIOLATED, + SYSTEM_PARAMETER_UNSUPPORTED, + ORG_RESTRICTION_VIOLATION, + ORG_RESTRICTION_HEADER_INVALID, + SERVICE_NOT_VISIBLE, + GCP_SUSPENDED, + LOCATION_POLICY_VIOLATED, + ]; + + static final $core.Map<$core.int, ErrorReason> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ErrorReason? valueOf($core.int value) => _byValue[value]; + + const ErrorReason._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pbjson.dart new file mode 100644 index 00000000..fe8377c8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/error_reason.pbjson.dart @@ -0,0 +1,72 @@ +// +// Generated code. Do not modify. +// source: google/api/error_reason.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use errorReasonDescriptor instead') +const ErrorReason$json = { + '1': 'ErrorReason', + '2': [ + {'1': 'ERROR_REASON_UNSPECIFIED', '2': 0}, + {'1': 'SERVICE_DISABLED', '2': 1}, + {'1': 'BILLING_DISABLED', '2': 2}, + {'1': 'API_KEY_INVALID', '2': 3}, + {'1': 'API_KEY_SERVICE_BLOCKED', '2': 4}, + {'1': 'API_KEY_HTTP_REFERRER_BLOCKED', '2': 7}, + {'1': 'API_KEY_IP_ADDRESS_BLOCKED', '2': 8}, + {'1': 'API_KEY_ANDROID_APP_BLOCKED', '2': 9}, + {'1': 'API_KEY_IOS_APP_BLOCKED', '2': 13}, + {'1': 'RATE_LIMIT_EXCEEDED', '2': 5}, + {'1': 'RESOURCE_QUOTA_EXCEEDED', '2': 6}, + {'1': 'LOCATION_TAX_POLICY_VIOLATED', '2': 10}, + {'1': 'USER_PROJECT_DENIED', '2': 11}, + {'1': 'CONSUMER_SUSPENDED', '2': 12}, + {'1': 'CONSUMER_INVALID', '2': 14}, + {'1': 'SECURITY_POLICY_VIOLATED', '2': 15}, + {'1': 'ACCESS_TOKEN_EXPIRED', '2': 16}, + {'1': 'ACCESS_TOKEN_SCOPE_INSUFFICIENT', '2': 17}, + {'1': 'ACCOUNT_STATE_INVALID', '2': 18}, + {'1': 'ACCESS_TOKEN_TYPE_UNSUPPORTED', '2': 19}, + {'1': 'CREDENTIALS_MISSING', '2': 20}, + {'1': 'RESOURCE_PROJECT_INVALID', '2': 21}, + {'1': 'SESSION_COOKIE_INVALID', '2': 23}, + {'1': 'USER_BLOCKED_BY_ADMIN', '2': 24}, + {'1': 'RESOURCE_USAGE_RESTRICTION_VIOLATED', '2': 25}, + {'1': 'SYSTEM_PARAMETER_UNSUPPORTED', '2': 26}, + {'1': 'ORG_RESTRICTION_VIOLATION', '2': 27}, + {'1': 'ORG_RESTRICTION_HEADER_INVALID', '2': 28}, + {'1': 'SERVICE_NOT_VISIBLE', '2': 29}, + {'1': 'GCP_SUSPENDED', '2': 30}, + {'1': 'LOCATION_POLICY_VIOLATED', '2': 31}, + ], +}; + +/// Descriptor for `ErrorReason`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List errorReasonDescriptor = $convert.base64Decode( + 'CgtFcnJvclJlYXNvbhIcChhFUlJPUl9SRUFTT05fVU5TUEVDSUZJRUQQABIUChBTRVJWSUNFX0' + 'RJU0FCTEVEEAESFAoQQklMTElOR19ESVNBQkxFRBACEhMKD0FQSV9LRVlfSU5WQUxJRBADEhsK' + 'F0FQSV9LRVlfU0VSVklDRV9CTE9DS0VEEAQSIQodQVBJX0tFWV9IVFRQX1JFRkVSUkVSX0JMT0' + 'NLRUQQBxIeChpBUElfS0VZX0lQX0FERFJFU1NfQkxPQ0tFRBAIEh8KG0FQSV9LRVlfQU5EUk9J' + 'RF9BUFBfQkxPQ0tFRBAJEhsKF0FQSV9LRVlfSU9TX0FQUF9CTE9DS0VEEA0SFwoTUkFURV9MSU' + '1JVF9FWENFRURFRBAFEhsKF1JFU09VUkNFX1FVT1RBX0VYQ0VFREVEEAYSIAocTE9DQVRJT05f' + 'VEFYX1BPTElDWV9WSU9MQVRFRBAKEhcKE1VTRVJfUFJPSkVDVF9ERU5JRUQQCxIWChJDT05TVU' + '1FUl9TVVNQRU5ERUQQDBIUChBDT05TVU1FUl9JTlZBTElEEA4SHAoYU0VDVVJJVFlfUE9MSUNZ' + 'X1ZJT0xBVEVEEA8SGAoUQUNDRVNTX1RPS0VOX0VYUElSRUQQEBIjCh9BQ0NFU1NfVE9LRU5fU0' + 'NPUEVfSU5TVUZGSUNJRU5UEBESGQoVQUNDT1VOVF9TVEFURV9JTlZBTElEEBISIQodQUNDRVNT' + 'X1RPS0VOX1RZUEVfVU5TVVBQT1JURUQQExIXChNDUkVERU5USUFMU19NSVNTSU5HEBQSHAoYUk' + 'VTT1VSQ0VfUFJPSkVDVF9JTlZBTElEEBUSGgoWU0VTU0lPTl9DT09LSUVfSU5WQUxJRBAXEhkK' + 'FVVTRVJfQkxPQ0tFRF9CWV9BRE1JThAYEicKI1JFU09VUkNFX1VTQUdFX1JFU1RSSUNUSU9OX1' + 'ZJT0xBVEVEEBkSIAocU1lTVEVNX1BBUkFNRVRFUl9VTlNVUFBPUlRFRBAaEh0KGU9SR19SRVNU' + 'UklDVElPTl9WSU9MQVRJT04QGxIiCh5PUkdfUkVTVFJJQ1RJT05fSEVBREVSX0lOVkFMSUQQHB' + 'IXChNTRVJWSUNFX05PVF9WSVNJQkxFEB0SEQoNR0NQX1NVU1BFTkRFRBAeEhwKGExPQ0FUSU9O' + 'X1BPTElDWV9WSU9MQVRFRBAf'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pb.dart new file mode 100644 index 00000000..6ad49c95 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pb.dart @@ -0,0 +1,861 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/conformance/v1alpha1/conformance_service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../../rpc/status.pb.dart' as $57; +import '../../v1alpha1/checked.pb.dart' as $102; +import '../../v1alpha1/eval.pb.dart' as $103; +import '../../v1alpha1/syntax.pb.dart' as $100; +import 'conformance_service.pbenum.dart'; + +export 'conformance_service.pbenum.dart'; + +/// Request message for the Parse method. +class ParseRequest extends $pb.GeneratedMessage { + factory ParseRequest({ + $core.String? celSource, + $core.String? syntaxVersion, + $core.String? sourceLocation, + $core.bool? disableMacros, + }) { + final $result = create(); + if (celSource != null) { + $result.celSource = celSource; + } + if (syntaxVersion != null) { + $result.syntaxVersion = syntaxVersion; + } + if (sourceLocation != null) { + $result.sourceLocation = sourceLocation; + } + if (disableMacros != null) { + $result.disableMacros = disableMacros; + } + return $result; + } + ParseRequest._() : super(); + factory ParseRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ParseRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ParseRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'celSource') + ..aOS(2, _omitFieldNames ? '' : 'syntaxVersion') + ..aOS(3, _omitFieldNames ? '' : 'sourceLocation') + ..aOB(4, _omitFieldNames ? '' : 'disableMacros') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ParseRequest clone() => ParseRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ParseRequest copyWith(void Function(ParseRequest) updates) => + super.copyWith((message) => updates(message as ParseRequest)) + as ParseRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ParseRequest create() => ParseRequest._(); + ParseRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ParseRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ParseRequest? _defaultInstance; + + /// Required. Source text in CEL syntax. + @$pb.TagNumber(1) + $core.String get celSource => $_getSZ(0); + @$pb.TagNumber(1) + set celSource($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCelSource() => $_has(0); + @$pb.TagNumber(1) + void clearCelSource() => clearField(1); + + /// Tag for version of CEL syntax, for future use. + @$pb.TagNumber(2) + $core.String get syntaxVersion => $_getSZ(1); + @$pb.TagNumber(2) + set syntaxVersion($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSyntaxVersion() => $_has(1); + @$pb.TagNumber(2) + void clearSyntaxVersion() => clearField(2); + + /// File or resource for source text, used in [SourceInfo][google.api.SourceInfo]. + @$pb.TagNumber(3) + $core.String get sourceLocation => $_getSZ(2); + @$pb.TagNumber(3) + set sourceLocation($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceLocation() => $_has(2); + @$pb.TagNumber(3) + void clearSourceLocation() => clearField(3); + + /// Prevent macro expansion. See "Macros" in Language Defiinition. + @$pb.TagNumber(4) + $core.bool get disableMacros => $_getBF(3); + @$pb.TagNumber(4) + set disableMacros($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisableMacros() => $_has(3); + @$pb.TagNumber(4) + void clearDisableMacros() => clearField(4); +} + +/// Response message for the Parse method. +class ParseResponse extends $pb.GeneratedMessage { + factory ParseResponse({ + $100.ParsedExpr? parsedExpr, + $core.Iterable<$57.Status>? issues, + }) { + final $result = create(); + if (parsedExpr != null) { + $result.parsedExpr = parsedExpr; + } + if (issues != null) { + $result.issues.addAll(issues); + } + return $result; + } + ParseResponse._() : super(); + factory ParseResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ParseResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ParseResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..aOM<$100.ParsedExpr>(1, _omitFieldNames ? '' : 'parsedExpr', + subBuilder: $100.ParsedExpr.create) + ..pc<$57.Status>(2, _omitFieldNames ? '' : 'issues', $pb.PbFieldType.PM, + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ParseResponse clone() => ParseResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ParseResponse copyWith(void Function(ParseResponse) updates) => + super.copyWith((message) => updates(message as ParseResponse)) + as ParseResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ParseResponse create() => ParseResponse._(); + ParseResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ParseResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ParseResponse? _defaultInstance; + + /// The parsed representation, or unset if parsing failed. + @$pb.TagNumber(1) + $100.ParsedExpr get parsedExpr => $_getN(0); + @$pb.TagNumber(1) + set parsedExpr($100.ParsedExpr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasParsedExpr() => $_has(0); + @$pb.TagNumber(1) + void clearParsedExpr() => clearField(1); + @$pb.TagNumber(1) + $100.ParsedExpr ensureParsedExpr() => $_ensure(0); + + /// Any number of issues with [StatusDetails][] as the details. + @$pb.TagNumber(2) + $core.List<$57.Status> get issues => $_getList(1); +} + +/// Request message for the Check method. +class CheckRequest extends $pb.GeneratedMessage { + factory CheckRequest({ + $100.ParsedExpr? parsedExpr, + $core.Iterable<$102.Decl>? typeEnv, + $core.String? container, + $core.bool? noStdEnv, + }) { + final $result = create(); + if (parsedExpr != null) { + $result.parsedExpr = parsedExpr; + } + if (typeEnv != null) { + $result.typeEnv.addAll(typeEnv); + } + if (container != null) { + $result.container = container; + } + if (noStdEnv != null) { + $result.noStdEnv = noStdEnv; + } + return $result; + } + CheckRequest._() : super(); + factory CheckRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..aOM<$100.ParsedExpr>(1, _omitFieldNames ? '' : 'parsedExpr', + subBuilder: $100.ParsedExpr.create) + ..pc<$102.Decl>(2, _omitFieldNames ? '' : 'typeEnv', $pb.PbFieldType.PM, + subBuilder: $102.Decl.create) + ..aOS(3, _omitFieldNames ? '' : 'container') + ..aOB(4, _omitFieldNames ? '' : 'noStdEnv') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckRequest clone() => CheckRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckRequest copyWith(void Function(CheckRequest) updates) => + super.copyWith((message) => updates(message as CheckRequest)) + as CheckRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckRequest create() => CheckRequest._(); + CheckRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckRequest? _defaultInstance; + + /// Required. The parsed representation of the CEL program. + @$pb.TagNumber(1) + $100.ParsedExpr get parsedExpr => $_getN(0); + @$pb.TagNumber(1) + set parsedExpr($100.ParsedExpr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasParsedExpr() => $_has(0); + @$pb.TagNumber(1) + void clearParsedExpr() => clearField(1); + @$pb.TagNumber(1) + $100.ParsedExpr ensureParsedExpr() => $_ensure(0); + + /// Declarations of types for external variables and functions. + /// Required if program uses external variables or functions + /// not in the default environment. + @$pb.TagNumber(2) + $core.List<$102.Decl> get typeEnv => $_getList(1); + + /// The protocol buffer context. See "Name Resolution" in the + /// Language Definition. + @$pb.TagNumber(3) + $core.String get container => $_getSZ(2); + @$pb.TagNumber(3) + set container($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasContainer() => $_has(2); + @$pb.TagNumber(3) + void clearContainer() => clearField(3); + + /// If true, use only the declarations in [type_env][google.api.expr.conformance.v1alpha1.CheckRequest.type_env]. If false (default), + /// add declarations for the standard definitions to the type environment. See + /// "Standard Definitions" in the Language Definition. + @$pb.TagNumber(4) + $core.bool get noStdEnv => $_getBF(3); + @$pb.TagNumber(4) + set noStdEnv($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasNoStdEnv() => $_has(3); + @$pb.TagNumber(4) + void clearNoStdEnv() => clearField(4); +} + +/// Response message for the Check method. +class CheckResponse extends $pb.GeneratedMessage { + factory CheckResponse({ + $102.CheckedExpr? checkedExpr, + $core.Iterable<$57.Status>? issues, + }) { + final $result = create(); + if (checkedExpr != null) { + $result.checkedExpr = checkedExpr; + } + if (issues != null) { + $result.issues.addAll(issues); + } + return $result; + } + CheckResponse._() : super(); + factory CheckResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..aOM<$102.CheckedExpr>(1, _omitFieldNames ? '' : 'checkedExpr', + subBuilder: $102.CheckedExpr.create) + ..pc<$57.Status>(2, _omitFieldNames ? '' : 'issues', $pb.PbFieldType.PM, + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckResponse clone() => CheckResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckResponse copyWith(void Function(CheckResponse) updates) => + super.copyWith((message) => updates(message as CheckResponse)) + as CheckResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckResponse create() => CheckResponse._(); + CheckResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckResponse? _defaultInstance; + + /// The annotated representation, or unset if checking failed. + @$pb.TagNumber(1) + $102.CheckedExpr get checkedExpr => $_getN(0); + @$pb.TagNumber(1) + set checkedExpr($102.CheckedExpr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCheckedExpr() => $_has(0); + @$pb.TagNumber(1) + void clearCheckedExpr() => clearField(1); + @$pb.TagNumber(1) + $102.CheckedExpr ensureCheckedExpr() => $_ensure(0); + + /// Any number of issues with [StatusDetails][] as the details. + @$pb.TagNumber(2) + $core.List<$57.Status> get issues => $_getList(1); +} + +enum EvalRequest_ExprKind { parsedExpr, checkedExpr, notSet } + +/// Request message for the Eval method. +class EvalRequest extends $pb.GeneratedMessage { + factory EvalRequest({ + $100.ParsedExpr? parsedExpr, + $102.CheckedExpr? checkedExpr, + $core.Map<$core.String, $103.ExprValue>? bindings, + $core.String? container, + }) { + final $result = create(); + if (parsedExpr != null) { + $result.parsedExpr = parsedExpr; + } + if (checkedExpr != null) { + $result.checkedExpr = checkedExpr; + } + if (bindings != null) { + $result.bindings.addAll(bindings); + } + if (container != null) { + $result.container = container; + } + return $result; + } + EvalRequest._() : super(); + factory EvalRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EvalRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, EvalRequest_ExprKind> + _EvalRequest_ExprKindByTag = { + 1: EvalRequest_ExprKind.parsedExpr, + 2: EvalRequest_ExprKind.checkedExpr, + 0: EvalRequest_ExprKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EvalRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM<$100.ParsedExpr>(1, _omitFieldNames ? '' : 'parsedExpr', + subBuilder: $100.ParsedExpr.create) + ..aOM<$102.CheckedExpr>(2, _omitFieldNames ? '' : 'checkedExpr', + subBuilder: $102.CheckedExpr.create) + ..m<$core.String, $103.ExprValue>(3, _omitFieldNames ? '' : 'bindings', + entryClassName: 'EvalRequest.BindingsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: $103.ExprValue.create, + valueDefaultOrMaker: $103.ExprValue.getDefault, + packageName: + const $pb.PackageName('google.api.expr.conformance.v1alpha1')) + ..aOS(4, _omitFieldNames ? '' : 'container') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EvalRequest clone() => EvalRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EvalRequest copyWith(void Function(EvalRequest) updates) => + super.copyWith((message) => updates(message as EvalRequest)) + as EvalRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EvalRequest create() => EvalRequest._(); + EvalRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EvalRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EvalRequest? _defaultInstance; + + EvalRequest_ExprKind whichExprKind() => + _EvalRequest_ExprKindByTag[$_whichOneof(0)]!; + void clearExprKind() => clearField($_whichOneof(0)); + + /// Evaluate based on the parsed representation. + @$pb.TagNumber(1) + $100.ParsedExpr get parsedExpr => $_getN(0); + @$pb.TagNumber(1) + set parsedExpr($100.ParsedExpr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasParsedExpr() => $_has(0); + @$pb.TagNumber(1) + void clearParsedExpr() => clearField(1); + @$pb.TagNumber(1) + $100.ParsedExpr ensureParsedExpr() => $_ensure(0); + + /// Evaluate based on the checked representation. + @$pb.TagNumber(2) + $102.CheckedExpr get checkedExpr => $_getN(1); + @$pb.TagNumber(2) + set checkedExpr($102.CheckedExpr v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCheckedExpr() => $_has(1); + @$pb.TagNumber(2) + void clearCheckedExpr() => clearField(2); + @$pb.TagNumber(2) + $102.CheckedExpr ensureCheckedExpr() => $_ensure(1); + + /// Bindings for the external variables. The types SHOULD be compatible + /// with the type environment in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked. + @$pb.TagNumber(3) + $core.Map<$core.String, $103.ExprValue> get bindings => $_getMap(2); + + /// SHOULD be the same container as used in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked. + @$pb.TagNumber(4) + $core.String get container => $_getSZ(3); + @$pb.TagNumber(4) + set container($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasContainer() => $_has(3); + @$pb.TagNumber(4) + void clearContainer() => clearField(4); +} + +/// Response message for the Eval method. +class EvalResponse extends $pb.GeneratedMessage { + factory EvalResponse({ + $103.ExprValue? result, + $core.Iterable<$57.Status>? issues, + }) { + final $result = create(); + if (result != null) { + $result.result = result; + } + if (issues != null) { + $result.issues.addAll(issues); + } + return $result; + } + EvalResponse._() : super(); + factory EvalResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EvalResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EvalResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..aOM<$103.ExprValue>(1, _omitFieldNames ? '' : 'result', + subBuilder: $103.ExprValue.create) + ..pc<$57.Status>(2, _omitFieldNames ? '' : 'issues', $pb.PbFieldType.PM, + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EvalResponse clone() => EvalResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EvalResponse copyWith(void Function(EvalResponse) updates) => + super.copyWith((message) => updates(message as EvalResponse)) + as EvalResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EvalResponse create() => EvalResponse._(); + EvalResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EvalResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EvalResponse? _defaultInstance; + + /// The execution result, or unset if execution couldn't start. + @$pb.TagNumber(1) + $103.ExprValue get result => $_getN(0); + @$pb.TagNumber(1) + set result($103.ExprValue v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasResult() => $_has(0); + @$pb.TagNumber(1) + void clearResult() => clearField(1); + @$pb.TagNumber(1) + $103.ExprValue ensureResult() => $_ensure(0); + + /// Any number of issues with [StatusDetails][] as the details. + /// Note that CEL execution errors are reified into [ExprValue][]. + /// Nevertheless, we'll allow out-of-band issues to be raised, + /// which also makes the replies more regular. + @$pb.TagNumber(2) + $core.List<$57.Status> get issues => $_getList(1); +} + +/// A specific position in source. +class SourcePosition extends $pb.GeneratedMessage { + factory SourcePosition({ + $core.String? location, + $core.int? offset, + $core.int? line, + $core.int? column, + }) { + final $result = create(); + if (location != null) { + $result.location = location; + } + if (offset != null) { + $result.offset = offset; + } + if (line != null) { + $result.line = line; + } + if (column != null) { + $result.column = column; + } + return $result; + } + SourcePosition._() : super(); + factory SourcePosition.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourcePosition.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourcePosition', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'location') + ..a<$core.int>(2, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'line', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'column', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourcePosition clone() => SourcePosition()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourcePosition copyWith(void Function(SourcePosition) updates) => + super.copyWith((message) => updates(message as SourcePosition)) + as SourcePosition; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourcePosition create() => SourcePosition._(); + SourcePosition createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourcePosition getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourcePosition? _defaultInstance; + + /// The source location name (e.g. file name). + @$pb.TagNumber(1) + $core.String get location => $_getSZ(0); + @$pb.TagNumber(1) + set location($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLocation() => $_has(0); + @$pb.TagNumber(1) + void clearLocation() => clearField(1); + + /// The UTF-8 code unit offset. + @$pb.TagNumber(2) + $core.int get offset => $_getIZ(1); + @$pb.TagNumber(2) + set offset($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOffset() => $_has(1); + @$pb.TagNumber(2) + void clearOffset() => clearField(2); + + /// The 1-based index of the starting line in the source text + /// where the issue occurs, or 0 if unknown. + @$pb.TagNumber(3) + $core.int get line => $_getIZ(2); + @$pb.TagNumber(3) + set line($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLine() => $_has(2); + @$pb.TagNumber(3) + void clearLine() => clearField(3); + + /// The 0-based index of the starting position within the line of source text + /// where the issue occurs. Only meaningful if line is nonzero. + @$pb.TagNumber(4) + $core.int get column => $_getIZ(3); + @$pb.TagNumber(4) + set column($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasColumn() => $_has(3); + @$pb.TagNumber(4) + void clearColumn() => clearField(4); +} + +/// Warnings or errors in service execution are represented by +/// [google.rpc.Status][google.rpc.Status] messages, with the following message +/// in the details field. +class IssueDetails extends $pb.GeneratedMessage { + factory IssueDetails({ + IssueDetails_Severity? severity, + SourcePosition? position, + $fixnum.Int64? id, + }) { + final $result = create(); + if (severity != null) { + $result.severity = severity; + } + if (position != null) { + $result.position = position; + } + if (id != null) { + $result.id = id; + } + return $result; + } + IssueDetails._() : super(); + factory IssueDetails.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IssueDetails.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'IssueDetails', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.conformance.v1alpha1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'severity', $pb.PbFieldType.OE, + defaultOrMaker: IssueDetails_Severity.SEVERITY_UNSPECIFIED, + valueOf: IssueDetails_Severity.valueOf, + enumValues: IssueDetails_Severity.values) + ..aOM(2, _omitFieldNames ? '' : 'position', + subBuilder: SourcePosition.create) + ..aInt64(3, _omitFieldNames ? '' : 'id') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IssueDetails clone() => IssueDetails()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IssueDetails copyWith(void Function(IssueDetails) updates) => + super.copyWith((message) => updates(message as IssueDetails)) + as IssueDetails; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IssueDetails create() => IssueDetails._(); + IssueDetails createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IssueDetails getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static IssueDetails? _defaultInstance; + + /// The severity of the issue. + @$pb.TagNumber(1) + IssueDetails_Severity get severity => $_getN(0); + @$pb.TagNumber(1) + set severity(IssueDetails_Severity v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasSeverity() => $_has(0); + @$pb.TagNumber(1) + void clearSeverity() => clearField(1); + + /// Position in the source, if known. + @$pb.TagNumber(2) + SourcePosition get position => $_getN(1); + @$pb.TagNumber(2) + set position(SourcePosition v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPosition() => $_has(1); + @$pb.TagNumber(2) + void clearPosition() => clearField(2); + @$pb.TagNumber(2) + SourcePosition ensurePosition() => $_ensure(1); + + /// Expression ID from [Expr][], 0 if unknown. + @$pb.TagNumber(3) + $fixnum.Int64 get id => $_getI64(2); + @$pb.TagNumber(3) + set id($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasId() => $_has(2); + @$pb.TagNumber(3) + void clearId() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbenum.dart new file mode 100644 index 00000000..633fdf39 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbenum.dart @@ -0,0 +1,42 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/conformance/v1alpha1/conformance_service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Severities of issues. +class IssueDetails_Severity extends $pb.ProtobufEnum { + static const IssueDetails_Severity SEVERITY_UNSPECIFIED = + IssueDetails_Severity._(0, _omitEnumNames ? '' : 'SEVERITY_UNSPECIFIED'); + static const IssueDetails_Severity DEPRECATION = + IssueDetails_Severity._(1, _omitEnumNames ? '' : 'DEPRECATION'); + static const IssueDetails_Severity WARNING = + IssueDetails_Severity._(2, _omitEnumNames ? '' : 'WARNING'); + static const IssueDetails_Severity ERROR = + IssueDetails_Severity._(3, _omitEnumNames ? '' : 'ERROR'); + + static const $core.List values = + [ + SEVERITY_UNSPECIFIED, + DEPRECATION, + WARNING, + ERROR, + ]; + + static final $core.Map<$core.int, IssueDetails_Severity> _byValue = + $pb.ProtobufEnum.initByValue(values); + static IssueDetails_Severity? valueOf($core.int value) => _byValue[value]; + + const IssueDetails_Severity._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbgrpc.dart new file mode 100644 index 00000000..fc59533d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbgrpc.dart @@ -0,0 +1,110 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/conformance/v1alpha1/conformance_service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'conformance_service.pb.dart' as $33; + +export 'conformance_service.pb.dart'; + +@$pb.GrpcServiceName('google.api.expr.conformance.v1alpha1.ConformanceService') +class ConformanceServiceClient extends $grpc.Client { + static final _$parse = + $grpc.ClientMethod<$33.ParseRequest, $33.ParseResponse>( + '/google.api.expr.conformance.v1alpha1.ConformanceService/Parse', + ($33.ParseRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $33.ParseResponse.fromBuffer(value)); + static final _$check = + $grpc.ClientMethod<$33.CheckRequest, $33.CheckResponse>( + '/google.api.expr.conformance.v1alpha1.ConformanceService/Check', + ($33.CheckRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $33.CheckResponse.fromBuffer(value)); + static final _$eval = $grpc.ClientMethod<$33.EvalRequest, $33.EvalResponse>( + '/google.api.expr.conformance.v1alpha1.ConformanceService/Eval', + ($33.EvalRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $33.EvalResponse.fromBuffer(value)); + + ConformanceServiceClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$33.ParseResponse> parse($33.ParseRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$parse, request, options: options); + } + + $grpc.ResponseFuture<$33.CheckResponse> check($33.CheckRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$check, request, options: options); + } + + $grpc.ResponseFuture<$33.EvalResponse> eval($33.EvalRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$eval, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.expr.conformance.v1alpha1.ConformanceService') +abstract class ConformanceServiceBase extends $grpc.Service { + $core.String get $name => + 'google.api.expr.conformance.v1alpha1.ConformanceService'; + + ConformanceServiceBase() { + $addMethod($grpc.ServiceMethod<$33.ParseRequest, $33.ParseResponse>( + 'Parse', + parse_Pre, + false, + false, + ($core.List<$core.int> value) => $33.ParseRequest.fromBuffer(value), + ($33.ParseResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$33.CheckRequest, $33.CheckResponse>( + 'Check', + check_Pre, + false, + false, + ($core.List<$core.int> value) => $33.CheckRequest.fromBuffer(value), + ($33.CheckResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$33.EvalRequest, $33.EvalResponse>( + 'Eval', + eval_Pre, + false, + false, + ($core.List<$core.int> value) => $33.EvalRequest.fromBuffer(value), + ($33.EvalResponse value) => value.writeToBuffer())); + } + + $async.Future<$33.ParseResponse> parse_Pre( + $grpc.ServiceCall call, $async.Future<$33.ParseRequest> request) async { + return parse(call, await request); + } + + $async.Future<$33.CheckResponse> check_Pre( + $grpc.ServiceCall call, $async.Future<$33.CheckRequest> request) async { + return check(call, await request); + } + + $async.Future<$33.EvalResponse> eval_Pre( + $grpc.ServiceCall call, $async.Future<$33.EvalRequest> request) async { + return eval(call, await request); + } + + $async.Future<$33.ParseResponse> parse( + $grpc.ServiceCall call, $33.ParseRequest request); + $async.Future<$33.CheckResponse> check( + $grpc.ServiceCall call, $33.CheckRequest request); + $async.Future<$33.EvalResponse> eval( + $grpc.ServiceCall call, $33.EvalRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbjson.dart new file mode 100644 index 00000000..d146fa4b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/conformance/v1alpha1/conformance_service.pbjson.dart @@ -0,0 +1,278 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/conformance/v1alpha1/conformance_service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use parseRequestDescriptor instead') +const ParseRequest$json = { + '1': 'ParseRequest', + '2': [ + {'1': 'cel_source', '3': 1, '4': 1, '5': 9, '10': 'celSource'}, + {'1': 'syntax_version', '3': 2, '4': 1, '5': 9, '10': 'syntaxVersion'}, + {'1': 'source_location', '3': 3, '4': 1, '5': 9, '10': 'sourceLocation'}, + {'1': 'disable_macros', '3': 4, '4': 1, '5': 8, '10': 'disableMacros'}, + ], +}; + +/// Descriptor for `ParseRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List parseRequestDescriptor = $convert.base64Decode( + 'CgxQYXJzZVJlcXVlc3QSHQoKY2VsX3NvdXJjZRgBIAEoCVIJY2VsU291cmNlEiUKDnN5bnRheF' + '92ZXJzaW9uGAIgASgJUg1zeW50YXhWZXJzaW9uEicKD3NvdXJjZV9sb2NhdGlvbhgDIAEoCVIO' + 'c291cmNlTG9jYXRpb24SJQoOZGlzYWJsZV9tYWNyb3MYBCABKAhSDWRpc2FibGVNYWNyb3M='); + +@$core.Deprecated('Use parseResponseDescriptor instead') +const ParseResponse$json = { + '1': 'ParseResponse', + '2': [ + { + '1': 'parsed_expr', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ParsedExpr', + '10': 'parsedExpr' + }, + { + '1': 'issues', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.rpc.Status', + '10': 'issues' + }, + ], +}; + +/// Descriptor for `ParseResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List parseResponseDescriptor = $convert.base64Decode( + 'Cg1QYXJzZVJlc3BvbnNlEkUKC3BhcnNlZF9leHByGAEgASgLMiQuZ29vZ2xlLmFwaS5leHByLn' + 'YxYWxwaGExLlBhcnNlZEV4cHJSCnBhcnNlZEV4cHISKgoGaXNzdWVzGAIgAygLMhIuZ29vZ2xl' + 'LnJwYy5TdGF0dXNSBmlzc3Vlcw=='); + +@$core.Deprecated('Use checkRequestDescriptor instead') +const CheckRequest$json = { + '1': 'CheckRequest', + '2': [ + { + '1': 'parsed_expr', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ParsedExpr', + '10': 'parsedExpr' + }, + { + '1': 'type_env', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Decl', + '10': 'typeEnv' + }, + {'1': 'container', '3': 3, '4': 1, '5': 9, '10': 'container'}, + {'1': 'no_std_env', '3': 4, '4': 1, '5': 8, '10': 'noStdEnv'}, + ], +}; + +/// Descriptor for `CheckRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkRequestDescriptor = $convert.base64Decode( + 'CgxDaGVja1JlcXVlc3QSRQoLcGFyc2VkX2V4cHIYASABKAsyJC5nb29nbGUuYXBpLmV4cHIudj' + 'FhbHBoYTEuUGFyc2VkRXhwclIKcGFyc2VkRXhwchI5Cgh0eXBlX2VudhgCIAMoCzIeLmdvb2ds' + 'ZS5hcGkuZXhwci52MWFscGhhMS5EZWNsUgd0eXBlRW52EhwKCWNvbnRhaW5lchgDIAEoCVIJY2' + '9udGFpbmVyEhwKCm5vX3N0ZF9lbnYYBCABKAhSCG5vU3RkRW52'); + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse$json = { + '1': 'CheckResponse', + '2': [ + { + '1': 'checked_expr', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.CheckedExpr', + '10': 'checkedExpr' + }, + { + '1': 'issues', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.rpc.Status', + '10': 'issues' + }, + ], +}; + +/// Descriptor for `CheckResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkResponseDescriptor = $convert.base64Decode( + 'Cg1DaGVja1Jlc3BvbnNlEkgKDGNoZWNrZWRfZXhwchgBIAEoCzIlLmdvb2dsZS5hcGkuZXhwci' + '52MWFscGhhMS5DaGVja2VkRXhwclILY2hlY2tlZEV4cHISKgoGaXNzdWVzGAIgAygLMhIuZ29v' + 'Z2xlLnJwYy5TdGF0dXNSBmlzc3Vlcw=='); + +@$core.Deprecated('Use evalRequestDescriptor instead') +const EvalRequest$json = { + '1': 'EvalRequest', + '2': [ + { + '1': 'parsed_expr', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ParsedExpr', + '9': 0, + '10': 'parsedExpr' + }, + { + '1': 'checked_expr', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.CheckedExpr', + '9': 0, + '10': 'checkedExpr' + }, + { + '1': 'bindings', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.expr.conformance.v1alpha1.EvalRequest.BindingsEntry', + '10': 'bindings' + }, + {'1': 'container', '3': 4, '4': 1, '5': 9, '10': 'container'}, + ], + '3': [EvalRequest_BindingsEntry$json], + '8': [ + {'1': 'expr_kind'}, + ], +}; + +@$core.Deprecated('Use evalRequestDescriptor instead') +const EvalRequest_BindingsEntry$json = { + '1': 'BindingsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ExprValue', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `EvalRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List evalRequestDescriptor = $convert.base64Decode( + 'CgtFdmFsUmVxdWVzdBJHCgtwYXJzZWRfZXhwchgBIAEoCzIkLmdvb2dsZS5hcGkuZXhwci52MW' + 'FscGhhMS5QYXJzZWRFeHBySABSCnBhcnNlZEV4cHISSgoMY2hlY2tlZF9leHByGAIgASgLMiUu' + 'Z29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkNoZWNrZWRFeHBySABSC2NoZWNrZWRFeHByElsKCG' + 'JpbmRpbmdzGAMgAygLMj8uZ29vZ2xlLmFwaS5leHByLmNvbmZvcm1hbmNlLnYxYWxwaGExLkV2' + 'YWxSZXF1ZXN0LkJpbmRpbmdzRW50cnlSCGJpbmRpbmdzEhwKCWNvbnRhaW5lchgEIAEoCVIJY2' + '9udGFpbmVyGmAKDUJpbmRpbmdzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSOQoFdmFsdWUYAiAB' + 'KAsyIy5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRXhwclZhbHVlUgV2YWx1ZToCOAFCCwoJZX' + 'hwcl9raW5k'); + +@$core.Deprecated('Use evalResponseDescriptor instead') +const EvalResponse$json = { + '1': 'EvalResponse', + '2': [ + { + '1': 'result', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ExprValue', + '10': 'result' + }, + { + '1': 'issues', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.rpc.Status', + '10': 'issues' + }, + ], +}; + +/// Descriptor for `EvalResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List evalResponseDescriptor = $convert.base64Decode( + 'CgxFdmFsUmVzcG9uc2USOwoGcmVzdWx0GAEgASgLMiMuZ29vZ2xlLmFwaS5leHByLnYxYWxwaG' + 'ExLkV4cHJWYWx1ZVIGcmVzdWx0EioKBmlzc3VlcxgCIAMoCzISLmdvb2dsZS5ycGMuU3RhdHVz' + 'UgZpc3N1ZXM='); + +@$core.Deprecated('Use sourcePositionDescriptor instead') +const SourcePosition$json = { + '1': 'SourcePosition', + '2': [ + {'1': 'location', '3': 1, '4': 1, '5': 9, '10': 'location'}, + {'1': 'offset', '3': 2, '4': 1, '5': 5, '10': 'offset'}, + {'1': 'line', '3': 3, '4': 1, '5': 5, '10': 'line'}, + {'1': 'column', '3': 4, '4': 1, '5': 5, '10': 'column'}, + ], +}; + +/// Descriptor for `SourcePosition`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourcePositionDescriptor = $convert.base64Decode( + 'Cg5Tb3VyY2VQb3NpdGlvbhIaCghsb2NhdGlvbhgBIAEoCVIIbG9jYXRpb24SFgoGb2Zmc2V0GA' + 'IgASgFUgZvZmZzZXQSEgoEbGluZRgDIAEoBVIEbGluZRIWCgZjb2x1bW4YBCABKAVSBmNvbHVt' + 'bg=='); + +@$core.Deprecated('Use issueDetailsDescriptor instead') +const IssueDetails$json = { + '1': 'IssueDetails', + '2': [ + { + '1': 'severity', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.api.expr.conformance.v1alpha1.IssueDetails.Severity', + '10': 'severity' + }, + { + '1': 'position', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.conformance.v1alpha1.SourcePosition', + '10': 'position' + }, + {'1': 'id', '3': 3, '4': 1, '5': 3, '10': 'id'}, + ], + '4': [IssueDetails_Severity$json], +}; + +@$core.Deprecated('Use issueDetailsDescriptor instead') +const IssueDetails_Severity$json = { + '1': 'Severity', + '2': [ + {'1': 'SEVERITY_UNSPECIFIED', '2': 0}, + {'1': 'DEPRECATION', '2': 1}, + {'1': 'WARNING', '2': 2}, + {'1': 'ERROR', '2': 3}, + ], +}; + +/// Descriptor for `IssueDetails`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List issueDetailsDescriptor = $convert.base64Decode( + 'CgxJc3N1ZURldGFpbHMSVwoIc2V2ZXJpdHkYASABKA4yOy5nb29nbGUuYXBpLmV4cHIuY29uZm' + '9ybWFuY2UudjFhbHBoYTEuSXNzdWVEZXRhaWxzLlNldmVyaXR5UghzZXZlcml0eRJQCghwb3Np' + 'dGlvbhgCIAEoCzI0Lmdvb2dsZS5hcGkuZXhwci5jb25mb3JtYW5jZS52MWFscGhhMS5Tb3VyY2' + 'VQb3NpdGlvblIIcG9zaXRpb24SDgoCaWQYAyABKANSAmlkIk0KCFNldmVyaXR5EhgKFFNFVkVS' + 'SVRZX1VOU1BFQ0lGSUVEEAASDwoLREVQUkVDQVRJT04QARILCgdXQVJOSU5HEAISCQoFRVJST1' + 'IQAw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pb.dart new file mode 100644 index 00000000..85b33475 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pb.dart @@ -0,0 +1,1427 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/checked.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/empty.pb.dart' as $1; +import '../../../protobuf/struct.pbenum.dart' as $48; +import 'checked.pbenum.dart'; +import 'syntax.pb.dart' as $100; + +export 'checked.pbenum.dart'; + +/// A CEL expression which has been successfully type checked. +class CheckedExpr extends $pb.GeneratedMessage { + factory CheckedExpr({ + $core.Map<$fixnum.Int64, Reference>? referenceMap, + $core.Map<$fixnum.Int64, Type>? typeMap, + $100.Expr? expr, + $100.SourceInfo? sourceInfo, + $core.String? exprVersion, + }) { + final $result = create(); + if (referenceMap != null) { + $result.referenceMap.addAll(referenceMap); + } + if (typeMap != null) { + $result.typeMap.addAll(typeMap); + } + if (expr != null) { + $result.expr = expr; + } + if (sourceInfo != null) { + $result.sourceInfo = sourceInfo; + } + if (exprVersion != null) { + $result.exprVersion = exprVersion; + } + return $result; + } + CheckedExpr._() : super(); + factory CheckedExpr.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckedExpr.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckedExpr', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..m<$fixnum.Int64, Reference>(2, _omitFieldNames ? '' : 'referenceMap', + entryClassName: 'CheckedExpr.ReferenceMapEntry', + keyFieldType: $pb.PbFieldType.O6, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Reference.create, + valueDefaultOrMaker: Reference.getDefault, + packageName: const $pb.PackageName('google.api.expr.v1alpha1')) + ..m<$fixnum.Int64, Type>(3, _omitFieldNames ? '' : 'typeMap', + entryClassName: 'CheckedExpr.TypeMapEntry', + keyFieldType: $pb.PbFieldType.O6, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Type.create, + valueDefaultOrMaker: Type.getDefault, + packageName: const $pb.PackageName('google.api.expr.v1alpha1')) + ..aOM<$100.Expr>(4, _omitFieldNames ? '' : 'expr', + subBuilder: $100.Expr.create) + ..aOM<$100.SourceInfo>(5, _omitFieldNames ? '' : 'sourceInfo', + subBuilder: $100.SourceInfo.create) + ..aOS(6, _omitFieldNames ? '' : 'exprVersion') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckedExpr clone() => CheckedExpr()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckedExpr copyWith(void Function(CheckedExpr) updates) => + super.copyWith((message) => updates(message as CheckedExpr)) + as CheckedExpr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckedExpr create() => CheckedExpr._(); + CheckedExpr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckedExpr getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckedExpr? _defaultInstance; + + /// A map from expression ids to resolved references. + /// + /// The following entries are in this table: + /// + /// - An Ident or Select expression is represented here if it resolves to a + /// declaration. For instance, if `a.b.c` is represented by + /// `select(select(id(a), b), c)`, and `a.b` resolves to a declaration, + /// while `c` is a field selection, then the reference is attached to the + /// nested select expression (but not to the id or or the outer select). + /// In turn, if `a` resolves to a declaration and `b.c` are field selections, + /// the reference is attached to the ident expression. + /// - Every Call expression has an entry here, identifying the function being + /// called. + /// - Every CreateStruct expression for a message has an entry, identifying + /// the message. + @$pb.TagNumber(2) + $core.Map<$fixnum.Int64, Reference> get referenceMap => $_getMap(0); + + /// A map from expression ids to types. + /// + /// Every expression node which has a type different than DYN has a mapping + /// here. If an expression has type DYN, it is omitted from this map to save + /// space. + @$pb.TagNumber(3) + $core.Map<$fixnum.Int64, Type> get typeMap => $_getMap(1); + + /// The checked expression. Semantically equivalent to the parsed `expr`, but + /// may have structural differences. + @$pb.TagNumber(4) + $100.Expr get expr => $_getN(2); + @$pb.TagNumber(4) + set expr($100.Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasExpr() => $_has(2); + @$pb.TagNumber(4) + void clearExpr() => clearField(4); + @$pb.TagNumber(4) + $100.Expr ensureExpr() => $_ensure(2); + + /// The source info derived from input that generated the parsed `expr` and + /// any optimizations made during the type-checking pass. + @$pb.TagNumber(5) + $100.SourceInfo get sourceInfo => $_getN(3); + @$pb.TagNumber(5) + set sourceInfo($100.SourceInfo v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSourceInfo() => $_has(3); + @$pb.TagNumber(5) + void clearSourceInfo() => clearField(5); + @$pb.TagNumber(5) + $100.SourceInfo ensureSourceInfo() => $_ensure(3); + + /// The expr version indicates the major / minor version number of the `expr` + /// representation. + /// + /// The most common reason for a version change will be to indicate to the CEL + /// runtimes that transformations have been performed on the expr during static + /// analysis. In some cases, this will save the runtime the work of applying + /// the same or similar transformations prior to evaluation. + @$pb.TagNumber(6) + $core.String get exprVersion => $_getSZ(4); + @$pb.TagNumber(6) + set exprVersion($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasExprVersion() => $_has(4); + @$pb.TagNumber(6) + void clearExprVersion() => clearField(6); +} + +/// List type with typed elements, e.g. `list`. +class Type_ListType extends $pb.GeneratedMessage { + factory Type_ListType({ + Type? elemType, + }) { + final $result = create(); + if (elemType != null) { + $result.elemType = elemType; + } + return $result; + } + Type_ListType._() : super(); + factory Type_ListType.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Type_ListType.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Type.ListType', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'elemType', subBuilder: Type.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Type_ListType clone() => Type_ListType()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Type_ListType copyWith(void Function(Type_ListType) updates) => + super.copyWith((message) => updates(message as Type_ListType)) + as Type_ListType; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Type_ListType create() => Type_ListType._(); + Type_ListType createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Type_ListType getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Type_ListType? _defaultInstance; + + /// The element type. + @$pb.TagNumber(1) + Type get elemType => $_getN(0); + @$pb.TagNumber(1) + set elemType(Type v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasElemType() => $_has(0); + @$pb.TagNumber(1) + void clearElemType() => clearField(1); + @$pb.TagNumber(1) + Type ensureElemType() => $_ensure(0); +} + +/// Map type with parameterized key and value types, e.g. `map`. +class Type_MapType extends $pb.GeneratedMessage { + factory Type_MapType({ + Type? keyType, + Type? valueType, + }) { + final $result = create(); + if (keyType != null) { + $result.keyType = keyType; + } + if (valueType != null) { + $result.valueType = valueType; + } + return $result; + } + Type_MapType._() : super(); + factory Type_MapType.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Type_MapType.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Type.MapType', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'keyType', subBuilder: Type.create) + ..aOM(2, _omitFieldNames ? '' : 'valueType', subBuilder: Type.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Type_MapType clone() => Type_MapType()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Type_MapType copyWith(void Function(Type_MapType) updates) => + super.copyWith((message) => updates(message as Type_MapType)) + as Type_MapType; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Type_MapType create() => Type_MapType._(); + Type_MapType createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Type_MapType getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Type_MapType? _defaultInstance; + + /// The type of the key. + @$pb.TagNumber(1) + Type get keyType => $_getN(0); + @$pb.TagNumber(1) + set keyType(Type v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasKeyType() => $_has(0); + @$pb.TagNumber(1) + void clearKeyType() => clearField(1); + @$pb.TagNumber(1) + Type ensureKeyType() => $_ensure(0); + + /// The type of the value. + @$pb.TagNumber(2) + Type get valueType => $_getN(1); + @$pb.TagNumber(2) + set valueType(Type v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValueType() => $_has(1); + @$pb.TagNumber(2) + void clearValueType() => clearField(2); + @$pb.TagNumber(2) + Type ensureValueType() => $_ensure(1); +} + +/// Function type with result and arg types. +class Type_FunctionType extends $pb.GeneratedMessage { + factory Type_FunctionType({ + Type? resultType, + $core.Iterable? argTypes, + }) { + final $result = create(); + if (resultType != null) { + $result.resultType = resultType; + } + if (argTypes != null) { + $result.argTypes.addAll(argTypes); + } + return $result; + } + Type_FunctionType._() : super(); + factory Type_FunctionType.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Type_FunctionType.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Type.FunctionType', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'resultType', subBuilder: Type.create) + ..pc(2, _omitFieldNames ? '' : 'argTypes', $pb.PbFieldType.PM, + subBuilder: Type.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Type_FunctionType clone() => Type_FunctionType()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Type_FunctionType copyWith(void Function(Type_FunctionType) updates) => + super.copyWith((message) => updates(message as Type_FunctionType)) + as Type_FunctionType; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Type_FunctionType create() => Type_FunctionType._(); + Type_FunctionType createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Type_FunctionType getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Type_FunctionType? _defaultInstance; + + /// Result type of the function. + @$pb.TagNumber(1) + Type get resultType => $_getN(0); + @$pb.TagNumber(1) + set resultType(Type v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasResultType() => $_has(0); + @$pb.TagNumber(1) + void clearResultType() => clearField(1); + @$pb.TagNumber(1) + Type ensureResultType() => $_ensure(0); + + /// Argument types of the function. + @$pb.TagNumber(2) + $core.List get argTypes => $_getList(1); +} + +/// Application defined abstract type. +class Type_AbstractType extends $pb.GeneratedMessage { + factory Type_AbstractType({ + $core.String? name, + $core.Iterable? parameterTypes, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (parameterTypes != null) { + $result.parameterTypes.addAll(parameterTypes); + } + return $result; + } + Type_AbstractType._() : super(); + factory Type_AbstractType.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Type_AbstractType.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Type.AbstractType', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc(2, _omitFieldNames ? '' : 'parameterTypes', $pb.PbFieldType.PM, + subBuilder: Type.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Type_AbstractType clone() => Type_AbstractType()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Type_AbstractType copyWith(void Function(Type_AbstractType) updates) => + super.copyWith((message) => updates(message as Type_AbstractType)) + as Type_AbstractType; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Type_AbstractType create() => Type_AbstractType._(); + Type_AbstractType createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Type_AbstractType getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Type_AbstractType? _defaultInstance; + + /// The fully qualified name of this abstract type. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Parameter types for this abstract type. + @$pb.TagNumber(2) + $core.List get parameterTypes => $_getList(1); +} + +enum Type_TypeKind { + dyn, + null_2, + primitive, + wrapper, + wellKnown, + listType, + mapType, + function, + messageType, + typeParam, + type, + error, + abstractType, + notSet +} + +/// Represents a CEL type. +class Type extends $pb.GeneratedMessage { + factory Type({ + $1.Empty? dyn, + $48.NullValue? null_2, + Type_PrimitiveType? primitive, + Type_PrimitiveType? wrapper, + Type_WellKnownType? wellKnown, + Type_ListType? listType, + Type_MapType? mapType, + Type_FunctionType? function, + $core.String? messageType, + $core.String? typeParam, + Type? type, + $1.Empty? error, + Type_AbstractType? abstractType, + }) { + final $result = create(); + if (dyn != null) { + $result.dyn = dyn; + } + if (null_2 != null) { + $result.null_2 = null_2; + } + if (primitive != null) { + $result.primitive = primitive; + } + if (wrapper != null) { + $result.wrapper = wrapper; + } + if (wellKnown != null) { + $result.wellKnown = wellKnown; + } + if (listType != null) { + $result.listType = listType; + } + if (mapType != null) { + $result.mapType = mapType; + } + if (function != null) { + $result.function = function; + } + if (messageType != null) { + $result.messageType = messageType; + } + if (typeParam != null) { + $result.typeParam = typeParam; + } + if (type != null) { + $result.type = type; + } + if (error != null) { + $result.error = error; + } + if (abstractType != null) { + $result.abstractType = abstractType; + } + return $result; + } + Type._() : super(); + factory Type.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Type.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Type_TypeKind> _Type_TypeKindByTag = { + 1: Type_TypeKind.dyn, + 2: Type_TypeKind.null_2, + 3: Type_TypeKind.primitive, + 4: Type_TypeKind.wrapper, + 5: Type_TypeKind.wellKnown, + 6: Type_TypeKind.listType, + 7: Type_TypeKind.mapType, + 8: Type_TypeKind.function, + 9: Type_TypeKind.messageType, + 10: Type_TypeKind.typeParam, + 11: Type_TypeKind.type, + 12: Type_TypeKind.error, + 14: Type_TypeKind.abstractType, + 0: Type_TypeKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Type', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14]) + ..aOM<$1.Empty>(1, _omitFieldNames ? '' : 'dyn', + subBuilder: $1.Empty.create) + ..e<$48.NullValue>(2, _omitFieldNames ? '' : 'null', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..e( + 3, _omitFieldNames ? '' : 'primitive', $pb.PbFieldType.OE, + defaultOrMaker: Type_PrimitiveType.PRIMITIVE_TYPE_UNSPECIFIED, + valueOf: Type_PrimitiveType.valueOf, + enumValues: Type_PrimitiveType.values) + ..e( + 4, _omitFieldNames ? '' : 'wrapper', $pb.PbFieldType.OE, + defaultOrMaker: Type_PrimitiveType.PRIMITIVE_TYPE_UNSPECIFIED, + valueOf: Type_PrimitiveType.valueOf, + enumValues: Type_PrimitiveType.values) + ..e( + 5, _omitFieldNames ? '' : 'wellKnown', $pb.PbFieldType.OE, + defaultOrMaker: Type_WellKnownType.WELL_KNOWN_TYPE_UNSPECIFIED, + valueOf: Type_WellKnownType.valueOf, + enumValues: Type_WellKnownType.values) + ..aOM(6, _omitFieldNames ? '' : 'listType', + subBuilder: Type_ListType.create) + ..aOM(7, _omitFieldNames ? '' : 'mapType', + subBuilder: Type_MapType.create) + ..aOM(8, _omitFieldNames ? '' : 'function', + subBuilder: Type_FunctionType.create) + ..aOS(9, _omitFieldNames ? '' : 'messageType') + ..aOS(10, _omitFieldNames ? '' : 'typeParam') + ..aOM(11, _omitFieldNames ? '' : 'type', subBuilder: Type.create) + ..aOM<$1.Empty>(12, _omitFieldNames ? '' : 'error', + subBuilder: $1.Empty.create) + ..aOM(14, _omitFieldNames ? '' : 'abstractType', + subBuilder: Type_AbstractType.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Type clone() => Type()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Type copyWith(void Function(Type) updates) => + super.copyWith((message) => updates(message as Type)) as Type; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Type create() => Type._(); + Type createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Type getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Type? _defaultInstance; + + Type_TypeKind whichTypeKind() => _Type_TypeKindByTag[$_whichOneof(0)]!; + void clearTypeKind() => clearField($_whichOneof(0)); + + /// Dynamic type. + @$pb.TagNumber(1) + $1.Empty get dyn => $_getN(0); + @$pb.TagNumber(1) + set dyn($1.Empty v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasDyn() => $_has(0); + @$pb.TagNumber(1) + void clearDyn() => clearField(1); + @$pb.TagNumber(1) + $1.Empty ensureDyn() => $_ensure(0); + + /// Null value. + @$pb.TagNumber(2) + $48.NullValue get null_2 => $_getN(1); + @$pb.TagNumber(2) + set null_2($48.NullValue v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasNull_2() => $_has(1); + @$pb.TagNumber(2) + void clearNull_2() => clearField(2); + + /// Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`. + @$pb.TagNumber(3) + Type_PrimitiveType get primitive => $_getN(2); + @$pb.TagNumber(3) + set primitive(Type_PrimitiveType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasPrimitive() => $_has(2); + @$pb.TagNumber(3) + void clearPrimitive() => clearField(3); + + /// Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`. + @$pb.TagNumber(4) + Type_PrimitiveType get wrapper => $_getN(3); + @$pb.TagNumber(4) + set wrapper(Type_PrimitiveType v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasWrapper() => $_has(3); + @$pb.TagNumber(4) + void clearWrapper() => clearField(4); + + /// Well-known protobuf type such as `google.protobuf.Timestamp`. + @$pb.TagNumber(5) + Type_WellKnownType get wellKnown => $_getN(4); + @$pb.TagNumber(5) + set wellKnown(Type_WellKnownType v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasWellKnown() => $_has(4); + @$pb.TagNumber(5) + void clearWellKnown() => clearField(5); + + /// Parameterized list with elements of `list_type`, e.g. `list`. + @$pb.TagNumber(6) + Type_ListType get listType => $_getN(5); + @$pb.TagNumber(6) + set listType(Type_ListType v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasListType() => $_has(5); + @$pb.TagNumber(6) + void clearListType() => clearField(6); + @$pb.TagNumber(6) + Type_ListType ensureListType() => $_ensure(5); + + /// Parameterized map with typed keys and values. + @$pb.TagNumber(7) + Type_MapType get mapType => $_getN(6); + @$pb.TagNumber(7) + set mapType(Type_MapType v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasMapType() => $_has(6); + @$pb.TagNumber(7) + void clearMapType() => clearField(7); + @$pb.TagNumber(7) + Type_MapType ensureMapType() => $_ensure(6); + + /// Function type. + @$pb.TagNumber(8) + Type_FunctionType get function => $_getN(7); + @$pb.TagNumber(8) + set function(Type_FunctionType v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasFunction() => $_has(7); + @$pb.TagNumber(8) + void clearFunction() => clearField(8); + @$pb.TagNumber(8) + Type_FunctionType ensureFunction() => $_ensure(7); + + /// Protocol buffer message type. + /// + /// The `message_type` string specifies the qualified message type name. For + /// example, `google.plus.Profile`. + @$pb.TagNumber(9) + $core.String get messageType => $_getSZ(8); + @$pb.TagNumber(9) + set messageType($core.String v) { + $_setString(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasMessageType() => $_has(8); + @$pb.TagNumber(9) + void clearMessageType() => clearField(9); + + /// Type param type. + /// + /// The `type_param` string specifies the type parameter name, e.g. `list` + /// would be a `list_type` whose element type was a `type_param` type + /// named `E`. + @$pb.TagNumber(10) + $core.String get typeParam => $_getSZ(9); + @$pb.TagNumber(10) + set typeParam($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasTypeParam() => $_has(9); + @$pb.TagNumber(10) + void clearTypeParam() => clearField(10); + + /// Type type. + /// + /// The `type` value specifies the target type. e.g. int is type with a + /// target type of `Primitive.INT`. + @$pb.TagNumber(11) + Type get type => $_getN(10); + @$pb.TagNumber(11) + set type(Type v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasType() => $_has(10); + @$pb.TagNumber(11) + void clearType() => clearField(11); + @$pb.TagNumber(11) + Type ensureType() => $_ensure(10); + + /// Error type. + /// + /// During type-checking if an expression is an error, its type is propagated + /// as the `ERROR` type. This permits the type-checker to discover other + /// errors present in the expression. + @$pb.TagNumber(12) + $1.Empty get error => $_getN(11); + @$pb.TagNumber(12) + set error($1.Empty v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasError() => $_has(11); + @$pb.TagNumber(12) + void clearError() => clearField(12); + @$pb.TagNumber(12) + $1.Empty ensureError() => $_ensure(11); + + /// Abstract, application defined type. + @$pb.TagNumber(14) + Type_AbstractType get abstractType => $_getN(12); + @$pb.TagNumber(14) + set abstractType(Type_AbstractType v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasAbstractType() => $_has(12); + @$pb.TagNumber(14) + void clearAbstractType() => clearField(14); + @$pb.TagNumber(14) + Type_AbstractType ensureAbstractType() => $_ensure(12); +} + +/// Identifier declaration which specifies its type and optional `Expr` value. +/// +/// An identifier without a value is a declaration that must be provided at +/// evaluation time. An identifier with a value should resolve to a constant, +/// but may be used in conjunction with other identifiers bound at evaluation +/// time. +class Decl_IdentDecl extends $pb.GeneratedMessage { + factory Decl_IdentDecl({ + Type? type, + $100.Constant? value, + $core.String? doc, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (value != null) { + $result.value = value; + } + if (doc != null) { + $result.doc = doc; + } + return $result; + } + Decl_IdentDecl._() : super(); + factory Decl_IdentDecl.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Decl_IdentDecl.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Decl.IdentDecl', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'type', subBuilder: Type.create) + ..aOM<$100.Constant>(2, _omitFieldNames ? '' : 'value', + subBuilder: $100.Constant.create) + ..aOS(3, _omitFieldNames ? '' : 'doc') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Decl_IdentDecl clone() => Decl_IdentDecl()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Decl_IdentDecl copyWith(void Function(Decl_IdentDecl) updates) => + super.copyWith((message) => updates(message as Decl_IdentDecl)) + as Decl_IdentDecl; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Decl_IdentDecl create() => Decl_IdentDecl._(); + Decl_IdentDecl createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Decl_IdentDecl getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Decl_IdentDecl? _defaultInstance; + + /// Required. The type of the identifier. + @$pb.TagNumber(1) + Type get type => $_getN(0); + @$pb.TagNumber(1) + set type(Type v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(1); + @$pb.TagNumber(1) + Type ensureType() => $_ensure(0); + + /// The constant value of the identifier. If not specified, the identifier + /// must be supplied at evaluation time. + @$pb.TagNumber(2) + $100.Constant get value => $_getN(1); + @$pb.TagNumber(2) + set value($100.Constant v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + @$pb.TagNumber(2) + $100.Constant ensureValue() => $_ensure(1); + + /// Documentation string for the identifier. + @$pb.TagNumber(3) + $core.String get doc => $_getSZ(2); + @$pb.TagNumber(3) + set doc($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDoc() => $_has(2); + @$pb.TagNumber(3) + void clearDoc() => clearField(3); +} + +/// An overload indicates a function's parameter types and return type, and +/// may optionally include a function body described in terms of +/// [Expr][google.api.expr.v1alpha1.Expr] values. +/// +/// Functions overloads are declared in either a function or method +/// call-style. For methods, the `params[0]` is the expected type of the +/// target receiver. +/// +/// Overloads must have non-overlapping argument types after erasure of all +/// parameterized type variables (similar as type erasure in Java). +class Decl_FunctionDecl_Overload extends $pb.GeneratedMessage { + factory Decl_FunctionDecl_Overload({ + $core.String? overloadId, + $core.Iterable? params, + $core.Iterable<$core.String>? typeParams, + Type? resultType, + $core.bool? isInstanceFunction, + $core.String? doc, + }) { + final $result = create(); + if (overloadId != null) { + $result.overloadId = overloadId; + } + if (params != null) { + $result.params.addAll(params); + } + if (typeParams != null) { + $result.typeParams.addAll(typeParams); + } + if (resultType != null) { + $result.resultType = resultType; + } + if (isInstanceFunction != null) { + $result.isInstanceFunction = isInstanceFunction; + } + if (doc != null) { + $result.doc = doc; + } + return $result; + } + Decl_FunctionDecl_Overload._() : super(); + factory Decl_FunctionDecl_Overload.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Decl_FunctionDecl_Overload.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Decl.FunctionDecl.Overload', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'overloadId') + ..pc(2, _omitFieldNames ? '' : 'params', $pb.PbFieldType.PM, + subBuilder: Type.create) + ..pPS(3, _omitFieldNames ? '' : 'typeParams') + ..aOM(4, _omitFieldNames ? '' : 'resultType', subBuilder: Type.create) + ..aOB(5, _omitFieldNames ? '' : 'isInstanceFunction') + ..aOS(6, _omitFieldNames ? '' : 'doc') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Decl_FunctionDecl_Overload clone() => + Decl_FunctionDecl_Overload()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Decl_FunctionDecl_Overload copyWith( + void Function(Decl_FunctionDecl_Overload) updates) => + super.copyWith( + (message) => updates(message as Decl_FunctionDecl_Overload)) + as Decl_FunctionDecl_Overload; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Decl_FunctionDecl_Overload create() => Decl_FunctionDecl_Overload._(); + Decl_FunctionDecl_Overload createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Decl_FunctionDecl_Overload getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Decl_FunctionDecl_Overload? _defaultInstance; + + /// Required. Globally unique overload name of the function which reflects + /// the function name and argument types. + /// + /// This will be used by a [Reference][google.api.expr.v1alpha1.Reference] + /// to indicate the `overload_id` that was resolved for the function + /// `name`. + @$pb.TagNumber(1) + $core.String get overloadId => $_getSZ(0); + @$pb.TagNumber(1) + set overloadId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOverloadId() => $_has(0); + @$pb.TagNumber(1) + void clearOverloadId() => clearField(1); + + /// List of function parameter [Type][google.api.expr.v1alpha1.Type] + /// values. + /// + /// Param types are disjoint after generic type parameters have been + /// replaced with the type `DYN`. Since the `DYN` type is compatible with + /// any other type, this means that if `A` is a type parameter, the + /// function types `int` and `int` are not disjoint. Likewise, + /// `map` is not disjoint from `map`. + /// + /// When the `result_type` of a function is a generic type param, the + /// type param name also appears as the `type` of on at least one params. + @$pb.TagNumber(2) + $core.List get params => $_getList(1); + + /// The type param names associated with the function declaration. + /// + /// For example, `function ex(K key, map map) : V` would yield + /// the type params of `K, V`. + @$pb.TagNumber(3) + $core.List<$core.String> get typeParams => $_getList(2); + + /// Required. The result type of the function. For example, the operator + /// `string.isEmpty()` would have `result_type` of `kind: BOOL`. + @$pb.TagNumber(4) + Type get resultType => $_getN(3); + @$pb.TagNumber(4) + set resultType(Type v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasResultType() => $_has(3); + @$pb.TagNumber(4) + void clearResultType() => clearField(4); + @$pb.TagNumber(4) + Type ensureResultType() => $_ensure(3); + + /// Whether the function is to be used in a method call-style `x.f(...)` + /// or a function call-style `f(x, ...)`. + /// + /// For methods, the first parameter declaration, `params[0]` is the + /// expected type of the target receiver. + @$pb.TagNumber(5) + $core.bool get isInstanceFunction => $_getBF(4); + @$pb.TagNumber(5) + set isInstanceFunction($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasIsInstanceFunction() => $_has(4); + @$pb.TagNumber(5) + void clearIsInstanceFunction() => clearField(5); + + /// Documentation string for the overload. + @$pb.TagNumber(6) + $core.String get doc => $_getSZ(5); + @$pb.TagNumber(6) + set doc($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasDoc() => $_has(5); + @$pb.TagNumber(6) + void clearDoc() => clearField(6); +} + +/// Function declaration specifies one or more overloads which indicate the +/// function's parameter types and return type. +/// +/// Functions have no observable side-effects (there may be side-effects like +/// logging which are not observable from CEL). +class Decl_FunctionDecl extends $pb.GeneratedMessage { + factory Decl_FunctionDecl({ + $core.Iterable? overloads, + }) { + final $result = create(); + if (overloads != null) { + $result.overloads.addAll(overloads); + } + return $result; + } + Decl_FunctionDecl._() : super(); + factory Decl_FunctionDecl.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Decl_FunctionDecl.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Decl.FunctionDecl', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'overloads', $pb.PbFieldType.PM, + subBuilder: Decl_FunctionDecl_Overload.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Decl_FunctionDecl clone() => Decl_FunctionDecl()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Decl_FunctionDecl copyWith(void Function(Decl_FunctionDecl) updates) => + super.copyWith((message) => updates(message as Decl_FunctionDecl)) + as Decl_FunctionDecl; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Decl_FunctionDecl create() => Decl_FunctionDecl._(); + Decl_FunctionDecl createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Decl_FunctionDecl getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Decl_FunctionDecl? _defaultInstance; + + /// Required. List of function overloads, must contain at least one overload. + @$pb.TagNumber(1) + $core.List get overloads => $_getList(0); +} + +enum Decl_DeclKind { ident, function, notSet } + +/// Represents a declaration of a named value or function. +/// +/// A declaration is part of the contract between the expression, the agent +/// evaluating that expression, and the caller requesting evaluation. +class Decl extends $pb.GeneratedMessage { + factory Decl({ + $core.String? name, + Decl_IdentDecl? ident, + Decl_FunctionDecl? function, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (ident != null) { + $result.ident = ident; + } + if (function != null) { + $result.function = function; + } + return $result; + } + Decl._() : super(); + factory Decl.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Decl.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Decl_DeclKind> _Decl_DeclKindByTag = { + 2: Decl_DeclKind.ident, + 3: Decl_DeclKind.function, + 0: Decl_DeclKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Decl', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'ident', + subBuilder: Decl_IdentDecl.create) + ..aOM(3, _omitFieldNames ? '' : 'function', + subBuilder: Decl_FunctionDecl.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Decl clone() => Decl()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Decl copyWith(void Function(Decl) updates) => + super.copyWith((message) => updates(message as Decl)) as Decl; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Decl create() => Decl._(); + Decl createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Decl getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Decl? _defaultInstance; + + Decl_DeclKind whichDeclKind() => _Decl_DeclKindByTag[$_whichOneof(0)]!; + void clearDeclKind() => clearField($_whichOneof(0)); + + /// The fully qualified name of the declaration. + /// + /// Declarations are organized in containers and this represents the full path + /// to the declaration in its container, as in `google.api.expr.Decl`. + /// + /// Declarations used as + /// [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] + /// parameters may or may not have a name depending on whether the overload is + /// function declaration or a function definition containing a result + /// [Expr][google.api.expr.v1alpha1.Expr]. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Identifier declaration. + @$pb.TagNumber(2) + Decl_IdentDecl get ident => $_getN(1); + @$pb.TagNumber(2) + set ident(Decl_IdentDecl v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasIdent() => $_has(1); + @$pb.TagNumber(2) + void clearIdent() => clearField(2); + @$pb.TagNumber(2) + Decl_IdentDecl ensureIdent() => $_ensure(1); + + /// Function declaration. + @$pb.TagNumber(3) + Decl_FunctionDecl get function => $_getN(2); + @$pb.TagNumber(3) + set function(Decl_FunctionDecl v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasFunction() => $_has(2); + @$pb.TagNumber(3) + void clearFunction() => clearField(3); + @$pb.TagNumber(3) + Decl_FunctionDecl ensureFunction() => $_ensure(2); +} + +/// Describes a resolved reference to a declaration. +class Reference extends $pb.GeneratedMessage { + factory Reference({ + $core.String? name, + $core.Iterable<$core.String>? overloadId, + $100.Constant? value, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (overloadId != null) { + $result.overloadId.addAll(overloadId); + } + if (value != null) { + $result.value = value; + } + return $result; + } + Reference._() : super(); + factory Reference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Reference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Reference', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pPS(3, _omitFieldNames ? '' : 'overloadId') + ..aOM<$100.Constant>(4, _omitFieldNames ? '' : 'value', + subBuilder: $100.Constant.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Reference clone() => Reference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Reference copyWith(void Function(Reference) updates) => + super.copyWith((message) => updates(message as Reference)) as Reference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Reference create() => Reference._(); + Reference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Reference getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Reference? _defaultInstance; + + /// The fully qualified name of the declaration. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// For references to functions, this is a list of `Overload.overload_id` + /// values which match according to typing rules. + /// + /// If the list has more than one element, overload resolution among the + /// presented candidates must happen at runtime because of dynamic types. The + /// type checker attempts to narrow down this list as much as possible. + /// + /// Empty if this is not a reference to a + /// [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl]. + @$pb.TagNumber(3) + $core.List<$core.String> get overloadId => $_getList(1); + + /// For references to constants, this may contain the value of the + /// constant if known at compile time. + @$pb.TagNumber(4) + $100.Constant get value => $_getN(2); + @$pb.TagNumber(4) + set value($100.Constant v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasValue() => $_has(2); + @$pb.TagNumber(4) + void clearValue() => clearField(4); + @$pb.TagNumber(4) + $100.Constant ensureValue() => $_ensure(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pbenum.dart new file mode 100644 index 00000000..78bc71c8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pbenum.dart @@ -0,0 +1,77 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/checked.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// CEL primitive types. +class Type_PrimitiveType extends $pb.ProtobufEnum { + static const Type_PrimitiveType PRIMITIVE_TYPE_UNSPECIFIED = + Type_PrimitiveType._( + 0, _omitEnumNames ? '' : 'PRIMITIVE_TYPE_UNSPECIFIED'); + static const Type_PrimitiveType BOOL = + Type_PrimitiveType._(1, _omitEnumNames ? '' : 'BOOL'); + static const Type_PrimitiveType INT64 = + Type_PrimitiveType._(2, _omitEnumNames ? '' : 'INT64'); + static const Type_PrimitiveType UINT64 = + Type_PrimitiveType._(3, _omitEnumNames ? '' : 'UINT64'); + static const Type_PrimitiveType DOUBLE = + Type_PrimitiveType._(4, _omitEnumNames ? '' : 'DOUBLE'); + static const Type_PrimitiveType STRING = + Type_PrimitiveType._(5, _omitEnumNames ? '' : 'STRING'); + static const Type_PrimitiveType BYTES = + Type_PrimitiveType._(6, _omitEnumNames ? '' : 'BYTES'); + + static const $core.List values = [ + PRIMITIVE_TYPE_UNSPECIFIED, + BOOL, + INT64, + UINT64, + DOUBLE, + STRING, + BYTES, + ]; + + static final $core.Map<$core.int, Type_PrimitiveType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Type_PrimitiveType? valueOf($core.int value) => _byValue[value]; + + const Type_PrimitiveType._($core.int v, $core.String n) : super(v, n); +} + +/// Well-known protobuf types treated with first-class support in CEL. +class Type_WellKnownType extends $pb.ProtobufEnum { + static const Type_WellKnownType WELL_KNOWN_TYPE_UNSPECIFIED = + Type_WellKnownType._( + 0, _omitEnumNames ? '' : 'WELL_KNOWN_TYPE_UNSPECIFIED'); + static const Type_WellKnownType ANY = + Type_WellKnownType._(1, _omitEnumNames ? '' : 'ANY'); + static const Type_WellKnownType TIMESTAMP = + Type_WellKnownType._(2, _omitEnumNames ? '' : 'TIMESTAMP'); + static const Type_WellKnownType DURATION = + Type_WellKnownType._(3, _omitEnumNames ? '' : 'DURATION'); + + static const $core.List values = [ + WELL_KNOWN_TYPE_UNSPECIFIED, + ANY, + TIMESTAMP, + DURATION, + ]; + + static final $core.Map<$core.int, Type_WellKnownType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Type_WellKnownType? valueOf($core.int value) => _byValue[value]; + + const Type_WellKnownType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pbjson.dart new file mode 100644 index 00000000..cc5bebac --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/checked.pbjson.dart @@ -0,0 +1,494 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/checked.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use checkedExprDescriptor instead') +const CheckedExpr$json = { + '1': 'CheckedExpr', + '2': [ + { + '1': 'reference_map', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry', + '10': 'referenceMap' + }, + { + '1': 'type_map', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry', + '10': 'typeMap' + }, + { + '1': 'source_info', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.SourceInfo', + '10': 'sourceInfo' + }, + {'1': 'expr_version', '3': 6, '4': 1, '5': 9, '10': 'exprVersion'}, + { + '1': 'expr', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'expr' + }, + ], + '3': [CheckedExpr_ReferenceMapEntry$json, CheckedExpr_TypeMapEntry$json], +}; + +@$core.Deprecated('Use checkedExprDescriptor instead') +const CheckedExpr_ReferenceMapEntry$json = { + '1': 'ReferenceMapEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 3, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Reference', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use checkedExprDescriptor instead') +const CheckedExpr_TypeMapEntry$json = { + '1': 'TypeMapEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 3, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `CheckedExpr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkedExprDescriptor = $convert.base64Decode( + 'CgtDaGVja2VkRXhwchJcCg1yZWZlcmVuY2VfbWFwGAIgAygLMjcuZ29vZ2xlLmFwaS5leHByLn' + 'YxYWxwaGExLkNoZWNrZWRFeHByLlJlZmVyZW5jZU1hcEVudHJ5UgxyZWZlcmVuY2VNYXASTQoI' + 'dHlwZV9tYXAYAyADKAsyMi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuQ2hlY2tlZEV4cHIuVH' + 'lwZU1hcEVudHJ5Ugd0eXBlTWFwEkUKC3NvdXJjZV9pbmZvGAUgASgLMiQuZ29vZ2xlLmFwaS5l' + 'eHByLnYxYWxwaGExLlNvdXJjZUluZm9SCnNvdXJjZUluZm8SIQoMZXhwcl92ZXJzaW9uGAYgAS' + 'gJUgtleHByVmVyc2lvbhIyCgRleHByGAQgASgLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGEx' + 'LkV4cHJSBGV4cHIaZAoRUmVmZXJlbmNlTWFwRW50cnkSEAoDa2V5GAEgASgDUgNrZXkSOQoFdm' + 'FsdWUYAiABKAsyIy5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuUmVmZXJlbmNlUgV2YWx1ZToC' + 'OAEaWgoMVHlwZU1hcEVudHJ5EhAKA2tleRgBIAEoA1IDa2V5EjQKBXZhbHVlGAIgASgLMh4uZ2' + '9vZ2xlLmFwaS5leHByLnYxYWxwaGExLlR5cGVSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use typeDescriptor instead') +const Type$json = { + '1': 'Type', + '2': [ + { + '1': 'dyn', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Empty', + '9': 0, + '10': 'dyn' + }, + { + '1': 'null', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'null' + }, + { + '1': 'primitive', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.api.expr.v1alpha1.Type.PrimitiveType', + '9': 0, + '10': 'primitive' + }, + { + '1': 'wrapper', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.expr.v1alpha1.Type.PrimitiveType', + '9': 0, + '10': 'wrapper' + }, + { + '1': 'well_known', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.api.expr.v1alpha1.Type.WellKnownType', + '9': 0, + '10': 'wellKnown' + }, + { + '1': 'list_type', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type.ListType', + '9': 0, + '10': 'listType' + }, + { + '1': 'map_type', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type.MapType', + '9': 0, + '10': 'mapType' + }, + { + '1': 'function', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type.FunctionType', + '9': 0, + '10': 'function' + }, + {'1': 'message_type', '3': 9, '4': 1, '5': 9, '9': 0, '10': 'messageType'}, + {'1': 'type_param', '3': 10, '4': 1, '5': 9, '9': 0, '10': 'typeParam'}, + { + '1': 'type', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '9': 0, + '10': 'type' + }, + { + '1': 'error', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.protobuf.Empty', + '9': 0, + '10': 'error' + }, + { + '1': 'abstract_type', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type.AbstractType', + '9': 0, + '10': 'abstractType' + }, + ], + '3': [ + Type_ListType$json, + Type_MapType$json, + Type_FunctionType$json, + Type_AbstractType$json + ], + '4': [Type_PrimitiveType$json, Type_WellKnownType$json], + '8': [ + {'1': 'type_kind'}, + ], +}; + +@$core.Deprecated('Use typeDescriptor instead') +const Type_ListType$json = { + '1': 'ListType', + '2': [ + { + '1': 'elem_type', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'elemType' + }, + ], +}; + +@$core.Deprecated('Use typeDescriptor instead') +const Type_MapType$json = { + '1': 'MapType', + '2': [ + { + '1': 'key_type', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'keyType' + }, + { + '1': 'value_type', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'valueType' + }, + ], +}; + +@$core.Deprecated('Use typeDescriptor instead') +const Type_FunctionType$json = { + '1': 'FunctionType', + '2': [ + { + '1': 'result_type', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'resultType' + }, + { + '1': 'arg_types', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'argTypes' + }, + ], +}; + +@$core.Deprecated('Use typeDescriptor instead') +const Type_AbstractType$json = { + '1': 'AbstractType', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'parameter_types', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'parameterTypes' + }, + ], +}; + +@$core.Deprecated('Use typeDescriptor instead') +const Type_PrimitiveType$json = { + '1': 'PrimitiveType', + '2': [ + {'1': 'PRIMITIVE_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'BOOL', '2': 1}, + {'1': 'INT64', '2': 2}, + {'1': 'UINT64', '2': 3}, + {'1': 'DOUBLE', '2': 4}, + {'1': 'STRING', '2': 5}, + {'1': 'BYTES', '2': 6}, + ], +}; + +@$core.Deprecated('Use typeDescriptor instead') +const Type_WellKnownType$json = { + '1': 'WellKnownType', + '2': [ + {'1': 'WELL_KNOWN_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'ANY', '2': 1}, + {'1': 'TIMESTAMP', '2': 2}, + {'1': 'DURATION', '2': 3}, + ], +}; + +/// Descriptor for `Type`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List typeDescriptor = $convert.base64Decode( + 'CgRUeXBlEioKA2R5bhgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAUgNkeW4SMAoEbn' + 'VsbBgCIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIEbnVsbBJMCglwcmltaXRp' + 'dmUYAyABKA4yLC5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuVHlwZS5QcmltaXRpdmVUeXBlSA' + 'BSCXByaW1pdGl2ZRJICgd3cmFwcGVyGAQgASgOMiwuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGEx' + 'LlR5cGUuUHJpbWl0aXZlVHlwZUgAUgd3cmFwcGVyEk0KCndlbGxfa25vd24YBSABKA4yLC5nb2' + '9nbGUuYXBpLmV4cHIudjFhbHBoYTEuVHlwZS5XZWxsS25vd25UeXBlSABSCXdlbGxLbm93bhJG' + 'CglsaXN0X3R5cGUYBiABKAsyJy5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuVHlwZS5MaXN0VH' + 'lwZUgAUghsaXN0VHlwZRJDCghtYXBfdHlwZRgHIAEoCzImLmdvb2dsZS5hcGkuZXhwci52MWFs' + 'cGhhMS5UeXBlLk1hcFR5cGVIAFIHbWFwVHlwZRJJCghmdW5jdGlvbhgIIAEoCzIrLmdvb2dsZS' + '5hcGkuZXhwci52MWFscGhhMS5UeXBlLkZ1bmN0aW9uVHlwZUgAUghmdW5jdGlvbhIjCgxtZXNz' + 'YWdlX3R5cGUYCSABKAlIAFILbWVzc2FnZVR5cGUSHwoKdHlwZV9wYXJhbRgKIAEoCUgAUgl0eX' + 'BlUGFyYW0SNAoEdHlwZRgLIAEoCzIeLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5UeXBlSABS' + 'BHR5cGUSLgoFZXJyb3IYDCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAFIFZXJyb3ISUg' + 'oNYWJzdHJhY3RfdHlwZRgOIAEoCzIrLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5UeXBlLkFi' + 'c3RyYWN0VHlwZUgAUgxhYnN0cmFjdFR5cGUaRwoITGlzdFR5cGUSOwoJZWxlbV90eXBlGAEgAS' + 'gLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLlR5cGVSCGVsZW1UeXBlGoMBCgdNYXBUeXBl' + 'EjkKCGtleV90eXBlGAEgASgLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLlR5cGVSB2tleV' + 'R5cGUSPQoKdmFsdWVfdHlwZRgCIAEoCzIeLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5UeXBl' + 'Ugl2YWx1ZVR5cGUajAEKDEZ1bmN0aW9uVHlwZRI/CgtyZXN1bHRfdHlwZRgBIAEoCzIeLmdvb2' + 'dsZS5hcGkuZXhwci52MWFscGhhMS5UeXBlUgpyZXN1bHRUeXBlEjsKCWFyZ190eXBlcxgCIAMo' + 'CzIeLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5UeXBlUghhcmdUeXBlcxprCgxBYnN0cmFjdF' + 'R5cGUSEgoEbmFtZRgBIAEoCVIEbmFtZRJHCg9wYXJhbWV0ZXJfdHlwZXMYAiADKAsyHi5nb29n' + 'bGUuYXBpLmV4cHIudjFhbHBoYTEuVHlwZVIOcGFyYW1ldGVyVHlwZXMicwoNUHJpbWl0aXZlVH' + 'lwZRIeChpQUklNSVRJVkVfVFlQRV9VTlNQRUNJRklFRBAAEggKBEJPT0wQARIJCgVJTlQ2NBAC' + 'EgoKBlVJTlQ2NBADEgoKBkRPVUJMRRAEEgoKBlNUUklORxAFEgkKBUJZVEVTEAYiVgoNV2VsbE' + 'tub3duVHlwZRIfChtXRUxMX0tOT1dOX1RZUEVfVU5TUEVDSUZJRUQQABIHCgNBTlkQARINCglU' + 'SU1FU1RBTVAQAhIMCghEVVJBVElPThADQgsKCXR5cGVfa2luZA=='); + +@$core.Deprecated('Use declDescriptor instead') +const Decl$json = { + '1': 'Decl', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'ident', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Decl.IdentDecl', + '9': 0, + '10': 'ident' + }, + { + '1': 'function', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Decl.FunctionDecl', + '9': 0, + '10': 'function' + }, + ], + '3': [Decl_IdentDecl$json, Decl_FunctionDecl$json], + '8': [ + {'1': 'decl_kind'}, + ], +}; + +@$core.Deprecated('Use declDescriptor instead') +const Decl_IdentDecl$json = { + '1': 'IdentDecl', + '2': [ + { + '1': 'type', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'type' + }, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Constant', + '10': 'value' + }, + {'1': 'doc', '3': 3, '4': 1, '5': 9, '10': 'doc'}, + ], +}; + +@$core.Deprecated('Use declDescriptor instead') +const Decl_FunctionDecl$json = { + '1': 'FunctionDecl', + '2': [ + { + '1': 'overloads', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Decl.FunctionDecl.Overload', + '10': 'overloads' + }, + ], + '3': [Decl_FunctionDecl_Overload$json], +}; + +@$core.Deprecated('Use declDescriptor instead') +const Decl_FunctionDecl_Overload$json = { + '1': 'Overload', + '2': [ + {'1': 'overload_id', '3': 1, '4': 1, '5': 9, '10': 'overloadId'}, + { + '1': 'params', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'params' + }, + {'1': 'type_params', '3': 3, '4': 3, '5': 9, '10': 'typeParams'}, + { + '1': 'result_type', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Type', + '10': 'resultType' + }, + { + '1': 'is_instance_function', + '3': 5, + '4': 1, + '5': 8, + '10': 'isInstanceFunction' + }, + {'1': 'doc', '3': 6, '4': 1, '5': 9, '10': 'doc'}, + ], +}; + +/// Descriptor for `Decl`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List declDescriptor = $convert.base64Decode( + 'CgREZWNsEhIKBG5hbWUYASABKAlSBG5hbWUSQAoFaWRlbnQYAiABKAsyKC5nb29nbGUuYXBpLm' + 'V4cHIudjFhbHBoYTEuRGVjbC5JZGVudERlY2xIAFIFaWRlbnQSSQoIZnVuY3Rpb24YAyABKAsy' + 'Ky5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRGVjbC5GdW5jdGlvbkRlY2xIAFIIZnVuY3Rpb2' + '4aiwEKCUlkZW50RGVjbBIyCgR0eXBlGAEgASgLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGEx' + 'LlR5cGVSBHR5cGUSOAoFdmFsdWUYAiABKAsyIi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuQ2' + '9uc3RhbnRSBXZhbHVlEhAKA2RvYxgDIAEoCVIDZG9jGu4CCgxGdW5jdGlvbkRlY2wSUgoJb3Zl' + 'cmxvYWRzGAEgAygLMjQuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkRlY2wuRnVuY3Rpb25EZW' + 'NsLk92ZXJsb2FkUglvdmVybG9hZHMaiQIKCE92ZXJsb2FkEh8KC292ZXJsb2FkX2lkGAEgASgJ' + 'UgpvdmVybG9hZElkEjYKBnBhcmFtcxgCIAMoCzIeLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS' + '5UeXBlUgZwYXJhbXMSHwoLdHlwZV9wYXJhbXMYAyADKAlSCnR5cGVQYXJhbXMSPwoLcmVzdWx0' + 'X3R5cGUYBCABKAsyHi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuVHlwZVIKcmVzdWx0VHlwZR' + 'IwChRpc19pbnN0YW5jZV9mdW5jdGlvbhgFIAEoCFISaXNJbnN0YW5jZUZ1bmN0aW9uEhAKA2Rv' + 'YxgGIAEoCVIDZG9jQgsKCWRlY2xfa2luZA=='); + +@$core.Deprecated('Use referenceDescriptor instead') +const Reference$json = { + '1': 'Reference', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'overload_id', '3': 3, '4': 3, '5': 9, '10': 'overloadId'}, + { + '1': 'value', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Constant', + '10': 'value' + }, + ], +}; + +/// Descriptor for `Reference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List referenceDescriptor = $convert.base64Decode( + 'CglSZWZlcmVuY2USEgoEbmFtZRgBIAEoCVIEbmFtZRIfCgtvdmVybG9hZF9pZBgDIAMoCVIKb3' + 'ZlcmxvYWRJZBI4CgV2YWx1ZRgEIAEoCzIiLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5Db25z' + 'dGFudFIFdmFsdWU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pb.dart new file mode 100644 index 00000000..5f7eddb7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pb.dart @@ -0,0 +1,442 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/eval.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../rpc/status.pb.dart' as $57; +import 'value.pb.dart' as $101; + +/// A single evalution result. +class EvalState_Result extends $pb.GeneratedMessage { + factory EvalState_Result({ + $fixnum.Int64? expr, + $fixnum.Int64? value, + }) { + final $result = create(); + if (expr != null) { + $result.expr = expr; + } + if (value != null) { + $result.value = value; + } + return $result; + } + EvalState_Result._() : super(); + factory EvalState_Result.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EvalState_Result.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EvalState.Result', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'expr') + ..aInt64(2, _omitFieldNames ? '' : 'value') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EvalState_Result clone() => EvalState_Result()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EvalState_Result copyWith(void Function(EvalState_Result) updates) => + super.copyWith((message) => updates(message as EvalState_Result)) + as EvalState_Result; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EvalState_Result create() => EvalState_Result._(); + EvalState_Result createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EvalState_Result getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EvalState_Result? _defaultInstance; + + /// The id of the expression this result if for. + @$pb.TagNumber(1) + $fixnum.Int64 get expr => $_getI64(0); + @$pb.TagNumber(1) + set expr($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasExpr() => $_has(0); + @$pb.TagNumber(1) + void clearExpr() => clearField(1); + + /// The index in `values` of the resulting value. + @$pb.TagNumber(2) + $fixnum.Int64 get value => $_getI64(1); + @$pb.TagNumber(2) + set value($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +/// The state of an evaluation. +/// +/// Can represent an inital, partial, or completed state of evaluation. +class EvalState extends $pb.GeneratedMessage { + factory EvalState({ + $core.Iterable? values, + $core.Iterable? results, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + if (results != null) { + $result.results.addAll(results); + } + return $result; + } + EvalState._() : super(); + factory EvalState.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EvalState.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EvalState', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: ExprValue.create) + ..pc( + 3, _omitFieldNames ? '' : 'results', $pb.PbFieldType.PM, + subBuilder: EvalState_Result.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EvalState clone() => EvalState()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EvalState copyWith(void Function(EvalState) updates) => + super.copyWith((message) => updates(message as EvalState)) as EvalState; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EvalState create() => EvalState._(); + EvalState createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EvalState getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EvalState? _defaultInstance; + + /// The unique values referenced in this message. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); + + /// An ordered list of results. + /// + /// Tracks the flow of evaluation through the expression. + /// May be sparse. + @$pb.TagNumber(3) + $core.List get results => $_getList(1); +} + +enum ExprValue_Kind { value, error, unknown, notSet } + +/// The value of an evaluated expression. +class ExprValue extends $pb.GeneratedMessage { + factory ExprValue({ + $101.Value? value, + ErrorSet? error, + UnknownSet? unknown, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (error != null) { + $result.error = error; + } + if (unknown != null) { + $result.unknown = unknown; + } + return $result; + } + ExprValue._() : super(); + factory ExprValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExprValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, ExprValue_Kind> _ExprValue_KindByTag = { + 1: ExprValue_Kind.value, + 2: ExprValue_Kind.error, + 3: ExprValue_Kind.unknown, + 0: ExprValue_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExprValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3]) + ..aOM<$101.Value>(1, _omitFieldNames ? '' : 'value', + subBuilder: $101.Value.create) + ..aOM(2, _omitFieldNames ? '' : 'error', + subBuilder: ErrorSet.create) + ..aOM(3, _omitFieldNames ? '' : 'unknown', + subBuilder: UnknownSet.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprValue clone() => ExprValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprValue copyWith(void Function(ExprValue) updates) => + super.copyWith((message) => updates(message as ExprValue)) as ExprValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprValue create() => ExprValue._(); + ExprValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprValue? _defaultInstance; + + ExprValue_Kind whichKind() => _ExprValue_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// A concrete value. + @$pb.TagNumber(1) + $101.Value get value => $_getN(0); + @$pb.TagNumber(1) + set value($101.Value v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); + @$pb.TagNumber(1) + $101.Value ensureValue() => $_ensure(0); + + /// The set of errors in the critical path of evalution. + /// + /// Only errors in the critical path are included. For example, + /// `( || true) && ` will only result in ``, + /// while ` || ` will result in both `` and + /// ``. + /// + /// Errors cause by the presence of other errors are not included in the + /// set. For example `.foo`, `foo()`, and ` + 1` will + /// only result in ``. + /// + /// Multiple errors *might* be included when evaluation could result + /// in different errors. For example ` + ` and + /// `foo(, )` may result in ``, `` or both. + /// The exact subset of errors included for this case is unspecified and + /// depends on the implementation details of the evaluator. + @$pb.TagNumber(2) + ErrorSet get error => $_getN(1); + @$pb.TagNumber(2) + set error(ErrorSet v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasError() => $_has(1); + @$pb.TagNumber(2) + void clearError() => clearField(2); + @$pb.TagNumber(2) + ErrorSet ensureError() => $_ensure(1); + + /// The set of unknowns in the critical path of evaluation. + /// + /// Unknown behaves identically to Error with regards to propagation. + /// Specifically, only unknowns in the critical path are included, unknowns + /// caused by the presence of other unknowns are not included, and multiple + /// unknowns *might* be included included when evaluation could result in + /// different unknowns. For example: + /// + /// ( || true) && -> + /// || -> + /// .foo -> + /// foo() -> + /// + -> or + /// + /// Unknown takes precidence over Error in cases where a `Value` can short + /// circuit the result: + /// + /// || -> + /// && -> + /// + /// Errors take precidence in all other cases: + /// + /// + -> + /// foo(, ) -> + @$pb.TagNumber(3) + UnknownSet get unknown => $_getN(2); + @$pb.TagNumber(3) + set unknown(UnknownSet v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUnknown() => $_has(2); + @$pb.TagNumber(3) + void clearUnknown() => clearField(3); + @$pb.TagNumber(3) + UnknownSet ensureUnknown() => $_ensure(2); +} + +/// A set of errors. +/// +/// The errors included depend on the context. See `ExprValue.error`. +class ErrorSet extends $pb.GeneratedMessage { + factory ErrorSet({ + $core.Iterable<$57.Status>? errors, + }) { + final $result = create(); + if (errors != null) { + $result.errors.addAll(errors); + } + return $result; + } + ErrorSet._() : super(); + factory ErrorSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ErrorSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ErrorSet', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc<$57.Status>(1, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.PM, + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ErrorSet clone() => ErrorSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ErrorSet copyWith(void Function(ErrorSet) updates) => + super.copyWith((message) => updates(message as ErrorSet)) as ErrorSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ErrorSet create() => ErrorSet._(); + ErrorSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ErrorSet getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ErrorSet? _defaultInstance; + + /// The errors in the set. + @$pb.TagNumber(1) + $core.List<$57.Status> get errors => $_getList(0); +} + +/// A set of expressions for which the value is unknown. +/// +/// The unknowns included depend on the context. See `ExprValue.unknown`. +class UnknownSet extends $pb.GeneratedMessage { + factory UnknownSet({ + $core.Iterable<$fixnum.Int64>? exprs, + }) { + final $result = create(); + if (exprs != null) { + $result.exprs.addAll(exprs); + } + return $result; + } + UnknownSet._() : super(); + factory UnknownSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UnknownSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UnknownSet', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'exprs', $pb.PbFieldType.K6) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UnknownSet clone() => UnknownSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UnknownSet copyWith(void Function(UnknownSet) updates) => + super.copyWith((message) => updates(message as UnknownSet)) as UnknownSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UnknownSet create() => UnknownSet._(); + UnknownSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UnknownSet getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UnknownSet? _defaultInstance; + + /// The ids of the expressions with unknown values. + @$pb.TagNumber(1) + $core.List<$fixnum.Int64> get exprs => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pbenum.dart new file mode 100644 index 00000000..eb64ef1b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/eval.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pbjson.dart new file mode 100644 index 00000000..b9c8cfba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/eval.pbjson.dart @@ -0,0 +1,129 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/eval.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use evalStateDescriptor instead') +const EvalState$json = { + '1': 'EvalState', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.ExprValue', + '10': 'values' + }, + { + '1': 'results', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.EvalState.Result', + '10': 'results' + }, + ], + '3': [EvalState_Result$json], +}; + +@$core.Deprecated('Use evalStateDescriptor instead') +const EvalState_Result$json = { + '1': 'Result', + '2': [ + {'1': 'expr', '3': 1, '4': 1, '5': 3, '10': 'expr'}, + {'1': 'value', '3': 2, '4': 1, '5': 3, '10': 'value'}, + ], +}; + +/// Descriptor for `EvalState`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List evalStateDescriptor = $convert.base64Decode( + 'CglFdmFsU3RhdGUSOwoGdmFsdWVzGAEgAygLMiMuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLk' + 'V4cHJWYWx1ZVIGdmFsdWVzEkQKB3Jlc3VsdHMYAyADKAsyKi5nb29nbGUuYXBpLmV4cHIudjFh' + 'bHBoYTEuRXZhbFN0YXRlLlJlc3VsdFIHcmVzdWx0cxoyCgZSZXN1bHQSEgoEZXhwchgBIAEoA1' + 'IEZXhwchIUCgV2YWx1ZRgCIAEoA1IFdmFsdWU='); + +@$core.Deprecated('Use exprValueDescriptor instead') +const ExprValue$json = { + '1': 'ExprValue', + '2': [ + { + '1': 'value', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Value', + '9': 0, + '10': 'value' + }, + { + '1': 'error', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ErrorSet', + '9': 0, + '10': 'error' + }, + { + '1': 'unknown', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.UnknownSet', + '9': 0, + '10': 'unknown' + }, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `ExprValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprValueDescriptor = $convert.base64Decode( + 'CglFeHByVmFsdWUSNwoFdmFsdWUYASABKAsyHy5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuVm' + 'FsdWVIAFIFdmFsdWUSOgoFZXJyb3IYAiABKAsyIi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEu' + 'RXJyb3JTZXRIAFIFZXJyb3ISQAoHdW5rbm93bhgDIAEoCzIkLmdvb2dsZS5hcGkuZXhwci52MW' + 'FscGhhMS5Vbmtub3duU2V0SABSB3Vua25vd25CBgoEa2luZA=='); + +@$core.Deprecated('Use errorSetDescriptor instead') +const ErrorSet$json = { + '1': 'ErrorSet', + '2': [ + { + '1': 'errors', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.rpc.Status', + '10': 'errors' + }, + ], +}; + +/// Descriptor for `ErrorSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List errorSetDescriptor = $convert.base64Decode( + 'CghFcnJvclNldBIqCgZlcnJvcnMYASADKAsyEi5nb29nbGUucnBjLlN0YXR1c1IGZXJyb3Jz'); + +@$core.Deprecated('Use unknownSetDescriptor instead') +const UnknownSet$json = { + '1': 'UnknownSet', + '2': [ + {'1': 'exprs', '3': 1, '4': 3, '5': 3, '10': 'exprs'}, + ], +}; + +/// Descriptor for `UnknownSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List unknownSetDescriptor = + $convert.base64Decode('CgpVbmtub3duU2V0EhQKBWV4cHJzGAEgAygDUgVleHBycw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pb.dart new file mode 100644 index 00000000..0730aac9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pb.dart @@ -0,0 +1,176 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/explain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'value.pb.dart' as $101; + +/// ID and value index of one step. +class Explain_ExprStep extends $pb.GeneratedMessage { + factory Explain_ExprStep({ + $fixnum.Int64? id, + $core.int? valueIndex, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (valueIndex != null) { + $result.valueIndex = valueIndex; + } + return $result; + } + Explain_ExprStep._() : super(); + factory Explain_ExprStep.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Explain_ExprStep.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Explain.ExprStep', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'id') + ..a<$core.int>(2, _omitFieldNames ? '' : 'valueIndex', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Explain_ExprStep clone() => Explain_ExprStep()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Explain_ExprStep copyWith(void Function(Explain_ExprStep) updates) => + super.copyWith((message) => updates(message as Explain_ExprStep)) + as Explain_ExprStep; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Explain_ExprStep create() => Explain_ExprStep._(); + Explain_ExprStep createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Explain_ExprStep getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Explain_ExprStep? _defaultInstance; + + /// ID of corresponding Expr node. + @$pb.TagNumber(1) + $fixnum.Int64 get id => $_getI64(0); + @$pb.TagNumber(1) + set id($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// Index of the value in the values list. + @$pb.TagNumber(2) + $core.int get valueIndex => $_getIZ(1); + @$pb.TagNumber(2) + set valueIndex($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValueIndex() => $_has(1); + @$pb.TagNumber(2) + void clearValueIndex() => clearField(2); +} + +/// Values of intermediate expressions produced when evaluating expression. +/// Deprecated, use `EvalState` instead. +class Explain extends $pb.GeneratedMessage { + factory Explain({ + $core.Iterable<$101.Value>? values, + $core.Iterable? exprSteps, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + if (exprSteps != null) { + $result.exprSteps.addAll(exprSteps); + } + return $result; + } + Explain._() : super(); + factory Explain.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Explain.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Explain', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc<$101.Value>(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: $101.Value.create) + ..pc( + 2, _omitFieldNames ? '' : 'exprSteps', $pb.PbFieldType.PM, + subBuilder: Explain_ExprStep.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Explain clone() => Explain()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Explain copyWith(void Function(Explain) updates) => + super.copyWith((message) => updates(message as Explain)) as Explain; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Explain create() => Explain._(); + Explain createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Explain getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Explain? _defaultInstance; + + /// All of the observed values. + /// + /// The field value_index is an index in the values list. + /// Separating values from steps is needed to remove redundant values. + @$pb.TagNumber(1) + $core.List<$101.Value> get values => $_getList(0); + + /// List of steps. + /// + /// Repeated evaluations of the same expression generate new ExprStep + /// instances. The order of such ExprStep instances matches the order of + /// elements returned by Comprehension.iter_range. + @$pb.TagNumber(2) + $core.List get exprSteps => $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pbenum.dart new file mode 100644 index 00000000..4a4b2310 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/explain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pbjson.dart new file mode 100644 index 00000000..87863b11 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/explain.pbjson.dart @@ -0,0 +1,55 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/explain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use explainDescriptor instead') +const Explain$json = { + '1': 'Explain', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Value', + '10': 'values' + }, + { + '1': 'expr_steps', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Explain.ExprStep', + '10': 'exprSteps' + }, + ], + '3': [Explain_ExprStep$json], + '7': {'3': true}, +}; + +@$core.Deprecated('Use explainDescriptor instead') +const Explain_ExprStep$json = { + '1': 'ExprStep', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 3, '10': 'id'}, + {'1': 'value_index', '3': 2, '4': 1, '5': 5, '10': 'valueIndex'}, + ], +}; + +/// Descriptor for `Explain`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List explainDescriptor = $convert.base64Decode( + 'CgdFeHBsYWluEjcKBnZhbHVlcxgBIAMoCzIfLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5WYW' + 'x1ZVIGdmFsdWVzEkkKCmV4cHJfc3RlcHMYAiADKAsyKi5nb29nbGUuYXBpLmV4cHIudjFhbHBo' + 'YTEuRXhwbGFpbi5FeHByU3RlcFIJZXhwclN0ZXBzGjsKCEV4cHJTdGVwEg4KAmlkGAEgASgDUg' + 'JpZBIfCgt2YWx1ZV9pbmRleBgCIAEoBVIKdmFsdWVJbmRleDoCGAE='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pb.dart new file mode 100644 index 00000000..642d6910 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pb.dart @@ -0,0 +1,1960 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/syntax.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/duration.pb.dart' as $51; +import '../../../protobuf/struct.pbenum.dart' as $48; +import '../../../protobuf/timestamp.pb.dart' as $50; +import 'syntax.pbenum.dart'; + +export 'syntax.pbenum.dart'; + +/// An expression together with source information as returned by the parser. +class ParsedExpr extends $pb.GeneratedMessage { + factory ParsedExpr({ + Expr? expr, + SourceInfo? sourceInfo, + }) { + final $result = create(); + if (expr != null) { + $result.expr = expr; + } + if (sourceInfo != null) { + $result.sourceInfo = sourceInfo; + } + return $result; + } + ParsedExpr._() : super(); + factory ParsedExpr.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ParsedExpr.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ParsedExpr', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(2, _omitFieldNames ? '' : 'expr', subBuilder: Expr.create) + ..aOM(3, _omitFieldNames ? '' : 'sourceInfo', + subBuilder: SourceInfo.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ParsedExpr clone() => ParsedExpr()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ParsedExpr copyWith(void Function(ParsedExpr) updates) => + super.copyWith((message) => updates(message as ParsedExpr)) as ParsedExpr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ParsedExpr create() => ParsedExpr._(); + ParsedExpr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ParsedExpr getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ParsedExpr? _defaultInstance; + + /// The parsed expression. + @$pb.TagNumber(2) + Expr get expr => $_getN(0); + @$pb.TagNumber(2) + set expr(Expr v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExpr() => $_has(0); + @$pb.TagNumber(2) + void clearExpr() => clearField(2); + @$pb.TagNumber(2) + Expr ensureExpr() => $_ensure(0); + + /// The source info derived from input that generated the parsed `expr`. + @$pb.TagNumber(3) + SourceInfo get sourceInfo => $_getN(1); + @$pb.TagNumber(3) + set sourceInfo(SourceInfo v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceInfo() => $_has(1); + @$pb.TagNumber(3) + void clearSourceInfo() => clearField(3); + @$pb.TagNumber(3) + SourceInfo ensureSourceInfo() => $_ensure(1); +} + +/// An identifier expression. e.g. `request`. +class Expr_Ident extends $pb.GeneratedMessage { + factory Expr_Ident({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + Expr_Ident._() : super(); + factory Expr_Ident.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Ident.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Ident', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Ident clone() => Expr_Ident()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Ident copyWith(void Function(Expr_Ident) updates) => + super.copyWith((message) => updates(message as Expr_Ident)) as Expr_Ident; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Ident create() => Expr_Ident._(); + Expr_Ident createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Ident getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Ident? _defaultInstance; + + /// Required. Holds a single, unqualified identifier, possibly preceded by a + /// '.'. + /// + /// Qualified names are represented by the + /// [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A field selection expression. e.g. `request.auth`. +class Expr_Select extends $pb.GeneratedMessage { + factory Expr_Select({ + Expr? operand, + $core.String? field_2, + $core.bool? testOnly, + }) { + final $result = create(); + if (operand != null) { + $result.operand = operand; + } + if (field_2 != null) { + $result.field_2 = field_2; + } + if (testOnly != null) { + $result.testOnly = testOnly; + } + return $result; + } + Expr_Select._() : super(); + factory Expr_Select.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Select.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Select', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'operand', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'field') + ..aOB(3, _omitFieldNames ? '' : 'testOnly') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Select clone() => Expr_Select()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Select copyWith(void Function(Expr_Select) updates) => + super.copyWith((message) => updates(message as Expr_Select)) + as Expr_Select; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Select create() => Expr_Select._(); + Expr_Select createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Select getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Select? _defaultInstance; + + /// Required. The target of the selection expression. + /// + /// For example, in the select expression `request.auth`, the `request` + /// portion of the expression is the `operand`. + @$pb.TagNumber(1) + Expr get operand => $_getN(0); + @$pb.TagNumber(1) + set operand(Expr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperand() => $_has(0); + @$pb.TagNumber(1) + void clearOperand() => clearField(1); + @$pb.TagNumber(1) + Expr ensureOperand() => $_ensure(0); + + /// Required. The name of the field to select. + /// + /// For example, in the select expression `request.auth`, the `auth` portion + /// of the expression would be the `field`. + @$pb.TagNumber(2) + $core.String get field_2 => $_getSZ(1); + @$pb.TagNumber(2) + set field_2($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasField_2() => $_has(1); + @$pb.TagNumber(2) + void clearField_2() => clearField(2); + + /// Whether the select is to be interpreted as a field presence test. + /// + /// This results from the macro `has(request.auth)`. + @$pb.TagNumber(3) + $core.bool get testOnly => $_getBF(2); + @$pb.TagNumber(3) + set testOnly($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasTestOnly() => $_has(2); + @$pb.TagNumber(3) + void clearTestOnly() => clearField(3); +} + +/// A call expression, including calls to predefined functions and operators. +/// +/// For example, `value == 10`, `size(map_value)`. +class Expr_Call extends $pb.GeneratedMessage { + factory Expr_Call({ + Expr? target, + $core.String? function, + $core.Iterable? args, + }) { + final $result = create(); + if (target != null) { + $result.target = target; + } + if (function != null) { + $result.function = function; + } + if (args != null) { + $result.args.addAll(args); + } + return $result; + } + Expr_Call._() : super(); + factory Expr_Call.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Call.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Call', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'target', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'function') + ..pc(3, _omitFieldNames ? '' : 'args', $pb.PbFieldType.PM, + subBuilder: Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Call clone() => Expr_Call()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Call copyWith(void Function(Expr_Call) updates) => + super.copyWith((message) => updates(message as Expr_Call)) as Expr_Call; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Call create() => Expr_Call._(); + Expr_Call createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Call getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Call? _defaultInstance; + + /// The target of an method call-style expression. For example, `x` in + /// `x.f()`. + @$pb.TagNumber(1) + Expr get target => $_getN(0); + @$pb.TagNumber(1) + set target(Expr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasTarget() => $_has(0); + @$pb.TagNumber(1) + void clearTarget() => clearField(1); + @$pb.TagNumber(1) + Expr ensureTarget() => $_ensure(0); + + /// Required. The name of the function or method being called. + @$pb.TagNumber(2) + $core.String get function => $_getSZ(1); + @$pb.TagNumber(2) + set function($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFunction() => $_has(1); + @$pb.TagNumber(2) + void clearFunction() => clearField(2); + + /// The arguments. + @$pb.TagNumber(3) + $core.List get args => $_getList(2); +} + +/// A list creation expression. +/// +/// Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g. +/// `dyn([1, 'hello', 2.0])` +class Expr_CreateList extends $pb.GeneratedMessage { + factory Expr_CreateList({ + $core.Iterable? elements, + $core.Iterable<$core.int>? optionalIndices, + }) { + final $result = create(); + if (elements != null) { + $result.elements.addAll(elements); + } + if (optionalIndices != null) { + $result.optionalIndices.addAll(optionalIndices); + } + return $result; + } + Expr_CreateList._() : super(); + factory Expr_CreateList.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_CreateList.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.CreateList', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'elements', $pb.PbFieldType.PM, + subBuilder: Expr.create) + ..p<$core.int>( + 2, _omitFieldNames ? '' : 'optionalIndices', $pb.PbFieldType.K3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_CreateList clone() => Expr_CreateList()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_CreateList copyWith(void Function(Expr_CreateList) updates) => + super.copyWith((message) => updates(message as Expr_CreateList)) + as Expr_CreateList; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_CreateList create() => Expr_CreateList._(); + Expr_CreateList createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_CreateList getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_CreateList? _defaultInstance; + + /// The elements part of the list. + @$pb.TagNumber(1) + $core.List get elements => $_getList(0); + + /// The indices within the elements list which are marked as optional + /// elements. + /// + /// When an optional-typed value is present, the value it contains + /// is included in the list. If the optional-typed value is absent, the list + /// element is omitted from the CreateList result. + @$pb.TagNumber(2) + $core.List<$core.int> get optionalIndices => $_getList(1); +} + +enum Expr_CreateStruct_Entry_KeyKind { fieldKey, mapKey, notSet } + +/// Represents an entry. +class Expr_CreateStruct_Entry extends $pb.GeneratedMessage { + factory Expr_CreateStruct_Entry({ + $fixnum.Int64? id, + $core.String? fieldKey, + Expr? mapKey, + Expr? value, + $core.bool? optionalEntry, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (fieldKey != null) { + $result.fieldKey = fieldKey; + } + if (mapKey != null) { + $result.mapKey = mapKey; + } + if (value != null) { + $result.value = value; + } + if (optionalEntry != null) { + $result.optionalEntry = optionalEntry; + } + return $result; + } + Expr_CreateStruct_Entry._() : super(); + factory Expr_CreateStruct_Entry.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_CreateStruct_Entry.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Expr_CreateStruct_Entry_KeyKind> + _Expr_CreateStruct_Entry_KeyKindByTag = { + 2: Expr_CreateStruct_Entry_KeyKind.fieldKey, + 3: Expr_CreateStruct_Entry_KeyKind.mapKey, + 0: Expr_CreateStruct_Entry_KeyKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.CreateStruct.Entry', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..aInt64(1, _omitFieldNames ? '' : 'id') + ..aOS(2, _omitFieldNames ? '' : 'fieldKey') + ..aOM(3, _omitFieldNames ? '' : 'mapKey', subBuilder: Expr.create) + ..aOM(4, _omitFieldNames ? '' : 'value', subBuilder: Expr.create) + ..aOB(5, _omitFieldNames ? '' : 'optionalEntry') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct_Entry clone() => + Expr_CreateStruct_Entry()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct_Entry copyWith( + void Function(Expr_CreateStruct_Entry) updates) => + super.copyWith((message) => updates(message as Expr_CreateStruct_Entry)) + as Expr_CreateStruct_Entry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct_Entry create() => Expr_CreateStruct_Entry._(); + Expr_CreateStruct_Entry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct_Entry getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_CreateStruct_Entry? _defaultInstance; + + Expr_CreateStruct_Entry_KeyKind whichKeyKind() => + _Expr_CreateStruct_Entry_KeyKindByTag[$_whichOneof(0)]!; + void clearKeyKind() => clearField($_whichOneof(0)); + + /// Required. An id assigned to this node by the parser which is unique + /// in a given expression tree. This is used to associate type + /// information and other attributes to the node. + @$pb.TagNumber(1) + $fixnum.Int64 get id => $_getI64(0); + @$pb.TagNumber(1) + set id($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// The field key for a message creator statement. + @$pb.TagNumber(2) + $core.String get fieldKey => $_getSZ(1); + @$pb.TagNumber(2) + set fieldKey($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFieldKey() => $_has(1); + @$pb.TagNumber(2) + void clearFieldKey() => clearField(2); + + /// The key expression for a map creation statement. + @$pb.TagNumber(3) + Expr get mapKey => $_getN(2); + @$pb.TagNumber(3) + set mapKey(Expr v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasMapKey() => $_has(2); + @$pb.TagNumber(3) + void clearMapKey() => clearField(3); + @$pb.TagNumber(3) + Expr ensureMapKey() => $_ensure(2); + + /// Required. The value assigned to the key. + /// + /// If the optional_entry field is true, the expression must resolve to an + /// optional-typed value. If the optional value is present, the key will be + /// set; however, if the optional value is absent, the key will be unset. + @$pb.TagNumber(4) + Expr get value => $_getN(3); + @$pb.TagNumber(4) + set value(Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasValue() => $_has(3); + @$pb.TagNumber(4) + void clearValue() => clearField(4); + @$pb.TagNumber(4) + Expr ensureValue() => $_ensure(3); + + /// Whether the key-value pair is optional. + @$pb.TagNumber(5) + $core.bool get optionalEntry => $_getBF(4); + @$pb.TagNumber(5) + set optionalEntry($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOptionalEntry() => $_has(4); + @$pb.TagNumber(5) + void clearOptionalEntry() => clearField(5); +} + +/// A map or message creation expression. +/// +/// Maps are constructed as `{'key_name': 'value'}`. Message construction is +/// similar, but prefixed with a type name and composed of field ids: +/// `types.MyType{field_id: 'value'}`. +class Expr_CreateStruct extends $pb.GeneratedMessage { + factory Expr_CreateStruct({ + $core.String? messageName, + $core.Iterable? entries, + }) { + final $result = create(); + if (messageName != null) { + $result.messageName = messageName; + } + if (entries != null) { + $result.entries.addAll(entries); + } + return $result; + } + Expr_CreateStruct._() : super(); + factory Expr_CreateStruct.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_CreateStruct.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.CreateStruct', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'messageName') + ..pc( + 2, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: Expr_CreateStruct_Entry.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct clone() => Expr_CreateStruct()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct copyWith(void Function(Expr_CreateStruct) updates) => + super.copyWith((message) => updates(message as Expr_CreateStruct)) + as Expr_CreateStruct; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct create() => Expr_CreateStruct._(); + Expr_CreateStruct createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_CreateStruct? _defaultInstance; + + /// The type name of the message to be created, empty when creating map + /// literals. + @$pb.TagNumber(1) + $core.String get messageName => $_getSZ(0); + @$pb.TagNumber(1) + set messageName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMessageName() => $_has(0); + @$pb.TagNumber(1) + void clearMessageName() => clearField(1); + + /// The entries in the creation expression. + @$pb.TagNumber(2) + $core.List get entries => $_getList(1); +} + +/// A comprehension expression applied to a list or map. +/// +/// Comprehensions are not part of the core syntax, but enabled with macros. +/// A macro matches a specific call signature within a parsed AST and replaces +/// the call with an alternate AST block. Macro expansion happens at parse +/// time. +/// +/// The following macros are supported within CEL: +/// +/// Aggregate type macros may be applied to all elements in a list or all keys +/// in a map: +/// +/// * `all`, `exists`, `exists_one` - test a predicate expression against +/// the inputs and return `true` if the predicate is satisfied for all, +/// any, or only one value `list.all(x, x < 10)`. +/// * `filter` - test a predicate expression against the inputs and return +/// the subset of elements which satisfy the predicate: +/// `payments.filter(p, p > 1000)`. +/// * `map` - apply an expression to all elements in the input and return the +/// output aggregate type: `[1, 2, 3].map(i, i * i)`. +/// +/// The `has(m.x)` macro tests whether the property `x` is present in struct +/// `m`. The semantics of this macro depend on the type of `m`. For proto2 +/// messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the +/// macro tests whether the property is set to its default. For map and struct +/// types, the macro tests whether the property `x` is defined on `m`. +/// +/// Comprehensions for the standard environment macros evaluation can be best +/// visualized as the following pseudocode: +/// +/// ``` +/// let `accu_var` = `accu_init` +/// for (let `iter_var` in `iter_range`) { +/// if (!`loop_condition`) { +/// break +/// } +/// `accu_var` = `loop_step` +/// } +/// return `result` +/// ``` +/// +/// Comprehensions for the optional V2 macros which support map-to-map +/// translation differ slightly from the standard environment macros in that +/// they expose both the key or index in addition to the value for each list +/// or map entry: +/// +/// ``` +/// let `accu_var` = `accu_init` +/// for (let `iter_var`, `iter_var2` in `iter_range`) { +/// if (!`loop_condition`) { +/// break +/// } +/// `accu_var` = `loop_step` +/// } +/// return `result` +/// ``` +class Expr_Comprehension extends $pb.GeneratedMessage { + factory Expr_Comprehension({ + $core.String? iterVar, + Expr? iterRange, + $core.String? accuVar, + Expr? accuInit, + Expr? loopCondition, + Expr? loopStep, + Expr? result, + $core.String? iterVar2, + }) { + final $result = create(); + if (iterVar != null) { + $result.iterVar = iterVar; + } + if (iterRange != null) { + $result.iterRange = iterRange; + } + if (accuVar != null) { + $result.accuVar = accuVar; + } + if (accuInit != null) { + $result.accuInit = accuInit; + } + if (loopCondition != null) { + $result.loopCondition = loopCondition; + } + if (loopStep != null) { + $result.loopStep = loopStep; + } + if (result != null) { + $result.result = result; + } + if (iterVar2 != null) { + $result.iterVar2 = iterVar2; + } + return $result; + } + Expr_Comprehension._() : super(); + factory Expr_Comprehension.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Comprehension.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Comprehension', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'iterVar') + ..aOM(2, _omitFieldNames ? '' : 'iterRange', subBuilder: Expr.create) + ..aOS(3, _omitFieldNames ? '' : 'accuVar') + ..aOM(4, _omitFieldNames ? '' : 'accuInit', subBuilder: Expr.create) + ..aOM(5, _omitFieldNames ? '' : 'loopCondition', + subBuilder: Expr.create) + ..aOM(6, _omitFieldNames ? '' : 'loopStep', subBuilder: Expr.create) + ..aOM(7, _omitFieldNames ? '' : 'result', subBuilder: Expr.create) + ..aOS(8, _omitFieldNames ? '' : 'iterVar2') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Comprehension clone() => Expr_Comprehension()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Comprehension copyWith(void Function(Expr_Comprehension) updates) => + super.copyWith((message) => updates(message as Expr_Comprehension)) + as Expr_Comprehension; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Comprehension create() => Expr_Comprehension._(); + Expr_Comprehension createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Comprehension getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Comprehension? _defaultInstance; + + /// The name of the first iteration variable. + /// When the iter_range is a list, this variable is the list element. + /// When the iter_range is a map, this variable is the map entry key. + @$pb.TagNumber(1) + $core.String get iterVar => $_getSZ(0); + @$pb.TagNumber(1) + set iterVar($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasIterVar() => $_has(0); + @$pb.TagNumber(1) + void clearIterVar() => clearField(1); + + /// The range over which the comprehension iterates. + @$pb.TagNumber(2) + Expr get iterRange => $_getN(1); + @$pb.TagNumber(2) + set iterRange(Expr v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasIterRange() => $_has(1); + @$pb.TagNumber(2) + void clearIterRange() => clearField(2); + @$pb.TagNumber(2) + Expr ensureIterRange() => $_ensure(1); + + /// The name of the variable used for accumulation of the result. + @$pb.TagNumber(3) + $core.String get accuVar => $_getSZ(2); + @$pb.TagNumber(3) + set accuVar($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasAccuVar() => $_has(2); + @$pb.TagNumber(3) + void clearAccuVar() => clearField(3); + + /// The initial value of the accumulator. + @$pb.TagNumber(4) + Expr get accuInit => $_getN(3); + @$pb.TagNumber(4) + set accuInit(Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasAccuInit() => $_has(3); + @$pb.TagNumber(4) + void clearAccuInit() => clearField(4); + @$pb.TagNumber(4) + Expr ensureAccuInit() => $_ensure(3); + + /// An expression which can contain iter_var, iter_var2, and accu_var. + /// + /// Returns false when the result has been computed and may be used as + /// a hint to short-circuit the remainder of the comprehension. + @$pb.TagNumber(5) + Expr get loopCondition => $_getN(4); + @$pb.TagNumber(5) + set loopCondition(Expr v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasLoopCondition() => $_has(4); + @$pb.TagNumber(5) + void clearLoopCondition() => clearField(5); + @$pb.TagNumber(5) + Expr ensureLoopCondition() => $_ensure(4); + + /// An expression which can contain iter_var, iter_var2, and accu_var. + /// + /// Computes the next value of accu_var. + @$pb.TagNumber(6) + Expr get loopStep => $_getN(5); + @$pb.TagNumber(6) + set loopStep(Expr v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasLoopStep() => $_has(5); + @$pb.TagNumber(6) + void clearLoopStep() => clearField(6); + @$pb.TagNumber(6) + Expr ensureLoopStep() => $_ensure(5); + + /// An expression which can contain accu_var. + /// + /// Computes the result. + @$pb.TagNumber(7) + Expr get result => $_getN(6); + @$pb.TagNumber(7) + set result(Expr v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasResult() => $_has(6); + @$pb.TagNumber(7) + void clearResult() => clearField(7); + @$pb.TagNumber(7) + Expr ensureResult() => $_ensure(6); + + /// The name of the second iteration variable, empty if not set. + /// When the iter_range is a list, this variable is the integer index. + /// When the iter_range is a map, this variable is the map entry value. + /// This field is only set for comprehension v2 macros. + @$pb.TagNumber(8) + $core.String get iterVar2 => $_getSZ(7); + @$pb.TagNumber(8) + set iterVar2($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasIterVar2() => $_has(7); + @$pb.TagNumber(8) + void clearIterVar2() => clearField(8); +} + +enum Expr_ExprKind { + constExpr, + identExpr, + selectExpr, + callExpr, + listExpr, + structExpr, + comprehensionExpr, + notSet +} + +/// An abstract representation of a common expression. +/// +/// Expressions are abstractly represented as a collection of identifiers, +/// select statements, function calls, literals, and comprehensions. All +/// operators with the exception of the '.' operator are modelled as function +/// calls. This makes it easy to represent new operators into the existing AST. +/// +/// All references within expressions must resolve to a +/// [Decl][google.api.expr.v1alpha1.Decl] provided at type-check for an +/// expression to be valid. A reference may either be a bare identifier `name` or +/// a qualified identifier `google.api.name`. References may either refer to a +/// value or a function declaration. +/// +/// For example, the expression `google.api.name.startsWith('expr')` references +/// the declaration `google.api.name` within a +/// [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and the +/// function declaration `startsWith`. +class Expr extends $pb.GeneratedMessage { + factory Expr({ + $fixnum.Int64? id, + Constant? constExpr, + Expr_Ident? identExpr, + Expr_Select? selectExpr, + Expr_Call? callExpr, + Expr_CreateList? listExpr, + Expr_CreateStruct? structExpr, + Expr_Comprehension? comprehensionExpr, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (constExpr != null) { + $result.constExpr = constExpr; + } + if (identExpr != null) { + $result.identExpr = identExpr; + } + if (selectExpr != null) { + $result.selectExpr = selectExpr; + } + if (callExpr != null) { + $result.callExpr = callExpr; + } + if (listExpr != null) { + $result.listExpr = listExpr; + } + if (structExpr != null) { + $result.structExpr = structExpr; + } + if (comprehensionExpr != null) { + $result.comprehensionExpr = comprehensionExpr; + } + return $result; + } + Expr._() : super(); + factory Expr.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Expr_ExprKind> _Expr_ExprKindByTag = { + 3: Expr_ExprKind.constExpr, + 4: Expr_ExprKind.identExpr, + 5: Expr_ExprKind.selectExpr, + 6: Expr_ExprKind.callExpr, + 7: Expr_ExprKind.listExpr, + 8: Expr_ExprKind.structExpr, + 9: Expr_ExprKind.comprehensionExpr, + 0: Expr_ExprKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [3, 4, 5, 6, 7, 8, 9]) + ..aInt64(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'constExpr', + subBuilder: Constant.create) + ..aOM(4, _omitFieldNames ? '' : 'identExpr', + subBuilder: Expr_Ident.create) + ..aOM(5, _omitFieldNames ? '' : 'selectExpr', + subBuilder: Expr_Select.create) + ..aOM(6, _omitFieldNames ? '' : 'callExpr', + subBuilder: Expr_Call.create) + ..aOM(7, _omitFieldNames ? '' : 'listExpr', + subBuilder: Expr_CreateList.create) + ..aOM(8, _omitFieldNames ? '' : 'structExpr', + subBuilder: Expr_CreateStruct.create) + ..aOM(9, _omitFieldNames ? '' : 'comprehensionExpr', + subBuilder: Expr_Comprehension.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr clone() => Expr()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr copyWith(void Function(Expr) updates) => + super.copyWith((message) => updates(message as Expr)) as Expr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr create() => Expr._(); + Expr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Expr? _defaultInstance; + + Expr_ExprKind whichExprKind() => _Expr_ExprKindByTag[$_whichOneof(0)]!; + void clearExprKind() => clearField($_whichOneof(0)); + + /// Required. An id assigned to this node by the parser which is unique in a + /// given expression tree. This is used to associate type information and other + /// attributes to a node in the parse tree. + @$pb.TagNumber(2) + $fixnum.Int64 get id => $_getI64(0); + @$pb.TagNumber(2) + set id($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// A literal expression. + @$pb.TagNumber(3) + Constant get constExpr => $_getN(1); + @$pb.TagNumber(3) + set constExpr(Constant v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasConstExpr() => $_has(1); + @$pb.TagNumber(3) + void clearConstExpr() => clearField(3); + @$pb.TagNumber(3) + Constant ensureConstExpr() => $_ensure(1); + + /// An identifier expression. + @$pb.TagNumber(4) + Expr_Ident get identExpr => $_getN(2); + @$pb.TagNumber(4) + set identExpr(Expr_Ident v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasIdentExpr() => $_has(2); + @$pb.TagNumber(4) + void clearIdentExpr() => clearField(4); + @$pb.TagNumber(4) + Expr_Ident ensureIdentExpr() => $_ensure(2); + + /// A field selection expression, e.g. `request.auth`. + @$pb.TagNumber(5) + Expr_Select get selectExpr => $_getN(3); + @$pb.TagNumber(5) + set selectExpr(Expr_Select v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSelectExpr() => $_has(3); + @$pb.TagNumber(5) + void clearSelectExpr() => clearField(5); + @$pb.TagNumber(5) + Expr_Select ensureSelectExpr() => $_ensure(3); + + /// A call expression, including calls to predefined functions and operators. + @$pb.TagNumber(6) + Expr_Call get callExpr => $_getN(4); + @$pb.TagNumber(6) + set callExpr(Expr_Call v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCallExpr() => $_has(4); + @$pb.TagNumber(6) + void clearCallExpr() => clearField(6); + @$pb.TagNumber(6) + Expr_Call ensureCallExpr() => $_ensure(4); + + /// A list creation expression. + @$pb.TagNumber(7) + Expr_CreateList get listExpr => $_getN(5); + @$pb.TagNumber(7) + set listExpr(Expr_CreateList v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasListExpr() => $_has(5); + @$pb.TagNumber(7) + void clearListExpr() => clearField(7); + @$pb.TagNumber(7) + Expr_CreateList ensureListExpr() => $_ensure(5); + + /// A map or message creation expression. + @$pb.TagNumber(8) + Expr_CreateStruct get structExpr => $_getN(6); + @$pb.TagNumber(8) + set structExpr(Expr_CreateStruct v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasStructExpr() => $_has(6); + @$pb.TagNumber(8) + void clearStructExpr() => clearField(8); + @$pb.TagNumber(8) + Expr_CreateStruct ensureStructExpr() => $_ensure(6); + + /// A comprehension expression. + @$pb.TagNumber(9) + Expr_Comprehension get comprehensionExpr => $_getN(7); + @$pb.TagNumber(9) + set comprehensionExpr(Expr_Comprehension v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasComprehensionExpr() => $_has(7); + @$pb.TagNumber(9) + void clearComprehensionExpr() => clearField(9); + @$pb.TagNumber(9) + Expr_Comprehension ensureComprehensionExpr() => $_ensure(7); +} + +enum Constant_ConstantKind { + nullValue, + boolValue, + int64Value, + uint64Value, + doubleValue, + stringValue, + bytesValue, + durationValue, + timestampValue, + notSet +} + +/// Represents a primitive literal. +/// +/// Named 'Constant' here for backwards compatibility. +/// +/// This is similar as the primitives supported in the well-known type +/// `google.protobuf.Value`, but richer so it can represent CEL's full range of +/// primitives. +/// +/// Lists and structs are not included as constants as these aggregate types may +/// contain [Expr][google.api.expr.v1alpha1.Expr] elements which require +/// evaluation and are thus not constant. +/// +/// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, +/// `true`, `null`. +class Constant extends $pb.GeneratedMessage { + factory Constant({ + $48.NullValue? nullValue, + $core.bool? boolValue, + $fixnum.Int64? int64Value, + $fixnum.Int64? uint64Value, + $core.double? doubleValue, + $core.String? stringValue, + $core.List<$core.int>? bytesValue, + @$core.Deprecated('This field is deprecated.') $51.Duration? durationValue, + @$core.Deprecated('This field is deprecated.') + $50.Timestamp? timestampValue, + }) { + final $result = create(); + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (int64Value != null) { + $result.int64Value = int64Value; + } + if (uint64Value != null) { + $result.uint64Value = uint64Value; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (bytesValue != null) { + $result.bytesValue = bytesValue; + } + if (durationValue != null) { + // ignore: deprecated_member_use_from_same_package + $result.durationValue = durationValue; + } + if (timestampValue != null) { + // ignore: deprecated_member_use_from_same_package + $result.timestampValue = timestampValue; + } + return $result; + } + Constant._() : super(); + factory Constant.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Constant.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Constant_ConstantKind> + _Constant_ConstantKindByTag = { + 1: Constant_ConstantKind.nullValue, + 2: Constant_ConstantKind.boolValue, + 3: Constant_ConstantKind.int64Value, + 4: Constant_ConstantKind.uint64Value, + 5: Constant_ConstantKind.doubleValue, + 6: Constant_ConstantKind.stringValue, + 7: Constant_ConstantKind.bytesValue, + 8: Constant_ConstantKind.durationValue, + 9: Constant_ConstantKind.timestampValue, + 0: Constant_ConstantKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Constant', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) + ..e<$48.NullValue>( + 1, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..aOB(2, _omitFieldNames ? '' : 'boolValue') + ..aInt64(3, _omitFieldNames ? '' : 'int64Value') + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'uint64Value', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 5, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOS(6, _omitFieldNames ? '' : 'stringValue') + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'bytesValue', $pb.PbFieldType.OY) + ..aOM<$51.Duration>(8, _omitFieldNames ? '' : 'durationValue', + subBuilder: $51.Duration.create) + ..aOM<$50.Timestamp>(9, _omitFieldNames ? '' : 'timestampValue', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Constant clone() => Constant()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Constant copyWith(void Function(Constant) updates) => + super.copyWith((message) => updates(message as Constant)) as Constant; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Constant create() => Constant._(); + Constant createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Constant getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Constant? _defaultInstance; + + Constant_ConstantKind whichConstantKind() => + _Constant_ConstantKindByTag[$_whichOneof(0)]!; + void clearConstantKind() => clearField($_whichOneof(0)); + + /// null value. + @$pb.TagNumber(1) + $48.NullValue get nullValue => $_getN(0); + @$pb.TagNumber(1) + set nullValue($48.NullValue v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNullValue() => $_has(0); + @$pb.TagNumber(1) + void clearNullValue() => clearField(1); + + /// boolean value. + @$pb.TagNumber(2) + $core.bool get boolValue => $_getBF(1); + @$pb.TagNumber(2) + set boolValue($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasBoolValue() => $_has(1); + @$pb.TagNumber(2) + void clearBoolValue() => clearField(2); + + /// int64 value. + @$pb.TagNumber(3) + $fixnum.Int64 get int64Value => $_getI64(2); + @$pb.TagNumber(3) + set int64Value($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasInt64Value() => $_has(2); + @$pb.TagNumber(3) + void clearInt64Value() => clearField(3); + + /// uint64 value. + @$pb.TagNumber(4) + $fixnum.Int64 get uint64Value => $_getI64(3); + @$pb.TagNumber(4) + set uint64Value($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUint64Value() => $_has(3); + @$pb.TagNumber(4) + void clearUint64Value() => clearField(4); + + /// double value. + @$pb.TagNumber(5) + $core.double get doubleValue => $_getN(4); + @$pb.TagNumber(5) + set doubleValue($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDoubleValue() => $_has(4); + @$pb.TagNumber(5) + void clearDoubleValue() => clearField(5); + + /// string value. + @$pb.TagNumber(6) + $core.String get stringValue => $_getSZ(5); + @$pb.TagNumber(6) + set stringValue($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasStringValue() => $_has(5); + @$pb.TagNumber(6) + void clearStringValue() => clearField(6); + + /// bytes value. + @$pb.TagNumber(7) + $core.List<$core.int> get bytesValue => $_getN(6); + @$pb.TagNumber(7) + set bytesValue($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasBytesValue() => $_has(6); + @$pb.TagNumber(7) + void clearBytesValue() => clearField(7); + + /// protobuf.Duration value. + /// + /// Deprecated: duration is no longer considered a builtin cel type. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(8) + $51.Duration get durationValue => $_getN(7); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(8) + set durationValue($51.Duration v) { + setField(8, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(8) + $core.bool hasDurationValue() => $_has(7); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(8) + void clearDurationValue() => clearField(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(8) + $51.Duration ensureDurationValue() => $_ensure(7); + + /// protobuf.Timestamp value. + /// + /// Deprecated: timestamp is no longer considered a builtin cel type. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(9) + $50.Timestamp get timestampValue => $_getN(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(9) + set timestampValue($50.Timestamp v) { + setField(9, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(9) + $core.bool hasTimestampValue() => $_has(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(9) + void clearTimestampValue() => clearField(9); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(9) + $50.Timestamp ensureTimestampValue() => $_ensure(8); +} + +/// Version +class SourceInfo_Extension_Version extends $pb.GeneratedMessage { + factory SourceInfo_Extension_Version({ + $fixnum.Int64? major, + $fixnum.Int64? minor, + }) { + final $result = create(); + if (major != null) { + $result.major = major; + } + if (minor != null) { + $result.minor = minor; + } + return $result; + } + SourceInfo_Extension_Version._() : super(); + factory SourceInfo_Extension_Version.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceInfo_Extension_Version.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceInfo.Extension.Version', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'major') + ..aInt64(2, _omitFieldNames ? '' : 'minor') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceInfo_Extension_Version clone() => + SourceInfo_Extension_Version()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceInfo_Extension_Version copyWith( + void Function(SourceInfo_Extension_Version) updates) => + super.copyWith( + (message) => updates(message as SourceInfo_Extension_Version)) + as SourceInfo_Extension_Version; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceInfo_Extension_Version create() => + SourceInfo_Extension_Version._(); + SourceInfo_Extension_Version createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceInfo_Extension_Version getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceInfo_Extension_Version? _defaultInstance; + + /// Major version changes indicate different required support level from + /// the required components. + @$pb.TagNumber(1) + $fixnum.Int64 get major => $_getI64(0); + @$pb.TagNumber(1) + set major($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMajor() => $_has(0); + @$pb.TagNumber(1) + void clearMajor() => clearField(1); + + /// Minor version changes must not change the observed behavior from + /// existing implementations, but may be provided informationally. + @$pb.TagNumber(2) + $fixnum.Int64 get minor => $_getI64(1); + @$pb.TagNumber(2) + set minor($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMinor() => $_has(1); + @$pb.TagNumber(2) + void clearMinor() => clearField(2); +} + +/// An extension that was requested for the source expression. +class SourceInfo_Extension extends $pb.GeneratedMessage { + factory SourceInfo_Extension({ + $core.String? id, + $core.Iterable? affectedComponents, + SourceInfo_Extension_Version? version, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (affectedComponents != null) { + $result.affectedComponents.addAll(affectedComponents); + } + if (version != null) { + $result.version = version; + } + return $result; + } + SourceInfo_Extension._() : super(); + factory SourceInfo_Extension.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceInfo_Extension.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceInfo.Extension', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'id') + ..pc( + 2, _omitFieldNames ? '' : 'affectedComponents', $pb.PbFieldType.KE, + valueOf: SourceInfo_Extension_Component.valueOf, + enumValues: SourceInfo_Extension_Component.values, + defaultEnumValue: SourceInfo_Extension_Component.COMPONENT_UNSPECIFIED) + ..aOM(3, _omitFieldNames ? '' : 'version', + subBuilder: SourceInfo_Extension_Version.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceInfo_Extension clone() => + SourceInfo_Extension()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceInfo_Extension copyWith(void Function(SourceInfo_Extension) updates) => + super.copyWith((message) => updates(message as SourceInfo_Extension)) + as SourceInfo_Extension; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceInfo_Extension create() => SourceInfo_Extension._(); + SourceInfo_Extension createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceInfo_Extension getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceInfo_Extension? _defaultInstance; + + /// Identifier for the extension. Example: constant_folding + @$pb.TagNumber(1) + $core.String get id => $_getSZ(0); + @$pb.TagNumber(1) + set id($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// If set, the listed components must understand the extension for the + /// expression to evaluate correctly. + /// + /// This field has set semantics, repeated values should be deduplicated. + @$pb.TagNumber(2) + $core.List get affectedComponents => + $_getList(1); + + /// Version info. May be skipped if it isn't meaningful for the extension. + /// (for example constant_folding might always be v0.0). + @$pb.TagNumber(3) + SourceInfo_Extension_Version get version => $_getN(2); + @$pb.TagNumber(3) + set version(SourceInfo_Extension_Version v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasVersion() => $_has(2); + @$pb.TagNumber(3) + void clearVersion() => clearField(3); + @$pb.TagNumber(3) + SourceInfo_Extension_Version ensureVersion() => $_ensure(2); +} + +/// Source information collected at parse time. +class SourceInfo extends $pb.GeneratedMessage { + factory SourceInfo({ + $core.String? syntaxVersion, + $core.String? location, + $core.Iterable<$core.int>? lineOffsets, + $core.Map<$fixnum.Int64, $core.int>? positions, + $core.Map<$fixnum.Int64, Expr>? macroCalls, + $core.Iterable? extensions, + }) { + final $result = create(); + if (syntaxVersion != null) { + $result.syntaxVersion = syntaxVersion; + } + if (location != null) { + $result.location = location; + } + if (lineOffsets != null) { + $result.lineOffsets.addAll(lineOffsets); + } + if (positions != null) { + $result.positions.addAll(positions); + } + if (macroCalls != null) { + $result.macroCalls.addAll(macroCalls); + } + if (extensions != null) { + $result.extensions.addAll(extensions); + } + return $result; + } + SourceInfo._() : super(); + factory SourceInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'syntaxVersion') + ..aOS(2, _omitFieldNames ? '' : 'location') + ..p<$core.int>(3, _omitFieldNames ? '' : 'lineOffsets', $pb.PbFieldType.K3) + ..m<$fixnum.Int64, $core.int>(4, _omitFieldNames ? '' : 'positions', + entryClassName: 'SourceInfo.PositionsEntry', + keyFieldType: $pb.PbFieldType.O6, + valueFieldType: $pb.PbFieldType.O3, + packageName: const $pb.PackageName('google.api.expr.v1alpha1')) + ..m<$fixnum.Int64, Expr>(5, _omitFieldNames ? '' : 'macroCalls', + entryClassName: 'SourceInfo.MacroCallsEntry', + keyFieldType: $pb.PbFieldType.O6, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Expr.create, + valueDefaultOrMaker: Expr.getDefault, + packageName: const $pb.PackageName('google.api.expr.v1alpha1')) + ..pc( + 6, _omitFieldNames ? '' : 'extensions', $pb.PbFieldType.PM, + subBuilder: SourceInfo_Extension.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceInfo clone() => SourceInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceInfo copyWith(void Function(SourceInfo) updates) => + super.copyWith((message) => updates(message as SourceInfo)) as SourceInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceInfo create() => SourceInfo._(); + SourceInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceInfo? _defaultInstance; + + /// The syntax version of the source, e.g. `cel1`. + @$pb.TagNumber(1) + $core.String get syntaxVersion => $_getSZ(0); + @$pb.TagNumber(1) + set syntaxVersion($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSyntaxVersion() => $_has(0); + @$pb.TagNumber(1) + void clearSyntaxVersion() => clearField(1); + + /// The location name. All position information attached to an expression is + /// relative to this location. + /// + /// The location could be a file, UI element, or similar. For example, + /// `acme/app/AnvilPolicy.cel`. + @$pb.TagNumber(2) + $core.String get location => $_getSZ(1); + @$pb.TagNumber(2) + set location($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasLocation() => $_has(1); + @$pb.TagNumber(2) + void clearLocation() => clearField(2); + + /// Monotonically increasing list of code point offsets where newlines + /// `\n` appear. + /// + /// The line number of a given position is the index `i` where for a given + /// `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The + /// column may be derivd from `id_positions[id] - line_offsets[i]`. + @$pb.TagNumber(3) + $core.List<$core.int> get lineOffsets => $_getList(2); + + /// A map from the parse node id (e.g. `Expr.id`) to the code point offset + /// within the source. + @$pb.TagNumber(4) + $core.Map<$fixnum.Int64, $core.int> get positions => $_getMap(3); + + /// A map from the parse node id where a macro replacement was made to the + /// call `Expr` that resulted in a macro expansion. + /// + /// For example, `has(value.field)` is a function call that is replaced by a + /// `test_only` field selection in the AST. Likewise, the call + /// `list.exists(e, e > 10)` translates to a comprehension expression. The key + /// in the map corresponds to the expression id of the expanded macro, and the + /// value is the call `Expr` that was replaced. + @$pb.TagNumber(5) + $core.Map<$fixnum.Int64, Expr> get macroCalls => $_getMap(4); + + /// A list of tags for extensions that were used while parsing or type checking + /// the source expression. For example, optimizations that require special + /// runtime support may be specified. + /// + /// These are used to check feature support between components in separate + /// implementations. This can be used to either skip redundant work or + /// report an error if the extension is unsupported. + @$pb.TagNumber(6) + $core.List get extensions => $_getList(5); +} + +/// A specific position in source. +class SourcePosition extends $pb.GeneratedMessage { + factory SourcePosition({ + $core.String? location, + $core.int? offset, + $core.int? line, + $core.int? column, + }) { + final $result = create(); + if (location != null) { + $result.location = location; + } + if (offset != null) { + $result.offset = offset; + } + if (line != null) { + $result.line = line; + } + if (column != null) { + $result.column = column; + } + return $result; + } + SourcePosition._() : super(); + factory SourcePosition.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourcePosition.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourcePosition', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'location') + ..a<$core.int>(2, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'line', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'column', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourcePosition clone() => SourcePosition()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourcePosition copyWith(void Function(SourcePosition) updates) => + super.copyWith((message) => updates(message as SourcePosition)) + as SourcePosition; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourcePosition create() => SourcePosition._(); + SourcePosition createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourcePosition getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourcePosition? _defaultInstance; + + /// The soucre location name (e.g. file name). + @$pb.TagNumber(1) + $core.String get location => $_getSZ(0); + @$pb.TagNumber(1) + set location($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLocation() => $_has(0); + @$pb.TagNumber(1) + void clearLocation() => clearField(1); + + /// The UTF-8 code unit offset. + @$pb.TagNumber(2) + $core.int get offset => $_getIZ(1); + @$pb.TagNumber(2) + set offset($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOffset() => $_has(1); + @$pb.TagNumber(2) + void clearOffset() => clearField(2); + + /// The 1-based index of the starting line in the source text + /// where the issue occurs, or 0 if unknown. + @$pb.TagNumber(3) + $core.int get line => $_getIZ(2); + @$pb.TagNumber(3) + set line($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLine() => $_has(2); + @$pb.TagNumber(3) + void clearLine() => clearField(3); + + /// The 0-based index of the starting position within the line of source text + /// where the issue occurs. Only meaningful if line is nonzero. + @$pb.TagNumber(4) + $core.int get column => $_getIZ(3); + @$pb.TagNumber(4) + set column($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasColumn() => $_has(3); + @$pb.TagNumber(4) + void clearColumn() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pbenum.dart new file mode 100644 index 00000000..f01b4daa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pbenum.dart @@ -0,0 +1,48 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/syntax.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// CEL component specifier. +class SourceInfo_Extension_Component extends $pb.ProtobufEnum { + static const SourceInfo_Extension_Component COMPONENT_UNSPECIFIED = + SourceInfo_Extension_Component._( + 0, _omitEnumNames ? '' : 'COMPONENT_UNSPECIFIED'); + static const SourceInfo_Extension_Component COMPONENT_PARSER = + SourceInfo_Extension_Component._( + 1, _omitEnumNames ? '' : 'COMPONENT_PARSER'); + static const SourceInfo_Extension_Component COMPONENT_TYPE_CHECKER = + SourceInfo_Extension_Component._( + 2, _omitEnumNames ? '' : 'COMPONENT_TYPE_CHECKER'); + static const SourceInfo_Extension_Component COMPONENT_RUNTIME = + SourceInfo_Extension_Component._( + 3, _omitEnumNames ? '' : 'COMPONENT_RUNTIME'); + + static const $core.List values = + [ + COMPONENT_UNSPECIFIED, + COMPONENT_PARSER, + COMPONENT_TYPE_CHECKER, + COMPONENT_RUNTIME, + ]; + + static final $core.Map<$core.int, SourceInfo_Extension_Component> _byValue = + $pb.ProtobufEnum.initByValue(values); + static SourceInfo_Extension_Component? valueOf($core.int value) => + _byValue[value]; + + const SourceInfo_Extension_Component._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pbjson.dart new file mode 100644 index 00000000..f55dbc56 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/syntax.pbjson.dart @@ -0,0 +1,528 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/syntax.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use parsedExprDescriptor instead') +const ParsedExpr$json = { + '1': 'ParsedExpr', + '2': [ + { + '1': 'expr', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'expr' + }, + { + '1': 'source_info', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.SourceInfo', + '10': 'sourceInfo' + }, + ], +}; + +/// Descriptor for `ParsedExpr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List parsedExprDescriptor = $convert.base64Decode( + 'CgpQYXJzZWRFeHByEjIKBGV4cHIYAiABKAsyHi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRX' + 'hwclIEZXhwchJFCgtzb3VyY2VfaW5mbxgDIAEoCzIkLmdvb2dsZS5hcGkuZXhwci52MWFscGhh' + 'MS5Tb3VyY2VJbmZvUgpzb3VyY2VJbmZv'); + +@$core.Deprecated('Use exprDescriptor instead') +const Expr$json = { + '1': 'Expr', + '2': [ + {'1': 'id', '3': 2, '4': 1, '5': 3, '10': 'id'}, + { + '1': 'const_expr', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Constant', + '9': 0, + '10': 'constExpr' + }, + { + '1': 'ident_expr', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.Ident', + '9': 0, + '10': 'identExpr' + }, + { + '1': 'select_expr', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.Select', + '9': 0, + '10': 'selectExpr' + }, + { + '1': 'call_expr', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.Call', + '9': 0, + '10': 'callExpr' + }, + { + '1': 'list_expr', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.CreateList', + '9': 0, + '10': 'listExpr' + }, + { + '1': 'struct_expr', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.CreateStruct', + '9': 0, + '10': 'structExpr' + }, + { + '1': 'comprehension_expr', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.Comprehension', + '9': 0, + '10': 'comprehensionExpr' + }, + ], + '3': [ + Expr_Ident$json, + Expr_Select$json, + Expr_Call$json, + Expr_CreateList$json, + Expr_CreateStruct$json, + Expr_Comprehension$json + ], + '8': [ + {'1': 'expr_kind'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Ident$json = { + '1': 'Ident', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Select$json = { + '1': 'Select', + '2': [ + { + '1': 'operand', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'operand' + }, + {'1': 'field', '3': 2, '4': 1, '5': 9, '10': 'field'}, + {'1': 'test_only', '3': 3, '4': 1, '5': 8, '10': 'testOnly'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Call$json = { + '1': 'Call', + '2': [ + { + '1': 'target', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'target' + }, + {'1': 'function', '3': 2, '4': 1, '5': 9, '10': 'function'}, + { + '1': 'args', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'args' + }, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_CreateList$json = { + '1': 'CreateList', + '2': [ + { + '1': 'elements', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'elements' + }, + {'1': 'optional_indices', '3': 2, '4': 3, '5': 5, '10': 'optionalIndices'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_CreateStruct$json = { + '1': 'CreateStruct', + '2': [ + {'1': 'message_name', '3': 1, '4': 1, '5': 9, '10': 'messageName'}, + { + '1': 'entries', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr.CreateStruct.Entry', + '10': 'entries' + }, + ], + '3': [Expr_CreateStruct_Entry$json], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_CreateStruct_Entry$json = { + '1': 'Entry', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 3, '10': 'id'}, + {'1': 'field_key', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'fieldKey'}, + { + '1': 'map_key', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '9': 0, + '10': 'mapKey' + }, + { + '1': 'value', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'value' + }, + {'1': 'optional_entry', '3': 5, '4': 1, '5': 8, '10': 'optionalEntry'}, + ], + '8': [ + {'1': 'key_kind'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Comprehension$json = { + '1': 'Comprehension', + '2': [ + {'1': 'iter_var', '3': 1, '4': 1, '5': 9, '10': 'iterVar'}, + {'1': 'iter_var2', '3': 8, '4': 1, '5': 9, '10': 'iterVar2'}, + { + '1': 'iter_range', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'iterRange' + }, + {'1': 'accu_var', '3': 3, '4': 1, '5': 9, '10': 'accuVar'}, + { + '1': 'accu_init', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'accuInit' + }, + { + '1': 'loop_condition', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'loopCondition' + }, + { + '1': 'loop_step', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'loopStep' + }, + { + '1': 'result', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'result' + }, + ], +}; + +/// Descriptor for `Expr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprDescriptor = $convert.base64Decode( + 'CgRFeHByEg4KAmlkGAIgASgDUgJpZBJDCgpjb25zdF9leHByGAMgASgLMiIuZ29vZ2xlLmFwaS' + '5leHByLnYxYWxwaGExLkNvbnN0YW50SABSCWNvbnN0RXhwchJFCgppZGVudF9leHByGAQgASgL' + 'MiQuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHIuSWRlbnRIAFIJaWRlbnRFeHByEkgKC3' + 'NlbGVjdF9leHByGAUgASgLMiUuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHIuU2VsZWN0' + 'SABSCnNlbGVjdEV4cHISQgoJY2FsbF9leHByGAYgASgLMiMuZ29vZ2xlLmFwaS5leHByLnYxYW' + 'xwaGExLkV4cHIuQ2FsbEgAUghjYWxsRXhwchJICglsaXN0X2V4cHIYByABKAsyKS5nb29nbGUu' + 'YXBpLmV4cHIudjFhbHBoYTEuRXhwci5DcmVhdGVMaXN0SABSCGxpc3RFeHByEk4KC3N0cnVjdF' + '9leHByGAggASgLMisuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHIuQ3JlYXRlU3RydWN0' + 'SABSCnN0cnVjdEV4cHISXQoSY29tcHJlaGVuc2lvbl9leHByGAkgASgLMiwuZ29vZ2xlLmFwaS' + '5leHByLnYxYWxwaGExLkV4cHIuQ29tcHJlaGVuc2lvbkgAUhFjb21wcmVoZW5zaW9uRXhwchob' + 'CgVJZGVudBISCgRuYW1lGAEgASgJUgRuYW1lGnUKBlNlbGVjdBI4CgdvcGVyYW5kGAEgASgLMh' + '4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHJSB29wZXJhbmQSFAoFZmllbGQYAiABKAlS' + 'BWZpZWxkEhsKCXRlc3Rfb25seRgDIAEoCFIIdGVzdE9ubHkajgEKBENhbGwSNgoGdGFyZ2V0GA' + 'EgASgLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHJSBnRhcmdldBIaCghmdW5jdGlv' + 'bhgCIAEoCVIIZnVuY3Rpb24SMgoEYXJncxgDIAMoCzIeLmdvb2dsZS5hcGkuZXhwci52MWFscG' + 'hhMS5FeHByUgRhcmdzGnMKCkNyZWF0ZUxpc3QSOgoIZWxlbWVudHMYASADKAsyHi5nb29nbGUu' + 'YXBpLmV4cHIudjFhbHBoYTEuRXhwclIIZWxlbWVudHMSKQoQb3B0aW9uYWxfaW5kaWNlcxgCIA' + 'MoBVIPb3B0aW9uYWxJbmRpY2VzGtsCCgxDcmVhdGVTdHJ1Y3QSIQoMbWVzc2FnZV9uYW1lGAEg' + 'ASgJUgttZXNzYWdlTmFtZRJLCgdlbnRyaWVzGAIgAygLMjEuZ29vZ2xlLmFwaS5leHByLnYxYW' + 'xwaGExLkV4cHIuQ3JlYXRlU3RydWN0LkVudHJ5UgdlbnRyaWVzGtoBCgVFbnRyeRIOCgJpZBgB' + 'IAEoA1ICaWQSHQoJZmllbGRfa2V5GAIgASgJSABSCGZpZWxkS2V5EjkKB21hcF9rZXkYAyABKA' + 'syHi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRXhwckgAUgZtYXBLZXkSNAoFdmFsdWUYBCAB' + 'KAsyHi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRXhwclIFdmFsdWUSJQoOb3B0aW9uYWxfZW' + '50cnkYBSABKAhSDW9wdGlvbmFsRW50cnlCCgoIa2V5X2tpbmQamgMKDUNvbXByZWhlbnNpb24S' + 'GQoIaXRlcl92YXIYASABKAlSB2l0ZXJWYXISGwoJaXRlcl92YXIyGAggASgJUghpdGVyVmFyMh' + 'I9CgppdGVyX3JhbmdlGAIgASgLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHJSCWl0' + 'ZXJSYW5nZRIZCghhY2N1X3ZhchgDIAEoCVIHYWNjdVZhchI7CglhY2N1X2luaXQYBCABKAsyHi' + '5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRXhwclIIYWNjdUluaXQSRQoObG9vcF9jb25kaXRp' + 'b24YBSABKAsyHi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRXhwclINbG9vcENvbmRpdGlvbh' + 'I7Cglsb29wX3N0ZXAYBiABKAsyHi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRXhwclIIbG9v' + 'cFN0ZXASNgoGcmVzdWx0GAcgASgLMh4uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkV4cHJSBn' + 'Jlc3VsdEILCglleHByX2tpbmQ='); + +@$core.Deprecated('Use constantDescriptor instead') +const Constant$json = { + '1': 'Constant', + '2': [ + { + '1': 'null_value', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + {'1': 'bool_value', '3': 2, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + {'1': 'int64_value', '3': 3, '4': 1, '5': 3, '9': 0, '10': 'int64Value'}, + {'1': 'uint64_value', '3': 4, '4': 1, '5': 4, '9': 0, '10': 'uint64Value'}, + {'1': 'double_value', '3': 5, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + {'1': 'string_value', '3': 6, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'bytes_value', '3': 7, '4': 1, '5': 12, '9': 0, '10': 'bytesValue'}, + { + '1': 'duration_value', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '8': {'3': true}, + '9': 0, + '10': 'durationValue', + }, + { + '1': 'timestamp_value', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {'3': true}, + '9': 0, + '10': 'timestampValue', + }, + ], + '8': [ + {'1': 'constant_kind'}, + ], +}; + +/// Descriptor for `Constant`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List constantDescriptor = $convert.base64Decode( + 'CghDb25zdGFudBI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYW' + 'x1ZUgAUgludWxsVmFsdWUSHwoKYm9vbF92YWx1ZRgCIAEoCEgAUglib29sVmFsdWUSIQoLaW50' + 'NjRfdmFsdWUYAyABKANIAFIKaW50NjRWYWx1ZRIjCgx1aW50NjRfdmFsdWUYBCABKARIAFILdW' + 'ludDY0VmFsdWUSIwoMZG91YmxlX3ZhbHVlGAUgASgBSABSC2RvdWJsZVZhbHVlEiMKDHN0cmlu' + 'Z192YWx1ZRgGIAEoCUgAUgtzdHJpbmdWYWx1ZRIhCgtieXRlc192YWx1ZRgHIAEoDEgAUgpieX' + 'Rlc1ZhbHVlEkYKDmR1cmF0aW9uX3ZhbHVlGAggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0' + 'aW9uQgIYAUgAUg1kdXJhdGlvblZhbHVlEkkKD3RpbWVzdGFtcF92YWx1ZRgJIAEoCzIaLmdvb2' + 'dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAhgBSABSDnRpbWVzdGFtcFZhbHVlQg8KDWNvbnN0YW50' + 'X2tpbmQ='); + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo$json = { + '1': 'SourceInfo', + '2': [ + {'1': 'syntax_version', '3': 1, '4': 1, '5': 9, '10': 'syntaxVersion'}, + {'1': 'location', '3': 2, '4': 1, '5': 9, '10': 'location'}, + {'1': 'line_offsets', '3': 3, '4': 3, '5': 5, '10': 'lineOffsets'}, + { + '1': 'positions', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.SourceInfo.PositionsEntry', + '10': 'positions' + }, + { + '1': 'macro_calls', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry', + '10': 'macroCalls' + }, + { + '1': 'extensions', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.SourceInfo.Extension', + '10': 'extensions' + }, + ], + '3': [ + SourceInfo_Extension$json, + SourceInfo_PositionsEntry$json, + SourceInfo_MacroCallsEntry$json + ], +}; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo_Extension$json = { + '1': 'Extension', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'affected_components', + '3': 2, + '4': 3, + '5': 14, + '6': '.google.api.expr.v1alpha1.SourceInfo.Extension.Component', + '10': 'affectedComponents' + }, + { + '1': 'version', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.SourceInfo.Extension.Version', + '10': 'version' + }, + ], + '3': [SourceInfo_Extension_Version$json], + '4': [SourceInfo_Extension_Component$json], +}; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo_Extension_Version$json = { + '1': 'Version', + '2': [ + {'1': 'major', '3': 1, '4': 1, '5': 3, '10': 'major'}, + {'1': 'minor', '3': 2, '4': 1, '5': 3, '10': 'minor'}, + ], +}; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo_Extension_Component$json = { + '1': 'Component', + '2': [ + {'1': 'COMPONENT_UNSPECIFIED', '2': 0}, + {'1': 'COMPONENT_PARSER', '2': 1}, + {'1': 'COMPONENT_TYPE_CHECKER', '2': 2}, + {'1': 'COMPONENT_RUNTIME', '2': 3}, + ], +}; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo_PositionsEntry$json = { + '1': 'PositionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 3, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo_MacroCallsEntry$json = { + '1': 'MacroCallsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 3, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Expr', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `SourceInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceInfoDescriptor = $convert.base64Decode( + 'CgpTb3VyY2VJbmZvEiUKDnN5bnRheF92ZXJzaW9uGAEgASgJUg1zeW50YXhWZXJzaW9uEhoKCG' + 'xvY2F0aW9uGAIgASgJUghsb2NhdGlvbhIhCgxsaW5lX29mZnNldHMYAyADKAVSC2xpbmVPZmZz' + 'ZXRzElEKCXBvc2l0aW9ucxgEIAMoCzIzLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5Tb3VyY2' + 'VJbmZvLlBvc2l0aW9uc0VudHJ5Uglwb3NpdGlvbnMSVQoLbWFjcm9fY2FsbHMYBSADKAsyNC5n' + 'b29nbGUuYXBpLmV4cHIudjFhbHBoYTEuU291cmNlSW5mby5NYWNyb0NhbGxzRW50cnlSCm1hY3' + 'JvQ2FsbHMSTgoKZXh0ZW5zaW9ucxgGIAMoCzIuLmdvb2dsZS5hcGkuZXhwci52MWFscGhhMS5T' + 'b3VyY2VJbmZvLkV4dGVuc2lvblIKZXh0ZW5zaW9ucxqAAwoJRXh0ZW5zaW9uEg4KAmlkGAEgAS' + 'gJUgJpZBJpChNhZmZlY3RlZF9jb21wb25lbnRzGAIgAygOMjguZ29vZ2xlLmFwaS5leHByLnYx' + 'YWxwaGExLlNvdXJjZUluZm8uRXh0ZW5zaW9uLkNvbXBvbmVudFISYWZmZWN0ZWRDb21wb25lbn' + 'RzElAKB3ZlcnNpb24YAyABKAsyNi5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuU291cmNlSW5m' + 'by5FeHRlbnNpb24uVmVyc2lvblIHdmVyc2lvbho1CgdWZXJzaW9uEhQKBW1ham9yGAEgASgDUg' + 'VtYWpvchIUCgVtaW5vchgCIAEoA1IFbWlub3IibwoJQ29tcG9uZW50EhkKFUNPTVBPTkVOVF9V' + 'TlNQRUNJRklFRBAAEhQKEENPTVBPTkVOVF9QQVJTRVIQARIaChZDT01QT05FTlRfVFlQRV9DSE' + 'VDS0VSEAISFQoRQ09NUE9ORU5UX1JVTlRJTUUQAxo8Cg5Qb3NpdGlvbnNFbnRyeRIQCgNrZXkY' + 'ASABKANSA2tleRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU6AjgBGl0KD01hY3JvQ2FsbHNFbnRyeR' + 'IQCgNrZXkYASABKANSA2tleRI0CgV2YWx1ZRgCIAEoCzIeLmdvb2dsZS5hcGkuZXhwci52MWFs' + 'cGhhMS5FeHByUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use sourcePositionDescriptor instead') +const SourcePosition$json = { + '1': 'SourcePosition', + '2': [ + {'1': 'location', '3': 1, '4': 1, '5': 9, '10': 'location'}, + {'1': 'offset', '3': 2, '4': 1, '5': 5, '10': 'offset'}, + {'1': 'line', '3': 3, '4': 1, '5': 5, '10': 'line'}, + {'1': 'column', '3': 4, '4': 1, '5': 5, '10': 'column'}, + ], +}; + +/// Descriptor for `SourcePosition`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourcePositionDescriptor = $convert.base64Decode( + 'Cg5Tb3VyY2VQb3NpdGlvbhIaCghsb2NhdGlvbhgBIAEoCVIIbG9jYXRpb24SFgoGb2Zmc2V0GA' + 'IgASgFUgZvZmZzZXQSEgoEbGluZRgDIAEoBVIEbGluZRIWCgZjb2x1bW4YBCABKAVSBmNvbHVt' + 'bg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pb.dart new file mode 100644 index 00000000..ae040ff6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pb.dart @@ -0,0 +1,627 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/any.pb.dart' as $49; +import '../../../protobuf/struct.pbenum.dart' as $48; + +enum Value_Kind { + nullValue, + boolValue, + int64Value, + uint64Value, + doubleValue, + stringValue, + bytesValue, + enumValue, + objectValue, + mapValue, + listValue, + typeValue, + notSet +} + +/// Represents a CEL value. +/// +/// This is similar to `google.protobuf.Value`, but can represent CEL's full +/// range of values. +class Value extends $pb.GeneratedMessage { + factory Value({ + $48.NullValue? nullValue, + $core.bool? boolValue, + $fixnum.Int64? int64Value, + $fixnum.Int64? uint64Value, + $core.double? doubleValue, + $core.String? stringValue, + $core.List<$core.int>? bytesValue, + EnumValue? enumValue, + $49.Any? objectValue, + MapValue? mapValue, + ListValue? listValue, + $core.String? typeValue, + }) { + final $result = create(); + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (int64Value != null) { + $result.int64Value = int64Value; + } + if (uint64Value != null) { + $result.uint64Value = uint64Value; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (bytesValue != null) { + $result.bytesValue = bytesValue; + } + if (enumValue != null) { + $result.enumValue = enumValue; + } + if (objectValue != null) { + $result.objectValue = objectValue; + } + if (mapValue != null) { + $result.mapValue = mapValue; + } + if (listValue != null) { + $result.listValue = listValue; + } + if (typeValue != null) { + $result.typeValue = typeValue; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_Kind> _Value_KindByTag = { + 1: Value_Kind.nullValue, + 2: Value_Kind.boolValue, + 3: Value_Kind.int64Value, + 4: Value_Kind.uint64Value, + 5: Value_Kind.doubleValue, + 6: Value_Kind.stringValue, + 7: Value_Kind.bytesValue, + 9: Value_Kind.enumValue, + 10: Value_Kind.objectValue, + 11: Value_Kind.mapValue, + 12: Value_Kind.listValue, + 15: Value_Kind.typeValue, + 0: Value_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Value', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15]) + ..e<$48.NullValue>( + 1, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..aOB(2, _omitFieldNames ? '' : 'boolValue') + ..aInt64(3, _omitFieldNames ? '' : 'int64Value') + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'uint64Value', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 5, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOS(6, _omitFieldNames ? '' : 'stringValue') + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'bytesValue', $pb.PbFieldType.OY) + ..aOM(9, _omitFieldNames ? '' : 'enumValue', + subBuilder: EnumValue.create) + ..aOM<$49.Any>(10, _omitFieldNames ? '' : 'objectValue', + subBuilder: $49.Any.create) + ..aOM(11, _omitFieldNames ? '' : 'mapValue', + subBuilder: MapValue.create) + ..aOM(12, _omitFieldNames ? '' : 'listValue', + subBuilder: ListValue.create) + ..aOS(15, _omitFieldNames ? '' : 'typeValue') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => + super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_Kind whichKind() => _Value_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// Null value. + @$pb.TagNumber(1) + $48.NullValue get nullValue => $_getN(0); + @$pb.TagNumber(1) + set nullValue($48.NullValue v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNullValue() => $_has(0); + @$pb.TagNumber(1) + void clearNullValue() => clearField(1); + + /// Boolean value. + @$pb.TagNumber(2) + $core.bool get boolValue => $_getBF(1); + @$pb.TagNumber(2) + set boolValue($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasBoolValue() => $_has(1); + @$pb.TagNumber(2) + void clearBoolValue() => clearField(2); + + /// Signed integer value. + @$pb.TagNumber(3) + $fixnum.Int64 get int64Value => $_getI64(2); + @$pb.TagNumber(3) + set int64Value($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasInt64Value() => $_has(2); + @$pb.TagNumber(3) + void clearInt64Value() => clearField(3); + + /// Unsigned integer value. + @$pb.TagNumber(4) + $fixnum.Int64 get uint64Value => $_getI64(3); + @$pb.TagNumber(4) + set uint64Value($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUint64Value() => $_has(3); + @$pb.TagNumber(4) + void clearUint64Value() => clearField(4); + + /// Floating point value. + @$pb.TagNumber(5) + $core.double get doubleValue => $_getN(4); + @$pb.TagNumber(5) + set doubleValue($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDoubleValue() => $_has(4); + @$pb.TagNumber(5) + void clearDoubleValue() => clearField(5); + + /// UTF-8 string value. + @$pb.TagNumber(6) + $core.String get stringValue => $_getSZ(5); + @$pb.TagNumber(6) + set stringValue($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasStringValue() => $_has(5); + @$pb.TagNumber(6) + void clearStringValue() => clearField(6); + + /// Byte string value. + @$pb.TagNumber(7) + $core.List<$core.int> get bytesValue => $_getN(6); + @$pb.TagNumber(7) + set bytesValue($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasBytesValue() => $_has(6); + @$pb.TagNumber(7) + void clearBytesValue() => clearField(7); + + /// An enum value. + @$pb.TagNumber(9) + EnumValue get enumValue => $_getN(7); + @$pb.TagNumber(9) + set enumValue(EnumValue v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasEnumValue() => $_has(7); + @$pb.TagNumber(9) + void clearEnumValue() => clearField(9); + @$pb.TagNumber(9) + EnumValue ensureEnumValue() => $_ensure(7); + + /// The proto message backing an object value. + @$pb.TagNumber(10) + $49.Any get objectValue => $_getN(8); + @$pb.TagNumber(10) + set objectValue($49.Any v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasObjectValue() => $_has(8); + @$pb.TagNumber(10) + void clearObjectValue() => clearField(10); + @$pb.TagNumber(10) + $49.Any ensureObjectValue() => $_ensure(8); + + /// Map value. + @$pb.TagNumber(11) + MapValue get mapValue => $_getN(9); + @$pb.TagNumber(11) + set mapValue(MapValue v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasMapValue() => $_has(9); + @$pb.TagNumber(11) + void clearMapValue() => clearField(11); + @$pb.TagNumber(11) + MapValue ensureMapValue() => $_ensure(9); + + /// List value. + @$pb.TagNumber(12) + ListValue get listValue => $_getN(10); + @$pb.TagNumber(12) + set listValue(ListValue v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasListValue() => $_has(10); + @$pb.TagNumber(12) + void clearListValue() => clearField(12); + @$pb.TagNumber(12) + ListValue ensureListValue() => $_ensure(10); + + /// Type value. + @$pb.TagNumber(15) + $core.String get typeValue => $_getSZ(11); + @$pb.TagNumber(15) + set typeValue($core.String v) { + $_setString(11, v); + } + + @$pb.TagNumber(15) + $core.bool hasTypeValue() => $_has(11); + @$pb.TagNumber(15) + void clearTypeValue() => clearField(15); +} + +/// An enum value. +class EnumValue extends $pb.GeneratedMessage { + factory EnumValue({ + $core.String? type, + $core.int? value, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (value != null) { + $result.value = value; + } + return $result; + } + EnumValue._() : super(); + factory EnumValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..a<$core.int>(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumValue clone() => EnumValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumValue copyWith(void Function(EnumValue) updates) => + super.copyWith((message) => updates(message as EnumValue)) as EnumValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumValue create() => EnumValue._(); + EnumValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumValue? _defaultInstance; + + /// The fully qualified name of the enum type. + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(1); + + /// The value of the enum. + @$pb.TagNumber(2) + $core.int get value => $_getIZ(1); + @$pb.TagNumber(2) + set value($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +/// A list. +/// +/// Wrapped in a message so 'not set' and empty can be differentiated, which is +/// required for use in a 'oneof'. +class ListValue extends $pb.GeneratedMessage { + factory ListValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + ListValue._() : super(); + factory ListValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListValue clone() => ListValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListValue copyWith(void Function(ListValue) updates) => + super.copyWith((message) => updates(message as ListValue)) as ListValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListValue create() => ListValue._(); + ListValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListValue? _defaultInstance; + + /// The ordered values in the list. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + +/// An entry in the map. +class MapValue_Entry extends $pb.GeneratedMessage { + factory MapValue_Entry({ + Value? key, + Value? value, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (value != null) { + $result.value = value; + } + return $result; + } + MapValue_Entry._() : super(); + factory MapValue_Entry.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MapValue_Entry.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MapValue.Entry', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'key', subBuilder: Value.create) + ..aOM(2, _omitFieldNames ? '' : 'value', subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MapValue_Entry clone() => MapValue_Entry()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MapValue_Entry copyWith(void Function(MapValue_Entry) updates) => + super.copyWith((message) => updates(message as MapValue_Entry)) + as MapValue_Entry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MapValue_Entry create() => MapValue_Entry._(); + MapValue_Entry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MapValue_Entry getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MapValue_Entry? _defaultInstance; + + /// The key. + /// + /// Must be unique with in the map. + /// Currently only boolean, int, uint, and string values can be keys. + @$pb.TagNumber(1) + Value get key => $_getN(0); + @$pb.TagNumber(1) + set key(Value v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + @$pb.TagNumber(1) + Value ensureKey() => $_ensure(0); + + /// The value. + @$pb.TagNumber(2) + Value get value => $_getN(1); + @$pb.TagNumber(2) + set value(Value v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + @$pb.TagNumber(2) + Value ensureValue() => $_ensure(1); +} + +/// A map. +/// +/// Wrapped in a message so 'not set' and empty can be differentiated, which is +/// required for use in a 'oneof'. +class MapValue extends $pb.GeneratedMessage { + factory MapValue({ + $core.Iterable? entries, + }) { + final $result = create(); + if (entries != null) { + $result.entries.addAll(entries); + } + return $result; + } + MapValue._() : super(); + factory MapValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MapValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MapValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1alpha1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: MapValue_Entry.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MapValue clone() => MapValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MapValue copyWith(void Function(MapValue) updates) => + super.copyWith((message) => updates(message as MapValue)) as MapValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MapValue create() => MapValue._(); + MapValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MapValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static MapValue? _defaultInstance; + + /// The set of map entries. + /// + /// CEL has fewer restrictions on keys, so a protobuf map represenation + /// cannot be used. + @$pb.TagNumber(1) + $core.List get entries => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pbenum.dart new file mode 100644 index 00000000..13b4c72a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pbjson.dart new file mode 100644 index 00000000..8110535b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1alpha1/value.pbjson.dart @@ -0,0 +1,169 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1alpha1/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + { + '1': 'null_value', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + {'1': 'bool_value', '3': 2, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + {'1': 'int64_value', '3': 3, '4': 1, '5': 3, '9': 0, '10': 'int64Value'}, + {'1': 'uint64_value', '3': 4, '4': 1, '5': 4, '9': 0, '10': 'uint64Value'}, + {'1': 'double_value', '3': 5, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + {'1': 'string_value', '3': 6, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'bytes_value', '3': 7, '4': 1, '5': 12, '9': 0, '10': 'bytesValue'}, + { + '1': 'enum_value', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.EnumValue', + '9': 0, + '10': 'enumValue' + }, + { + '1': 'object_value', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '9': 0, + '10': 'objectValue' + }, + { + '1': 'map_value', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.MapValue', + '9': 0, + '10': 'mapValue' + }, + { + '1': 'list_value', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.ListValue', + '9': 0, + '10': 'listValue' + }, + {'1': 'type_value', '3': 15, '4': 1, '5': 9, '9': 0, '10': 'typeValue'}, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZU' + 'gAUgludWxsVmFsdWUSHwoKYm9vbF92YWx1ZRgCIAEoCEgAUglib29sVmFsdWUSIQoLaW50NjRf' + 'dmFsdWUYAyABKANIAFIKaW50NjRWYWx1ZRIjCgx1aW50NjRfdmFsdWUYBCABKARIAFILdWludD' + 'Y0VmFsdWUSIwoMZG91YmxlX3ZhbHVlGAUgASgBSABSC2RvdWJsZVZhbHVlEiMKDHN0cmluZ192' + 'YWx1ZRgGIAEoCUgAUgtzdHJpbmdWYWx1ZRIhCgtieXRlc192YWx1ZRgHIAEoDEgAUgpieXRlc1' + 'ZhbHVlEkQKCmVudW1fdmFsdWUYCSABKAsyIy5nb29nbGUuYXBpLmV4cHIudjFhbHBoYTEuRW51' + 'bVZhbHVlSABSCWVudW1WYWx1ZRI5CgxvYmplY3RfdmFsdWUYCiABKAsyFC5nb29nbGUucHJvdG' + '9idWYuQW55SABSC29iamVjdFZhbHVlEkEKCW1hcF92YWx1ZRgLIAEoCzIiLmdvb2dsZS5hcGku' + 'ZXhwci52MWFscGhhMS5NYXBWYWx1ZUgAUghtYXBWYWx1ZRJECgpsaXN0X3ZhbHVlGAwgASgLMi' + 'MuZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWUSHwoKdHlw' + 'ZV92YWx1ZRgPIAEoCUgAUgl0eXBlVmFsdWVCBgoEa2luZA=='); + +@$core.Deprecated('Use enumValueDescriptor instead') +const EnumValue$json = { + '1': 'EnumValue', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], +}; + +/// Descriptor for `EnumValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumValueDescriptor = $convert.base64Decode( + 'CglFbnVtVmFsdWUSEgoEdHlwZRgBIAEoCVIEdHlwZRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU='); + +@$core.Deprecated('Use listValueDescriptor instead') +const ListValue$json = { + '1': 'ListValue', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.Value', + '10': 'values' + }, + ], +}; + +/// Descriptor for `ListValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listValueDescriptor = $convert.base64Decode( + 'CglMaXN0VmFsdWUSNwoGdmFsdWVzGAEgAygLMh8uZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLl' + 'ZhbHVlUgZ2YWx1ZXM='); + +@$core.Deprecated('Use mapValueDescriptor instead') +const MapValue$json = { + '1': 'MapValue', + '2': [ + { + '1': 'entries', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1alpha1.MapValue.Entry', + '10': 'entries' + }, + ], + '3': [MapValue_Entry$json], +}; + +@$core.Deprecated('Use mapValueDescriptor instead') +const MapValue_Entry$json = { + '1': 'Entry', + '2': [ + { + '1': 'key', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Value', + '10': 'key' + }, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1alpha1.Value', + '10': 'value' + }, + ], +}; + +/// Descriptor for `MapValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mapValueDescriptor = $convert.base64Decode( + 'CghNYXBWYWx1ZRJCCgdlbnRyaWVzGAEgAygLMiguZ29vZ2xlLmFwaS5leHByLnYxYWxwaGExLk' + '1hcFZhbHVlLkVudHJ5UgdlbnRyaWVzGnEKBUVudHJ5EjEKA2tleRgBIAEoCzIfLmdvb2dsZS5h' + 'cGkuZXhwci52MWFscGhhMS5WYWx1ZVIDa2V5EjUKBXZhbHVlGAIgASgLMh8uZ29vZ2xlLmFwaS' + '5leHByLnYxYWxwaGExLlZhbHVlUgV2YWx1ZQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pb.dart new file mode 100644 index 00000000..95c31e95 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pb.dart @@ -0,0 +1,446 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/decl.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'expr.pb.dart' as $105; + +enum Decl_Kind { ident, function, notSet } + +/// A declaration. +class Decl extends $pb.GeneratedMessage { + factory Decl({ + $core.int? id, + $core.String? name, + $core.String? doc, + IdentDecl? ident, + FunctionDecl? function, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (name != null) { + $result.name = name; + } + if (doc != null) { + $result.doc = doc; + } + if (ident != null) { + $result.ident = ident; + } + if (function != null) { + $result.function = function; + } + return $result; + } + Decl._() : super(); + factory Decl.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Decl.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Decl_Kind> _Decl_KindByTag = { + 4: Decl_Kind.ident, + 5: Decl_Kind.function, + 0: Decl_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Decl', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..oo(0, [4, 5]) + ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'name') + ..aOS(3, _omitFieldNames ? '' : 'doc') + ..aOM(4, _omitFieldNames ? '' : 'ident', + subBuilder: IdentDecl.create) + ..aOM(5, _omitFieldNames ? '' : 'function', + subBuilder: FunctionDecl.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Decl clone() => Decl()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Decl copyWith(void Function(Decl) updates) => + super.copyWith((message) => updates(message as Decl)) as Decl; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Decl create() => Decl._(); + Decl createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Decl getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Decl? _defaultInstance; + + Decl_Kind whichKind() => _Decl_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// The id of the declaration. + @$pb.TagNumber(1) + $core.int get id => $_getIZ(0); + @$pb.TagNumber(1) + set id($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// The name of the declaration. + @$pb.TagNumber(2) + $core.String get name => $_getSZ(1); + @$pb.TagNumber(2) + set name($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasName() => $_has(1); + @$pb.TagNumber(2) + void clearName() => clearField(2); + + /// The documentation string for the declaration. + @$pb.TagNumber(3) + $core.String get doc => $_getSZ(2); + @$pb.TagNumber(3) + set doc($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDoc() => $_has(2); + @$pb.TagNumber(3) + void clearDoc() => clearField(3); + + /// An identifier declaration. + @$pb.TagNumber(4) + IdentDecl get ident => $_getN(3); + @$pb.TagNumber(4) + set ident(IdentDecl v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasIdent() => $_has(3); + @$pb.TagNumber(4) + void clearIdent() => clearField(4); + @$pb.TagNumber(4) + IdentDecl ensureIdent() => $_ensure(3); + + /// A function declaration. + @$pb.TagNumber(5) + FunctionDecl get function => $_getN(4); + @$pb.TagNumber(5) + set function(FunctionDecl v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasFunction() => $_has(4); + @$pb.TagNumber(5) + void clearFunction() => clearField(5); + @$pb.TagNumber(5) + FunctionDecl ensureFunction() => $_ensure(4); +} + +/// The declared type of a variable. +/// +/// Extends runtime type values with extra information used for type checking +/// and dispatching. +class DeclType extends $pb.GeneratedMessage { + factory DeclType({ + $core.int? id, + $core.String? type, + $core.Iterable? typeParams, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (type != null) { + $result.type = type; + } + if (typeParams != null) { + $result.typeParams.addAll(typeParams); + } + return $result; + } + DeclType._() : super(); + factory DeclType.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeclType.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeclType', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'type') + ..pc(4, _omitFieldNames ? '' : 'typeParams', $pb.PbFieldType.PM, + subBuilder: DeclType.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeclType clone() => DeclType()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeclType copyWith(void Function(DeclType) updates) => + super.copyWith((message) => updates(message as DeclType)) as DeclType; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeclType create() => DeclType._(); + DeclType createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeclType getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DeclType? _defaultInstance; + + /// The expression id of the declared type, if applicable. + @$pb.TagNumber(1) + $core.int get id => $_getIZ(0); + @$pb.TagNumber(1) + set id($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// The type name, e.g. 'int', 'my.type.Type' or 'T' + @$pb.TagNumber(2) + $core.String get type => $_getSZ(1); + @$pb.TagNumber(2) + set type($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + /// An ordered list of type parameters, e.g. ``. + /// Only applies to a subset of types, e.g. `map`, `list`. + @$pb.TagNumber(4) + $core.List get typeParams => $_getList(2); +} + +/// An identifier declaration. +class IdentDecl extends $pb.GeneratedMessage { + factory IdentDecl({ + DeclType? type, + $105.Expr? value, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (value != null) { + $result.value = value; + } + return $result; + } + IdentDecl._() : super(); + factory IdentDecl.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IdentDecl.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'IdentDecl', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOM(3, _omitFieldNames ? '' : 'type', + subBuilder: DeclType.create) + ..aOM<$105.Expr>(4, _omitFieldNames ? '' : 'value', + subBuilder: $105.Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IdentDecl clone() => IdentDecl()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IdentDecl copyWith(void Function(IdentDecl) updates) => + super.copyWith((message) => updates(message as IdentDecl)) as IdentDecl; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IdentDecl create() => IdentDecl._(); + IdentDecl createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IdentDecl getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static IdentDecl? _defaultInstance; + + /// Optional type of the identifier. + @$pb.TagNumber(3) + DeclType get type => $_getN(0); + @$pb.TagNumber(3) + set type(DeclType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(3) + void clearType() => clearField(3); + @$pb.TagNumber(3) + DeclType ensureType() => $_ensure(0); + + /// Optional value of the identifier. + @$pb.TagNumber(4) + $105.Expr get value => $_getN(1); + @$pb.TagNumber(4) + set value($105.Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(4) + void clearValue() => clearField(4); + @$pb.TagNumber(4) + $105.Expr ensureValue() => $_ensure(1); +} + +/// A function declaration. +class FunctionDecl extends $pb.GeneratedMessage { + factory FunctionDecl({ + $core.Iterable? args, + DeclType? returnType, + $core.bool? receiverFunction, + }) { + final $result = create(); + if (args != null) { + $result.args.addAll(args); + } + if (returnType != null) { + $result.returnType = returnType; + } + if (receiverFunction != null) { + $result.receiverFunction = receiverFunction; + } + return $result; + } + FunctionDecl._() : super(); + factory FunctionDecl.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FunctionDecl.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FunctionDecl', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'args', $pb.PbFieldType.PM, + subBuilder: IdentDecl.create) + ..aOM(2, _omitFieldNames ? '' : 'returnType', + subBuilder: DeclType.create) + ..aOB(3, _omitFieldNames ? '' : 'receiverFunction') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FunctionDecl clone() => FunctionDecl()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FunctionDecl copyWith(void Function(FunctionDecl) updates) => + super.copyWith((message) => updates(message as FunctionDecl)) + as FunctionDecl; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FunctionDecl create() => FunctionDecl._(); + FunctionDecl createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FunctionDecl getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FunctionDecl? _defaultInstance; + + /// The function arguments. + @$pb.TagNumber(1) + $core.List get args => $_getList(0); + + /// Optional declared return type. + @$pb.TagNumber(2) + DeclType get returnType => $_getN(1); + @$pb.TagNumber(2) + set returnType(DeclType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasReturnType() => $_has(1); + @$pb.TagNumber(2) + void clearReturnType() => clearField(2); + @$pb.TagNumber(2) + DeclType ensureReturnType() => $_ensure(1); + + /// If the first argument of the function is the receiver. + @$pb.TagNumber(3) + $core.bool get receiverFunction => $_getBF(2); + @$pb.TagNumber(3) + set receiverFunction($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasReceiverFunction() => $_has(2); + @$pb.TagNumber(3) + void clearReceiverFunction() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pbenum.dart new file mode 100644 index 00000000..29a6b1eb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/decl.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pbjson.dart new file mode 100644 index 00000000..8b8098b7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/decl.pbjson.dart @@ -0,0 +1,141 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/decl.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use declDescriptor instead') +const Decl$json = { + '1': 'Decl', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'}, + {'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'}, + {'1': 'doc', '3': 3, '4': 1, '5': 9, '10': 'doc'}, + { + '1': 'ident', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.IdentDecl', + '9': 0, + '10': 'ident' + }, + { + '1': 'function', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.FunctionDecl', + '9': 0, + '10': 'function' + }, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `Decl`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List declDescriptor = $convert.base64Decode( + 'CgREZWNsEg4KAmlkGAEgASgFUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhAKA2RvYxgDIAEoCV' + 'IDZG9jEjoKBWlkZW50GAQgASgLMiIuZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuSWRlbnREZWNs' + 'SABSBWlkZW50EkMKCGZ1bmN0aW9uGAUgASgLMiUuZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuRn' + 'VuY3Rpb25EZWNsSABSCGZ1bmN0aW9uQgYKBGtpbmQ='); + +@$core.Deprecated('Use declTypeDescriptor instead') +const DeclType$json = { + '1': 'DeclType', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'}, + {'1': 'type', '3': 2, '4': 1, '5': 9, '10': 'type'}, + { + '1': 'type_params', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.DeclType', + '10': 'typeParams' + }, + ], +}; + +/// Descriptor for `DeclType`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List declTypeDescriptor = $convert.base64Decode( + 'CghEZWNsVHlwZRIOCgJpZBgBIAEoBVICaWQSEgoEdHlwZRgCIAEoCVIEdHlwZRJCCgt0eXBlX3' + 'BhcmFtcxgEIAMoCzIhLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkRlY2xUeXBlUgp0eXBlUGFy' + 'YW1z'); + +@$core.Deprecated('Use identDeclDescriptor instead') +const IdentDecl$json = { + '1': 'IdentDecl', + '2': [ + { + '1': 'type', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.DeclType', + '10': 'type' + }, + { + '1': 'value', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'value' + }, + ], +}; + +/// Descriptor for `IdentDecl`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List identDeclDescriptor = $convert.base64Decode( + 'CglJZGVudERlY2wSNQoEdHlwZRgDIAEoCzIhLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkRlY2' + 'xUeXBlUgR0eXBlEjMKBXZhbHVlGAQgASgLMh0uZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuRXhw' + 'clIFdmFsdWU='); + +@$core.Deprecated('Use functionDeclDescriptor instead') +const FunctionDecl$json = { + '1': 'FunctionDecl', + '2': [ + { + '1': 'args', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.IdentDecl', + '10': 'args' + }, + { + '1': 'return_type', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.DeclType', + '10': 'returnType' + }, + { + '1': 'receiver_function', + '3': 3, + '4': 1, + '5': 8, + '10': 'receiverFunction' + }, + ], +}; + +/// Descriptor for `FunctionDecl`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List functionDeclDescriptor = $convert.base64Decode( + 'CgxGdW5jdGlvbkRlY2wSNgoEYXJncxgBIAMoCzIiLmdvb2dsZS5hcGkuZXhwci52MWJldGExLk' + 'lkZW50RGVjbFIEYXJncxJCCgtyZXR1cm5fdHlwZRgCIAEoCzIhLmdvb2dsZS5hcGkuZXhwci52' + 'MWJldGExLkRlY2xUeXBlUgpyZXR1cm5UeXBlEisKEXJlY2VpdmVyX2Z1bmN0aW9uGAMgASgIUh' + 'ByZWNlaXZlckZ1bmN0aW9u'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pb.dart new file mode 100644 index 00000000..e5d85a02 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pb.dart @@ -0,0 +1,506 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/eval.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../rpc/status.pb.dart' as $57; +import 'value.pb.dart' as $106; + +/// A single evaluation result. +class EvalState_Result extends $pb.GeneratedMessage { + factory EvalState_Result({ + IdRef? expr, + $core.int? value, + }) { + final $result = create(); + if (expr != null) { + $result.expr = expr; + } + if (value != null) { + $result.value = value; + } + return $result; + } + EvalState_Result._() : super(); + factory EvalState_Result.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EvalState_Result.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EvalState.Result', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'expr', subBuilder: IdRef.create) + ..a<$core.int>(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EvalState_Result clone() => EvalState_Result()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EvalState_Result copyWith(void Function(EvalState_Result) updates) => + super.copyWith((message) => updates(message as EvalState_Result)) + as EvalState_Result; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EvalState_Result create() => EvalState_Result._(); + EvalState_Result createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EvalState_Result getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EvalState_Result? _defaultInstance; + + /// The expression this result is for. + @$pb.TagNumber(1) + IdRef get expr => $_getN(0); + @$pb.TagNumber(1) + set expr(IdRef v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasExpr() => $_has(0); + @$pb.TagNumber(1) + void clearExpr() => clearField(1); + @$pb.TagNumber(1) + IdRef ensureExpr() => $_ensure(0); + + /// The index in `values` of the resulting value. + @$pb.TagNumber(2) + $core.int get value => $_getIZ(1); + @$pb.TagNumber(2) + set value($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +/// The state of an evaluation. +/// +/// Can represent an initial, partial, or completed state of evaluation. +class EvalState extends $pb.GeneratedMessage { + factory EvalState({ + $core.Iterable? values, + $core.Iterable? results, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + if (results != null) { + $result.results.addAll(results); + } + return $result; + } + EvalState._() : super(); + factory EvalState.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EvalState.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EvalState', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: ExprValue.create) + ..pc( + 3, _omitFieldNames ? '' : 'results', $pb.PbFieldType.PM, + subBuilder: EvalState_Result.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EvalState clone() => EvalState()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EvalState copyWith(void Function(EvalState) updates) => + super.copyWith((message) => updates(message as EvalState)) as EvalState; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EvalState create() => EvalState._(); + EvalState createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EvalState getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EvalState? _defaultInstance; + + /// The unique values referenced in this message. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); + + /// An ordered list of results. + /// + /// Tracks the flow of evaluation through the expression. + /// May be sparse. + @$pb.TagNumber(3) + $core.List get results => $_getList(1); +} + +enum ExprValue_Kind { value, error, unknown, notSet } + +/// The value of an evaluated expression. +class ExprValue extends $pb.GeneratedMessage { + factory ExprValue({ + $106.Value? value, + ErrorSet? error, + UnknownSet? unknown, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (error != null) { + $result.error = error; + } + if (unknown != null) { + $result.unknown = unknown; + } + return $result; + } + ExprValue._() : super(); + factory ExprValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExprValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, ExprValue_Kind> _ExprValue_KindByTag = { + 1: ExprValue_Kind.value, + 2: ExprValue_Kind.error, + 3: ExprValue_Kind.unknown, + 0: ExprValue_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExprValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3]) + ..aOM<$106.Value>(1, _omitFieldNames ? '' : 'value', + subBuilder: $106.Value.create) + ..aOM(2, _omitFieldNames ? '' : 'error', + subBuilder: ErrorSet.create) + ..aOM(3, _omitFieldNames ? '' : 'unknown', + subBuilder: UnknownSet.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExprValue clone() => ExprValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExprValue copyWith(void Function(ExprValue) updates) => + super.copyWith((message) => updates(message as ExprValue)) as ExprValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExprValue create() => ExprValue._(); + ExprValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExprValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ExprValue? _defaultInstance; + + ExprValue_Kind whichKind() => _ExprValue_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// A concrete value. + @$pb.TagNumber(1) + $106.Value get value => $_getN(0); + @$pb.TagNumber(1) + set value($106.Value v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(1) + void clearValue() => clearField(1); + @$pb.TagNumber(1) + $106.Value ensureValue() => $_ensure(0); + + /// The set of errors in the critical path of evalution. + /// + /// Only errors in the critical path are included. For example, + /// `( || true) && ` will only result in ``, + /// while ` || ` will result in both `` and + /// ``. + /// + /// Errors cause by the presence of other errors are not included in the + /// set. For example `.foo`, `foo()`, and ` + 1` will + /// only result in ``. + /// + /// Multiple errors *might* be included when evaluation could result + /// in different errors. For example ` + ` and + /// `foo(, )` may result in ``, `` or both. + /// The exact subset of errors included for this case is unspecified and + /// depends on the implementation details of the evaluator. + @$pb.TagNumber(2) + ErrorSet get error => $_getN(1); + @$pb.TagNumber(2) + set error(ErrorSet v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasError() => $_has(1); + @$pb.TagNumber(2) + void clearError() => clearField(2); + @$pb.TagNumber(2) + ErrorSet ensureError() => $_ensure(1); + + /// The set of unknowns in the critical path of evaluation. + /// + /// Unknown behaves identically to Error with regards to propagation. + /// Specifically, only unknowns in the critical path are included, unknowns + /// caused by the presence of other unknowns are not included, and multiple + /// unknowns *might* be included included when evaluation could result in + /// different unknowns. For example: + /// + /// ( || true) && -> + /// || -> + /// .foo -> + /// foo() -> + /// + -> or + /// + /// Unknown takes precidence over Error in cases where a `Value` can short + /// circuit the result: + /// + /// || -> + /// && -> + /// + /// Errors take precidence in all other cases: + /// + /// + -> + /// foo(, ) -> + @$pb.TagNumber(3) + UnknownSet get unknown => $_getN(2); + @$pb.TagNumber(3) + set unknown(UnknownSet v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUnknown() => $_has(2); + @$pb.TagNumber(3) + void clearUnknown() => clearField(3); + @$pb.TagNumber(3) + UnknownSet ensureUnknown() => $_ensure(2); +} + +/// A set of errors. +/// +/// The errors included depend on the context. See `ExprValue.error`. +class ErrorSet extends $pb.GeneratedMessage { + factory ErrorSet({ + $core.Iterable<$57.Status>? errors, + }) { + final $result = create(); + if (errors != null) { + $result.errors.addAll(errors); + } + return $result; + } + ErrorSet._() : super(); + factory ErrorSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ErrorSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ErrorSet', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc<$57.Status>(1, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.PM, + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ErrorSet clone() => ErrorSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ErrorSet copyWith(void Function(ErrorSet) updates) => + super.copyWith((message) => updates(message as ErrorSet)) as ErrorSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ErrorSet create() => ErrorSet._(); + ErrorSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ErrorSet getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ErrorSet? _defaultInstance; + + /// The errors in the set. + @$pb.TagNumber(1) + $core.List<$57.Status> get errors => $_getList(0); +} + +/// A set of expressions for which the value is unknown. +/// +/// The unknowns included depend on the context. See `ExprValue.unknown`. +class UnknownSet extends $pb.GeneratedMessage { + factory UnknownSet({ + $core.Iterable? exprs, + }) { + final $result = create(); + if (exprs != null) { + $result.exprs.addAll(exprs); + } + return $result; + } + UnknownSet._() : super(); + factory UnknownSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UnknownSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UnknownSet', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'exprs', $pb.PbFieldType.PM, + subBuilder: IdRef.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UnknownSet clone() => UnknownSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UnknownSet copyWith(void Function(UnknownSet) updates) => + super.copyWith((message) => updates(message as UnknownSet)) as UnknownSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UnknownSet create() => UnknownSet._(); + UnknownSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UnknownSet getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UnknownSet? _defaultInstance; + + /// The ids of the expressions with unknown values. + @$pb.TagNumber(1) + $core.List get exprs => $_getList(0); +} + +/// A reference to an expression id. +class IdRef extends $pb.GeneratedMessage { + factory IdRef({ + $core.int? id, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + return $result; + } + IdRef._() : super(); + factory IdRef.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IdRef.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'IdRef', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IdRef clone() => IdRef()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IdRef copyWith(void Function(IdRef) updates) => + super.copyWith((message) => updates(message as IdRef)) as IdRef; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IdRef create() => IdRef._(); + IdRef createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IdRef getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static IdRef? _defaultInstance; + + /// The expression id. + @$pb.TagNumber(1) + $core.int get id => $_getIZ(0); + @$pb.TagNumber(1) + set id($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pbenum.dart new file mode 100644 index 00000000..44de28ae --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/eval.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pbjson.dart new file mode 100644 index 00000000..ba2b2d8d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/eval.pbjson.dart @@ -0,0 +1,157 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/eval.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use evalStateDescriptor instead') +const EvalState$json = { + '1': 'EvalState', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.ExprValue', + '10': 'values' + }, + { + '1': 'results', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.EvalState.Result', + '10': 'results' + }, + ], + '3': [EvalState_Result$json], +}; + +@$core.Deprecated('Use evalStateDescriptor instead') +const EvalState_Result$json = { + '1': 'Result', + '2': [ + { + '1': 'expr', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.IdRef', + '10': 'expr' + }, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], +}; + +/// Descriptor for `EvalState`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List evalStateDescriptor = $convert.base64Decode( + 'CglFdmFsU3RhdGUSOgoGdmFsdWVzGAEgAygLMiIuZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuRX' + 'hwclZhbHVlUgZ2YWx1ZXMSQwoHcmVzdWx0cxgDIAMoCzIpLmdvb2dsZS5hcGkuZXhwci52MWJl' + 'dGExLkV2YWxTdGF0ZS5SZXN1bHRSB3Jlc3VsdHMaUgoGUmVzdWx0EjIKBGV4cHIYASABKAsyHi' + '5nb29nbGUuYXBpLmV4cHIudjFiZXRhMS5JZFJlZlIEZXhwchIUCgV2YWx1ZRgCIAEoBVIFdmFs' + 'dWU='); + +@$core.Deprecated('Use exprValueDescriptor instead') +const ExprValue$json = { + '1': 'ExprValue', + '2': [ + { + '1': 'value', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Value', + '9': 0, + '10': 'value' + }, + { + '1': 'error', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.ErrorSet', + '9': 0, + '10': 'error' + }, + { + '1': 'unknown', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.UnknownSet', + '9': 0, + '10': 'unknown' + }, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `ExprValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprValueDescriptor = $convert.base64Decode( + 'CglFeHByVmFsdWUSNgoFdmFsdWUYASABKAsyHi5nb29nbGUuYXBpLmV4cHIudjFiZXRhMS5WYW' + 'x1ZUgAUgV2YWx1ZRI5CgVlcnJvchgCIAEoCzIhLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkVy' + 'cm9yU2V0SABSBWVycm9yEj8KB3Vua25vd24YAyABKAsyIy5nb29nbGUuYXBpLmV4cHIudjFiZX' + 'RhMS5Vbmtub3duU2V0SABSB3Vua25vd25CBgoEa2luZA=='); + +@$core.Deprecated('Use errorSetDescriptor instead') +const ErrorSet$json = { + '1': 'ErrorSet', + '2': [ + { + '1': 'errors', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.rpc.Status', + '10': 'errors' + }, + ], +}; + +/// Descriptor for `ErrorSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List errorSetDescriptor = $convert.base64Decode( + 'CghFcnJvclNldBIqCgZlcnJvcnMYASADKAsyEi5nb29nbGUucnBjLlN0YXR1c1IGZXJyb3Jz'); + +@$core.Deprecated('Use unknownSetDescriptor instead') +const UnknownSet$json = { + '1': 'UnknownSet', + '2': [ + { + '1': 'exprs', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.IdRef', + '10': 'exprs' + }, + ], +}; + +/// Descriptor for `UnknownSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List unknownSetDescriptor = $convert.base64Decode( + 'CgpVbmtub3duU2V0EjQKBWV4cHJzGAEgAygLMh4uZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuSW' + 'RSZWZSBWV4cHJz'); + +@$core.Deprecated('Use idRefDescriptor instead') +const IdRef$json = { + '1': 'IdRef', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'}, + ], +}; + +/// Descriptor for `IdRef`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List idRefDescriptor = + $convert.base64Decode('CgVJZFJlZhIOCgJpZBgBIAEoBVICaWQ='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pb.dart new file mode 100644 index 00000000..7ad4e64d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pb.dart @@ -0,0 +1,1352 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/struct.pbenum.dart' as $48; +import 'source.pb.dart' as $104; + +/// An expression together with source information as returned by the parser. +class ParsedExpr extends $pb.GeneratedMessage { + factory ParsedExpr({ + Expr? expr, + $104.SourceInfo? sourceInfo, + $core.String? syntaxVersion, + }) { + final $result = create(); + if (expr != null) { + $result.expr = expr; + } + if (sourceInfo != null) { + $result.sourceInfo = sourceInfo; + } + if (syntaxVersion != null) { + $result.syntaxVersion = syntaxVersion; + } + return $result; + } + ParsedExpr._() : super(); + factory ParsedExpr.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ParsedExpr.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ParsedExpr', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOM(2, _omitFieldNames ? '' : 'expr', subBuilder: Expr.create) + ..aOM<$104.SourceInfo>(3, _omitFieldNames ? '' : 'sourceInfo', + subBuilder: $104.SourceInfo.create) + ..aOS(4, _omitFieldNames ? '' : 'syntaxVersion') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ParsedExpr clone() => ParsedExpr()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ParsedExpr copyWith(void Function(ParsedExpr) updates) => + super.copyWith((message) => updates(message as ParsedExpr)) as ParsedExpr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ParsedExpr create() => ParsedExpr._(); + ParsedExpr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ParsedExpr getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ParsedExpr? _defaultInstance; + + /// The parsed expression. + @$pb.TagNumber(2) + Expr get expr => $_getN(0); + @$pb.TagNumber(2) + set expr(Expr v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExpr() => $_has(0); + @$pb.TagNumber(2) + void clearExpr() => clearField(2); + @$pb.TagNumber(2) + Expr ensureExpr() => $_ensure(0); + + /// The source info derived from input that generated the parsed `expr`. + @$pb.TagNumber(3) + $104.SourceInfo get sourceInfo => $_getN(1); + @$pb.TagNumber(3) + set sourceInfo($104.SourceInfo v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceInfo() => $_has(1); + @$pb.TagNumber(3) + void clearSourceInfo() => clearField(3); + @$pb.TagNumber(3) + $104.SourceInfo ensureSourceInfo() => $_ensure(1); + + /// The syntax version of the source, e.g. `cel1`. + @$pb.TagNumber(4) + $core.String get syntaxVersion => $_getSZ(2); + @$pb.TagNumber(4) + set syntaxVersion($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasSyntaxVersion() => $_has(2); + @$pb.TagNumber(4) + void clearSyntaxVersion() => clearField(4); +} + +/// An identifier expression. e.g. `request`. +class Expr_Ident extends $pb.GeneratedMessage { + factory Expr_Ident({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + Expr_Ident._() : super(); + factory Expr_Ident.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Ident.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Ident', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Ident clone() => Expr_Ident()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Ident copyWith(void Function(Expr_Ident) updates) => + super.copyWith((message) => updates(message as Expr_Ident)) as Expr_Ident; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Ident create() => Expr_Ident._(); + Expr_Ident createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Ident getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Ident? _defaultInstance; + + /// Required. Holds a single, unqualified identifier, possibly preceded by a + /// '.'. + /// + /// Qualified names are represented by the [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A field selection expression. e.g. `request.auth`. +class Expr_Select extends $pb.GeneratedMessage { + factory Expr_Select({ + Expr? operand, + $core.String? field_2, + $core.bool? testOnly, + }) { + final $result = create(); + if (operand != null) { + $result.operand = operand; + } + if (field_2 != null) { + $result.field_2 = field_2; + } + if (testOnly != null) { + $result.testOnly = testOnly; + } + return $result; + } + Expr_Select._() : super(); + factory Expr_Select.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Select.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Select', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'operand', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'field') + ..aOB(3, _omitFieldNames ? '' : 'testOnly') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Select clone() => Expr_Select()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Select copyWith(void Function(Expr_Select) updates) => + super.copyWith((message) => updates(message as Expr_Select)) + as Expr_Select; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Select create() => Expr_Select._(); + Expr_Select createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Select getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Select? _defaultInstance; + + /// Required. The target of the selection expression. + /// + /// For example, in the select expression `request.auth`, the `request` + /// portion of the expression is the `operand`. + @$pb.TagNumber(1) + Expr get operand => $_getN(0); + @$pb.TagNumber(1) + set operand(Expr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperand() => $_has(0); + @$pb.TagNumber(1) + void clearOperand() => clearField(1); + @$pb.TagNumber(1) + Expr ensureOperand() => $_ensure(0); + + /// Required. The name of the field to select. + /// + /// For example, in the select expression `request.auth`, the `auth` portion + /// of the expression would be the `field`. + @$pb.TagNumber(2) + $core.String get field_2 => $_getSZ(1); + @$pb.TagNumber(2) + set field_2($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasField_2() => $_has(1); + @$pb.TagNumber(2) + void clearField_2() => clearField(2); + + /// Whether the select is to be interpreted as a field presence test. + /// + /// This results from the macro `has(request.auth)`. + @$pb.TagNumber(3) + $core.bool get testOnly => $_getBF(2); + @$pb.TagNumber(3) + set testOnly($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasTestOnly() => $_has(2); + @$pb.TagNumber(3) + void clearTestOnly() => clearField(3); +} + +/// A call expression, including calls to predefined functions and operators. +/// +/// For example, `value == 10`, `size(map_value)`. +class Expr_Call extends $pb.GeneratedMessage { + factory Expr_Call({ + Expr? target, + $core.String? function, + $core.Iterable? args, + }) { + final $result = create(); + if (target != null) { + $result.target = target; + } + if (function != null) { + $result.function = function; + } + if (args != null) { + $result.args.addAll(args); + } + return $result; + } + Expr_Call._() : super(); + factory Expr_Call.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Call.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Call', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'target', subBuilder: Expr.create) + ..aOS(2, _omitFieldNames ? '' : 'function') + ..pc(3, _omitFieldNames ? '' : 'args', $pb.PbFieldType.PM, + subBuilder: Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Call clone() => Expr_Call()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Call copyWith(void Function(Expr_Call) updates) => + super.copyWith((message) => updates(message as Expr_Call)) as Expr_Call; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Call create() => Expr_Call._(); + Expr_Call createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Call getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Call? _defaultInstance; + + /// The target of an method call-style expression. For example, `x` in + /// `x.f()`. + @$pb.TagNumber(1) + Expr get target => $_getN(0); + @$pb.TagNumber(1) + set target(Expr v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasTarget() => $_has(0); + @$pb.TagNumber(1) + void clearTarget() => clearField(1); + @$pb.TagNumber(1) + Expr ensureTarget() => $_ensure(0); + + /// Required. The name of the function or method being called. + @$pb.TagNumber(2) + $core.String get function => $_getSZ(1); + @$pb.TagNumber(2) + set function($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFunction() => $_has(1); + @$pb.TagNumber(2) + void clearFunction() => clearField(2); + + /// The arguments. + @$pb.TagNumber(3) + $core.List get args => $_getList(2); +} + +/// A list creation expression. +/// +/// Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g. +/// `dyn([1, 'hello', 2.0])` +class Expr_CreateList extends $pb.GeneratedMessage { + factory Expr_CreateList({ + $core.Iterable? elements, + }) { + final $result = create(); + if (elements != null) { + $result.elements.addAll(elements); + } + return $result; + } + Expr_CreateList._() : super(); + factory Expr_CreateList.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_CreateList.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.CreateList', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'elements', $pb.PbFieldType.PM, + subBuilder: Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_CreateList clone() => Expr_CreateList()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_CreateList copyWith(void Function(Expr_CreateList) updates) => + super.copyWith((message) => updates(message as Expr_CreateList)) + as Expr_CreateList; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_CreateList create() => Expr_CreateList._(); + Expr_CreateList createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_CreateList getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_CreateList? _defaultInstance; + + /// The elements part of the list. + @$pb.TagNumber(1) + $core.List get elements => $_getList(0); +} + +enum Expr_CreateStruct_Entry_KeyKind { fieldKey, mapKey, notSet } + +/// Represents an entry. +class Expr_CreateStruct_Entry extends $pb.GeneratedMessage { + factory Expr_CreateStruct_Entry({ + $core.int? id, + $core.String? fieldKey, + Expr? mapKey, + Expr? value, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (fieldKey != null) { + $result.fieldKey = fieldKey; + } + if (mapKey != null) { + $result.mapKey = mapKey; + } + if (value != null) { + $result.value = value; + } + return $result; + } + Expr_CreateStruct_Entry._() : super(); + factory Expr_CreateStruct_Entry.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_CreateStruct_Entry.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Expr_CreateStruct_Entry_KeyKind> + _Expr_CreateStruct_Entry_KeyKindByTag = { + 2: Expr_CreateStruct_Entry_KeyKind.fieldKey, + 3: Expr_CreateStruct_Entry_KeyKind.mapKey, + 0: Expr_CreateStruct_Entry_KeyKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.CreateStruct.Entry', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..a<$core.int>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'fieldKey') + ..aOM(3, _omitFieldNames ? '' : 'mapKey', subBuilder: Expr.create) + ..aOM(4, _omitFieldNames ? '' : 'value', subBuilder: Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct_Entry clone() => + Expr_CreateStruct_Entry()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct_Entry copyWith( + void Function(Expr_CreateStruct_Entry) updates) => + super.copyWith((message) => updates(message as Expr_CreateStruct_Entry)) + as Expr_CreateStruct_Entry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct_Entry create() => Expr_CreateStruct_Entry._(); + Expr_CreateStruct_Entry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct_Entry getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_CreateStruct_Entry? _defaultInstance; + + Expr_CreateStruct_Entry_KeyKind whichKeyKind() => + _Expr_CreateStruct_Entry_KeyKindByTag[$_whichOneof(0)]!; + void clearKeyKind() => clearField($_whichOneof(0)); + + /// Required. An id assigned to this node by the parser which is unique + /// in a given expression tree. This is used to associate type + /// information and other attributes to the node. + @$pb.TagNumber(1) + $core.int get id => $_getIZ(0); + @$pb.TagNumber(1) + set id($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// The field key for a message creator statement. + @$pb.TagNumber(2) + $core.String get fieldKey => $_getSZ(1); + @$pb.TagNumber(2) + set fieldKey($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFieldKey() => $_has(1); + @$pb.TagNumber(2) + void clearFieldKey() => clearField(2); + + /// The key expression for a map creation statement. + @$pb.TagNumber(3) + Expr get mapKey => $_getN(2); + @$pb.TagNumber(3) + set mapKey(Expr v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasMapKey() => $_has(2); + @$pb.TagNumber(3) + void clearMapKey() => clearField(3); + @$pb.TagNumber(3) + Expr ensureMapKey() => $_ensure(2); + + /// Required. The value assigned to the key. + @$pb.TagNumber(4) + Expr get value => $_getN(3); + @$pb.TagNumber(4) + set value(Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasValue() => $_has(3); + @$pb.TagNumber(4) + void clearValue() => clearField(4); + @$pb.TagNumber(4) + Expr ensureValue() => $_ensure(3); +} + +/// A map or message creation expression. +/// +/// Maps are constructed as `{'key_name': 'value'}`. Message construction is +/// similar, but prefixed with a type name and composed of field ids: +/// `types.MyType{field_id: 'value'}`. +class Expr_CreateStruct extends $pb.GeneratedMessage { + factory Expr_CreateStruct({ + $core.String? type, + $core.Iterable? entries, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (entries != null) { + $result.entries.addAll(entries); + } + return $result; + } + Expr_CreateStruct._() : super(); + factory Expr_CreateStruct.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_CreateStruct.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.CreateStruct', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..pc( + 2, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: Expr_CreateStruct_Entry.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct clone() => Expr_CreateStruct()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_CreateStruct copyWith(void Function(Expr_CreateStruct) updates) => + super.copyWith((message) => updates(message as Expr_CreateStruct)) + as Expr_CreateStruct; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct create() => Expr_CreateStruct._(); + Expr_CreateStruct createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_CreateStruct getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_CreateStruct? _defaultInstance; + + /// The type name of the message to be created, empty when creating map + /// literals. + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(1); + + /// The entries in the creation expression. + @$pb.TagNumber(2) + $core.List get entries => $_getList(1); +} + +/// A comprehension expression applied to a list or map. +/// +/// Comprehensions are not part of the core syntax, but enabled with macros. +/// A macro matches a specific call signature within a parsed AST and replaces +/// the call with an alternate AST block. Macro expansion happens at parse +/// time. +/// +/// The following macros are supported within CEL: +/// +/// Aggregate type macros may be applied to all elements in a list or all keys +/// in a map: +/// +/// * `all`, `exists`, `exists_one` - test a predicate expression against +/// the inputs and return `true` if the predicate is satisfied for all, +/// any, or only one value `list.all(x, x < 10)`. +/// * `filter` - test a predicate expression against the inputs and return +/// the subset of elements which satisfy the predicate: +/// `payments.filter(p, p > 1000)`. +/// * `map` - apply an expression to all elements in the input and return the +/// output aggregate type: `[1, 2, 3].map(i, i * i)`. +/// +/// The `has(m.x)` macro tests whether the property `x` is present in struct +/// `m`. The semantics of this macro depend on the type of `m`. For proto2 +/// messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the +/// macro tests whether the property is set to its default. For map and struct +/// types, the macro tests whether the property `x` is defined on `m`. +class Expr_Comprehension extends $pb.GeneratedMessage { + factory Expr_Comprehension({ + $core.String? iterVar, + Expr? iterRange, + $core.String? accuVar, + Expr? accuInit, + Expr? loopCondition, + Expr? loopStep, + Expr? result, + }) { + final $result = create(); + if (iterVar != null) { + $result.iterVar = iterVar; + } + if (iterRange != null) { + $result.iterRange = iterRange; + } + if (accuVar != null) { + $result.accuVar = accuVar; + } + if (accuInit != null) { + $result.accuInit = accuInit; + } + if (loopCondition != null) { + $result.loopCondition = loopCondition; + } + if (loopStep != null) { + $result.loopStep = loopStep; + } + if (result != null) { + $result.result = result; + } + return $result; + } + Expr_Comprehension._() : super(); + factory Expr_Comprehension.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr_Comprehension.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr.Comprehension', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'iterVar') + ..aOM(2, _omitFieldNames ? '' : 'iterRange', subBuilder: Expr.create) + ..aOS(3, _omitFieldNames ? '' : 'accuVar') + ..aOM(4, _omitFieldNames ? '' : 'accuInit', subBuilder: Expr.create) + ..aOM(5, _omitFieldNames ? '' : 'loopCondition', + subBuilder: Expr.create) + ..aOM(6, _omitFieldNames ? '' : 'loopStep', subBuilder: Expr.create) + ..aOM(7, _omitFieldNames ? '' : 'result', subBuilder: Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr_Comprehension clone() => Expr_Comprehension()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr_Comprehension copyWith(void Function(Expr_Comprehension) updates) => + super.copyWith((message) => updates(message as Expr_Comprehension)) + as Expr_Comprehension; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr_Comprehension create() => Expr_Comprehension._(); + Expr_Comprehension createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr_Comprehension getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Expr_Comprehension? _defaultInstance; + + /// The name of the iteration variable. + @$pb.TagNumber(1) + $core.String get iterVar => $_getSZ(0); + @$pb.TagNumber(1) + set iterVar($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasIterVar() => $_has(0); + @$pb.TagNumber(1) + void clearIterVar() => clearField(1); + + /// The range over which var iterates. + @$pb.TagNumber(2) + Expr get iterRange => $_getN(1); + @$pb.TagNumber(2) + set iterRange(Expr v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasIterRange() => $_has(1); + @$pb.TagNumber(2) + void clearIterRange() => clearField(2); + @$pb.TagNumber(2) + Expr ensureIterRange() => $_ensure(1); + + /// The name of the variable used for accumulation of the result. + @$pb.TagNumber(3) + $core.String get accuVar => $_getSZ(2); + @$pb.TagNumber(3) + set accuVar($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasAccuVar() => $_has(2); + @$pb.TagNumber(3) + void clearAccuVar() => clearField(3); + + /// The initial value of the accumulator. + @$pb.TagNumber(4) + Expr get accuInit => $_getN(3); + @$pb.TagNumber(4) + set accuInit(Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasAccuInit() => $_has(3); + @$pb.TagNumber(4) + void clearAccuInit() => clearField(4); + @$pb.TagNumber(4) + Expr ensureAccuInit() => $_ensure(3); + + /// An expression which can contain iter_var and accu_var. + /// + /// Returns false when the result has been computed and may be used as + /// a hint to short-circuit the remainder of the comprehension. + @$pb.TagNumber(5) + Expr get loopCondition => $_getN(4); + @$pb.TagNumber(5) + set loopCondition(Expr v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasLoopCondition() => $_has(4); + @$pb.TagNumber(5) + void clearLoopCondition() => clearField(5); + @$pb.TagNumber(5) + Expr ensureLoopCondition() => $_ensure(4); + + /// An expression which can contain iter_var and accu_var. + /// + /// Computes the next value of accu_var. + @$pb.TagNumber(6) + Expr get loopStep => $_getN(5); + @$pb.TagNumber(6) + set loopStep(Expr v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasLoopStep() => $_has(5); + @$pb.TagNumber(6) + void clearLoopStep() => clearField(6); + @$pb.TagNumber(6) + Expr ensureLoopStep() => $_ensure(5); + + /// An expression which can contain accu_var. + /// + /// Computes the result. + @$pb.TagNumber(7) + Expr get result => $_getN(6); + @$pb.TagNumber(7) + set result(Expr v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasResult() => $_has(6); + @$pb.TagNumber(7) + void clearResult() => clearField(7); + @$pb.TagNumber(7) + Expr ensureResult() => $_ensure(6); +} + +enum Expr_ExprKind { + literalExpr, + identExpr, + selectExpr, + callExpr, + listExpr, + structExpr, + comprehensionExpr, + notSet +} + +/// An abstract representation of a common expression. +/// +/// Expressions are abstractly represented as a collection of identifiers, +/// select statements, function calls, literals, and comprehensions. All +/// operators with the exception of the '.' operator are modelled as function +/// calls. This makes it easy to represent new operators into the existing AST. +/// +/// All references within expressions must resolve to a [Decl][google.api.expr.v1beta1.Decl] provided at +/// type-check for an expression to be valid. A reference may either be a bare +/// identifier `name` or a qualified identifier `google.api.name`. References +/// may either refer to a value or a function declaration. +/// +/// For example, the expression `google.api.name.startsWith('expr')` references +/// the declaration `google.api.name` within a [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression, and +/// the function declaration `startsWith`. +class Expr extends $pb.GeneratedMessage { + factory Expr({ + $core.int? id, + Literal? literalExpr, + Expr_Ident? identExpr, + Expr_Select? selectExpr, + Expr_Call? callExpr, + Expr_CreateList? listExpr, + Expr_CreateStruct? structExpr, + Expr_Comprehension? comprehensionExpr, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (literalExpr != null) { + $result.literalExpr = literalExpr; + } + if (identExpr != null) { + $result.identExpr = identExpr; + } + if (selectExpr != null) { + $result.selectExpr = selectExpr; + } + if (callExpr != null) { + $result.callExpr = callExpr; + } + if (listExpr != null) { + $result.listExpr = listExpr; + } + if (structExpr != null) { + $result.structExpr = structExpr; + } + if (comprehensionExpr != null) { + $result.comprehensionExpr = comprehensionExpr; + } + return $result; + } + Expr._() : super(); + factory Expr.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Expr.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Expr_ExprKind> _Expr_ExprKindByTag = { + 3: Expr_ExprKind.literalExpr, + 4: Expr_ExprKind.identExpr, + 5: Expr_ExprKind.selectExpr, + 6: Expr_ExprKind.callExpr, + 7: Expr_ExprKind.listExpr, + 8: Expr_ExprKind.structExpr, + 9: Expr_ExprKind.comprehensionExpr, + 0: Expr_ExprKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Expr', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..oo(0, [3, 4, 5, 6, 7, 8, 9]) + ..a<$core.int>(2, _omitFieldNames ? '' : 'id', $pb.PbFieldType.O3) + ..aOM(3, _omitFieldNames ? '' : 'literalExpr', + subBuilder: Literal.create) + ..aOM(4, _omitFieldNames ? '' : 'identExpr', + subBuilder: Expr_Ident.create) + ..aOM(5, _omitFieldNames ? '' : 'selectExpr', + subBuilder: Expr_Select.create) + ..aOM(6, _omitFieldNames ? '' : 'callExpr', + subBuilder: Expr_Call.create) + ..aOM(7, _omitFieldNames ? '' : 'listExpr', + subBuilder: Expr_CreateList.create) + ..aOM(8, _omitFieldNames ? '' : 'structExpr', + subBuilder: Expr_CreateStruct.create) + ..aOM(9, _omitFieldNames ? '' : 'comprehensionExpr', + subBuilder: Expr_Comprehension.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Expr clone() => Expr()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Expr copyWith(void Function(Expr) updates) => + super.copyWith((message) => updates(message as Expr)) as Expr; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Expr create() => Expr._(); + Expr createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Expr getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Expr? _defaultInstance; + + Expr_ExprKind whichExprKind() => _Expr_ExprKindByTag[$_whichOneof(0)]!; + void clearExprKind() => clearField($_whichOneof(0)); + + /// Required. An id assigned to this node by the parser which is unique in a + /// given expression tree. This is used to associate type information and other + /// attributes to a node in the parse tree. + @$pb.TagNumber(2) + $core.int get id => $_getIZ(0); + @$pb.TagNumber(2) + set id($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// A literal expression. + @$pb.TagNumber(3) + Literal get literalExpr => $_getN(1); + @$pb.TagNumber(3) + set literalExpr(Literal v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasLiteralExpr() => $_has(1); + @$pb.TagNumber(3) + void clearLiteralExpr() => clearField(3); + @$pb.TagNumber(3) + Literal ensureLiteralExpr() => $_ensure(1); + + /// An identifier expression. + @$pb.TagNumber(4) + Expr_Ident get identExpr => $_getN(2); + @$pb.TagNumber(4) + set identExpr(Expr_Ident v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasIdentExpr() => $_has(2); + @$pb.TagNumber(4) + void clearIdentExpr() => clearField(4); + @$pb.TagNumber(4) + Expr_Ident ensureIdentExpr() => $_ensure(2); + + /// A field selection expression, e.g. `request.auth`. + @$pb.TagNumber(5) + Expr_Select get selectExpr => $_getN(3); + @$pb.TagNumber(5) + set selectExpr(Expr_Select v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSelectExpr() => $_has(3); + @$pb.TagNumber(5) + void clearSelectExpr() => clearField(5); + @$pb.TagNumber(5) + Expr_Select ensureSelectExpr() => $_ensure(3); + + /// A call expression, including calls to predefined functions and operators. + @$pb.TagNumber(6) + Expr_Call get callExpr => $_getN(4); + @$pb.TagNumber(6) + set callExpr(Expr_Call v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCallExpr() => $_has(4); + @$pb.TagNumber(6) + void clearCallExpr() => clearField(6); + @$pb.TagNumber(6) + Expr_Call ensureCallExpr() => $_ensure(4); + + /// A list creation expression. + @$pb.TagNumber(7) + Expr_CreateList get listExpr => $_getN(5); + @$pb.TagNumber(7) + set listExpr(Expr_CreateList v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasListExpr() => $_has(5); + @$pb.TagNumber(7) + void clearListExpr() => clearField(7); + @$pb.TagNumber(7) + Expr_CreateList ensureListExpr() => $_ensure(5); + + /// A map or object creation expression. + @$pb.TagNumber(8) + Expr_CreateStruct get structExpr => $_getN(6); + @$pb.TagNumber(8) + set structExpr(Expr_CreateStruct v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasStructExpr() => $_has(6); + @$pb.TagNumber(8) + void clearStructExpr() => clearField(8); + @$pb.TagNumber(8) + Expr_CreateStruct ensureStructExpr() => $_ensure(6); + + /// A comprehension expression. + @$pb.TagNumber(9) + Expr_Comprehension get comprehensionExpr => $_getN(7); + @$pb.TagNumber(9) + set comprehensionExpr(Expr_Comprehension v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasComprehensionExpr() => $_has(7); + @$pb.TagNumber(9) + void clearComprehensionExpr() => clearField(9); + @$pb.TagNumber(9) + Expr_Comprehension ensureComprehensionExpr() => $_ensure(7); +} + +enum Literal_ConstantKind { + nullValue, + boolValue, + int64Value, + uint64Value, + doubleValue, + stringValue, + bytesValue, + notSet +} + +/// Represents a primitive literal. +/// +/// This is similar to the primitives supported in the well-known type +/// `google.protobuf.Value`, but richer so it can represent CEL's full range of +/// primitives. +/// +/// Lists and structs are not included as constants as these aggregate types may +/// contain [Expr][google.api.expr.v1beta1.Expr] elements which require evaluation and are thus not constant. +/// +/// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, +/// `true`, `null`. +class Literal extends $pb.GeneratedMessage { + factory Literal({ + $48.NullValue? nullValue, + $core.bool? boolValue, + $fixnum.Int64? int64Value, + $fixnum.Int64? uint64Value, + $core.double? doubleValue, + $core.String? stringValue, + $core.List<$core.int>? bytesValue, + }) { + final $result = create(); + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (int64Value != null) { + $result.int64Value = int64Value; + } + if (uint64Value != null) { + $result.uint64Value = uint64Value; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (bytesValue != null) { + $result.bytesValue = bytesValue; + } + return $result; + } + Literal._() : super(); + factory Literal.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Literal.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Literal_ConstantKind> + _Literal_ConstantKindByTag = { + 1: Literal_ConstantKind.nullValue, + 2: Literal_ConstantKind.boolValue, + 3: Literal_ConstantKind.int64Value, + 4: Literal_ConstantKind.uint64Value, + 5: Literal_ConstantKind.doubleValue, + 6: Literal_ConstantKind.stringValue, + 7: Literal_ConstantKind.bytesValue, + 0: Literal_ConstantKind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Literal', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7]) + ..e<$48.NullValue>( + 1, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..aOB(2, _omitFieldNames ? '' : 'boolValue') + ..aInt64(3, _omitFieldNames ? '' : 'int64Value') + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'uint64Value', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 5, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOS(6, _omitFieldNames ? '' : 'stringValue') + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'bytesValue', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Literal clone() => Literal()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Literal copyWith(void Function(Literal) updates) => + super.copyWith((message) => updates(message as Literal)) as Literal; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Literal create() => Literal._(); + Literal createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Literal getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Literal? _defaultInstance; + + Literal_ConstantKind whichConstantKind() => + _Literal_ConstantKindByTag[$_whichOneof(0)]!; + void clearConstantKind() => clearField($_whichOneof(0)); + + /// null value. + @$pb.TagNumber(1) + $48.NullValue get nullValue => $_getN(0); + @$pb.TagNumber(1) + set nullValue($48.NullValue v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNullValue() => $_has(0); + @$pb.TagNumber(1) + void clearNullValue() => clearField(1); + + /// boolean value. + @$pb.TagNumber(2) + $core.bool get boolValue => $_getBF(1); + @$pb.TagNumber(2) + set boolValue($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasBoolValue() => $_has(1); + @$pb.TagNumber(2) + void clearBoolValue() => clearField(2); + + /// int64 value. + @$pb.TagNumber(3) + $fixnum.Int64 get int64Value => $_getI64(2); + @$pb.TagNumber(3) + set int64Value($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasInt64Value() => $_has(2); + @$pb.TagNumber(3) + void clearInt64Value() => clearField(3); + + /// uint64 value. + @$pb.TagNumber(4) + $fixnum.Int64 get uint64Value => $_getI64(3); + @$pb.TagNumber(4) + set uint64Value($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUint64Value() => $_has(3); + @$pb.TagNumber(4) + void clearUint64Value() => clearField(4); + + /// double value. + @$pb.TagNumber(5) + $core.double get doubleValue => $_getN(4); + @$pb.TagNumber(5) + set doubleValue($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDoubleValue() => $_has(4); + @$pb.TagNumber(5) + void clearDoubleValue() => clearField(5); + + /// string value. + @$pb.TagNumber(6) + $core.String get stringValue => $_getSZ(5); + @$pb.TagNumber(6) + set stringValue($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasStringValue() => $_has(5); + @$pb.TagNumber(6) + void clearStringValue() => clearField(6); + + /// bytes value. + @$pb.TagNumber(7) + $core.List<$core.int> get bytesValue => $_getN(6); + @$pb.TagNumber(7) + set bytesValue($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasBytesValue() => $_has(6); + @$pb.TagNumber(7) + void clearBytesValue() => clearField(7); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pbenum.dart new file mode 100644 index 00000000..c6d5a28b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pbjson.dart new file mode 100644 index 00000000..26ff5c59 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/expr.pbjson.dart @@ -0,0 +1,352 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/expr.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use parsedExprDescriptor instead') +const ParsedExpr$json = { + '1': 'ParsedExpr', + '2': [ + { + '1': 'expr', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'expr' + }, + { + '1': 'source_info', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.SourceInfo', + '10': 'sourceInfo' + }, + {'1': 'syntax_version', '3': 4, '4': 1, '5': 9, '10': 'syntaxVersion'}, + ], +}; + +/// Descriptor for `ParsedExpr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List parsedExprDescriptor = $convert.base64Decode( + 'CgpQYXJzZWRFeHByEjEKBGV4cHIYAiABKAsyHS5nb29nbGUuYXBpLmV4cHIudjFiZXRhMS5FeH' + 'ByUgRleHByEkQKC3NvdXJjZV9pbmZvGAMgASgLMiMuZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEu' + 'U291cmNlSW5mb1IKc291cmNlSW5mbxIlCg5zeW50YXhfdmVyc2lvbhgEIAEoCVINc3ludGF4Vm' + 'Vyc2lvbg=='); + +@$core.Deprecated('Use exprDescriptor instead') +const Expr$json = { + '1': 'Expr', + '2': [ + {'1': 'id', '3': 2, '4': 1, '5': 5, '10': 'id'}, + { + '1': 'literal_expr', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Literal', + '9': 0, + '10': 'literalExpr' + }, + { + '1': 'ident_expr', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.Ident', + '9': 0, + '10': 'identExpr' + }, + { + '1': 'select_expr', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.Select', + '9': 0, + '10': 'selectExpr' + }, + { + '1': 'call_expr', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.Call', + '9': 0, + '10': 'callExpr' + }, + { + '1': 'list_expr', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.CreateList', + '9': 0, + '10': 'listExpr' + }, + { + '1': 'struct_expr', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.CreateStruct', + '9': 0, + '10': 'structExpr' + }, + { + '1': 'comprehension_expr', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.Comprehension', + '9': 0, + '10': 'comprehensionExpr' + }, + ], + '3': [ + Expr_Ident$json, + Expr_Select$json, + Expr_Call$json, + Expr_CreateList$json, + Expr_CreateStruct$json, + Expr_Comprehension$json + ], + '8': [ + {'1': 'expr_kind'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Ident$json = { + '1': 'Ident', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Select$json = { + '1': 'Select', + '2': [ + { + '1': 'operand', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'operand' + }, + {'1': 'field', '3': 2, '4': 1, '5': 9, '10': 'field'}, + {'1': 'test_only', '3': 3, '4': 1, '5': 8, '10': 'testOnly'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Call$json = { + '1': 'Call', + '2': [ + { + '1': 'target', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'target' + }, + {'1': 'function', '3': 2, '4': 1, '5': 9, '10': 'function'}, + { + '1': 'args', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'args' + }, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_CreateList$json = { + '1': 'CreateList', + '2': [ + { + '1': 'elements', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'elements' + }, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_CreateStruct$json = { + '1': 'CreateStruct', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + { + '1': 'entries', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr.CreateStruct.Entry', + '10': 'entries' + }, + ], + '3': [Expr_CreateStruct_Entry$json], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_CreateStruct_Entry$json = { + '1': 'Entry', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'}, + {'1': 'field_key', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'fieldKey'}, + { + '1': 'map_key', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '9': 0, + '10': 'mapKey' + }, + { + '1': 'value', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'value' + }, + ], + '8': [ + {'1': 'key_kind'}, + ], +}; + +@$core.Deprecated('Use exprDescriptor instead') +const Expr_Comprehension$json = { + '1': 'Comprehension', + '2': [ + {'1': 'iter_var', '3': 1, '4': 1, '5': 9, '10': 'iterVar'}, + { + '1': 'iter_range', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'iterRange' + }, + {'1': 'accu_var', '3': 3, '4': 1, '5': 9, '10': 'accuVar'}, + { + '1': 'accu_init', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'accuInit' + }, + { + '1': 'loop_condition', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'loopCondition' + }, + { + '1': 'loop_step', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'loopStep' + }, + { + '1': 'result', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Expr', + '10': 'result' + }, + ], +}; + +/// Descriptor for `Expr`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exprDescriptor = $convert.base64Decode( + 'CgRFeHByEg4KAmlkGAIgASgFUgJpZBJFCgxsaXRlcmFsX2V4cHIYAyABKAsyIC5nb29nbGUuYX' + 'BpLmV4cHIudjFiZXRhMS5MaXRlcmFsSABSC2xpdGVyYWxFeHByEkQKCmlkZW50X2V4cHIYBCAB' + 'KAsyIy5nb29nbGUuYXBpLmV4cHIudjFiZXRhMS5FeHByLklkZW50SABSCWlkZW50RXhwchJHCg' + 'tzZWxlY3RfZXhwchgFIAEoCzIkLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkV4cHIuU2VsZWN0' + 'SABSCnNlbGVjdEV4cHISQQoJY2FsbF9leHByGAYgASgLMiIuZ29vZ2xlLmFwaS5leHByLnYxYm' + 'V0YTEuRXhwci5DYWxsSABSCGNhbGxFeHByEkcKCWxpc3RfZXhwchgHIAEoCzIoLmdvb2dsZS5h' + 'cGkuZXhwci52MWJldGExLkV4cHIuQ3JlYXRlTGlzdEgAUghsaXN0RXhwchJNCgtzdHJ1Y3RfZX' + 'hwchgIIAEoCzIqLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkV4cHIuQ3JlYXRlU3RydWN0SABS' + 'CnN0cnVjdEV4cHISXAoSY29tcHJlaGVuc2lvbl9leHByGAkgASgLMisuZ29vZ2xlLmFwaS5leH' + 'ByLnYxYmV0YTEuRXhwci5Db21wcmVoZW5zaW9uSABSEWNvbXByZWhlbnNpb25FeHByGhsKBUlk' + 'ZW50EhIKBG5hbWUYASABKAlSBG5hbWUadAoGU2VsZWN0EjcKB29wZXJhbmQYASABKAsyHS5nb2' + '9nbGUuYXBpLmV4cHIudjFiZXRhMS5FeHByUgdvcGVyYW5kEhQKBWZpZWxkGAIgASgJUgVmaWVs' + 'ZBIbCgl0ZXN0X29ubHkYAyABKAhSCHRlc3RPbmx5GowBCgRDYWxsEjUKBnRhcmdldBgBIAEoCz' + 'IdLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkV4cHJSBnRhcmdldBIaCghmdW5jdGlvbhgCIAEo' + 'CVIIZnVuY3Rpb24SMQoEYXJncxgDIAMoCzIdLmdvb2dsZS5hcGkuZXhwci52MWJldGExLkV4cH' + 'JSBGFyZ3MaRwoKQ3JlYXRlTGlzdBI5CghlbGVtZW50cxgBIAMoCzIdLmdvb2dsZS5hcGkuZXhw' + 'ci52MWJldGExLkV4cHJSCGVsZW1lbnRzGqICCgxDcmVhdGVTdHJ1Y3QSEgoEdHlwZRgBIAEoCV' + 'IEdHlwZRJKCgdlbnRyaWVzGAIgAygLMjAuZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuRXhwci5D' + 'cmVhdGVTdHJ1Y3QuRW50cnlSB2VudHJpZXMasQEKBUVudHJ5Eg4KAmlkGAEgASgFUgJpZBIdCg' + 'lmaWVsZF9rZXkYAiABKAlIAFIIZmllbGRLZXkSOAoHbWFwX2tleRgDIAEoCzIdLmdvb2dsZS5h' + 'cGkuZXhwci52MWJldGExLkV4cHJIAFIGbWFwS2V5EjMKBXZhbHVlGAQgASgLMh0uZ29vZ2xlLm' + 'FwaS5leHByLnYxYmV0YTEuRXhwclIFdmFsdWVCCgoIa2V5X2tpbmQa+AIKDUNvbXByZWhlbnNp' + 'b24SGQoIaXRlcl92YXIYASABKAlSB2l0ZXJWYXISPAoKaXRlcl9yYW5nZRgCIAEoCzIdLmdvb2' + 'dsZS5hcGkuZXhwci52MWJldGExLkV4cHJSCWl0ZXJSYW5nZRIZCghhY2N1X3ZhchgDIAEoCVIH' + 'YWNjdVZhchI6CglhY2N1X2luaXQYBCABKAsyHS5nb29nbGUuYXBpLmV4cHIudjFiZXRhMS5FeH' + 'ByUghhY2N1SW5pdBJECg5sb29wX2NvbmRpdGlvbhgFIAEoCzIdLmdvb2dsZS5hcGkuZXhwci52' + 'MWJldGExLkV4cHJSDWxvb3BDb25kaXRpb24SOgoJbG9vcF9zdGVwGAYgASgLMh0uZ29vZ2xlLm' + 'FwaS5leHByLnYxYmV0YTEuRXhwclIIbG9vcFN0ZXASNQoGcmVzdWx0GAcgASgLMh0uZ29vZ2xl' + 'LmFwaS5leHByLnYxYmV0YTEuRXhwclIGcmVzdWx0QgsKCWV4cHJfa2luZA=='); + +@$core.Deprecated('Use literalDescriptor instead') +const Literal$json = { + '1': 'Literal', + '2': [ + { + '1': 'null_value', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + {'1': 'bool_value', '3': 2, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + {'1': 'int64_value', '3': 3, '4': 1, '5': 3, '9': 0, '10': 'int64Value'}, + {'1': 'uint64_value', '3': 4, '4': 1, '5': 4, '9': 0, '10': 'uint64Value'}, + {'1': 'double_value', '3': 5, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + {'1': 'string_value', '3': 6, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'bytes_value', '3': 7, '4': 1, '5': 12, '9': 0, '10': 'bytesValue'}, + ], + '8': [ + {'1': 'constant_kind'}, + ], +}; + +/// Descriptor for `Literal`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List literalDescriptor = $convert.base64Decode( + 'CgdMaXRlcmFsEjsKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbH' + 'VlSABSCW51bGxWYWx1ZRIfCgpib29sX3ZhbHVlGAIgASgISABSCWJvb2xWYWx1ZRIhCgtpbnQ2' + 'NF92YWx1ZRgDIAEoA0gAUgppbnQ2NFZhbHVlEiMKDHVpbnQ2NF92YWx1ZRgEIAEoBEgAUgt1aW' + '50NjRWYWx1ZRIjCgxkb3VibGVfdmFsdWUYBSABKAFIAFILZG91YmxlVmFsdWUSIwoMc3RyaW5n' + 'X3ZhbHVlGAYgASgJSABSC3N0cmluZ1ZhbHVlEiEKC2J5dGVzX3ZhbHVlGAcgASgMSABSCmJ5dG' + 'VzVmFsdWVCDwoNY29uc3RhbnRfa2luZA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pb.dart new file mode 100644 index 00000000..58f85f24 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pb.dart @@ -0,0 +1,231 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/source.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Source information collected at parse time. +class SourceInfo extends $pb.GeneratedMessage { + factory SourceInfo({ + $core.String? location, + $core.Iterable<$core.int>? lineOffsets, + $core.Map<$core.int, $core.int>? positions, + }) { + final $result = create(); + if (location != null) { + $result.location = location; + } + if (lineOffsets != null) { + $result.lineOffsets.addAll(lineOffsets); + } + if (positions != null) { + $result.positions.addAll(positions); + } + return $result; + } + SourceInfo._() : super(); + factory SourceInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'location') + ..p<$core.int>(3, _omitFieldNames ? '' : 'lineOffsets', $pb.PbFieldType.K3) + ..m<$core.int, $core.int>(4, _omitFieldNames ? '' : 'positions', + entryClassName: 'SourceInfo.PositionsEntry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.O3, + packageName: const $pb.PackageName('google.api.expr.v1beta1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceInfo clone() => SourceInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceInfo copyWith(void Function(SourceInfo) updates) => + super.copyWith((message) => updates(message as SourceInfo)) as SourceInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceInfo create() => SourceInfo._(); + SourceInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceInfo? _defaultInstance; + + /// The location name. All position information attached to an expression is + /// relative to this location. + /// + /// The location could be a file, UI element, or similar. For example, + /// `acme/app/AnvilPolicy.cel`. + @$pb.TagNumber(2) + $core.String get location => $_getSZ(0); + @$pb.TagNumber(2) + set location($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasLocation() => $_has(0); + @$pb.TagNumber(2) + void clearLocation() => clearField(2); + + /// Monotonically increasing list of character offsets where newlines appear. + /// + /// The line number of a given position is the index `i` where for a given + /// `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The + /// column may be derivd from `id_positions[id] - line_offsets[i]`. + @$pb.TagNumber(3) + $core.List<$core.int> get lineOffsets => $_getList(1); + + /// A map from the parse node id (e.g. `Expr.id`) to the character offset + /// within source. + @$pb.TagNumber(4) + $core.Map<$core.int, $core.int> get positions => $_getMap(2); +} + +/// A specific position in source. +class SourcePosition extends $pb.GeneratedMessage { + factory SourcePosition({ + $core.String? location, + $core.int? offset, + $core.int? line, + $core.int? column, + }) { + final $result = create(); + if (location != null) { + $result.location = location; + } + if (offset != null) { + $result.offset = offset; + } + if (line != null) { + $result.line = line; + } + if (column != null) { + $result.column = column; + } + return $result; + } + SourcePosition._() : super(); + factory SourcePosition.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourcePosition.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourcePosition', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'location') + ..a<$core.int>(2, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'line', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'column', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourcePosition clone() => SourcePosition()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourcePosition copyWith(void Function(SourcePosition) updates) => + super.copyWith((message) => updates(message as SourcePosition)) + as SourcePosition; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourcePosition create() => SourcePosition._(); + SourcePosition createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourcePosition getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourcePosition? _defaultInstance; + + /// The soucre location name (e.g. file name). + @$pb.TagNumber(1) + $core.String get location => $_getSZ(0); + @$pb.TagNumber(1) + set location($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLocation() => $_has(0); + @$pb.TagNumber(1) + void clearLocation() => clearField(1); + + /// The character offset. + @$pb.TagNumber(2) + $core.int get offset => $_getIZ(1); + @$pb.TagNumber(2) + set offset($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOffset() => $_has(1); + @$pb.TagNumber(2) + void clearOffset() => clearField(2); + + /// The 1-based index of the starting line in the source text + /// where the issue occurs, or 0 if unknown. + @$pb.TagNumber(3) + $core.int get line => $_getIZ(2); + @$pb.TagNumber(3) + set line($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLine() => $_has(2); + @$pb.TagNumber(3) + void clearLine() => clearField(3); + + /// The 0-based index of the starting position within the line of source text + /// where the issue occurs. Only meaningful if line is nonzer.. + @$pb.TagNumber(4) + $core.int get column => $_getIZ(3); + @$pb.TagNumber(4) + set column($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasColumn() => $_has(3); + @$pb.TagNumber(4) + void clearColumn() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pbenum.dart new file mode 100644 index 00000000..886db2e3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/source.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pbjson.dart new file mode 100644 index 00000000..a27f07f9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/source.pbjson.dart @@ -0,0 +1,66 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/source.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo$json = { + '1': 'SourceInfo', + '2': [ + {'1': 'location', '3': 2, '4': 1, '5': 9, '10': 'location'}, + {'1': 'line_offsets', '3': 3, '4': 3, '5': 5, '10': 'lineOffsets'}, + { + '1': 'positions', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.SourceInfo.PositionsEntry', + '10': 'positions' + }, + ], + '3': [SourceInfo_PositionsEntry$json], +}; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo_PositionsEntry$json = { + '1': 'PositionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `SourceInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceInfoDescriptor = $convert.base64Decode( + 'CgpTb3VyY2VJbmZvEhoKCGxvY2F0aW9uGAIgASgJUghsb2NhdGlvbhIhCgxsaW5lX29mZnNldH' + 'MYAyADKAVSC2xpbmVPZmZzZXRzElAKCXBvc2l0aW9ucxgEIAMoCzIyLmdvb2dsZS5hcGkuZXhw' + 'ci52MWJldGExLlNvdXJjZUluZm8uUG9zaXRpb25zRW50cnlSCXBvc2l0aW9ucxo8Cg5Qb3NpdG' + 'lvbnNFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use sourcePositionDescriptor instead') +const SourcePosition$json = { + '1': 'SourcePosition', + '2': [ + {'1': 'location', '3': 1, '4': 1, '5': 9, '10': 'location'}, + {'1': 'offset', '3': 2, '4': 1, '5': 5, '10': 'offset'}, + {'1': 'line', '3': 3, '4': 1, '5': 5, '10': 'line'}, + {'1': 'column', '3': 4, '4': 1, '5': 5, '10': 'column'}, + ], +}; + +/// Descriptor for `SourcePosition`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourcePositionDescriptor = $convert.base64Decode( + 'Cg5Tb3VyY2VQb3NpdGlvbhIaCghsb2NhdGlvbhgBIAEoCVIIbG9jYXRpb24SFgoGb2Zmc2V0GA' + 'IgASgFUgZvZmZzZXQSEgoEbGluZRgDIAEoBVIEbGluZRIWCgZjb2x1bW4YBCABKAVSBmNvbHVt' + 'bg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pb.dart new file mode 100644 index 00000000..bdca4015 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pb.dart @@ -0,0 +1,627 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/any.pb.dart' as $49; +import '../../../protobuf/struct.pbenum.dart' as $48; + +enum Value_Kind { + nullValue, + boolValue, + int64Value, + uint64Value, + doubleValue, + stringValue, + bytesValue, + enumValue, + objectValue, + mapValue, + listValue, + typeValue, + notSet +} + +/// Represents a CEL value. +/// +/// This is similar to `google.protobuf.Value`, but can represent CEL's full +/// range of values. +class Value extends $pb.GeneratedMessage { + factory Value({ + $48.NullValue? nullValue, + $core.bool? boolValue, + $fixnum.Int64? int64Value, + $fixnum.Int64? uint64Value, + $core.double? doubleValue, + $core.String? stringValue, + $core.List<$core.int>? bytesValue, + EnumValue? enumValue, + $49.Any? objectValue, + MapValue? mapValue, + ListValue? listValue, + $core.String? typeValue, + }) { + final $result = create(); + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (int64Value != null) { + $result.int64Value = int64Value; + } + if (uint64Value != null) { + $result.uint64Value = uint64Value; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (bytesValue != null) { + $result.bytesValue = bytesValue; + } + if (enumValue != null) { + $result.enumValue = enumValue; + } + if (objectValue != null) { + $result.objectValue = objectValue; + } + if (mapValue != null) { + $result.mapValue = mapValue; + } + if (listValue != null) { + $result.listValue = listValue; + } + if (typeValue != null) { + $result.typeValue = typeValue; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_Kind> _Value_KindByTag = { + 1: Value_Kind.nullValue, + 2: Value_Kind.boolValue, + 3: Value_Kind.int64Value, + 4: Value_Kind.uint64Value, + 5: Value_Kind.doubleValue, + 6: Value_Kind.stringValue, + 7: Value_Kind.bytesValue, + 9: Value_Kind.enumValue, + 10: Value_Kind.objectValue, + 11: Value_Kind.mapValue, + 12: Value_Kind.listValue, + 15: Value_Kind.typeValue, + 0: Value_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Value', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15]) + ..e<$48.NullValue>( + 1, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..aOB(2, _omitFieldNames ? '' : 'boolValue') + ..aInt64(3, _omitFieldNames ? '' : 'int64Value') + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'uint64Value', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 5, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOS(6, _omitFieldNames ? '' : 'stringValue') + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'bytesValue', $pb.PbFieldType.OY) + ..aOM(9, _omitFieldNames ? '' : 'enumValue', + subBuilder: EnumValue.create) + ..aOM<$49.Any>(10, _omitFieldNames ? '' : 'objectValue', + subBuilder: $49.Any.create) + ..aOM(11, _omitFieldNames ? '' : 'mapValue', + subBuilder: MapValue.create) + ..aOM(12, _omitFieldNames ? '' : 'listValue', + subBuilder: ListValue.create) + ..aOS(15, _omitFieldNames ? '' : 'typeValue') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => + super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_Kind whichKind() => _Value_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// Null value. + @$pb.TagNumber(1) + $48.NullValue get nullValue => $_getN(0); + @$pb.TagNumber(1) + set nullValue($48.NullValue v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNullValue() => $_has(0); + @$pb.TagNumber(1) + void clearNullValue() => clearField(1); + + /// Boolean value. + @$pb.TagNumber(2) + $core.bool get boolValue => $_getBF(1); + @$pb.TagNumber(2) + set boolValue($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasBoolValue() => $_has(1); + @$pb.TagNumber(2) + void clearBoolValue() => clearField(2); + + /// Signed integer value. + @$pb.TagNumber(3) + $fixnum.Int64 get int64Value => $_getI64(2); + @$pb.TagNumber(3) + set int64Value($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasInt64Value() => $_has(2); + @$pb.TagNumber(3) + void clearInt64Value() => clearField(3); + + /// Unsigned integer value. + @$pb.TagNumber(4) + $fixnum.Int64 get uint64Value => $_getI64(3); + @$pb.TagNumber(4) + set uint64Value($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUint64Value() => $_has(3); + @$pb.TagNumber(4) + void clearUint64Value() => clearField(4); + + /// Floating point value. + @$pb.TagNumber(5) + $core.double get doubleValue => $_getN(4); + @$pb.TagNumber(5) + set doubleValue($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDoubleValue() => $_has(4); + @$pb.TagNumber(5) + void clearDoubleValue() => clearField(5); + + /// UTF-8 string value. + @$pb.TagNumber(6) + $core.String get stringValue => $_getSZ(5); + @$pb.TagNumber(6) + set stringValue($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasStringValue() => $_has(5); + @$pb.TagNumber(6) + void clearStringValue() => clearField(6); + + /// Byte string value. + @$pb.TagNumber(7) + $core.List<$core.int> get bytesValue => $_getN(6); + @$pb.TagNumber(7) + set bytesValue($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasBytesValue() => $_has(6); + @$pb.TagNumber(7) + void clearBytesValue() => clearField(7); + + /// An enum value. + @$pb.TagNumber(9) + EnumValue get enumValue => $_getN(7); + @$pb.TagNumber(9) + set enumValue(EnumValue v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasEnumValue() => $_has(7); + @$pb.TagNumber(9) + void clearEnumValue() => clearField(9); + @$pb.TagNumber(9) + EnumValue ensureEnumValue() => $_ensure(7); + + /// The proto message backing an object value. + @$pb.TagNumber(10) + $49.Any get objectValue => $_getN(8); + @$pb.TagNumber(10) + set objectValue($49.Any v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasObjectValue() => $_has(8); + @$pb.TagNumber(10) + void clearObjectValue() => clearField(10); + @$pb.TagNumber(10) + $49.Any ensureObjectValue() => $_ensure(8); + + /// Map value. + @$pb.TagNumber(11) + MapValue get mapValue => $_getN(9); + @$pb.TagNumber(11) + set mapValue(MapValue v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasMapValue() => $_has(9); + @$pb.TagNumber(11) + void clearMapValue() => clearField(11); + @$pb.TagNumber(11) + MapValue ensureMapValue() => $_ensure(9); + + /// List value. + @$pb.TagNumber(12) + ListValue get listValue => $_getN(10); + @$pb.TagNumber(12) + set listValue(ListValue v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasListValue() => $_has(10); + @$pb.TagNumber(12) + void clearListValue() => clearField(12); + @$pb.TagNumber(12) + ListValue ensureListValue() => $_ensure(10); + + /// A Type value represented by the fully qualified name of the type. + @$pb.TagNumber(15) + $core.String get typeValue => $_getSZ(11); + @$pb.TagNumber(15) + set typeValue($core.String v) { + $_setString(11, v); + } + + @$pb.TagNumber(15) + $core.bool hasTypeValue() => $_has(11); + @$pb.TagNumber(15) + void clearTypeValue() => clearField(15); +} + +/// An enum value. +class EnumValue extends $pb.GeneratedMessage { + factory EnumValue({ + $core.String? type, + $core.int? value, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (value != null) { + $result.value = value; + } + return $result; + } + EnumValue._() : super(); + factory EnumValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..a<$core.int>(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumValue clone() => EnumValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumValue copyWith(void Function(EnumValue) updates) => + super.copyWith((message) => updates(message as EnumValue)) as EnumValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumValue create() => EnumValue._(); + EnumValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnumValue? _defaultInstance; + + /// The fully qualified name of the enum type. + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(1); + + /// The value of the enum. + @$pb.TagNumber(2) + $core.int get value => $_getIZ(1); + @$pb.TagNumber(2) + set value($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +/// A list. +/// +/// Wrapped in a message so 'not set' and empty can be differentiated, which is +/// required for use in a 'oneof'. +class ListValue extends $pb.GeneratedMessage { + factory ListValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + ListValue._() : super(); + factory ListValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListValue clone() => ListValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListValue copyWith(void Function(ListValue) updates) => + super.copyWith((message) => updates(message as ListValue)) as ListValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListValue create() => ListValue._(); + ListValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListValue? _defaultInstance; + + /// The ordered values in the list. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + +/// An entry in the map. +class MapValue_Entry extends $pb.GeneratedMessage { + factory MapValue_Entry({ + Value? key, + Value? value, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (value != null) { + $result.value = value; + } + return $result; + } + MapValue_Entry._() : super(); + factory MapValue_Entry.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MapValue_Entry.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MapValue.Entry', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'key', subBuilder: Value.create) + ..aOM(2, _omitFieldNames ? '' : 'value', subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MapValue_Entry clone() => MapValue_Entry()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MapValue_Entry copyWith(void Function(MapValue_Entry) updates) => + super.copyWith((message) => updates(message as MapValue_Entry)) + as MapValue_Entry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MapValue_Entry create() => MapValue_Entry._(); + MapValue_Entry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MapValue_Entry getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MapValue_Entry? _defaultInstance; + + /// The key. + /// + /// Must be unique with in the map. + /// Currently only boolean, int, uint, and string values can be keys. + @$pb.TagNumber(1) + Value get key => $_getN(0); + @$pb.TagNumber(1) + set key(Value v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + @$pb.TagNumber(1) + Value ensureKey() => $_ensure(0); + + /// The value. + @$pb.TagNumber(2) + Value get value => $_getN(1); + @$pb.TagNumber(2) + set value(Value v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + @$pb.TagNumber(2) + Value ensureValue() => $_ensure(1); +} + +/// A map. +/// +/// Wrapped in a message so 'not set' and empty can be differentiated, which is +/// required for use in a 'oneof'. +class MapValue extends $pb.GeneratedMessage { + factory MapValue({ + $core.Iterable? entries, + }) { + final $result = create(); + if (entries != null) { + $result.entries.addAll(entries); + } + return $result; + } + MapValue._() : super(); + factory MapValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MapValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MapValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.expr.v1beta1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: MapValue_Entry.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MapValue clone() => MapValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MapValue copyWith(void Function(MapValue) updates) => + super.copyWith((message) => updates(message as MapValue)) as MapValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MapValue create() => MapValue._(); + MapValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MapValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static MapValue? _defaultInstance; + + /// The set of map entries. + /// + /// CEL has fewer restrictions on keys, so a protobuf map represenation + /// cannot be used. + @$pb.TagNumber(1) + $core.List get entries => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pbenum.dart new file mode 100644 index 00000000..dd116de4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pbjson.dart new file mode 100644 index 00000000..2a71643e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/expr/v1beta1/value.pbjson.dart @@ -0,0 +1,169 @@ +// +// Generated code. Do not modify. +// source: google/api/expr/v1beta1/value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + { + '1': 'null_value', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + {'1': 'bool_value', '3': 2, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + {'1': 'int64_value', '3': 3, '4': 1, '5': 3, '9': 0, '10': 'int64Value'}, + {'1': 'uint64_value', '3': 4, '4': 1, '5': 4, '9': 0, '10': 'uint64Value'}, + {'1': 'double_value', '3': 5, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + {'1': 'string_value', '3': 6, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'bytes_value', '3': 7, '4': 1, '5': 12, '9': 0, '10': 'bytesValue'}, + { + '1': 'enum_value', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.EnumValue', + '9': 0, + '10': 'enumValue' + }, + { + '1': 'object_value', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '9': 0, + '10': 'objectValue' + }, + { + '1': 'map_value', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.MapValue', + '9': 0, + '10': 'mapValue' + }, + { + '1': 'list_value', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.ListValue', + '9': 0, + '10': 'listValue' + }, + {'1': 'type_value', '3': 15, '4': 1, '5': 9, '9': 0, '10': 'typeValue'}, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZU' + 'gAUgludWxsVmFsdWUSHwoKYm9vbF92YWx1ZRgCIAEoCEgAUglib29sVmFsdWUSIQoLaW50NjRf' + 'dmFsdWUYAyABKANIAFIKaW50NjRWYWx1ZRIjCgx1aW50NjRfdmFsdWUYBCABKARIAFILdWludD' + 'Y0VmFsdWUSIwoMZG91YmxlX3ZhbHVlGAUgASgBSABSC2RvdWJsZVZhbHVlEiMKDHN0cmluZ192' + 'YWx1ZRgGIAEoCUgAUgtzdHJpbmdWYWx1ZRIhCgtieXRlc192YWx1ZRgHIAEoDEgAUgpieXRlc1' + 'ZhbHVlEkMKCmVudW1fdmFsdWUYCSABKAsyIi5nb29nbGUuYXBpLmV4cHIudjFiZXRhMS5FbnVt' + 'VmFsdWVIAFIJZW51bVZhbHVlEjkKDG9iamVjdF92YWx1ZRgKIAEoCzIULmdvb2dsZS5wcm90b2' + 'J1Zi5BbnlIAFILb2JqZWN0VmFsdWUSQAoJbWFwX3ZhbHVlGAsgASgLMiEuZ29vZ2xlLmFwaS5l' + 'eHByLnYxYmV0YTEuTWFwVmFsdWVIAFIIbWFwVmFsdWUSQwoKbGlzdF92YWx1ZRgMIAEoCzIiLm' + 'dvb2dsZS5hcGkuZXhwci52MWJldGExLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWUSHwoKdHlwZV92' + 'YWx1ZRgPIAEoCUgAUgl0eXBlVmFsdWVCBgoEa2luZA=='); + +@$core.Deprecated('Use enumValueDescriptor instead') +const EnumValue$json = { + '1': 'EnumValue', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], +}; + +/// Descriptor for `EnumValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumValueDescriptor = $convert.base64Decode( + 'CglFbnVtVmFsdWUSEgoEdHlwZRgBIAEoCVIEdHlwZRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU='); + +@$core.Deprecated('Use listValueDescriptor instead') +const ListValue$json = { + '1': 'ListValue', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.Value', + '10': 'values' + }, + ], +}; + +/// Descriptor for `ListValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listValueDescriptor = $convert.base64Decode( + 'CglMaXN0VmFsdWUSNgoGdmFsdWVzGAEgAygLMh4uZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuVm' + 'FsdWVSBnZhbHVlcw=='); + +@$core.Deprecated('Use mapValueDescriptor instead') +const MapValue$json = { + '1': 'MapValue', + '2': [ + { + '1': 'entries', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.expr.v1beta1.MapValue.Entry', + '10': 'entries' + }, + ], + '3': [MapValue_Entry$json], +}; + +@$core.Deprecated('Use mapValueDescriptor instead') +const MapValue_Entry$json = { + '1': 'Entry', + '2': [ + { + '1': 'key', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Value', + '10': 'key' + }, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.expr.v1beta1.Value', + '10': 'value' + }, + ], +}; + +/// Descriptor for `MapValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mapValueDescriptor = $convert.base64Decode( + 'CghNYXBWYWx1ZRJBCgdlbnRyaWVzGAEgAygLMicuZ29vZ2xlLmFwaS5leHByLnYxYmV0YTEuTW' + 'FwVmFsdWUuRW50cnlSB2VudHJpZXMabwoFRW50cnkSMAoDa2V5GAEgASgLMh4uZ29vZ2xlLmFw' + 'aS5leHByLnYxYmV0YTEuVmFsdWVSA2tleRI0CgV2YWx1ZRgCIAEoCzIeLmdvb2dsZS5hcGkuZX' + 'hwci52MWJldGExLlZhbHVlUgV2YWx1ZQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pb.dart new file mode 100644 index 00000000..eaa35fa6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pb.dart @@ -0,0 +1,36 @@ +// +// Generated code. Do not modify. +// source: google/api/field_behavior.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'field_behavior.pbenum.dart'; + +export 'field_behavior.pbenum.dart'; + +class Field_behavior { + static final fieldBehavior = $pb.Extension.repeated( + _omitMessageNames ? '' : 'google.protobuf.FieldOptions', + _omitFieldNames ? '' : 'fieldBehavior', + 1052, + $pb.PbFieldType.PE, + check: $pb.getCheckFunction($pb.PbFieldType.PE), + valueOf: FieldBehavior.valueOf, + enumValues: FieldBehavior.values); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(fieldBehavior); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pbenum.dart new file mode 100644 index 00000000..8fa90203 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pbenum.dart @@ -0,0 +1,61 @@ +// +// Generated code. Do not modify. +// source: google/api/field_behavior.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// 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. +class FieldBehavior extends $pb.ProtobufEnum { + static const FieldBehavior FIELD_BEHAVIOR_UNSPECIFIED = + FieldBehavior._(0, _omitEnumNames ? '' : 'FIELD_BEHAVIOR_UNSPECIFIED'); + static const FieldBehavior OPTIONAL = + FieldBehavior._(1, _omitEnumNames ? '' : 'OPTIONAL'); + static const FieldBehavior REQUIRED = + FieldBehavior._(2, _omitEnumNames ? '' : 'REQUIRED'); + static const FieldBehavior OUTPUT_ONLY = + FieldBehavior._(3, _omitEnumNames ? '' : 'OUTPUT_ONLY'); + static const FieldBehavior INPUT_ONLY = + FieldBehavior._(4, _omitEnumNames ? '' : 'INPUT_ONLY'); + static const FieldBehavior IMMUTABLE = + FieldBehavior._(5, _omitEnumNames ? '' : 'IMMUTABLE'); + static const FieldBehavior UNORDERED_LIST = + FieldBehavior._(6, _omitEnumNames ? '' : 'UNORDERED_LIST'); + static const FieldBehavior NON_EMPTY_DEFAULT = + FieldBehavior._(7, _omitEnumNames ? '' : 'NON_EMPTY_DEFAULT'); + static const FieldBehavior IDENTIFIER = + FieldBehavior._(8, _omitEnumNames ? '' : 'IDENTIFIER'); + + static const $core.List values = [ + FIELD_BEHAVIOR_UNSPECIFIED, + OPTIONAL, + REQUIRED, + OUTPUT_ONLY, + INPUT_ONLY, + IMMUTABLE, + UNORDERED_LIST, + NON_EMPTY_DEFAULT, + IDENTIFIER, + ]; + + static final $core.Map<$core.int, FieldBehavior> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldBehavior? valueOf($core.int value) => _byValue[value]; + + const FieldBehavior._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pbjson.dart new file mode 100644 index 00000000..f1d8cfc3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_behavior.pbjson.dart @@ -0,0 +1,37 @@ +// +// Generated code. Do not modify. +// source: google/api/field_behavior.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use fieldBehaviorDescriptor instead') +const FieldBehavior$json = { + '1': 'FieldBehavior', + '2': [ + {'1': 'FIELD_BEHAVIOR_UNSPECIFIED', '2': 0}, + {'1': 'OPTIONAL', '2': 1}, + {'1': 'REQUIRED', '2': 2}, + {'1': 'OUTPUT_ONLY', '2': 3}, + {'1': 'INPUT_ONLY', '2': 4}, + {'1': 'IMMUTABLE', '2': 5}, + {'1': 'UNORDERED_LIST', '2': 6}, + {'1': 'NON_EMPTY_DEFAULT', '2': 7}, + {'1': 'IDENTIFIER', '2': 8}, + ], +}; + +/// Descriptor for `FieldBehavior`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List fieldBehaviorDescriptor = $convert.base64Decode( + 'Cg1GaWVsZEJlaGF2aW9yEh4KGkZJRUxEX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASDAoIT1BUSU' + '9OQUwQARIMCghSRVFVSVJFRBACEg8KC09VVFBVVF9PTkxZEAMSDgoKSU5QVVRfT05MWRAEEg0K' + 'CUlNTVVUQUJMRRAFEhIKDlVOT1JERVJFRF9MSVNUEAYSFQoRTk9OX0VNUFRZX0RFRkFVTFQQBx' + 'IOCgpJREVOVElGSUVSEAg='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pb.dart new file mode 100644 index 00000000..9f3f0529 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pb.dart @@ -0,0 +1,187 @@ +// +// Generated code. Do not modify. +// source: google/api/field_info.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'field_info.pbenum.dart'; + +export 'field_info.pbenum.dart'; + +/// Rich semantic information of an API field beyond basic typing. +class FieldInfo extends $pb.GeneratedMessage { + factory FieldInfo({ + FieldInfo_Format? format, + $core.Iterable? referencedTypes, + }) { + final $result = create(); + if (format != null) { + $result.format = format; + } + if (referencedTypes != null) { + $result.referencedTypes.addAll(referencedTypes); + } + return $result; + } + FieldInfo._() : super(); + factory FieldInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldInfo', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'format', $pb.PbFieldType.OE, + defaultOrMaker: FieldInfo_Format.FORMAT_UNSPECIFIED, + valueOf: FieldInfo_Format.valueOf, + enumValues: FieldInfo_Format.values) + ..pc( + 2, _omitFieldNames ? '' : 'referencedTypes', $pb.PbFieldType.PM, + subBuilder: TypeReference.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldInfo clone() => FieldInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldInfo copyWith(void Function(FieldInfo) updates) => + super.copyWith((message) => updates(message as FieldInfo)) as FieldInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldInfo create() => FieldInfo._(); + FieldInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FieldInfo? _defaultInstance; + + /// The standard format of a field value. This does not explicitly configure + /// any API consumer, just documents the API's format for the field it is + /// applied to. + @$pb.TagNumber(1) + FieldInfo_Format get format => $_getN(0); + @$pb.TagNumber(1) + set format(FieldInfo_Format v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasFormat() => $_has(0); + @$pb.TagNumber(1) + void clearFormat() => clearField(1); + + /// The type(s) that the annotated, generic field may represent. + /// + /// Currently, this must only be used on fields of type `google.protobuf.Any`. + /// Supporting other generic types may be considered in the future. + @$pb.TagNumber(2) + $core.List get referencedTypes => $_getList(1); +} + +/// A reference to a message type, for use in [FieldInfo][google.api.FieldInfo]. +class TypeReference extends $pb.GeneratedMessage { + factory TypeReference({ + $core.String? typeName, + }) { + final $result = create(); + if (typeName != null) { + $result.typeName = typeName; + } + return $result; + } + TypeReference._() : super(); + factory TypeReference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TypeReference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TypeReference', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'typeName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TypeReference clone() => TypeReference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TypeReference copyWith(void Function(TypeReference) updates) => + super.copyWith((message) => updates(message as TypeReference)) + as TypeReference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TypeReference create() => TypeReference._(); + TypeReference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TypeReference getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TypeReference? _defaultInstance; + + /// The name of the type that the annotated, generic field may represent. + /// If the type is in the same protobuf package, the value can be the simple + /// message name e.g., `"MyMessage"`. Otherwise, the value must be the + /// fully-qualified message name e.g., `"google.library.v1.Book"`. + /// + /// If the type(s) are unknown to the service (e.g. the field accepts generic + /// user input), use the wildcard `"*"` to denote this behavior. + /// + /// See [AIP-202](https://google.aip.dev/202#type-references) for more details. + @$pb.TagNumber(1) + $core.String get typeName => $_getSZ(0); + @$pb.TagNumber(1) + set typeName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTypeName() => $_has(0); + @$pb.TagNumber(1) + void clearTypeName() => clearField(1); +} + +class Field_info { + static final fieldInfo = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.FieldOptions', + _omitFieldNames ? '' : 'fieldInfo', + 291403980, + $pb.PbFieldType.OM, + defaultOrMaker: FieldInfo.getDefault, + subBuilder: FieldInfo.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(fieldInfo); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pbenum.dart new file mode 100644 index 00000000..be40b4ab --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pbenum.dart @@ -0,0 +1,45 @@ +// +// Generated code. Do not modify. +// source: google/api/field_info.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The standard format of a field value. The supported formats are all backed +/// by either an RFC defined by the IETF or a Google-defined AIP. +class FieldInfo_Format extends $pb.ProtobufEnum { + static const FieldInfo_Format FORMAT_UNSPECIFIED = + FieldInfo_Format._(0, _omitEnumNames ? '' : 'FORMAT_UNSPECIFIED'); + static const FieldInfo_Format UUID4 = + FieldInfo_Format._(1, _omitEnumNames ? '' : 'UUID4'); + static const FieldInfo_Format IPV4 = + FieldInfo_Format._(2, _omitEnumNames ? '' : 'IPV4'); + static const FieldInfo_Format IPV6 = + FieldInfo_Format._(3, _omitEnumNames ? '' : 'IPV6'); + static const FieldInfo_Format IPV4_OR_IPV6 = + FieldInfo_Format._(4, _omitEnumNames ? '' : 'IPV4_OR_IPV6'); + + static const $core.List values = [ + FORMAT_UNSPECIFIED, + UUID4, + IPV4, + IPV6, + IPV4_OR_IPV6, + ]; + + static final $core.Map<$core.int, FieldInfo_Format> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldInfo_Format? valueOf($core.int value) => _byValue[value]; + + const FieldInfo_Format._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pbjson.dart new file mode 100644 index 00000000..97fb9fd1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/field_info.pbjson.dart @@ -0,0 +1,69 @@ +// +// Generated code. Do not modify. +// source: google/api/field_info.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use fieldInfoDescriptor instead') +const FieldInfo$json = { + '1': 'FieldInfo', + '2': [ + { + '1': 'format', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.api.FieldInfo.Format', + '10': 'format' + }, + { + '1': 'referenced_types', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.TypeReference', + '10': 'referencedTypes' + }, + ], + '4': [FieldInfo_Format$json], +}; + +@$core.Deprecated('Use fieldInfoDescriptor instead') +const FieldInfo_Format$json = { + '1': 'Format', + '2': [ + {'1': 'FORMAT_UNSPECIFIED', '2': 0}, + {'1': 'UUID4', '2': 1}, + {'1': 'IPV4', '2': 2}, + {'1': 'IPV6', '2': 3}, + {'1': 'IPV4_OR_IPV6', '2': 4}, + ], +}; + +/// Descriptor for `FieldInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldInfoDescriptor = $convert.base64Decode( + 'CglGaWVsZEluZm8SNAoGZm9ybWF0GAEgASgOMhwuZ29vZ2xlLmFwaS5GaWVsZEluZm8uRm9ybW' + 'F0UgZmb3JtYXQSRAoQcmVmZXJlbmNlZF90eXBlcxgCIAMoCzIZLmdvb2dsZS5hcGkuVHlwZVJl' + 'ZmVyZW5jZVIPcmVmZXJlbmNlZFR5cGVzIlEKBkZvcm1hdBIWChJGT1JNQVRfVU5TUEVDSUZJRU' + 'QQABIJCgVVVUlENBABEggKBElQVjQQAhIICgRJUFY2EAMSEAoMSVBWNF9PUl9JUFY2EAQ='); + +@$core.Deprecated('Use typeReferenceDescriptor instead') +const TypeReference$json = { + '1': 'TypeReference', + '2': [ + {'1': 'type_name', '3': 1, '4': 1, '5': 9, '10': 'typeName'}, + ], +}; + +/// Descriptor for `TypeReference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List typeReferenceDescriptor = $convert.base64Decode( + 'Cg1UeXBlUmVmZXJlbmNlEhsKCXR5cGVfbmFtZRgBIAEoCVIIdHlwZU5hbWU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pb.dart new file mode 100644 index 00000000..a5285baf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pb.dart @@ -0,0 +1,695 @@ +// +// Generated code. Do not modify. +// source: google/api/http.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// 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. +class Http extends $pb.GeneratedMessage { + factory Http({ + $core.Iterable? rules, + $core.bool? fullyDecodeReservedExpansion, + }) { + final $result = create(); + if (rules != null) { + $result.rules.addAll(rules); + } + if (fullyDecodeReservedExpansion != null) { + $result.fullyDecodeReservedExpansion = fullyDecodeReservedExpansion; + } + return $result; + } + Http._() : super(); + factory Http.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Http.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Http', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: HttpRule.create) + ..aOB(2, _omitFieldNames ? '' : 'fullyDecodeReservedExpansion') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Http clone() => Http()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Http copyWith(void Function(Http) updates) => + super.copyWith((message) => updates(message as Http)) as Http; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Http create() => Http._(); + Http createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Http getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Http? _defaultInstance; + + /// A list of HTTP configuration rules that apply to individual API methods. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(1) + $core.List get rules => $_getList(0); + + /// When set to true, URL path parameters 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. + @$pb.TagNumber(2) + $core.bool get fullyDecodeReservedExpansion => $_getBF(1); + @$pb.TagNumber(2) + set fullyDecodeReservedExpansion($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFullyDecodeReservedExpansion() => $_has(1); + @$pb.TagNumber(2) + void clearFullyDecodeReservedExpansion() => clearField(2); +} + +enum HttpRule_Pattern { get, put, post, delete, patch, custom, notSet } + +/// gRPC Transcoding +/// +/// gRPC Transcoding is a feature for mapping between a gRPC method and one or +/// more HTTP REST endpoints. It allows developers to build a single API service +/// that supports both gRPC APIs and REST APIs. Many systems, including [Google +/// APIs](https://github.com/googleapis/googleapis), +/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC +/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), +/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +/// and use it for large scale production services. +/// +/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies +/// how different portions of the gRPC request message are mapped to the URL +/// path, URL query parameters, and HTTP request body. It also controls how the +/// gRPC response message is mapped to the HTTP response body. `HttpRule` is +/// typically specified as an `google.api.http` annotation on the gRPC method. +/// +/// Each mapping specifies a URL path template and an HTTP method. The path +/// template may refer to one or more fields in the gRPC request message, as long +/// as each field is a non-repeated field with a primitive (non-message) type. +/// The path template controls how fields of the request message are mapped to +/// the URL path. +/// +/// Example: +/// +/// service Messaging { +/// rpc GetMessage(GetMessageRequest) returns (Message) { +/// option (google.api.http) = { +/// get: "/v1/{name=messages/*}" +/// }; +/// } +/// } +/// message GetMessageRequest { +/// string name = 1; // Mapped to URL path. +/// } +/// message Message { +/// string text = 1; // The resource content. +/// } +/// +/// This enables an HTTP REST to gRPC mapping as below: +/// +/// - HTTP: `GET /v1/messages/123456` +/// - gRPC: `GetMessage(name: "messages/123456")` +/// +/// Any fields in the request message which are not bound by the path template +/// automatically become HTTP query parameters if there is no HTTP request body. +/// For example: +/// +/// 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 URL path. +/// int64 revision = 2; // Mapped to URL query parameter `revision`. +/// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. +/// } +/// +/// This enables a HTTP JSON to RPC mapping as below: +/// +/// - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo` +/// - gRPC: `GetMessage(message_id: "123456" revision: 2 sub: +/// SubMessage(subfield: "foo"))` +/// +/// Note that fields which are mapped to URL query parameters must have a +/// primitive type or a repeated primitive type or a non-repeated message type. +/// In the case of a repeated type, the parameter can be repeated in the URL +/// as `...?param=A¶m=B`. In the case of a message type, each field of the +/// message is mapped to a separate parameter, such as +/// `...?foo.a=A&foo.b=B&foo.c=C`. +/// +/// For HTTP methods that 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) = { +/// patch: "/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: `PATCH /v1/messages/123456 { "text": "Hi!" }` +/// - gRPC: `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) = { +/// patch: "/v1/messages/{message_id}" +/// body: "*" +/// }; +/// } +/// } +/// message Message { +/// string message_id = 1; +/// string text = 2; +/// } +/// +/// +/// The following HTTP JSON to RPC mapping is enabled: +/// +/// - HTTP: `PATCH /v1/messages/123456 { "text": "Hi!" }` +/// - gRPC: `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 when +/// 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: `GET /v1/messages/123456` +/// - gRPC: `GetMessage(message_id: "123456")` +/// +/// - HTTP: `GET /v1/users/me/messages/123456` +/// - gRPC: `GetMessage(user_id: "me" message_id: "123456")` +/// +/// Rules for HTTP mapping +/// +/// 1. Leaf request fields (recursive expansion nested messages in the request +/// message) are classified into three categories: +/// - Fields referred by the path template. They are passed via the URL path. +/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They +/// are passed via the HTTP +/// request body. +/// - All other fields are passed via the URL query parameters, and the +/// parameter name is the field path in the request message. A repeated +/// field can be represented as multiple query parameters under the same +/// name. +/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL +/// query parameter, all fields +/// are passed via URL path and HTTP request body. +/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP +/// request body, all +/// fields are passed via URL path and URL query parameters. +/// +/// Path template syntax +/// +/// Template = "/" Segments [ Verb ] ; +/// Segments = Segment { "/" Segment } ; +/// Segment = "*" | "**" | LITERAL | Variable ; +/// Variable = "{" FieldPath [ "=" Segments ] "}" ; +/// FieldPath = IDENT { "." IDENT } ; +/// Verb = ":" LITERAL ; +/// +/// The syntax `*` matches a single URL path segment. The syntax `**` matches +/// zero or more URL path segments, which must be the last part of the URL path +/// except the `Verb`. +/// +/// 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=*}`. +/// +/// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` +/// contains any reserved character, such characters should be percent-encoded +/// before the matching. +/// +/// If a variable contains exactly one path segment, such as `"{var}"` or +/// `"{var=*}"`, when such a variable is expanded into a URL path on the client +/// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The +/// server side does the reverse decoding. Such variables show up in the +/// [Discovery +/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// `{var}`. +/// +/// If a variable contains multiple path segments, such as `"{var=foo/*}"` +/// or `"{var=**}"`, when such a variable is expanded into a URL path on the +/// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. +/// The server side does the reverse decoding, except "%2F" and "%2f" are left +/// unchanged. Such variables show up in the +/// [Discovery +/// Document](https://developers.google.com/discovery/v1/reference/apis) as +/// `{+var}`. +/// +/// Using gRPC API Service Configuration +/// +/// gRPC API Service Configuration (service config) is a configuration language +/// for configuring a gRPC service to become a user-facing product. The +/// service config is simply the YAML representation of the `google.api.Service` +/// proto message. +/// +/// As an alternative to annotating your proto file, you can configure gRPC +/// transcoding in your service config YAML files. You do this by specifying a +/// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same +/// effect as the proto annotation. This can be particularly useful if you +/// have a proto that is reused in multiple services. Note that any transcoding +/// specified in the service config will override any matching transcoding +/// configuration in the proto. +/// +/// The following example selects a gRPC method and applies an `HttpRule` to it: +/// +/// http: +/// rules: +/// - selector: example.v1.Messaging.GetMessage +/// get: /v1/messages/{message_id}/{sub.subfield} +/// +/// Special notes +/// +/// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the +/// proto to JSON conversion must follow the [proto3 +/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +/// +/// While the single segment variable follows the semantics of +/// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String +/// Expansion, the multi segment variable **does not** follow RFC 6570 Section +/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion +/// does not expand special characters like `?` and `#`, which would lead +/// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding +/// for multi segment variables. +/// +/// The path variables **must not** refer to any repeated or mapped field, +/// because client libraries are not capable of handling such variable expansion. +/// +/// The path variables **must not** capture the leading "/" character. The reason +/// is that the most common use case "{var}" does not capture the leading "/" +/// character. For consistency, all path variables must share the same behavior. +/// +/// Repeated message fields must not be mapped to URL query parameters, because +/// no client library can support such complicated mapping. +/// +/// If an API needs to use a JSON array for request or response body, it can map +/// the request or response body to a repeated field. However, some gRPC +/// Transcoding implementations may not support this feature. +class HttpRule extends $pb.GeneratedMessage { + factory HttpRule({ + $core.String? selector, + $core.String? get, + $core.String? put, + $core.String? post, + $core.String? delete, + $core.String? patch, + $core.String? body, + CustomHttpPattern? custom, + $core.Iterable? additionalBindings, + $core.String? responseBody, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (get != null) { + $result.get = get; + } + if (put != null) { + $result.put = put; + } + if (post != null) { + $result.post = post; + } + if (delete != null) { + $result.delete = delete; + } + if (patch != null) { + $result.patch = patch; + } + if (body != null) { + $result.body = body; + } + if (custom != null) { + $result.custom = custom; + } + if (additionalBindings != null) { + $result.additionalBindings.addAll(additionalBindings); + } + if (responseBody != null) { + $result.responseBody = responseBody; + } + return $result; + } + HttpRule._() : super(); + factory HttpRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory HttpRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, HttpRule_Pattern> _HttpRule_PatternByTag = { + 2: HttpRule_Pattern.get, + 3: HttpRule_Pattern.put, + 4: HttpRule_Pattern.post, + 5: HttpRule_Pattern.delete, + 6: HttpRule_Pattern.patch, + 8: HttpRule_Pattern.custom, + 0: HttpRule_Pattern.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'HttpRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..oo(0, [2, 3, 4, 5, 6, 8]) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOS(2, _omitFieldNames ? '' : 'get') + ..aOS(3, _omitFieldNames ? '' : 'put') + ..aOS(4, _omitFieldNames ? '' : 'post') + ..aOS(5, _omitFieldNames ? '' : 'delete') + ..aOS(6, _omitFieldNames ? '' : 'patch') + ..aOS(7, _omitFieldNames ? '' : 'body') + ..aOM(8, _omitFieldNames ? '' : 'custom', + subBuilder: CustomHttpPattern.create) + ..pc( + 11, _omitFieldNames ? '' : 'additionalBindings', $pb.PbFieldType.PM, + subBuilder: HttpRule.create) + ..aOS(12, _omitFieldNames ? '' : 'responseBody') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HttpRule clone() => HttpRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HttpRule copyWith(void Function(HttpRule) updates) => + super.copyWith((message) => updates(message as HttpRule)) as HttpRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HttpRule create() => HttpRule._(); + HttpRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HttpRule getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static HttpRule? _defaultInstance; + + HttpRule_Pattern whichPattern() => _HttpRule_PatternByTag[$_whichOneof(0)]!; + void clearPattern() => clearField($_whichOneof(0)); + + /// Selects a method to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// Maps to HTTP GET. Used for listing and getting information about + /// resources. + @$pb.TagNumber(2) + $core.String get get => $_getSZ(1); + @$pb.TagNumber(2) + set get($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasGet() => $_has(1); + @$pb.TagNumber(2) + void clearGet() => clearField(2); + + /// Maps to HTTP PUT. Used for replacing a resource. + @$pb.TagNumber(3) + $core.String get put => $_getSZ(2); + @$pb.TagNumber(3) + set put($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPut() => $_has(2); + @$pb.TagNumber(3) + void clearPut() => clearField(3); + + /// Maps to HTTP POST. Used for creating a resource or performing an action. + @$pb.TagNumber(4) + $core.String get post => $_getSZ(3); + @$pb.TagNumber(4) + set post($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasPost() => $_has(3); + @$pb.TagNumber(4) + void clearPost() => clearField(4); + + /// Maps to HTTP DELETE. Used for deleting a resource. + @$pb.TagNumber(5) + $core.String get delete => $_getSZ(4); + @$pb.TagNumber(5) + set delete($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDelete() => $_has(4); + @$pb.TagNumber(5) + void clearDelete() => clearField(5); + + /// Maps to HTTP PATCH. Used for updating a resource. + @$pb.TagNumber(6) + $core.String get patch => $_getSZ(5); + @$pb.TagNumber(6) + set patch($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasPatch() => $_has(5); + @$pb.TagNumber(6) + void clearPatch() => clearField(6); + + /// The name of the request field whose value is mapped to the HTTP request + /// body, or `*` for mapping all request fields not captured by the path + /// pattern to the HTTP body, or omitted for not having any HTTP request body. + /// + /// NOTE: the referred field must be present at the top-level of the request + /// message type. + @$pb.TagNumber(7) + $core.String get body => $_getSZ(6); + @$pb.TagNumber(7) + set body($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasBody() => $_has(6); + @$pb.TagNumber(7) + void clearBody() => clearField(7); + + /// 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. + @$pb.TagNumber(8) + CustomHttpPattern get custom => $_getN(7); + @$pb.TagNumber(8) + set custom(CustomHttpPattern v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasCustom() => $_has(7); + @$pb.TagNumber(8) + void clearCustom() => clearField(8); + @$pb.TagNumber(8) + CustomHttpPattern ensureCustom() => $_ensure(7); + + /// 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). + @$pb.TagNumber(11) + $core.List get additionalBindings => $_getList(8); + + /// Optional. The name of the response field whose value is mapped to the HTTP + /// response body. When omitted, the entire response message will be used + /// as the HTTP response body. + /// + /// NOTE: The referred field must be present at the top-level of the response + /// message type. + @$pb.TagNumber(12) + $core.String get responseBody => $_getSZ(9); + @$pb.TagNumber(12) + set responseBody($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(12) + $core.bool hasResponseBody() => $_has(9); + @$pb.TagNumber(12) + void clearResponseBody() => clearField(12); +} + +/// A custom pattern is used for defining custom HTTP verb. +class CustomHttpPattern extends $pb.GeneratedMessage { + factory CustomHttpPattern({ + $core.String? kind, + $core.String? path, + }) { + final $result = create(); + if (kind != null) { + $result.kind = kind; + } + if (path != null) { + $result.path = path; + } + return $result; + } + CustomHttpPattern._() : super(); + factory CustomHttpPattern.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CustomHttpPattern.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CustomHttpPattern', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'kind') + ..aOS(2, _omitFieldNames ? '' : 'path') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CustomHttpPattern clone() => CustomHttpPattern()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CustomHttpPattern copyWith(void Function(CustomHttpPattern) updates) => + super.copyWith((message) => updates(message as CustomHttpPattern)) + as CustomHttpPattern; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CustomHttpPattern create() => CustomHttpPattern._(); + CustomHttpPattern createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CustomHttpPattern getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CustomHttpPattern? _defaultInstance; + + /// The name of this custom HTTP verb. + @$pb.TagNumber(1) + $core.String get kind => $_getSZ(0); + @$pb.TagNumber(1) + set kind($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKind() => $_has(0); + @$pb.TagNumber(1) + void clearKind() => clearField(1); + + /// The path matched by this custom verb. + @$pb.TagNumber(2) + $core.String get path => $_getSZ(1); + @$pb.TagNumber(2) + set path($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPath() => $_has(1); + @$pb.TagNumber(2) + void clearPath() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pbenum.dart new file mode 100644 index 00000000..3a78e233 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/http.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pbjson.dart new file mode 100644 index 00000000..90b5054c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/http.pbjson.dart @@ -0,0 +1,101 @@ +// +// Generated code. Do not modify. +// source: google/api/http.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use httpDescriptor instead') +const Http$json = { + '1': 'Http', + '2': [ + { + '1': 'rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.HttpRule', + '10': 'rules' + }, + { + '1': 'fully_decode_reserved_expansion', + '3': 2, + '4': 1, + '5': 8, + '10': 'fullyDecodeReservedExpansion' + }, + ], +}; + +/// Descriptor for `Http`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List httpDescriptor = $convert.base64Decode( + 'CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZn' + 'VsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZl' + 'ZEV4cGFuc2lvbg=='); + +@$core.Deprecated('Use httpRuleDescriptor instead') +const HttpRule$json = { + '1': 'HttpRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + {'1': 'get', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'get'}, + {'1': 'put', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'put'}, + {'1': 'post', '3': 4, '4': 1, '5': 9, '9': 0, '10': 'post'}, + {'1': 'delete', '3': 5, '4': 1, '5': 9, '9': 0, '10': 'delete'}, + {'1': 'patch', '3': 6, '4': 1, '5': 9, '9': 0, '10': 'patch'}, + { + '1': 'custom', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.CustomHttpPattern', + '9': 0, + '10': 'custom' + }, + {'1': 'body', '3': 7, '4': 1, '5': 9, '10': 'body'}, + {'1': 'response_body', '3': 12, '4': 1, '5': 9, '10': 'responseBody'}, + { + '1': 'additional_bindings', + '3': 11, + '4': 3, + '5': 11, + '6': '.google.api.HttpRule', + '10': 'additionalBindings' + }, + ], + '8': [ + {'1': 'pattern'}, + ], +}; + +/// Descriptor for `HttpRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List httpRuleDescriptor = $convert.base64Decode( + 'CghIdHRwUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISEgoDZ2V0GAIgASgJSABSA2' + 'dldBISCgNwdXQYAyABKAlIAFIDcHV0EhQKBHBvc3QYBCABKAlIAFIEcG9zdBIYCgZkZWxldGUY' + 'BSABKAlIAFIGZGVsZXRlEhYKBXBhdGNoGAYgASgJSABSBXBhdGNoEjcKBmN1c3RvbRgIIAEoCz' + 'IdLmdvb2dsZS5hcGkuQ3VzdG9tSHR0cFBhdHRlcm5IAFIGY3VzdG9tEhIKBGJvZHkYByABKAlS' + 'BGJvZHkSIwoNcmVzcG9uc2VfYm9keRgMIAEoCVIMcmVzcG9uc2VCb2R5EkUKE2FkZGl0aW9uYW' + 'xfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGlu' + 'Z3NCCQoHcGF0dGVybg=='); + +@$core.Deprecated('Use customHttpPatternDescriptor instead') +const CustomHttpPattern$json = { + '1': 'CustomHttpPattern', + '2': [ + {'1': 'kind', '3': 1, '4': 1, '5': 9, '10': 'kind'}, + {'1': 'path', '3': 2, '4': 1, '5': 9, '10': 'path'}, + ], +}; + +/// Descriptor for `CustomHttpPattern`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List customHttpPatternDescriptor = $convert.base64Decode( + 'ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBH' + 'BhdGg='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pb.dart new file mode 100644 index 00000000..efc962f7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pb.dart @@ -0,0 +1,153 @@ +// +// Generated code. Do not modify. +// source: google/api/httpbody.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/any.pb.dart' as $49; + +/// 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. +class HttpBody extends $pb.GeneratedMessage { + factory HttpBody({ + $core.String? contentType, + $core.List<$core.int>? data, + $core.Iterable<$49.Any>? extensions, + }) { + final $result = create(); + if (contentType != null) { + $result.contentType = contentType; + } + if (data != null) { + $result.data = data; + } + if (extensions != null) { + $result.extensions.addAll(extensions); + } + return $result; + } + HttpBody._() : super(); + factory HttpBody.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory HttpBody.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'HttpBody', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'contentType') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OY) + ..pc<$49.Any>(3, _omitFieldNames ? '' : 'extensions', $pb.PbFieldType.PM, + subBuilder: $49.Any.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HttpBody clone() => HttpBody()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HttpBody copyWith(void Function(HttpBody) updates) => + super.copyWith((message) => updates(message as HttpBody)) as HttpBody; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HttpBody create() => HttpBody._(); + HttpBody createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HttpBody getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static HttpBody? _defaultInstance; + + /// The HTTP Content-Type header value specifying the content type of the body. + @$pb.TagNumber(1) + $core.String get contentType => $_getSZ(0); + @$pb.TagNumber(1) + set contentType($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasContentType() => $_has(0); + @$pb.TagNumber(1) + void clearContentType() => clearField(1); + + /// The HTTP request/response body as raw binary. + @$pb.TagNumber(2) + $core.List<$core.int> get data => $_getN(1); + @$pb.TagNumber(2) + set data($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasData() => $_has(1); + @$pb.TagNumber(2) + void clearData() => clearField(2); + + /// Application specific response metadata. Must be set in the first response + /// for streaming APIs. + @$pb.TagNumber(3) + $core.List<$49.Any> get extensions => $_getList(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pbenum.dart new file mode 100644 index 00000000..72f6d331 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/httpbody.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pbjson.dart new file mode 100644 index 00000000..5d72b06a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/httpbody.pbjson.dart @@ -0,0 +1,37 @@ +// +// Generated code. Do not modify. +// source: google/api/httpbody.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use httpBodyDescriptor instead') +const HttpBody$json = { + '1': 'HttpBody', + '2': [ + {'1': 'content_type', '3': 1, '4': 1, '5': 9, '10': 'contentType'}, + {'1': 'data', '3': 2, '4': 1, '5': 12, '10': 'data'}, + { + '1': 'extensions', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'extensions' + }, + ], +}; + +/// Descriptor for `HttpBody`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List httpBodyDescriptor = $convert.base64Decode( + 'CghIdHRwQm9keRIhCgxjb250ZW50X3R5cGUYASABKAlSC2NvbnRlbnRUeXBlEhIKBGRhdGEYAi' + 'ABKAxSBGRhdGESNAoKZXh0ZW5zaW9ucxgDIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSCmV4' + 'dGVuc2lvbnM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pb.dart new file mode 100644 index 00000000..8a0deb14 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pb.dart @@ -0,0 +1,125 @@ +// +// Generated code. Do not modify. +// source: google/api/label.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'label.pbenum.dart'; + +export 'label.pbenum.dart'; + +/// A description of a label. +class LabelDescriptor extends $pb.GeneratedMessage { + factory LabelDescriptor({ + $core.String? key, + LabelDescriptor_ValueType? valueType, + $core.String? description, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (valueType != null) { + $result.valueType = valueType; + } + if (description != null) { + $result.description = description; + } + return $result; + } + LabelDescriptor._() : super(); + factory LabelDescriptor.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LabelDescriptor.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LabelDescriptor', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'key') + ..e( + 2, _omitFieldNames ? '' : 'valueType', $pb.PbFieldType.OE, + defaultOrMaker: LabelDescriptor_ValueType.STRING, + valueOf: LabelDescriptor_ValueType.valueOf, + enumValues: LabelDescriptor_ValueType.values) + ..aOS(3, _omitFieldNames ? '' : 'description') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LabelDescriptor clone() => LabelDescriptor()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LabelDescriptor copyWith(void Function(LabelDescriptor) updates) => + super.copyWith((message) => updates(message as LabelDescriptor)) + as LabelDescriptor; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LabelDescriptor create() => LabelDescriptor._(); + LabelDescriptor createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LabelDescriptor getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LabelDescriptor? _defaultInstance; + + /// The label key. + @$pb.TagNumber(1) + $core.String get key => $_getSZ(0); + @$pb.TagNumber(1) + set key($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + + /// The type of data that can be assigned to the label. + @$pb.TagNumber(2) + LabelDescriptor_ValueType get valueType => $_getN(1); + @$pb.TagNumber(2) + set valueType(LabelDescriptor_ValueType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValueType() => $_has(1); + @$pb.TagNumber(2) + void clearValueType() => clearField(2); + + /// A human-readable description for the label. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pbenum.dart new file mode 100644 index 00000000..1dabf309 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pbenum.dart @@ -0,0 +1,39 @@ +// +// Generated code. Do not modify. +// source: google/api/label.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Value types that can be used as label values. +class LabelDescriptor_ValueType extends $pb.ProtobufEnum { + static const LabelDescriptor_ValueType STRING = + LabelDescriptor_ValueType._(0, _omitEnumNames ? '' : 'STRING'); + static const LabelDescriptor_ValueType BOOL = + LabelDescriptor_ValueType._(1, _omitEnumNames ? '' : 'BOOL'); + static const LabelDescriptor_ValueType INT64 = + LabelDescriptor_ValueType._(2, _omitEnumNames ? '' : 'INT64'); + + static const $core.List values = + [ + STRING, + BOOL, + INT64, + ]; + + static final $core.Map<$core.int, LabelDescriptor_ValueType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LabelDescriptor_ValueType? valueOf($core.int value) => _byValue[value]; + + const LabelDescriptor_ValueType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pbjson.dart new file mode 100644 index 00000000..0c103ad6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/label.pbjson.dart @@ -0,0 +1,49 @@ +// +// Generated code. Do not modify. +// source: google/api/label.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use labelDescriptorDescriptor instead') +const LabelDescriptor$json = { + '1': 'LabelDescriptor', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value_type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.api.LabelDescriptor.ValueType', + '10': 'valueType' + }, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + ], + '4': [LabelDescriptor_ValueType$json], +}; + +@$core.Deprecated('Use labelDescriptorDescriptor instead') +const LabelDescriptor_ValueType$json = { + '1': 'ValueType', + '2': [ + {'1': 'STRING', '2': 0}, + {'1': 'BOOL', '2': 1}, + {'1': 'INT64', '2': 2}, + ], +}; + +/// Descriptor for `LabelDescriptor`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List labelDescriptorDescriptor = $convert.base64Decode( + 'Cg9MYWJlbERlc2NyaXB0b3ISEAoDa2V5GAEgASgJUgNrZXkSRAoKdmFsdWVfdHlwZRgCIAEoDj' + 'IlLmdvb2dsZS5hcGkuTGFiZWxEZXNjcmlwdG9yLlZhbHVlVHlwZVIJdmFsdWVUeXBlEiAKC2Rl' + 'c2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiIsCglWYWx1ZVR5cGUSCgoGU1RSSU5HEAASCA' + 'oEQk9PTBABEgkKBUlOVDY0EAI='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pb.dart new file mode 100644 index 00000000..fe464387 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pb.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/api/launch_stage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +export 'launch_stage.pbenum.dart'; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pbenum.dart new file mode 100644 index 00000000..3077f267 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pbenum.dart @@ -0,0 +1,53 @@ +// +// Generated code. Do not modify. +// source: google/api/launch_stage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The launch stage as defined by [Google Cloud Platform +/// Launch Stages](https://cloud.google.com/terms/launch-stages). +class LaunchStage extends $pb.ProtobufEnum { + static const LaunchStage LAUNCH_STAGE_UNSPECIFIED = + LaunchStage._(0, _omitEnumNames ? '' : 'LAUNCH_STAGE_UNSPECIFIED'); + static const LaunchStage UNIMPLEMENTED = + LaunchStage._(6, _omitEnumNames ? '' : 'UNIMPLEMENTED'); + static const LaunchStage PRELAUNCH = + LaunchStage._(7, _omitEnumNames ? '' : 'PRELAUNCH'); + static const LaunchStage EARLY_ACCESS = + LaunchStage._(1, _omitEnumNames ? '' : 'EARLY_ACCESS'); + static const LaunchStage ALPHA = + LaunchStage._(2, _omitEnumNames ? '' : 'ALPHA'); + static const LaunchStage BETA = + LaunchStage._(3, _omitEnumNames ? '' : 'BETA'); + static const LaunchStage GA = LaunchStage._(4, _omitEnumNames ? '' : 'GA'); + static const LaunchStage DEPRECATED = + LaunchStage._(5, _omitEnumNames ? '' : 'DEPRECATED'); + + static const $core.List values = [ + LAUNCH_STAGE_UNSPECIFIED, + UNIMPLEMENTED, + PRELAUNCH, + EARLY_ACCESS, + ALPHA, + BETA, + GA, + DEPRECATED, + ]; + + static final $core.Map<$core.int, LaunchStage> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LaunchStage? valueOf($core.int value) => _byValue[value]; + + const LaunchStage._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pbjson.dart new file mode 100644 index 00000000..d488a117 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/launch_stage.pbjson.dart @@ -0,0 +1,35 @@ +// +// Generated code. Do not modify. +// source: google/api/launch_stage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use launchStageDescriptor instead') +const LaunchStage$json = { + '1': 'LaunchStage', + '2': [ + {'1': 'LAUNCH_STAGE_UNSPECIFIED', '2': 0}, + {'1': 'UNIMPLEMENTED', '2': 6}, + {'1': 'PRELAUNCH', '2': 7}, + {'1': 'EARLY_ACCESS', '2': 1}, + {'1': 'ALPHA', '2': 2}, + {'1': 'BETA', '2': 3}, + {'1': 'GA', '2': 4}, + {'1': 'DEPRECATED', '2': 5}, + ], +}; + +/// Descriptor for `LaunchStage`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List launchStageDescriptor = $convert.base64Decode( + 'CgtMYXVuY2hTdGFnZRIcChhMQVVOQ0hfU1RBR0VfVU5TUEVDSUZJRUQQABIRCg1VTklNUExFTU' + 'VOVEVEEAYSDQoJUFJFTEFVTkNIEAcSEAoMRUFSTFlfQUNDRVNTEAESCQoFQUxQSEEQAhIICgRC' + 'RVRBEAMSBgoCR0EQBBIOCgpERVBSRUNBVEVEEAU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pb.dart new file mode 100644 index 00000000..cef5cfa6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pb.dart @@ -0,0 +1,144 @@ +// +// Generated code. Do not modify. +// source: google/api/log.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'label.pb.dart' as $65; + +/// 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 +class LogDescriptor extends $pb.GeneratedMessage { + factory LogDescriptor({ + $core.String? name, + $core.Iterable<$65.LabelDescriptor>? labels, + $core.String? description, + $core.String? displayName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (description != null) { + $result.description = description; + } + if (displayName != null) { + $result.displayName = displayName; + } + return $result; + } + LogDescriptor._() : super(); + factory LogDescriptor.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogDescriptor.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogDescriptor', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc<$65.LabelDescriptor>( + 2, _omitFieldNames ? '' : 'labels', $pb.PbFieldType.PM, + subBuilder: $65.LabelDescriptor.create) + ..aOS(3, _omitFieldNames ? '' : 'description') + ..aOS(4, _omitFieldNames ? '' : 'displayName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogDescriptor clone() => LogDescriptor()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogDescriptor copyWith(void Function(LogDescriptor) updates) => + super.copyWith((message) => updates(message as LogDescriptor)) + as LogDescriptor; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogDescriptor create() => LogDescriptor._(); + LogDescriptor createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogDescriptor getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LogDescriptor? _defaultInstance; + + /// 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 [/_-.]. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(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. + @$pb.TagNumber(2) + $core.List<$65.LabelDescriptor> get labels => $_getList(1); + + /// A human-readable description of this log. This information appears in + /// the documentation and can contain details. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// The human-readable name for this log. This information appears on + /// the user interface and should be concise. + @$pb.TagNumber(4) + $core.String get displayName => $_getSZ(3); + @$pb.TagNumber(4) + set displayName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisplayName() => $_has(3); + @$pb.TagNumber(4) + void clearDisplayName() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pbenum.dart new file mode 100644 index 00000000..6fe44b1c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/log.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pbjson.dart new file mode 100644 index 00000000..dc993f25 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/log.pbjson.dart @@ -0,0 +1,38 @@ +// +// Generated code. Do not modify. +// source: google/api/log.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use logDescriptorDescriptor instead') +const LogDescriptor$json = { + '1': 'LogDescriptor', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.LabelDescriptor', + '10': 'labels' + }, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + {'1': 'display_name', '3': 4, '4': 1, '5': 9, '10': 'displayName'}, + ], +}; + +/// Descriptor for `LogDescriptor`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logDescriptorDescriptor = $convert.base64Decode( + 'Cg1Mb2dEZXNjcmlwdG9yEhIKBG5hbWUYASABKAlSBG5hbWUSMwoGbGFiZWxzGAIgAygLMhsuZ2' + '9vZ2xlLmFwaS5MYWJlbERlc2NyaXB0b3JSBmxhYmVscxIgCgtkZXNjcmlwdGlvbhgDIAEoCVIL' + 'ZGVzY3JpcHRpb24SIQoMZGlzcGxheV9uYW1lGAQgASgJUgtkaXNwbGF5TmFtZQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pb.dart new file mode 100644 index 00000000..6722d742 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pb.dart @@ -0,0 +1,200 @@ +// +// Generated code. Do not modify. +// source: google/api/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Configuration of a specific logging destination (the producer project +/// or the consumer project). +class Logging_LoggingDestination extends $pb.GeneratedMessage { + factory Logging_LoggingDestination({ + $core.Iterable<$core.String>? logs, + $core.String? monitoredResource, + }) { + final $result = create(); + if (logs != null) { + $result.logs.addAll(logs); + } + if (monitoredResource != null) { + $result.monitoredResource = monitoredResource; + } + return $result; + } + Logging_LoggingDestination._() : super(); + factory Logging_LoggingDestination.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Logging_LoggingDestination.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Logging.LoggingDestination', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'logs') + ..aOS(3, _omitFieldNames ? '' : 'monitoredResource') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Logging_LoggingDestination clone() => + Logging_LoggingDestination()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Logging_LoggingDestination copyWith( + void Function(Logging_LoggingDestination) updates) => + super.copyWith( + (message) => updates(message as Logging_LoggingDestination)) + as Logging_LoggingDestination; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Logging_LoggingDestination create() => Logging_LoggingDestination._(); + Logging_LoggingDestination createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Logging_LoggingDestination getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Logging_LoggingDestination? _defaultInstance; + + /// 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 "/". + @$pb.TagNumber(1) + $core.List<$core.String> get logs => $_getList(0); + + /// The monitored resource type. The type must be defined in the + /// [Service.monitored_resources][google.api.Service.monitored_resources] + /// section. + @$pb.TagNumber(3) + $core.String get monitoredResource => $_getSZ(1); + @$pb.TagNumber(3) + set monitoredResource($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasMonitoredResource() => $_has(1); + @$pb.TagNumber(3) + void clearMonitoredResource() => clearField(3); +} + +/// 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 +class Logging extends $pb.GeneratedMessage { + factory Logging({ + $core.Iterable? producerDestinations, + $core.Iterable? consumerDestinations, + }) { + final $result = create(); + if (producerDestinations != null) { + $result.producerDestinations.addAll(producerDestinations); + } + if (consumerDestinations != null) { + $result.consumerDestinations.addAll(consumerDestinations); + } + return $result; + } + Logging._() : super(); + factory Logging.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Logging.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Logging', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'producerDestinations', $pb.PbFieldType.PM, + subBuilder: Logging_LoggingDestination.create) + ..pc( + 2, _omitFieldNames ? '' : 'consumerDestinations', $pb.PbFieldType.PM, + subBuilder: Logging_LoggingDestination.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Logging clone() => Logging()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Logging copyWith(void Function(Logging) updates) => + super.copyWith((message) => updates(message as Logging)) as Logging; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Logging create() => Logging._(); + Logging createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Logging getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Logging? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $core.List get producerDestinations => + $_getList(0); + + /// 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. + @$pb.TagNumber(2) + $core.List get consumerDestinations => + $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pbenum.dart new file mode 100644 index 00000000..94339011 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pbjson.dart new file mode 100644 index 00000000..b1d0896c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/logging.pbjson.dart @@ -0,0 +1,62 @@ +// +// Generated code. Do not modify. +// source: google/api/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use loggingDescriptor instead') +const Logging$json = { + '1': 'Logging', + '2': [ + { + '1': 'producer_destinations', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.Logging.LoggingDestination', + '10': 'producerDestinations' + }, + { + '1': 'consumer_destinations', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.Logging.LoggingDestination', + '10': 'consumerDestinations' + }, + ], + '3': [Logging_LoggingDestination$json], +}; + +@$core.Deprecated('Use loggingDescriptor instead') +const Logging_LoggingDestination$json = { + '1': 'LoggingDestination', + '2': [ + { + '1': 'monitored_resource', + '3': 3, + '4': 1, + '5': 9, + '10': 'monitoredResource' + }, + {'1': 'logs', '3': 1, '4': 3, '5': 9, '10': 'logs'}, + ], +}; + +/// Descriptor for `Logging`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List loggingDescriptor = $convert.base64Decode( + 'CgdMb2dnaW5nElsKFXByb2R1Y2VyX2Rlc3RpbmF0aW9ucxgBIAMoCzImLmdvb2dsZS5hcGkuTG' + '9nZ2luZy5Mb2dnaW5nRGVzdGluYXRpb25SFHByb2R1Y2VyRGVzdGluYXRpb25zElsKFWNvbnN1' + 'bWVyX2Rlc3RpbmF0aW9ucxgCIAMoCzImLmdvb2dsZS5hcGkuTG9nZ2luZy5Mb2dnaW5nRGVzdG' + 'luYXRpb25SFGNvbnN1bWVyRGVzdGluYXRpb25zGlcKEkxvZ2dpbmdEZXN0aW5hdGlvbhItChJt' + 'b25pdG9yZWRfcmVzb3VyY2UYAyABKAlSEW1vbml0b3JlZFJlc291cmNlEhIKBGxvZ3MYASADKA' + 'lSBGxvZ3M='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pb.dart new file mode 100644 index 00000000..88d6cf29 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pb.dart @@ -0,0 +1,599 @@ +// +// Generated code. Do not modify. +// source: google/api/metric.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/duration.pb.dart' as $51; +import 'label.pb.dart' as $65; +import 'launch_stage.pbenum.dart' as $56; +import 'metric.pbenum.dart'; + +export 'metric.pbenum.dart'; + +/// Additional annotations that can be used to guide the usage of a metric. +class MetricDescriptor_MetricDescriptorMetadata extends $pb.GeneratedMessage { + factory MetricDescriptor_MetricDescriptorMetadata({ + @$core.Deprecated('This field is deprecated.') $56.LaunchStage? launchStage, + $51.Duration? samplePeriod, + $51.Duration? ingestDelay, + }) { + final $result = create(); + if (launchStage != null) { + // ignore: deprecated_member_use_from_same_package + $result.launchStage = launchStage; + } + if (samplePeriod != null) { + $result.samplePeriod = samplePeriod; + } + if (ingestDelay != null) { + $result.ingestDelay = ingestDelay; + } + return $result; + } + MetricDescriptor_MetricDescriptorMetadata._() : super(); + factory MetricDescriptor_MetricDescriptorMetadata.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MetricDescriptor_MetricDescriptorMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MetricDescriptor.MetricDescriptorMetadata', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..e<$56.LaunchStage>( + 1, _omitFieldNames ? '' : 'launchStage', $pb.PbFieldType.OE, + defaultOrMaker: $56.LaunchStage.LAUNCH_STAGE_UNSPECIFIED, + valueOf: $56.LaunchStage.valueOf, + enumValues: $56.LaunchStage.values) + ..aOM<$51.Duration>(2, _omitFieldNames ? '' : 'samplePeriod', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(3, _omitFieldNames ? '' : 'ingestDelay', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MetricDescriptor_MetricDescriptorMetadata clone() => + MetricDescriptor_MetricDescriptorMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MetricDescriptor_MetricDescriptorMetadata copyWith( + void Function(MetricDescriptor_MetricDescriptorMetadata) updates) => + super.copyWith((message) => + updates(message as MetricDescriptor_MetricDescriptorMetadata)) + as MetricDescriptor_MetricDescriptorMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MetricDescriptor_MetricDescriptorMetadata create() => + MetricDescriptor_MetricDescriptorMetadata._(); + MetricDescriptor_MetricDescriptorMetadata createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MetricDescriptor_MetricDescriptorMetadata getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + MetricDescriptor_MetricDescriptorMetadata>(create); + static MetricDescriptor_MetricDescriptorMetadata? _defaultInstance; + + /// Deprecated. Must use the + /// [MetricDescriptor.launch_stage][google.api.MetricDescriptor.launch_stage] + /// instead. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $56.LaunchStage get launchStage => $_getN(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + set launchStage($56.LaunchStage v) { + setField(1, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.bool hasLaunchStage() => $_has(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + void clearLaunchStage() => clearField(1); + + /// The sampling period of metric data points. For metrics which are written + /// periodically, consecutive data points are stored at this time interval, + /// excluding data loss due to errors. Metrics with a higher granularity have + /// a smaller sampling period. + @$pb.TagNumber(2) + $51.Duration get samplePeriod => $_getN(1); + @$pb.TagNumber(2) + set samplePeriod($51.Duration v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasSamplePeriod() => $_has(1); + @$pb.TagNumber(2) + void clearSamplePeriod() => clearField(2); + @$pb.TagNumber(2) + $51.Duration ensureSamplePeriod() => $_ensure(1); + + /// The delay of data points caused by ingestion. Data points older than this + /// age are guaranteed to be ingested and available to be read, excluding + /// data loss due to errors. + @$pb.TagNumber(3) + $51.Duration get ingestDelay => $_getN(2); + @$pb.TagNumber(3) + set ingestDelay($51.Duration v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasIngestDelay() => $_has(2); + @$pb.TagNumber(3) + void clearIngestDelay() => clearField(3); + @$pb.TagNumber(3) + $51.Duration ensureIngestDelay() => $_ensure(2); +} + +/// 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. +class MetricDescriptor extends $pb.GeneratedMessage { + factory MetricDescriptor({ + $core.String? name, + $core.Iterable<$65.LabelDescriptor>? labels, + MetricDescriptor_MetricKind? metricKind, + MetricDescriptor_ValueType? valueType, + $core.String? unit, + $core.String? description, + $core.String? displayName, + $core.String? type, + MetricDescriptor_MetricDescriptorMetadata? metadata, + $56.LaunchStage? launchStage, + $core.Iterable<$core.String>? monitoredResourceTypes, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (metricKind != null) { + $result.metricKind = metricKind; + } + if (valueType != null) { + $result.valueType = valueType; + } + if (unit != null) { + $result.unit = unit; + } + if (description != null) { + $result.description = description; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (type != null) { + $result.type = type; + } + if (metadata != null) { + $result.metadata = metadata; + } + if (launchStage != null) { + $result.launchStage = launchStage; + } + if (monitoredResourceTypes != null) { + $result.monitoredResourceTypes.addAll(monitoredResourceTypes); + } + return $result; + } + MetricDescriptor._() : super(); + factory MetricDescriptor.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MetricDescriptor.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MetricDescriptor', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc<$65.LabelDescriptor>( + 2, _omitFieldNames ? '' : 'labels', $pb.PbFieldType.PM, + subBuilder: $65.LabelDescriptor.create) + ..e( + 3, _omitFieldNames ? '' : 'metricKind', $pb.PbFieldType.OE, + defaultOrMaker: MetricDescriptor_MetricKind.METRIC_KIND_UNSPECIFIED, + valueOf: MetricDescriptor_MetricKind.valueOf, + enumValues: MetricDescriptor_MetricKind.values) + ..e( + 4, _omitFieldNames ? '' : 'valueType', $pb.PbFieldType.OE, + defaultOrMaker: MetricDescriptor_ValueType.VALUE_TYPE_UNSPECIFIED, + valueOf: MetricDescriptor_ValueType.valueOf, + enumValues: MetricDescriptor_ValueType.values) + ..aOS(5, _omitFieldNames ? '' : 'unit') + ..aOS(6, _omitFieldNames ? '' : 'description') + ..aOS(7, _omitFieldNames ? '' : 'displayName') + ..aOS(8, _omitFieldNames ? '' : 'type') + ..aOM( + 10, _omitFieldNames ? '' : 'metadata', + subBuilder: MetricDescriptor_MetricDescriptorMetadata.create) + ..e<$56.LaunchStage>( + 12, _omitFieldNames ? '' : 'launchStage', $pb.PbFieldType.OE, + defaultOrMaker: $56.LaunchStage.LAUNCH_STAGE_UNSPECIFIED, + valueOf: $56.LaunchStage.valueOf, + enumValues: $56.LaunchStage.values) + ..pPS(13, _omitFieldNames ? '' : 'monitoredResourceTypes') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MetricDescriptor clone() => MetricDescriptor()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MetricDescriptor copyWith(void Function(MetricDescriptor) updates) => + super.copyWith((message) => updates(message as MetricDescriptor)) + as MetricDescriptor; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MetricDescriptor create() => MetricDescriptor._(); + MetricDescriptor createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MetricDescriptor getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MetricDescriptor? _defaultInstance; + + /// The resource name of the metric descriptor. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// 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. + @$pb.TagNumber(2) + $core.List<$65.LabelDescriptor> get labels => $_getList(1); + + /// Whether the metric records instantaneous values, changes to a value, etc. + /// Some combinations of `metric_kind` and `value_type` might not be supported. + @$pb.TagNumber(3) + MetricDescriptor_MetricKind get metricKind => $_getN(2); + @$pb.TagNumber(3) + set metricKind(MetricDescriptor_MetricKind v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasMetricKind() => $_has(2); + @$pb.TagNumber(3) + void clearMetricKind() => clearField(3); + + /// Whether the measurement is an integer, a floating-point number, etc. + /// Some combinations of `metric_kind` and `value_type` might not be supported. + @$pb.TagNumber(4) + MetricDescriptor_ValueType get valueType => $_getN(3); + @$pb.TagNumber(4) + set valueType(MetricDescriptor_ValueType v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasValueType() => $_has(3); + @$pb.TagNumber(4) + void clearValueType() => clearField(4); + + /// The units in which the metric value is reported. It is only applicable + /// if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` + /// defines the representation of the stored metric values. + /// + /// Different systems might scale the values to be more easily displayed (so a + /// value of `0.02kBy` _might_ be displayed as `20By`, and a value of + /// `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is + /// `kBy`, then the value of the metric is always in thousands of bytes, no + /// matter how it might be displayed. + /// + /// If you want a custom metric to record the exact number of CPU-seconds used + /// by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is + /// `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 + /// CPU-seconds, then the value is written as `12005`. + /// + /// Alternatively, if you want a custom metric to record data in a more + /// granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is + /// `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), + /// or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). + /// + /// The supported units are a subset of [The Unified Code for Units of + /// Measure](https://unitsofmeasure.org/ucum.html) standard: + /// + /// **Basic units (UNIT)** + /// + /// * `bit` bit + /// * `By` byte + /// * `s` second + /// * `min` minute + /// * `h` hour + /// * `d` day + /// * `1` dimensionless + /// + /// **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) + /// * `Pi` pebi (2^50) + /// + /// **Grammar** + /// + /// The grammar also includes these connectors: + /// + /// * `/` division or ratio (as an infix operator). For examples, + /// `kBy/{email}` or `MiBy/10ms` (although you should almost never + /// have `/s` in a metric `unit`; rates should always be computed at + /// query time from the underlying cumulative or delta value). + /// * `.` multiplication or composition (as an infix operator). For + /// examples, `GBy.d` or `k{watt}.h`. + /// + /// 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`. If the annotation + /// is used alone, then the unit is equivalent to `1`. For examples, + /// `{request}/s == 1/s`, `By{transmitted}/s == By/s`. + /// * `NAME` is a sequence of non-blank printable ASCII characters not + /// containing `{` or `}`. + /// * `1` represents a unitary [dimensionless + /// unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such + /// as in `1/s`. It is typically used when none of the basic units are + /// appropriate. For example, "new users per day" can be represented as + /// `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new + /// users). Alternatively, "thousands of page views per day" would be + /// represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric + /// value of `5.3` would mean "5300 page views per day"). + /// * `%` represents dimensionless value of 1/100, and annotates values giving + /// a percentage (so the metric values are typically in the range of 0..100, + /// and a metric value `3` means "3 percent"). + /// * `10^2.%` indicates a metric contains a ratio, typically in the range + /// 0..1, that will be multiplied by 100 and displayed as a percentage + /// (so a metric value `0.03` means "3 percent"). + @$pb.TagNumber(5) + $core.String get unit => $_getSZ(4); + @$pb.TagNumber(5) + set unit($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUnit() => $_has(4); + @$pb.TagNumber(5) + void clearUnit() => clearField(5); + + /// A detailed description of the metric, which can be used in documentation. + @$pb.TagNumber(6) + $core.String get description => $_getSZ(5); + @$pb.TagNumber(6) + set description($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasDescription() => $_has(5); + @$pb.TagNumber(6) + void clearDescription() => clearField(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. + @$pb.TagNumber(7) + $core.String get displayName => $_getSZ(6); + @$pb.TagNumber(7) + set displayName($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasDisplayName() => $_has(6); + @$pb.TagNumber(7) + void clearDisplayName() => clearField(7); + + /// The metric type, including its DNS name prefix. The type is not + /// URL-encoded. All user-defined metric types have the DNS name + /// `custom.googleapis.com` or `external.googleapis.com`. Metric types should + /// use a natural hierarchical grouping. For example: + /// + /// "custom.googleapis.com/invoice/paid/amount" + /// "external.googleapis.com/prometheus/up" + /// "appengine.googleapis.com/http/server/response_latencies" + @$pb.TagNumber(8) + $core.String get type => $_getSZ(7); + @$pb.TagNumber(8) + set type($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasType() => $_has(7); + @$pb.TagNumber(8) + void clearType() => clearField(8); + + /// Optional. Metadata which can be used to guide usage of the metric. + @$pb.TagNumber(10) + MetricDescriptor_MetricDescriptorMetadata get metadata => $_getN(8); + @$pb.TagNumber(10) + set metadata(MetricDescriptor_MetricDescriptorMetadata v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasMetadata() => $_has(8); + @$pb.TagNumber(10) + void clearMetadata() => clearField(10); + @$pb.TagNumber(10) + MetricDescriptor_MetricDescriptorMetadata ensureMetadata() => $_ensure(8); + + /// Optional. The launch stage of the metric definition. + @$pb.TagNumber(12) + $56.LaunchStage get launchStage => $_getN(9); + @$pb.TagNumber(12) + set launchStage($56.LaunchStage v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasLaunchStage() => $_has(9); + @$pb.TagNumber(12) + void clearLaunchStage() => clearField(12); + + /// Read-only. If present, then a [time + /// series][google.monitoring.v3.TimeSeries], which is identified partially by + /// a metric type and a + /// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that + /// is associated with this metric type can only be associated with one of the + /// monitored resource types listed here. + @$pb.TagNumber(13) + $core.List<$core.String> get monitoredResourceTypes => $_getList(10); +} + +/// A specific metric, identified by specifying values for all of the +/// labels of a [`MetricDescriptor`][google.api.MetricDescriptor]. +class Metric extends $pb.GeneratedMessage { + factory Metric({ + $core.Map<$core.String, $core.String>? labels, + $core.String? type, + }) { + final $result = create(); + if (labels != null) { + $result.labels.addAll(labels); + } + if (type != null) { + $result.type = type; + } + return $result; + } + Metric._() : super(); + factory Metric.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Metric.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Metric', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'labels', + entryClassName: 'Metric.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api')) + ..aOS(3, _omitFieldNames ? '' : 'type') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Metric clone() => Metric()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Metric copyWith(void Function(Metric) updates) => + super.copyWith((message) => updates(message as Metric)) as Metric; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Metric create() => Metric._(); + Metric createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Metric getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Metric? _defaultInstance; + + /// The set of label values that uniquely identify this metric. All + /// labels listed in the `MetricDescriptor` must be assigned values. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get labels => $_getMap(0); + + /// An existing metric type, see + /// [google.api.MetricDescriptor][google.api.MetricDescriptor]. For example, + /// `custom.googleapis.com/invoice/paid/amount`. + @$pb.TagNumber(3) + $core.String get type => $_getSZ(1); + @$pb.TagNumber(3) + set type($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(3) + void clearType() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pbenum.dart new file mode 100644 index 00000000..932e97f8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pbenum.dart @@ -0,0 +1,84 @@ +// +// Generated code. Do not modify. +// source: google/api/metric.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The kind of measurement. It describes how the data is reported. +/// For information on setting the start time and end time based on +/// the MetricKind, see [TimeInterval][google.monitoring.v3.TimeInterval]. +class MetricDescriptor_MetricKind extends $pb.ProtobufEnum { + static const MetricDescriptor_MetricKind METRIC_KIND_UNSPECIFIED = + MetricDescriptor_MetricKind._( + 0, _omitEnumNames ? '' : 'METRIC_KIND_UNSPECIFIED'); + static const MetricDescriptor_MetricKind GAUGE = + MetricDescriptor_MetricKind._(1, _omitEnumNames ? '' : 'GAUGE'); + static const MetricDescriptor_MetricKind DELTA = + MetricDescriptor_MetricKind._(2, _omitEnumNames ? '' : 'DELTA'); + static const MetricDescriptor_MetricKind CUMULATIVE = + MetricDescriptor_MetricKind._(3, _omitEnumNames ? '' : 'CUMULATIVE'); + + static const $core.List values = + [ + METRIC_KIND_UNSPECIFIED, + GAUGE, + DELTA, + CUMULATIVE, + ]; + + static final $core.Map<$core.int, MetricDescriptor_MetricKind> _byValue = + $pb.ProtobufEnum.initByValue(values); + static MetricDescriptor_MetricKind? valueOf($core.int value) => + _byValue[value]; + + const MetricDescriptor_MetricKind._($core.int v, $core.String n) + : super(v, n); +} + +/// The value type of a metric. +class MetricDescriptor_ValueType extends $pb.ProtobufEnum { + static const MetricDescriptor_ValueType VALUE_TYPE_UNSPECIFIED = + MetricDescriptor_ValueType._( + 0, _omitEnumNames ? '' : 'VALUE_TYPE_UNSPECIFIED'); + static const MetricDescriptor_ValueType BOOL = + MetricDescriptor_ValueType._(1, _omitEnumNames ? '' : 'BOOL'); + static const MetricDescriptor_ValueType INT64 = + MetricDescriptor_ValueType._(2, _omitEnumNames ? '' : 'INT64'); + static const MetricDescriptor_ValueType DOUBLE = + MetricDescriptor_ValueType._(3, _omitEnumNames ? '' : 'DOUBLE'); + static const MetricDescriptor_ValueType STRING = + MetricDescriptor_ValueType._(4, _omitEnumNames ? '' : 'STRING'); + static const MetricDescriptor_ValueType DISTRIBUTION = + MetricDescriptor_ValueType._(5, _omitEnumNames ? '' : 'DISTRIBUTION'); + static const MetricDescriptor_ValueType MONEY = + MetricDescriptor_ValueType._(6, _omitEnumNames ? '' : 'MONEY'); + + static const $core.List values = + [ + VALUE_TYPE_UNSPECIFIED, + BOOL, + INT64, + DOUBLE, + STRING, + DISTRIBUTION, + MONEY, + ]; + + static final $core.Map<$core.int, MetricDescriptor_ValueType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static MetricDescriptor_ValueType? valueOf($core.int value) => + _byValue[value]; + + const MetricDescriptor_ValueType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pbjson.dart new file mode 100644 index 00000000..cb4ab9f9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/metric.pbjson.dart @@ -0,0 +1,186 @@ +// +// Generated code. Do not modify. +// source: google/api/metric.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use metricDescriptorDescriptor instead') +const MetricDescriptor$json = { + '1': 'MetricDescriptor', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'type', '3': 8, '4': 1, '5': 9, '10': 'type'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.LabelDescriptor', + '10': 'labels' + }, + { + '1': 'metric_kind', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.api.MetricDescriptor.MetricKind', + '10': 'metricKind' + }, + { + '1': 'value_type', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.MetricDescriptor.ValueType', + '10': 'valueType' + }, + {'1': 'unit', '3': 5, '4': 1, '5': 9, '10': 'unit'}, + {'1': 'description', '3': 6, '4': 1, '5': 9, '10': 'description'}, + {'1': 'display_name', '3': 7, '4': 1, '5': 9, '10': 'displayName'}, + { + '1': 'metadata', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.api.MetricDescriptor.MetricDescriptorMetadata', + '10': 'metadata' + }, + { + '1': 'launch_stage', + '3': 12, + '4': 1, + '5': 14, + '6': '.google.api.LaunchStage', + '10': 'launchStage' + }, + { + '1': 'monitored_resource_types', + '3': 13, + '4': 3, + '5': 9, + '10': 'monitoredResourceTypes' + }, + ], + '3': [MetricDescriptor_MetricDescriptorMetadata$json], + '4': [MetricDescriptor_MetricKind$json, MetricDescriptor_ValueType$json], +}; + +@$core.Deprecated('Use metricDescriptorDescriptor instead') +const MetricDescriptor_MetricDescriptorMetadata$json = { + '1': 'MetricDescriptorMetadata', + '2': [ + { + '1': 'launch_stage', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.api.LaunchStage', + '8': {'3': true}, + '10': 'launchStage', + }, + { + '1': 'sample_period', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'samplePeriod' + }, + { + '1': 'ingest_delay', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'ingestDelay' + }, + ], +}; + +@$core.Deprecated('Use metricDescriptorDescriptor instead') +const MetricDescriptor_MetricKind$json = { + '1': 'MetricKind', + '2': [ + {'1': 'METRIC_KIND_UNSPECIFIED', '2': 0}, + {'1': 'GAUGE', '2': 1}, + {'1': 'DELTA', '2': 2}, + {'1': 'CUMULATIVE', '2': 3}, + ], +}; + +@$core.Deprecated('Use metricDescriptorDescriptor instead') +const MetricDescriptor_ValueType$json = { + '1': 'ValueType', + '2': [ + {'1': 'VALUE_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'BOOL', '2': 1}, + {'1': 'INT64', '2': 2}, + {'1': 'DOUBLE', '2': 3}, + {'1': 'STRING', '2': 4}, + {'1': 'DISTRIBUTION', '2': 5}, + {'1': 'MONEY', '2': 6}, + ], +}; + +/// Descriptor for `MetricDescriptor`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List metricDescriptorDescriptor = $convert.base64Decode( + 'ChBNZXRyaWNEZXNjcmlwdG9yEhIKBG5hbWUYASABKAlSBG5hbWUSEgoEdHlwZRgIIAEoCVIEdH' + 'lwZRIzCgZsYWJlbHMYAiADKAsyGy5nb29nbGUuYXBpLkxhYmVsRGVzY3JpcHRvclIGbGFiZWxz' + 'EkgKC21ldHJpY19raW5kGAMgASgOMicuZ29vZ2xlLmFwaS5NZXRyaWNEZXNjcmlwdG9yLk1ldH' + 'JpY0tpbmRSCm1ldHJpY0tpbmQSRQoKdmFsdWVfdHlwZRgEIAEoDjImLmdvb2dsZS5hcGkuTWV0' + 'cmljRGVzY3JpcHRvci5WYWx1ZVR5cGVSCXZhbHVlVHlwZRISCgR1bml0GAUgASgJUgR1bml0Ei' + 'AKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIhCgxkaXNwbGF5X25hbWUYByABKAlS' + 'C2Rpc3BsYXlOYW1lElEKCG1ldGFkYXRhGAogASgLMjUuZ29vZ2xlLmFwaS5NZXRyaWNEZXNjcm' + 'lwdG9yLk1ldHJpY0Rlc2NyaXB0b3JNZXRhZGF0YVIIbWV0YWRhdGESOgoMbGF1bmNoX3N0YWdl' + 'GAwgASgOMhcuZ29vZ2xlLmFwaS5MYXVuY2hTdGFnZVILbGF1bmNoU3RhZ2USOAoYbW9uaXRvcm' + 'VkX3Jlc291cmNlX3R5cGVzGA0gAygJUhZtb25pdG9yZWRSZXNvdXJjZVR5cGVzGtgBChhNZXRy' + 'aWNEZXNjcmlwdG9yTWV0YWRhdGESPgoMbGF1bmNoX3N0YWdlGAEgASgOMhcuZ29vZ2xlLmFwaS' + '5MYXVuY2hTdGFnZUICGAFSC2xhdW5jaFN0YWdlEj4KDXNhbXBsZV9wZXJpb2QYAiABKAsyGS5n' + 'b29nbGUucHJvdG9idWYuRHVyYXRpb25SDHNhbXBsZVBlcmlvZBI8Cgxpbmdlc3RfZGVsYXkYAy' + 'ABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SC2luZ2VzdERlbGF5Ik8KCk1ldHJpY0tp' + 'bmQSGwoXTUVUUklDX0tJTkRfVU5TUEVDSUZJRUQQABIJCgVHQVVHRRABEgkKBURFTFRBEAISDg' + 'oKQ1VNVUxBVElWRRADInEKCVZhbHVlVHlwZRIaChZWQUxVRV9UWVBFX1VOU1BFQ0lGSUVEEAAS' + 'CAoEQk9PTBABEgkKBUlOVDY0EAISCgoGRE9VQkxFEAMSCgoGU1RSSU5HEAQSEAoMRElTVFJJQl' + 'VUSU9OEAUSCQoFTU9ORVkQBg=='); + +@$core.Deprecated('Use metricDescriptor instead') +const Metric$json = { + '1': 'Metric', + '2': [ + {'1': 'type', '3': 3, '4': 1, '5': 9, '10': 'type'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.Metric.LabelsEntry', + '10': 'labels' + }, + ], + '3': [Metric_LabelsEntry$json], +}; + +@$core.Deprecated('Use metricDescriptor instead') +const Metric_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Metric`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List metricDescriptor = $convert.base64Decode( + 'CgZNZXRyaWMSEgoEdHlwZRgDIAEoCVIEdHlwZRI2CgZsYWJlbHMYAiADKAsyHi5nb29nbGUuYX' + 'BpLk1ldHJpYy5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEo' + 'CVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pb.dart new file mode 100644 index 00000000..a0014c22 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pb.dart @@ -0,0 +1,395 @@ +// +// Generated code. Do not modify. +// source: google/api/monitored_resource.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/struct.pb.dart' as $48; +import 'label.pb.dart' as $65; +import 'launch_stage.pbenum.dart' as $56; + +/// 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. +class MonitoredResourceDescriptor extends $pb.GeneratedMessage { + factory MonitoredResourceDescriptor({ + $core.String? type, + $core.String? displayName, + $core.String? description, + $core.Iterable<$65.LabelDescriptor>? labels, + $core.String? name, + $56.LaunchStage? launchStage, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (description != null) { + $result.description = description; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (name != null) { + $result.name = name; + } + if (launchStage != null) { + $result.launchStage = launchStage; + } + return $result; + } + MonitoredResourceDescriptor._() : super(); + factory MonitoredResourceDescriptor.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MonitoredResourceDescriptor.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MonitoredResourceDescriptor', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..aOS(2, _omitFieldNames ? '' : 'displayName') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..pc<$65.LabelDescriptor>( + 4, _omitFieldNames ? '' : 'labels', $pb.PbFieldType.PM, + subBuilder: $65.LabelDescriptor.create) + ..aOS(5, _omitFieldNames ? '' : 'name') + ..e<$56.LaunchStage>( + 7, _omitFieldNames ? '' : 'launchStage', $pb.PbFieldType.OE, + defaultOrMaker: $56.LaunchStage.LAUNCH_STAGE_UNSPECIFIED, + valueOf: $56.LaunchStage.valueOf, + enumValues: $56.LaunchStage.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MonitoredResourceDescriptor clone() => + MonitoredResourceDescriptor()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MonitoredResourceDescriptor copyWith( + void Function(MonitoredResourceDescriptor) updates) => + super.copyWith( + (message) => updates(message as MonitoredResourceDescriptor)) + as MonitoredResourceDescriptor; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MonitoredResourceDescriptor create() => + MonitoredResourceDescriptor._(); + MonitoredResourceDescriptor createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MonitoredResourceDescriptor getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MonitoredResourceDescriptor? _defaultInstance; + + /// Required. The monitored resource type. For example, the type + /// `"cloudsql_database"` represents databases in Google Cloud SQL. + /// For a list of types, see [Monitored resource + /// types](https://cloud.google.com/monitoring/api/resources) + /// and [Logging resource + /// types](https://cloud.google.com/logging/docs/api/v2/resource-list). + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(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"`. + @$pb.TagNumber(2) + $core.String get displayName => $_getSZ(1); + @$pb.TagNumber(2) + set displayName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDisplayName() => $_has(1); + @$pb.TagNumber(2) + void clearDisplayName() => clearField(2); + + /// Optional. A detailed description of the monitored resource type that might + /// be used in documentation. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(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"`. + @$pb.TagNumber(4) + $core.List<$65.LabelDescriptor> get labels => $_getList(3); + + /// 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}"`. + @$pb.TagNumber(5) + $core.String get name => $_getSZ(4); + @$pb.TagNumber(5) + set name($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasName() => $_has(4); + @$pb.TagNumber(5) + void clearName() => clearField(5); + + /// Optional. The launch stage of the monitored resource definition. + @$pb.TagNumber(7) + $56.LaunchStage get launchStage => $_getN(5); + @$pb.TagNumber(7) + set launchStage($56.LaunchStage v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasLaunchStage() => $_has(5); + @$pb.TagNumber(7) + void clearLaunchStage() => clearField(7); +} + +/// 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 +/// `"project_id"`, `"instance_id"` and `"zone"`: +/// +/// { "type": "gce_instance", +/// "labels": { "project_id": "my-project", +/// "instance_id": "12345678901234", +/// "zone": "us-central1-a" }} +class MonitoredResource extends $pb.GeneratedMessage { + factory MonitoredResource({ + $core.String? type, + $core.Map<$core.String, $core.String>? labels, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (labels != null) { + $result.labels.addAll(labels); + } + return $result; + } + MonitoredResource._() : super(); + factory MonitoredResource.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MonitoredResource.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MonitoredResource', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'labels', + entryClassName: 'MonitoredResource.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MonitoredResource clone() => MonitoredResource()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MonitoredResource copyWith(void Function(MonitoredResource) updates) => + super.copyWith((message) => updates(message as MonitoredResource)) + as MonitoredResource; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MonitoredResource create() => MonitoredResource._(); + MonitoredResource createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MonitoredResource getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MonitoredResource? _defaultInstance; + + /// 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`. Some descriptors include the service name in the type; for + /// example, the type of a Datastream stream is + /// `datastream.googleapis.com/Stream`. + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(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"`. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get labels => $_getMap(1); +} + +/// 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. Monitoring and +/// Logging use an ingestion pipeline to extract metadata for cloud resources of +/// all types, and store the metadata in this message. +class MonitoredResourceMetadata extends $pb.GeneratedMessage { + factory MonitoredResourceMetadata({ + $48.Struct? systemLabels, + $core.Map<$core.String, $core.String>? userLabels, + }) { + final $result = create(); + if (systemLabels != null) { + $result.systemLabels = systemLabels; + } + if (userLabels != null) { + $result.userLabels.addAll(userLabels); + } + return $result; + } + MonitoredResourceMetadata._() : super(); + factory MonitoredResourceMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MonitoredResourceMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MonitoredResourceMetadata', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOM<$48.Struct>(1, _omitFieldNames ? '' : 'systemLabels', + subBuilder: $48.Struct.create) + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'userLabels', + entryClassName: 'MonitoredResourceMetadata.UserLabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MonitoredResourceMetadata clone() => + MonitoredResourceMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MonitoredResourceMetadata copyWith( + void Function(MonitoredResourceMetadata) updates) => + super.copyWith((message) => updates(message as MonitoredResourceMetadata)) + as MonitoredResourceMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MonitoredResourceMetadata create() => MonitoredResourceMetadata._(); + MonitoredResourceMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MonitoredResourceMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MonitoredResourceMetadata? _defaultInstance; + + /// Output only. Values for predefined system metadata labels. + /// System labels are a kind of metadata extracted by Google, including + /// "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 } + @$pb.TagNumber(1) + $48.Struct get systemLabels => $_getN(0); + @$pb.TagNumber(1) + set systemLabels($48.Struct v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasSystemLabels() => $_has(0); + @$pb.TagNumber(1) + void clearSystemLabels() => clearField(1); + @$pb.TagNumber(1) + $48.Struct ensureSystemLabels() => $_ensure(0); + + /// Output only. A map of user-defined metadata labels. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get userLabels => $_getMap(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pbenum.dart new file mode 100644 index 00000000..c036a326 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/monitored_resource.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pbjson.dart new file mode 100644 index 00000000..f51942b4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitored_resource.pbjson.dart @@ -0,0 +1,124 @@ +// +// Generated code. Do not modify. +// source: google/api/monitored_resource.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use monitoredResourceDescriptorDescriptor instead') +const MonitoredResourceDescriptor$json = { + '1': 'MonitoredResourceDescriptor', + '2': [ + {'1': 'name', '3': 5, '4': 1, '5': 9, '10': 'name'}, + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'display_name', '3': 2, '4': 1, '5': 9, '10': 'displayName'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'labels', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.LabelDescriptor', + '10': 'labels' + }, + { + '1': 'launch_stage', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.api.LaunchStage', + '10': 'launchStage' + }, + ], +}; + +/// Descriptor for `MonitoredResourceDescriptor`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List monitoredResourceDescriptorDescriptor = $convert.base64Decode( + 'ChtNb25pdG9yZWRSZXNvdXJjZURlc2NyaXB0b3ISEgoEbmFtZRgFIAEoCVIEbmFtZRISCgR0eX' + 'BlGAEgASgJUgR0eXBlEiEKDGRpc3BsYXlfbmFtZRgCIAEoCVILZGlzcGxheU5hbWUSIAoLZGVz' + 'Y3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjMKBmxhYmVscxgEIAMoCzIbLmdvb2dsZS5hcG' + 'kuTGFiZWxEZXNjcmlwdG9yUgZsYWJlbHMSOgoMbGF1bmNoX3N0YWdlGAcgASgOMhcuZ29vZ2xl' + 'LmFwaS5MYXVuY2hTdGFnZVILbGF1bmNoU3RhZ2U='); + +@$core.Deprecated('Use monitoredResourceDescriptor instead') +const MonitoredResource$json = { + '1': 'MonitoredResource', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.MonitoredResource.LabelsEntry', + '10': 'labels' + }, + ], + '3': [MonitoredResource_LabelsEntry$json], +}; + +@$core.Deprecated('Use monitoredResourceDescriptor instead') +const MonitoredResource_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `MonitoredResource`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List monitoredResourceDescriptor = $convert.base64Decode( + 'ChFNb25pdG9yZWRSZXNvdXJjZRISCgR0eXBlGAEgASgJUgR0eXBlEkEKBmxhYmVscxgCIAMoCz' + 'IpLmdvb2dsZS5hcGkuTW9uaXRvcmVkUmVzb3VyY2UuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtM' + 'YWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use monitoredResourceMetadataDescriptor instead') +const MonitoredResourceMetadata$json = { + '1': 'MonitoredResourceMetadata', + '2': [ + { + '1': 'system_labels', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Struct', + '10': 'systemLabels' + }, + { + '1': 'user_labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.MonitoredResourceMetadata.UserLabelsEntry', + '10': 'userLabels' + }, + ], + '3': [MonitoredResourceMetadata_UserLabelsEntry$json], +}; + +@$core.Deprecated('Use monitoredResourceMetadataDescriptor instead') +const MonitoredResourceMetadata_UserLabelsEntry$json = { + '1': 'UserLabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `MonitoredResourceMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List monitoredResourceMetadataDescriptor = $convert.base64Decode( + 'ChlNb25pdG9yZWRSZXNvdXJjZU1ldGFkYXRhEjwKDXN5c3RlbV9sYWJlbHMYASABKAsyFy5nb2' + '9nbGUucHJvdG9idWYuU3RydWN0UgxzeXN0ZW1MYWJlbHMSVgoLdXNlcl9sYWJlbHMYAiADKAsy' + 'NS5nb29nbGUuYXBpLk1vbml0b3JlZFJlc291cmNlTWV0YWRhdGEuVXNlckxhYmVsc0VudHJ5Ug' + 'p1c2VyTGFiZWxzGj0KD1VzZXJMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1' + 'ZRgCIAEoCVIFdmFsdWU6AjgB'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pb.dart new file mode 100644 index 00000000..60a48369 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pb.dart @@ -0,0 +1,228 @@ +// +// Generated code. Do not modify. +// source: google/api/monitoring.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Configuration of a specific monitoring destination (the producer project +/// or the consumer project). +class Monitoring_MonitoringDestination extends $pb.GeneratedMessage { + factory Monitoring_MonitoringDestination({ + $core.String? monitoredResource, + $core.Iterable<$core.String>? metrics, + }) { + final $result = create(); + if (monitoredResource != null) { + $result.monitoredResource = monitoredResource; + } + if (metrics != null) { + $result.metrics.addAll(metrics); + } + return $result; + } + Monitoring_MonitoringDestination._() : super(); + factory Monitoring_MonitoringDestination.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Monitoring_MonitoringDestination.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Monitoring.MonitoringDestination', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'monitoredResource') + ..pPS(2, _omitFieldNames ? '' : 'metrics') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Monitoring_MonitoringDestination clone() => + Monitoring_MonitoringDestination()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Monitoring_MonitoringDestination copyWith( + void Function(Monitoring_MonitoringDestination) updates) => + super.copyWith( + (message) => updates(message as Monitoring_MonitoringDestination)) + as Monitoring_MonitoringDestination; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Monitoring_MonitoringDestination create() => + Monitoring_MonitoringDestination._(); + Monitoring_MonitoringDestination createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Monitoring_MonitoringDestination getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static Monitoring_MonitoringDestination? _defaultInstance; + + /// The monitored resource type. The type must be defined in + /// [Service.monitored_resources][google.api.Service.monitored_resources] + /// section. + @$pb.TagNumber(1) + $core.String get monitoredResource => $_getSZ(0); + @$pb.TagNumber(1) + set monitoredResource($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMonitoredResource() => $_has(0); + @$pb.TagNumber(1) + void clearMonitoredResource() => clearField(1); + + /// Types of the metrics to report to this monitoring destination. + /// Each type must be defined in + /// [Service.metrics][google.api.Service.metrics] section. + @$pb.TagNumber(2) + $core.List<$core.String> get metrics => $_getList(1); +} + +/// 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/num_overdue` metric is only sent to the +/// consumer project. +/// +/// monitored_resources: +/// - type: library.googleapis.com/Branch +/// display_name: "Library Branch" +/// description: "A branch of a library." +/// launch_stage: GA +/// labels: +/// - key: resource_container +/// description: "The Cloud container (ie. project id) for the Branch." +/// - key: location +/// description: "The location of the library branch." +/// - key: branch_id +/// description: "The id of the branch." +/// metrics: +/// - name: library.googleapis.com/book/returned_count +/// display_name: "Books Returned" +/// description: "The count of books that have been returned." +/// launch_stage: GA +/// metric_kind: DELTA +/// value_type: INT64 +/// unit: "1" +/// labels: +/// - key: customer_id +/// description: "The id of the customer." +/// - name: library.googleapis.com/book/num_overdue +/// display_name: "Books Overdue" +/// description: "The current number of overdue books." +/// launch_stage: GA +/// metric_kind: GAUGE +/// value_type: INT64 +/// unit: "1" +/// labels: +/// - key: customer_id +/// description: "The id of the customer." +/// 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/num_overdue +class Monitoring extends $pb.GeneratedMessage { + factory Monitoring({ + $core.Iterable? producerDestinations, + $core.Iterable? consumerDestinations, + }) { + final $result = create(); + if (producerDestinations != null) { + $result.producerDestinations.addAll(producerDestinations); + } + if (consumerDestinations != null) { + $result.consumerDestinations.addAll(consumerDestinations); + } + return $result; + } + Monitoring._() : super(); + factory Monitoring.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Monitoring.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Monitoring', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'producerDestinations', $pb.PbFieldType.PM, + subBuilder: Monitoring_MonitoringDestination.create) + ..pc( + 2, _omitFieldNames ? '' : 'consumerDestinations', $pb.PbFieldType.PM, + subBuilder: Monitoring_MonitoringDestination.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Monitoring clone() => Monitoring()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Monitoring copyWith(void Function(Monitoring) updates) => + super.copyWith((message) => updates(message as Monitoring)) as Monitoring; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Monitoring create() => Monitoring._(); + Monitoring createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Monitoring getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Monitoring? _defaultInstance; + + /// Monitoring configurations for sending metrics to the producer project. + /// There can be multiple producer destinations. A monitored resource type may + /// appear in multiple monitoring destinations if different aggregations are + /// needed for different sets of metrics associated with that monitored + /// resource type. A monitored resource and metric pair may only be used once + /// in the Monitoring configuration. + @$pb.TagNumber(1) + $core.List get producerDestinations => + $_getList(0); + + /// Monitoring configurations for sending metrics to the consumer project. + /// There can be multiple consumer destinations. A monitored resource type may + /// appear in multiple monitoring destinations if different aggregations are + /// needed for different sets of metrics associated with that monitored + /// resource type. A monitored resource and metric pair may only be used once + /// in the Monitoring configuration. + @$pb.TagNumber(2) + $core.List get consumerDestinations => + $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pbenum.dart new file mode 100644 index 00000000..8e486418 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/monitoring.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pbjson.dart new file mode 100644 index 00000000..2d86650d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/monitoring.pbjson.dart @@ -0,0 +1,62 @@ +// +// Generated code. Do not modify. +// source: google/api/monitoring.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use monitoringDescriptor instead') +const Monitoring$json = { + '1': 'Monitoring', + '2': [ + { + '1': 'producer_destinations', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.Monitoring.MonitoringDestination', + '10': 'producerDestinations' + }, + { + '1': 'consumer_destinations', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.Monitoring.MonitoringDestination', + '10': 'consumerDestinations' + }, + ], + '3': [Monitoring_MonitoringDestination$json], +}; + +@$core.Deprecated('Use monitoringDescriptor instead') +const Monitoring_MonitoringDestination$json = { + '1': 'MonitoringDestination', + '2': [ + { + '1': 'monitored_resource', + '3': 1, + '4': 1, + '5': 9, + '10': 'monitoredResource' + }, + {'1': 'metrics', '3': 2, '4': 3, '5': 9, '10': 'metrics'}, + ], +}; + +/// Descriptor for `Monitoring`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List monitoringDescriptor = $convert.base64Decode( + 'CgpNb25pdG9yaW5nEmEKFXByb2R1Y2VyX2Rlc3RpbmF0aW9ucxgBIAMoCzIsLmdvb2dsZS5hcG' + 'kuTW9uaXRvcmluZy5Nb25pdG9yaW5nRGVzdGluYXRpb25SFHByb2R1Y2VyRGVzdGluYXRpb25z' + 'EmEKFWNvbnN1bWVyX2Rlc3RpbmF0aW9ucxgCIAMoCzIsLmdvb2dsZS5hcGkuTW9uaXRvcmluZy' + '5Nb25pdG9yaW5nRGVzdGluYXRpb25SFGNvbnN1bWVyRGVzdGluYXRpb25zGmAKFU1vbml0b3Jp' + 'bmdEZXN0aW5hdGlvbhItChJtb25pdG9yZWRfcmVzb3VyY2UYASABKAlSEW1vbml0b3JlZFJlc2' + '91cmNlEhgKB21ldHJpY3MYAiADKAlSB21ldHJpY3M='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pb.dart new file mode 100644 index 00000000..fdce6fcf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pb.dart @@ -0,0 +1,237 @@ +// +// Generated code. Do not modify. +// source: google/api/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Google API Policy Annotation +/// +/// This message defines a simple API policy annotation that can be used to +/// annotate API request and response message fields with applicable policies. +/// One field may have multiple applicable policies that must all be satisfied +/// before a request can be processed. This policy annotation is used to +/// generate the overall policy that will be used for automatic runtime +/// policy enforcement and documentation generation. +class FieldPolicy extends $pb.GeneratedMessage { + factory FieldPolicy({ + $core.String? selector, + $core.String? resourcePermission, + $core.String? resourceType, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (resourcePermission != null) { + $result.resourcePermission = resourcePermission; + } + if (resourceType != null) { + $result.resourceType = resourceType; + } + return $result; + } + FieldPolicy._() : super(); + factory FieldPolicy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldPolicy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldPolicy', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOS(2, _omitFieldNames ? '' : 'resourcePermission') + ..aOS(3, _omitFieldNames ? '' : 'resourceType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldPolicy clone() => FieldPolicy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldPolicy copyWith(void Function(FieldPolicy) updates) => + super.copyWith((message) => updates(message as FieldPolicy)) + as FieldPolicy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldPolicy create() => FieldPolicy._(); + FieldPolicy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldPolicy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FieldPolicy? _defaultInstance; + + /// Selects one or more request or response message fields to apply this + /// `FieldPolicy`. + /// + /// When a `FieldPolicy` is used in proto annotation, the selector must + /// be left as empty. The service config generator will automatically fill + /// the correct value. + /// + /// When a `FieldPolicy` is used in service config, the selector must be a + /// comma-separated string with valid request or response field paths, + /// such as "foo.bar" or "foo.bar,foo.baz". + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// Specifies the required permission(s) for the resource referred to by the + /// field. It requires the field contains a valid resource reference, and + /// the request must pass the permission checks to proceed. For example, + /// "resourcemanager.projects.get". + @$pb.TagNumber(2) + $core.String get resourcePermission => $_getSZ(1); + @$pb.TagNumber(2) + set resourcePermission($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasResourcePermission() => $_has(1); + @$pb.TagNumber(2) + void clearResourcePermission() => clearField(2); + + /// Specifies the resource type for the resource referred to by the field. + @$pb.TagNumber(3) + $core.String get resourceType => $_getSZ(2); + @$pb.TagNumber(3) + set resourceType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasResourceType() => $_has(2); + @$pb.TagNumber(3) + void clearResourceType() => clearField(3); +} + +/// Defines policies applying to an RPC method. +class MethodPolicy extends $pb.GeneratedMessage { + factory MethodPolicy({ + $core.Iterable? requestPolicies, + $core.String? selector, + }) { + final $result = create(); + if (requestPolicies != null) { + $result.requestPolicies.addAll(requestPolicies); + } + if (selector != null) { + $result.selector = selector; + } + return $result; + } + MethodPolicy._() : super(); + factory MethodPolicy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MethodPolicy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MethodPolicy', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 2, _omitFieldNames ? '' : 'requestPolicies', $pb.PbFieldType.PM, + subBuilder: FieldPolicy.create) + ..aOS(9, _omitFieldNames ? '' : 'selector') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodPolicy clone() => MethodPolicy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodPolicy copyWith(void Function(MethodPolicy) updates) => + super.copyWith((message) => updates(message as MethodPolicy)) + as MethodPolicy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodPolicy create() => MethodPolicy._(); + MethodPolicy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodPolicy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MethodPolicy? _defaultInstance; + + /// Policies that are applicable to the request message. + @$pb.TagNumber(2) + $core.List get requestPolicies => $_getList(0); + + /// Selects a method to which these policies should be enforced, for example, + /// "google.pubsub.v1.Subscriber.CreateSubscription". + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + /// + /// NOTE: This field must not be set in the proto annotation. It will be + /// automatically filled by the service config compiler . + @$pb.TagNumber(9) + $core.String get selector => $_getSZ(1); + @$pb.TagNumber(9) + set selector($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(9) + $core.bool hasSelector() => $_has(1); + @$pb.TagNumber(9) + void clearSelector() => clearField(9); +} + +class Policy { + static final fieldPolicy = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.FieldOptions', + _omitFieldNames ? '' : 'fieldPolicy', + 158361448, + $pb.PbFieldType.OM, + defaultOrMaker: FieldPolicy.getDefault, + subBuilder: FieldPolicy.create); + static final methodPolicy = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.MethodOptions', + _omitFieldNames ? '' : 'methodPolicy', + 161893301, + $pb.PbFieldType.OM, + defaultOrMaker: MethodPolicy.getDefault, + subBuilder: MethodPolicy.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(fieldPolicy); + registry.add(methodPolicy); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pbenum.dart new file mode 100644 index 00000000..93cfedb9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pbjson.dart new file mode 100644 index 00000000..5860e0f1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/policy.pbjson.dart @@ -0,0 +1,57 @@ +// +// Generated code. Do not modify. +// source: google/api/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use fieldPolicyDescriptor instead') +const FieldPolicy$json = { + '1': 'FieldPolicy', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'resource_permission', + '3': 2, + '4': 1, + '5': 9, + '10': 'resourcePermission' + }, + {'1': 'resource_type', '3': 3, '4': 1, '5': 9, '10': 'resourceType'}, + ], +}; + +/// Descriptor for `FieldPolicy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldPolicyDescriptor = $convert.base64Decode( + 'CgtGaWVsZFBvbGljeRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISLwoTcmVzb3VyY2VfcG' + 'VybWlzc2lvbhgCIAEoCVIScmVzb3VyY2VQZXJtaXNzaW9uEiMKDXJlc291cmNlX3R5cGUYAyAB' + 'KAlSDHJlc291cmNlVHlwZQ=='); + +@$core.Deprecated('Use methodPolicyDescriptor instead') +const MethodPolicy$json = { + '1': 'MethodPolicy', + '2': [ + {'1': 'selector', '3': 9, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'request_policies', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.FieldPolicy', + '10': 'requestPolicies' + }, + ], +}; + +/// Descriptor for `MethodPolicy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodPolicyDescriptor = $convert.base64Decode( + 'CgxNZXRob2RQb2xpY3kSGgoIc2VsZWN0b3IYCSABKAlSCHNlbGVjdG9yEkIKEHJlcXVlc3RfcG' + '9saWNpZXMYAiADKAsyFy5nb29nbGUuYXBpLkZpZWxkUG9saWN5Ug9yZXF1ZXN0UG9saWNpZXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pb.dart new file mode 100644 index 00000000..14157680 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pb.dart @@ -0,0 +1,483 @@ +// +// Generated code. Do not modify. +// source: google/api/quota.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +/// Quota configuration helps to achieve fairness and budgeting in service +/// usage. +/// +/// The metric based 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 +class Quota extends $pb.GeneratedMessage { + factory Quota({ + $core.Iterable? limits, + $core.Iterable? metricRules, + }) { + final $result = create(); + if (limits != null) { + $result.limits.addAll(limits); + } + if (metricRules != null) { + $result.metricRules.addAll(metricRules); + } + return $result; + } + Quota._() : super(); + factory Quota.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Quota.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Quota', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc(3, _omitFieldNames ? '' : 'limits', $pb.PbFieldType.PM, + subBuilder: QuotaLimit.create) + ..pc( + 4, _omitFieldNames ? '' : 'metricRules', $pb.PbFieldType.PM, + subBuilder: MetricRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Quota clone() => Quota()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Quota copyWith(void Function(Quota) updates) => + super.copyWith((message) => updates(message as Quota)) as Quota; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Quota create() => Quota._(); + Quota createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Quota getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Quota? _defaultInstance; + + /// List of QuotaLimit definitions for the service. + @$pb.TagNumber(3) + $core.List get limits => $_getList(0); + + /// List of MetricRule definitions, each one mapping a selected method to one + /// or more metrics. + @$pb.TagNumber(4) + $core.List get metricRules => $_getList(1); +} + +/// Bind API methods to metrics. Binding a method to a metric causes that +/// metric's configured quota behaviors to apply to the method call. +class MetricRule extends $pb.GeneratedMessage { + factory MetricRule({ + $core.String? selector, + $core.Map<$core.String, $fixnum.Int64>? metricCosts, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (metricCosts != null) { + $result.metricCosts.addAll(metricCosts); + } + return $result; + } + MetricRule._() : super(); + factory MetricRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MetricRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MetricRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..m<$core.String, $fixnum.Int64>(2, _omitFieldNames ? '' : 'metricCosts', + entryClassName: 'MetricRule.MetricCostsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.O6, + packageName: const $pb.PackageName('google.api')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MetricRule clone() => MetricRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MetricRule copyWith(void Function(MetricRule) updates) => + super.copyWith((message) => updates(message as MetricRule)) as MetricRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MetricRule create() => MetricRule._(); + MetricRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MetricRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MetricRule? _defaultInstance; + + /// Selects the methods to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(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. + @$pb.TagNumber(2) + $core.Map<$core.String, $fixnum.Int64> get metricCosts => $_getMap(1); +} + +/// `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`. +class QuotaLimit extends $pb.GeneratedMessage { + factory QuotaLimit({ + $core.String? description, + $fixnum.Int64? defaultLimit, + $fixnum.Int64? maxLimit, + $core.String? duration, + $core.String? name, + $fixnum.Int64? freeTier, + $core.String? metric, + $core.String? unit, + $core.Map<$core.String, $fixnum.Int64>? values, + $core.String? displayName, + }) { + final $result = create(); + if (description != null) { + $result.description = description; + } + if (defaultLimit != null) { + $result.defaultLimit = defaultLimit; + } + if (maxLimit != null) { + $result.maxLimit = maxLimit; + } + if (duration != null) { + $result.duration = duration; + } + if (name != null) { + $result.name = name; + } + if (freeTier != null) { + $result.freeTier = freeTier; + } + if (metric != null) { + $result.metric = metric; + } + if (unit != null) { + $result.unit = unit; + } + if (values != null) { + $result.values.addAll(values); + } + if (displayName != null) { + $result.displayName = displayName; + } + return $result; + } + QuotaLimit._() : super(); + factory QuotaLimit.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaLimit.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaLimit', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'description') + ..aInt64(3, _omitFieldNames ? '' : 'defaultLimit') + ..aInt64(4, _omitFieldNames ? '' : 'maxLimit') + ..aOS(5, _omitFieldNames ? '' : 'duration') + ..aOS(6, _omitFieldNames ? '' : 'name') + ..aInt64(7, _omitFieldNames ? '' : 'freeTier') + ..aOS(8, _omitFieldNames ? '' : 'metric') + ..aOS(9, _omitFieldNames ? '' : 'unit') + ..m<$core.String, $fixnum.Int64>(10, _omitFieldNames ? '' : 'values', + entryClassName: 'QuotaLimit.ValuesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.O6, + packageName: const $pb.PackageName('google.api')) + ..aOS(12, _omitFieldNames ? '' : 'displayName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaLimit clone() => QuotaLimit()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaLimit copyWith(void Function(QuotaLimit) updates) => + super.copyWith((message) => updates(message as QuotaLimit)) as QuotaLimit; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaLimit create() => QuotaLimit._(); + QuotaLimit createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaLimit getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaLimit? _defaultInstance; + + /// 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`). + @$pb.TagNumber(2) + $core.String get description => $_getSZ(0); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(0); + @$pb.TagNumber(2) + void clearDescription() => clearField(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. + @$pb.TagNumber(3) + $fixnum.Int64 get defaultLimit => $_getI64(1); + @$pb.TagNumber(3) + set defaultLimit($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasDefaultLimit() => $_has(1); + @$pb.TagNumber(3) + void clearDefaultLimit() => clearField(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. + @$pb.TagNumber(4) + $fixnum.Int64 get maxLimit => $_getI64(2); + @$pb.TagNumber(4) + set maxLimit($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasMaxLimit() => $_has(2); + @$pb.TagNumber(4) + void clearMaxLimit() => clearField(4); + + /// Duration of this limit in textual notation. Must be "100s" or "1d". + /// + /// Used by group-based quotas only. + @$pb.TagNumber(5) + $core.String get duration => $_getSZ(3); + @$pb.TagNumber(5) + set duration($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasDuration() => $_has(3); + @$pb.TagNumber(5) + void clearDuration() => clearField(5); + + /// Name of the quota limit. + /// + /// 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. + @$pb.TagNumber(6) + $core.String get name => $_getSZ(4); + @$pb.TagNumber(6) + set name($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasName() => $_has(4); + @$pb.TagNumber(6) + void clearName() => clearField(6); + + /// 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. + @$pb.TagNumber(7) + $fixnum.Int64 get freeTier => $_getI64(5); + @$pb.TagNumber(7) + set freeTier($fixnum.Int64 v) { + $_setInt64(5, v); + } + + @$pb.TagNumber(7) + $core.bool hasFreeTier() => $_has(5); + @$pb.TagNumber(7) + void clearFreeTier() => clearField(7); + + /// 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. + @$pb.TagNumber(8) + $core.String get metric => $_getSZ(6); + @$pb.TagNumber(8) + set metric($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(8) + $core.bool hasMetric() => $_has(6); + @$pb.TagNumber(8) + void clearMetric() => clearField(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. + /// + /// Here are some examples: + /// * "1/min/{project}" for quota per minute per project. + /// + /// Note: the order of unit components is insignificant. + /// The "1" at the beginning is required to follow the metric unit syntax. + @$pb.TagNumber(9) + $core.String get unit => $_getSZ(7); + @$pb.TagNumber(9) + set unit($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(9) + $core.bool hasUnit() => $_has(7); + @$pb.TagNumber(9) + void clearUnit() => clearField(9); + + /// Tiered limit values. You must specify this as a key:value pair, with an + /// integer value that is the maximum number of requests allowed for the + /// specified unit. Currently only STANDARD is supported. + @$pb.TagNumber(10) + $core.Map<$core.String, $fixnum.Int64> get values => $_getMap(8); + + /// 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. + @$pb.TagNumber(12) + $core.String get displayName => $_getSZ(9); + @$pb.TagNumber(12) + set displayName($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(12) + $core.bool hasDisplayName() => $_has(9); + @$pb.TagNumber(12) + void clearDisplayName() => clearField(12); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pbenum.dart new file mode 100644 index 00000000..571a4459 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/quota.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pbjson.dart new file mode 100644 index 00000000..985ec625 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/quota.pbjson.dart @@ -0,0 +1,122 @@ +// +// Generated code. Do not modify. +// source: google/api/quota.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use quotaDescriptor instead') +const Quota$json = { + '1': 'Quota', + '2': [ + { + '1': 'limits', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.QuotaLimit', + '10': 'limits' + }, + { + '1': 'metric_rules', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.MetricRule', + '10': 'metricRules' + }, + ], +}; + +/// Descriptor for `Quota`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaDescriptor = $convert.base64Decode( + 'CgVRdW90YRIuCgZsaW1pdHMYAyADKAsyFi5nb29nbGUuYXBpLlF1b3RhTGltaXRSBmxpbWl0cx' + 'I5CgxtZXRyaWNfcnVsZXMYBCADKAsyFi5nb29nbGUuYXBpLk1ldHJpY1J1bGVSC21ldHJpY1J1' + 'bGVz'); + +@$core.Deprecated('Use metricRuleDescriptor instead') +const MetricRule$json = { + '1': 'MetricRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'metric_costs', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.MetricRule.MetricCostsEntry', + '10': 'metricCosts' + }, + ], + '3': [MetricRule_MetricCostsEntry$json], +}; + +@$core.Deprecated('Use metricRuleDescriptor instead') +const MetricRule_MetricCostsEntry$json = { + '1': 'MetricCostsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 3, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `MetricRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List metricRuleDescriptor = $convert.base64Decode( + 'CgpNZXRyaWNSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchJKCgxtZXRyaWNfY29zdH' + 'MYAiADKAsyJy5nb29nbGUuYXBpLk1ldHJpY1J1bGUuTWV0cmljQ29zdHNFbnRyeVILbWV0cmlj' + 'Q29zdHMaPgoQTWV0cmljQ29zdHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIA' + 'EoA1IFdmFsdWU6AjgB'); + +@$core.Deprecated('Use quotaLimitDescriptor instead') +const QuotaLimit$json = { + '1': 'QuotaLimit', + '2': [ + {'1': 'name', '3': 6, '4': 1, '5': 9, '10': 'name'}, + {'1': 'description', '3': 2, '4': 1, '5': 9, '10': 'description'}, + {'1': 'default_limit', '3': 3, '4': 1, '5': 3, '10': 'defaultLimit'}, + {'1': 'max_limit', '3': 4, '4': 1, '5': 3, '10': 'maxLimit'}, + {'1': 'free_tier', '3': 7, '4': 1, '5': 3, '10': 'freeTier'}, + {'1': 'duration', '3': 5, '4': 1, '5': 9, '10': 'duration'}, + {'1': 'metric', '3': 8, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'unit', '3': 9, '4': 1, '5': 9, '10': 'unit'}, + { + '1': 'values', + '3': 10, + '4': 3, + '5': 11, + '6': '.google.api.QuotaLimit.ValuesEntry', + '10': 'values' + }, + {'1': 'display_name', '3': 12, '4': 1, '5': 9, '10': 'displayName'}, + ], + '3': [QuotaLimit_ValuesEntry$json], +}; + +@$core.Deprecated('Use quotaLimitDescriptor instead') +const QuotaLimit_ValuesEntry$json = { + '1': 'ValuesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 3, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `QuotaLimit`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaLimitDescriptor = $convert.base64Decode( + 'CgpRdW90YUxpbWl0EhIKBG5hbWUYBiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2' + 'Rlc2NyaXB0aW9uEiMKDWRlZmF1bHRfbGltaXQYAyABKANSDGRlZmF1bHRMaW1pdBIbCgltYXhf' + 'bGltaXQYBCABKANSCG1heExpbWl0EhsKCWZyZWVfdGllchgHIAEoA1IIZnJlZVRpZXISGgoIZH' + 'VyYXRpb24YBSABKAlSCGR1cmF0aW9uEhYKBm1ldHJpYxgIIAEoCVIGbWV0cmljEhIKBHVuaXQY' + 'CSABKAlSBHVuaXQSOgoGdmFsdWVzGAogAygLMiIuZ29vZ2xlLmFwaS5RdW90YUxpbWl0LlZhbH' + 'Vlc0VudHJ5UgZ2YWx1ZXMSIQoMZGlzcGxheV9uYW1lGAwgASgJUgtkaXNwbGF5TmFtZRo5CgtW' + 'YWx1ZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoA1IFdmFsdWU6AjgB'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pb.dart new file mode 100644 index 00000000..3292cae3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pb.dart @@ -0,0 +1,427 @@ +// +// Generated code. Do not modify. +// source: google/api/resource.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'resource.pbenum.dart'; + +export 'resource.pbenum.dart'; + +/// 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" +/// pattern: "projects/{project}/topics/{topic}" +/// }; +/// } +/// +/// The ResourceDescriptor Yaml config will look like: +/// +/// resources: +/// - type: "pubsub.googleapis.com/Topic" +/// pattern: "projects/{project}/topics/{topic}" +/// +/// 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" +/// pattern: "projects/{project}/logs/{log}" +/// pattern: "folders/{folder}/logs/{log}" +/// pattern: "organizations/{organization}/logs/{log}" +/// pattern: "billingAccounts/{billing_account}/logs/{log}" +/// }; +/// } +/// +/// The ResourceDescriptor Yaml config will look like: +/// +/// resources: +/// - type: 'logging.googleapis.com/LogEntry' +/// pattern: "projects/{project}/logs/{log}" +/// pattern: "folders/{folder}/logs/{log}" +/// pattern: "organizations/{organization}/logs/{log}" +/// pattern: "billingAccounts/{billing_account}/logs/{log}" +class ResourceDescriptor extends $pb.GeneratedMessage { + factory ResourceDescriptor({ + $core.String? type, + $core.Iterable<$core.String>? pattern, + $core.String? nameField, + ResourceDescriptor_History? history, + $core.String? plural, + $core.String? singular, + $core.Iterable? style, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (pattern != null) { + $result.pattern.addAll(pattern); + } + if (nameField != null) { + $result.nameField = nameField; + } + if (history != null) { + $result.history = history; + } + if (plural != null) { + $result.plural = plural; + } + if (singular != null) { + $result.singular = singular; + } + if (style != null) { + $result.style.addAll(style); + } + return $result; + } + ResourceDescriptor._() : super(); + factory ResourceDescriptor.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ResourceDescriptor.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ResourceDescriptor', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..pPS(2, _omitFieldNames ? '' : 'pattern') + ..aOS(3, _omitFieldNames ? '' : 'nameField') + ..e( + 4, _omitFieldNames ? '' : 'history', $pb.PbFieldType.OE, + defaultOrMaker: ResourceDescriptor_History.HISTORY_UNSPECIFIED, + valueOf: ResourceDescriptor_History.valueOf, + enumValues: ResourceDescriptor_History.values) + ..aOS(5, _omitFieldNames ? '' : 'plural') + ..aOS(6, _omitFieldNames ? '' : 'singular') + ..pc( + 10, _omitFieldNames ? '' : 'style', $pb.PbFieldType.KE, + valueOf: ResourceDescriptor_Style.valueOf, + enumValues: ResourceDescriptor_Style.values, + defaultEnumValue: ResourceDescriptor_Style.STYLE_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResourceDescriptor clone() => ResourceDescriptor()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResourceDescriptor copyWith(void Function(ResourceDescriptor) updates) => + super.copyWith((message) => updates(message as ResourceDescriptor)) + as ResourceDescriptor; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResourceDescriptor create() => ResourceDescriptor._(); + ResourceDescriptor createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResourceDescriptor getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ResourceDescriptor? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(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. + @$pb.TagNumber(2) + $core.List<$core.String> get pattern => $_getList(1); + + /// Optional. The field on the resource that designates the resource name + /// field. If omitted, this is assumed to be "name". + @$pb.TagNumber(3) + $core.String get nameField => $_getSZ(2); + @$pb.TagNumber(3) + set nameField($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasNameField() => $_has(2); + @$pb.TagNumber(3) + void clearNameField() => clearField(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 + /// }; + /// } + @$pb.TagNumber(4) + ResourceDescriptor_History get history => $_getN(3); + @$pb.TagNumber(4) + set history(ResourceDescriptor_History v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasHistory() => $_has(3); + @$pb.TagNumber(4) + void clearHistory() => clearField(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'. One exception + /// to this is for Nested Collections that have stuttering names, as defined + /// in [AIP-122](https://google.aip.dev/122#nested-collections), where the + /// collection ID in the resource name pattern does not necessarily directly + /// match the `plural` value. + /// + /// 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 + @$pb.TagNumber(5) + $core.String get plural => $_getSZ(4); + @$pb.TagNumber(5) + set plural($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasPlural() => $_has(4); + @$pb.TagNumber(5) + void clearPlural() => clearField(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. + @$pb.TagNumber(6) + $core.String get singular => $_getSZ(5); + @$pb.TagNumber(6) + set singular($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasSingular() => $_has(5); + @$pb.TagNumber(6) + void clearSingular() => clearField(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. + @$pb.TagNumber(10) + $core.List get style => $_getList(6); +} + +/// Defines a proto annotation that describes a string field that refers to +/// an API resource. +class ResourceReference extends $pb.GeneratedMessage { + factory ResourceReference({ + $core.String? type, + $core.String? childType, + }) { + final $result = create(); + if (type != null) { + $result.type = type; + } + if (childType != null) { + $result.childType = childType; + } + return $result; + } + ResourceReference._() : super(); + factory ResourceReference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ResourceReference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ResourceReference', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'type') + ..aOS(2, _omitFieldNames ? '' : 'childType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResourceReference clone() => ResourceReference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResourceReference copyWith(void Function(ResourceReference) updates) => + super.copyWith((message) => updates(message as ResourceReference)) + as ResourceReference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResourceReference create() => ResourceReference._(); + ResourceReference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResourceReference getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ResourceReference? _defaultInstance; + + /// 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: "*" + /// }]; + /// } + @$pb.TagNumber(1) + $core.String get type => $_getSZ(0); + @$pb.TagNumber(1) + set type($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasType() => $_has(0); + @$pb.TagNumber(1) + void clearType() => clearField(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" + /// }; + /// } + @$pb.TagNumber(2) + $core.String get childType => $_getSZ(1); + @$pb.TagNumber(2) + set childType($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasChildType() => $_has(1); + @$pb.TagNumber(2) + void clearChildType() => clearField(2); +} + +class Resource { + static final resourceReference = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.FieldOptions', + _omitFieldNames ? '' : 'resourceReference', + 1055, + $pb.PbFieldType.OM, + defaultOrMaker: ResourceReference.getDefault, + subBuilder: ResourceReference.create); + static final resourceDefinition = $pb.Extension.repeated( + _omitMessageNames ? '' : 'google.protobuf.FileOptions', + _omitFieldNames ? '' : 'resourceDefinition', + 1053, + $pb.PbFieldType.PM, + check: $pb.getCheckFunction($pb.PbFieldType.PM), + subBuilder: ResourceDescriptor.create); + static final resource = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.MessageOptions', + _omitFieldNames ? '' : 'resource', + 1053, + $pb.PbFieldType.OM, + defaultOrMaker: ResourceDescriptor.getDefault, + subBuilder: ResourceDescriptor.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(resourceReference); + registry.add(resourceDefinition); + registry.add(resource); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pbenum.dart new file mode 100644 index 00000000..4230cccf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pbenum.dart @@ -0,0 +1,65 @@ +// +// Generated code. Do not modify. +// source: google/api/resource.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A description of the historical or future-looking state of the +/// resource pattern. +class ResourceDescriptor_History extends $pb.ProtobufEnum { + static const ResourceDescriptor_History HISTORY_UNSPECIFIED = + ResourceDescriptor_History._( + 0, _omitEnumNames ? '' : 'HISTORY_UNSPECIFIED'); + static const ResourceDescriptor_History ORIGINALLY_SINGLE_PATTERN = + ResourceDescriptor_History._( + 1, _omitEnumNames ? '' : 'ORIGINALLY_SINGLE_PATTERN'); + static const ResourceDescriptor_History FUTURE_MULTI_PATTERN = + ResourceDescriptor_History._( + 2, _omitEnumNames ? '' : 'FUTURE_MULTI_PATTERN'); + + static const $core.List values = + [ + HISTORY_UNSPECIFIED, + ORIGINALLY_SINGLE_PATTERN, + FUTURE_MULTI_PATTERN, + ]; + + static final $core.Map<$core.int, ResourceDescriptor_History> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ResourceDescriptor_History? valueOf($core.int value) => + _byValue[value]; + + const ResourceDescriptor_History._($core.int v, $core.String n) : super(v, n); +} + +/// A flag representing a specific style that a resource claims to conform to. +class ResourceDescriptor_Style extends $pb.ProtobufEnum { + static const ResourceDescriptor_Style STYLE_UNSPECIFIED = + ResourceDescriptor_Style._(0, _omitEnumNames ? '' : 'STYLE_UNSPECIFIED'); + static const ResourceDescriptor_Style DECLARATIVE_FRIENDLY = + ResourceDescriptor_Style._( + 1, _omitEnumNames ? '' : 'DECLARATIVE_FRIENDLY'); + + static const $core.List values = + [ + STYLE_UNSPECIFIED, + DECLARATIVE_FRIENDLY, + ]; + + static final $core.Map<$core.int, ResourceDescriptor_Style> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ResourceDescriptor_Style? valueOf($core.int value) => _byValue[value]; + + const ResourceDescriptor_Style._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pbjson.dart new file mode 100644 index 00000000..97f993d2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/resource.pbjson.dart @@ -0,0 +1,87 @@ +// +// Generated code. Do not modify. +// source: google/api/resource.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use resourceDescriptorDescriptor instead') +const ResourceDescriptor$json = { + '1': 'ResourceDescriptor', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'pattern', '3': 2, '4': 3, '5': 9, '10': 'pattern'}, + {'1': 'name_field', '3': 3, '4': 1, '5': 9, '10': 'nameField'}, + { + '1': 'history', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.ResourceDescriptor.History', + '10': 'history' + }, + {'1': 'plural', '3': 5, '4': 1, '5': 9, '10': 'plural'}, + {'1': 'singular', '3': 6, '4': 1, '5': 9, '10': 'singular'}, + { + '1': 'style', + '3': 10, + '4': 3, + '5': 14, + '6': '.google.api.ResourceDescriptor.Style', + '10': 'style' + }, + ], + '4': [ResourceDescriptor_History$json, ResourceDescriptor_Style$json], +}; + +@$core.Deprecated('Use resourceDescriptorDescriptor instead') +const ResourceDescriptor_History$json = { + '1': 'History', + '2': [ + {'1': 'HISTORY_UNSPECIFIED', '2': 0}, + {'1': 'ORIGINALLY_SINGLE_PATTERN', '2': 1}, + {'1': 'FUTURE_MULTI_PATTERN', '2': 2}, + ], +}; + +@$core.Deprecated('Use resourceDescriptorDescriptor instead') +const ResourceDescriptor_Style$json = { + '1': 'Style', + '2': [ + {'1': 'STYLE_UNSPECIFIED', '2': 0}, + {'1': 'DECLARATIVE_FRIENDLY', '2': 1}, + ], +}; + +/// Descriptor for `ResourceDescriptor`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourceDescriptorDescriptor = $convert.base64Decode( + 'ChJSZXNvdXJjZURlc2NyaXB0b3ISEgoEdHlwZRgBIAEoCVIEdHlwZRIYCgdwYXR0ZXJuGAIgAy' + 'gJUgdwYXR0ZXJuEh0KCm5hbWVfZmllbGQYAyABKAlSCW5hbWVGaWVsZBJACgdoaXN0b3J5GAQg' + 'ASgOMiYuZ29vZ2xlLmFwaS5SZXNvdXJjZURlc2NyaXB0b3IuSGlzdG9yeVIHaGlzdG9yeRIWCg' + 'ZwbHVyYWwYBSABKAlSBnBsdXJhbBIaCghzaW5ndWxhchgGIAEoCVIIc2luZ3VsYXISOgoFc3R5' + 'bGUYCiADKA4yJC5nb29nbGUuYXBpLlJlc291cmNlRGVzY3JpcHRvci5TdHlsZVIFc3R5bGUiWw' + 'oHSGlzdG9yeRIXChNISVNUT1JZX1VOU1BFQ0lGSUVEEAASHQoZT1JJR0lOQUxMWV9TSU5HTEVf' + 'UEFUVEVSThABEhgKFEZVVFVSRV9NVUxUSV9QQVRURVJOEAIiOAoFU3R5bGUSFQoRU1RZTEVfVU' + '5TUEVDSUZJRUQQABIYChRERUNMQVJBVElWRV9GUklFTkRMWRAB'); + +@$core.Deprecated('Use resourceReferenceDescriptor instead') +const ResourceReference$json = { + '1': 'ResourceReference', + '2': [ + {'1': 'type', '3': 1, '4': 1, '5': 9, '10': 'type'}, + {'1': 'child_type', '3': 2, '4': 1, '5': 9, '10': 'childType'}, + ], +}; + +/// Descriptor for `ResourceReference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourceReferenceDescriptor = $convert.base64Decode( + 'ChFSZXNvdXJjZVJlZmVyZW5jZRISCgR0eXBlGAEgASgJUgR0eXBlEh0KCmNoaWxkX3R5cGUYAi' + 'ABKAlSCWNoaWxkVHlwZQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pb.dart new file mode 100644 index 00000000..d5683715 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pb.dart @@ -0,0 +1,583 @@ +// +// Generated code. Do not modify. +// source: google/api/routing.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// 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//tables/` +/// // - `projects//instances//tables/
` +/// // - `region//zones//tables/
` +/// string table_name = 1; +/// +/// // This value specifies routing for replication. +/// // It can be in the following formats: +/// // - `profiles/` +/// // - 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: +/// +/// +/// +/// 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/`, send +/// // just the `` 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 +class RoutingRule extends $pb.GeneratedMessage { + factory RoutingRule({ + $core.Iterable? routingParameters, + }) { + final $result = create(); + if (routingParameters != null) { + $result.routingParameters.addAll(routingParameters); + } + return $result; + } + RoutingRule._() : super(); + factory RoutingRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RoutingRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RoutingRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 2, _omitFieldNames ? '' : 'routingParameters', $pb.PbFieldType.PM, + subBuilder: RoutingParameter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RoutingRule clone() => RoutingRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RoutingRule copyWith(void Function(RoutingRule) updates) => + super.copyWith((message) => updates(message as RoutingRule)) + as RoutingRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RoutingRule create() => RoutingRule._(); + RoutingRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RoutingRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RoutingRule? _defaultInstance; + + /// 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. + @$pb.TagNumber(2) + $core.List get routingParameters => $_getList(0); +} + +/// A projection from an input message to the GRPC or REST header. +class RoutingParameter extends $pb.GeneratedMessage { + factory RoutingParameter({ + $core.String? field_1, + $core.String? pathTemplate, + }) { + final $result = create(); + if (field_1 != null) { + $result.field_1 = field_1; + } + if (pathTemplate != null) { + $result.pathTemplate = pathTemplate; + } + return $result; + } + RoutingParameter._() : super(); + factory RoutingParameter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RoutingParameter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RoutingParameter', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'field') + ..aOS(2, _omitFieldNames ? '' : 'pathTemplate') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RoutingParameter clone() => RoutingParameter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RoutingParameter copyWith(void Function(RoutingParameter) updates) => + super.copyWith((message) => updates(message as RoutingParameter)) + as RoutingParameter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RoutingParameter create() => RoutingParameter._(); + RoutingParameter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RoutingParameter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RoutingParameter? _defaultInstance; + + /// A request field to extract the header key-value pair from. + @$pb.TagNumber(1) + $core.String get field_1 => $_getSZ(0); + @$pb.TagNumber(1) + set field_1($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasField_1() => $_has(0); + @$pb.TagNumber(1) + void clearField_1() => clearField(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. + @$pb.TagNumber(2) + $core.String get pathTemplate => $_getSZ(1); + @$pb.TagNumber(2) + set pathTemplate($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPathTemplate() => $_has(1); + @$pb.TagNumber(2) + void clearPathTemplate() => clearField(2); +} + +class Routing { + static final routing = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.MethodOptions', + _omitFieldNames ? '' : 'routing', + 72295729, + $pb.PbFieldType.OM, + defaultOrMaker: RoutingRule.getDefault, + subBuilder: RoutingRule.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(routing); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pbenum.dart new file mode 100644 index 00000000..f85d6833 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/routing.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pbjson.dart new file mode 100644 index 00000000..a7301792 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/routing.pbjson.dart @@ -0,0 +1,48 @@ +// +// Generated code. Do not modify. +// source: google/api/routing.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use routingRuleDescriptor instead') +const RoutingRule$json = { + '1': 'RoutingRule', + '2': [ + { + '1': 'routing_parameters', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.RoutingParameter', + '10': 'routingParameters' + }, + ], +}; + +/// Descriptor for `RoutingRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List routingRuleDescriptor = $convert.base64Decode( + 'CgtSb3V0aW5nUnVsZRJLChJyb3V0aW5nX3BhcmFtZXRlcnMYAiADKAsyHC5nb29nbGUuYXBpLl' + 'JvdXRpbmdQYXJhbWV0ZXJSEXJvdXRpbmdQYXJhbWV0ZXJz'); + +@$core.Deprecated('Use routingParameterDescriptor instead') +const RoutingParameter$json = { + '1': 'RoutingParameter', + '2': [ + {'1': 'field', '3': 1, '4': 1, '5': 9, '10': 'field'}, + {'1': 'path_template', '3': 2, '4': 1, '5': 9, '10': 'pathTemplate'}, + ], +}; + +/// Descriptor for `RoutingParameter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List routingParameterDescriptor = $convert.base64Decode( + 'ChBSb3V0aW5nUGFyYW1ldGVyEhQKBWZpZWxkGAEgASgJUgVmaWVsZBIjCg1wYXRoX3RlbXBsYX' + 'RlGAIgASgJUgxwYXRoVGVtcGxhdGU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pb.dart new file mode 100644 index 00000000..09b06b6f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pb.dart @@ -0,0 +1,610 @@ +// +// Generated code. Do not modify. +// source: google/api/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/api.pb.dart' as $84; +import '../protobuf/type.pb.dart' as $83; +import '../protobuf/wrappers.pb.dart' as $73; +import 'auth.pb.dart' as $88; +import 'backend.pb.dart' as $86; +import 'billing.pb.dart' as $94; +import 'client.pb.dart' as $99; +import 'context.pb.dart' as $89; +import 'control.pb.dart' as $92; +import 'documentation.pb.dart' as $85; +import 'endpoint.pb.dart' as $91; +import 'http.pb.dart' as $55; +import 'log.pb.dart' as $93; +import 'logging.pb.dart' as $95; +import 'metric.pb.dart' as $69; +import 'monitored_resource.pb.dart' as $67; +import 'monitoring.pb.dart' as $96; +import 'quota.pb.dart' as $87; +import 'source_info.pb.dart' as $98; +import 'system_parameter.pb.dart' as $97; +import 'usage.pb.dart' as $90; + +/// `Service` is the root object of Google API service configuration (service +/// config). It describes the basic information about a logical service, +/// such as the service name and the user-facing 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. +/// For more information, see each proto message definition. +/// +/// Example: +/// +/// type: google.api.Service +/// name: calendar.googleapis.com +/// title: Google Calendar API +/// apis: +/// - name: google.calendar.v3.Calendar +/// +/// visibility: +/// rules: +/// - selector: "google.calendar.v3.*" +/// restriction: PREVIEW +/// backend: +/// rules: +/// - selector: "google.calendar.v3.*" +/// address: calendar.example.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 +class Service extends $pb.GeneratedMessage { + factory Service({ + $core.String? name, + $core.String? title, + $core.Iterable<$84.Api>? apis, + $core.Iterable<$83.Type>? types, + $core.Iterable<$83.Enum>? enums, + $85.Documentation? documentation, + $86.Backend? backend, + $55.Http? http, + $87.Quota? quota, + $88.Authentication? authentication, + $89.Context? context, + $90.Usage? usage, + $core.Iterable<$91.Endpoint>? endpoints, + $73.UInt32Value? configVersion, + $92.Control? control, + $core.String? producerProjectId, + $core.Iterable<$93.LogDescriptor>? logs, + $core.Iterable<$69.MetricDescriptor>? metrics, + $core.Iterable<$67.MonitoredResourceDescriptor>? monitoredResources, + $94.Billing? billing, + $95.Logging? logging, + $96.Monitoring? monitoring, + $97.SystemParameters? systemParameters, + $core.String? id, + $98.SourceInfo? sourceInfo, + $99.Publishing? publishing, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (title != null) { + $result.title = title; + } + if (apis != null) { + $result.apis.addAll(apis); + } + if (types != null) { + $result.types.addAll(types); + } + if (enums != null) { + $result.enums.addAll(enums); + } + if (documentation != null) { + $result.documentation = documentation; + } + if (backend != null) { + $result.backend = backend; + } + if (http != null) { + $result.http = http; + } + if (quota != null) { + $result.quota = quota; + } + if (authentication != null) { + $result.authentication = authentication; + } + if (context != null) { + $result.context = context; + } + if (usage != null) { + $result.usage = usage; + } + if (endpoints != null) { + $result.endpoints.addAll(endpoints); + } + if (configVersion != null) { + $result.configVersion = configVersion; + } + if (control != null) { + $result.control = control; + } + if (producerProjectId != null) { + $result.producerProjectId = producerProjectId; + } + if (logs != null) { + $result.logs.addAll(logs); + } + if (metrics != null) { + $result.metrics.addAll(metrics); + } + if (monitoredResources != null) { + $result.monitoredResources.addAll(monitoredResources); + } + if (billing != null) { + $result.billing = billing; + } + if (logging != null) { + $result.logging = logging; + } + if (monitoring != null) { + $result.monitoring = monitoring; + } + if (systemParameters != null) { + $result.systemParameters = systemParameters; + } + if (id != null) { + $result.id = id; + } + if (sourceInfo != null) { + $result.sourceInfo = sourceInfo; + } + if (publishing != null) { + $result.publishing = publishing; + } + return $result; + } + Service._() : super(); + factory Service.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Service.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Service', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'title') + ..pc<$84.Api>(3, _omitFieldNames ? '' : 'apis', $pb.PbFieldType.PM, + subBuilder: $84.Api.create) + ..pc<$83.Type>(4, _omitFieldNames ? '' : 'types', $pb.PbFieldType.PM, + subBuilder: $83.Type.create) + ..pc<$83.Enum>(5, _omitFieldNames ? '' : 'enums', $pb.PbFieldType.PM, + subBuilder: $83.Enum.create) + ..aOM<$85.Documentation>(6, _omitFieldNames ? '' : 'documentation', + subBuilder: $85.Documentation.create) + ..aOM<$86.Backend>(8, _omitFieldNames ? '' : 'backend', + subBuilder: $86.Backend.create) + ..aOM<$55.Http>(9, _omitFieldNames ? '' : 'http', + subBuilder: $55.Http.create) + ..aOM<$87.Quota>(10, _omitFieldNames ? '' : 'quota', + subBuilder: $87.Quota.create) + ..aOM<$88.Authentication>(11, _omitFieldNames ? '' : 'authentication', + subBuilder: $88.Authentication.create) + ..aOM<$89.Context>(12, _omitFieldNames ? '' : 'context', + subBuilder: $89.Context.create) + ..aOM<$90.Usage>(15, _omitFieldNames ? '' : 'usage', + subBuilder: $90.Usage.create) + ..pc<$91.Endpoint>( + 18, _omitFieldNames ? '' : 'endpoints', $pb.PbFieldType.PM, + subBuilder: $91.Endpoint.create) + ..aOM<$73.UInt32Value>(20, _omitFieldNames ? '' : 'configVersion', + subBuilder: $73.UInt32Value.create) + ..aOM<$92.Control>(21, _omitFieldNames ? '' : 'control', + subBuilder: $92.Control.create) + ..aOS(22, _omitFieldNames ? '' : 'producerProjectId') + ..pc<$93.LogDescriptor>( + 23, _omitFieldNames ? '' : 'logs', $pb.PbFieldType.PM, + subBuilder: $93.LogDescriptor.create) + ..pc<$69.MetricDescriptor>( + 24, _omitFieldNames ? '' : 'metrics', $pb.PbFieldType.PM, + subBuilder: $69.MetricDescriptor.create) + ..pc<$67.MonitoredResourceDescriptor>( + 25, _omitFieldNames ? '' : 'monitoredResources', $pb.PbFieldType.PM, + subBuilder: $67.MonitoredResourceDescriptor.create) + ..aOM<$94.Billing>(26, _omitFieldNames ? '' : 'billing', + subBuilder: $94.Billing.create) + ..aOM<$95.Logging>(27, _omitFieldNames ? '' : 'logging', + subBuilder: $95.Logging.create) + ..aOM<$96.Monitoring>(28, _omitFieldNames ? '' : 'monitoring', + subBuilder: $96.Monitoring.create) + ..aOM<$97.SystemParameters>(29, _omitFieldNames ? '' : 'systemParameters', + subBuilder: $97.SystemParameters.create) + ..aOS(33, _omitFieldNames ? '' : 'id') + ..aOM<$98.SourceInfo>(37, _omitFieldNames ? '' : 'sourceInfo', + subBuilder: $98.SourceInfo.create) + ..aOM<$99.Publishing>(45, _omitFieldNames ? '' : 'publishing', + subBuilder: $99.Publishing.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Service clone() => Service()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Service copyWith(void Function(Service) updates) => + super.copyWith((message) => updates(message as Service)) as Service; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Service create() => Service._(); + Service createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Service getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Service? _defaultInstance; + + /// The service name, which is a DNS-like logical identifier for the + /// service, such as `calendar.googleapis.com`. The service name + /// typically goes through DNS verification to make sure the owner + /// of the service also owns the DNS name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The product title for this service, it is the name displayed in Google + /// Cloud Console. + @$pb.TagNumber(2) + $core.String get title => $_getSZ(1); + @$pb.TagNumber(2) + set title($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTitle() => $_has(1); + @$pb.TagNumber(2) + void clearTitle() => clearField(2); + + /// 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. + @$pb.TagNumber(3) + $core.List<$84.Api> get apis => $_getList(2); + + /// 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 by the configuration author. Example: + /// + /// types: + /// - name: google.protobuf.Int32 + @$pb.TagNumber(4) + $core.List<$83.Type> get types => $_getList(3); + + /// 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 by the configuration author. Example: + /// + /// enums: + /// - name: google.someapi.v1.SomeEnum + @$pb.TagNumber(5) + $core.List<$83.Enum> get enums => $_getList(4); + + /// Additional API documentation. + @$pb.TagNumber(6) + $85.Documentation get documentation => $_getN(5); + @$pb.TagNumber(6) + set documentation($85.Documentation v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasDocumentation() => $_has(5); + @$pb.TagNumber(6) + void clearDocumentation() => clearField(6); + @$pb.TagNumber(6) + $85.Documentation ensureDocumentation() => $_ensure(5); + + /// API backend configuration. + @$pb.TagNumber(8) + $86.Backend get backend => $_getN(6); + @$pb.TagNumber(8) + set backend($86.Backend v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasBackend() => $_has(6); + @$pb.TagNumber(8) + void clearBackend() => clearField(8); + @$pb.TagNumber(8) + $86.Backend ensureBackend() => $_ensure(6); + + /// HTTP configuration. + @$pb.TagNumber(9) + $55.Http get http => $_getN(7); + @$pb.TagNumber(9) + set http($55.Http v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasHttp() => $_has(7); + @$pb.TagNumber(9) + void clearHttp() => clearField(9); + @$pb.TagNumber(9) + $55.Http ensureHttp() => $_ensure(7); + + /// Quota configuration. + @$pb.TagNumber(10) + $87.Quota get quota => $_getN(8); + @$pb.TagNumber(10) + set quota($87.Quota v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasQuota() => $_has(8); + @$pb.TagNumber(10) + void clearQuota() => clearField(10); + @$pb.TagNumber(10) + $87.Quota ensureQuota() => $_ensure(8); + + /// Auth configuration. + @$pb.TagNumber(11) + $88.Authentication get authentication => $_getN(9); + @$pb.TagNumber(11) + set authentication($88.Authentication v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasAuthentication() => $_has(9); + @$pb.TagNumber(11) + void clearAuthentication() => clearField(11); + @$pb.TagNumber(11) + $88.Authentication ensureAuthentication() => $_ensure(9); + + /// Context configuration. + @$pb.TagNumber(12) + $89.Context get context => $_getN(10); + @$pb.TagNumber(12) + set context($89.Context v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasContext() => $_has(10); + @$pb.TagNumber(12) + void clearContext() => clearField(12); + @$pb.TagNumber(12) + $89.Context ensureContext() => $_ensure(10); + + /// Configuration controlling usage of this service. + @$pb.TagNumber(15) + $90.Usage get usage => $_getN(11); + @$pb.TagNumber(15) + set usage($90.Usage v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasUsage() => $_has(11); + @$pb.TagNumber(15) + void clearUsage() => clearField(15); + @$pb.TagNumber(15) + $90.Usage ensureUsage() => $_ensure(11); + + /// 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. + @$pb.TagNumber(18) + $core.List<$91.Endpoint> get endpoints => $_getList(12); + + /// Obsolete. Do not use. + /// + /// This field has no semantic meaning. The service config compiler always + /// sets this field to `3`. + @$pb.TagNumber(20) + $73.UInt32Value get configVersion => $_getN(13); + @$pb.TagNumber(20) + set configVersion($73.UInt32Value v) { + setField(20, v); + } + + @$pb.TagNumber(20) + $core.bool hasConfigVersion() => $_has(13); + @$pb.TagNumber(20) + void clearConfigVersion() => clearField(20); + @$pb.TagNumber(20) + $73.UInt32Value ensureConfigVersion() => $_ensure(13); + + /// Configuration for the service control plane. + @$pb.TagNumber(21) + $92.Control get control => $_getN(14); + @$pb.TagNumber(21) + set control($92.Control v) { + setField(21, v); + } + + @$pb.TagNumber(21) + $core.bool hasControl() => $_has(14); + @$pb.TagNumber(21) + void clearControl() => clearField(21); + @$pb.TagNumber(21) + $92.Control ensureControl() => $_ensure(14); + + /// The Google project that owns this service. + @$pb.TagNumber(22) + $core.String get producerProjectId => $_getSZ(15); + @$pb.TagNumber(22) + set producerProjectId($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(22) + $core.bool hasProducerProjectId() => $_has(15); + @$pb.TagNumber(22) + void clearProducerProjectId() => clearField(22); + + /// Defines the logs used by this service. + @$pb.TagNumber(23) + $core.List<$93.LogDescriptor> get logs => $_getList(16); + + /// Defines the metrics used by this service. + @$pb.TagNumber(24) + $core.List<$69.MetricDescriptor> get metrics => $_getList(17); + + /// 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. + @$pb.TagNumber(25) + $core.List<$67.MonitoredResourceDescriptor> get monitoredResources => + $_getList(18); + + /// Billing configuration. + @$pb.TagNumber(26) + $94.Billing get billing => $_getN(19); + @$pb.TagNumber(26) + set billing($94.Billing v) { + setField(26, v); + } + + @$pb.TagNumber(26) + $core.bool hasBilling() => $_has(19); + @$pb.TagNumber(26) + void clearBilling() => clearField(26); + @$pb.TagNumber(26) + $94.Billing ensureBilling() => $_ensure(19); + + /// Logging configuration. + @$pb.TagNumber(27) + $95.Logging get logging => $_getN(20); + @$pb.TagNumber(27) + set logging($95.Logging v) { + setField(27, v); + } + + @$pb.TagNumber(27) + $core.bool hasLogging() => $_has(20); + @$pb.TagNumber(27) + void clearLogging() => clearField(27); + @$pb.TagNumber(27) + $95.Logging ensureLogging() => $_ensure(20); + + /// Monitoring configuration. + @$pb.TagNumber(28) + $96.Monitoring get monitoring => $_getN(21); + @$pb.TagNumber(28) + set monitoring($96.Monitoring v) { + setField(28, v); + } + + @$pb.TagNumber(28) + $core.bool hasMonitoring() => $_has(21); + @$pb.TagNumber(28) + void clearMonitoring() => clearField(28); + @$pb.TagNumber(28) + $96.Monitoring ensureMonitoring() => $_ensure(21); + + /// System parameter configuration. + @$pb.TagNumber(29) + $97.SystemParameters get systemParameters => $_getN(22); + @$pb.TagNumber(29) + set systemParameters($97.SystemParameters v) { + setField(29, v); + } + + @$pb.TagNumber(29) + $core.bool hasSystemParameters() => $_has(22); + @$pb.TagNumber(29) + void clearSystemParameters() => clearField(29); + @$pb.TagNumber(29) + $97.SystemParameters ensureSystemParameters() => $_ensure(22); + + /// A unique ID for a specific instance of this message, typically assigned + /// by the client for tracking purpose. Must be no longer than 63 characters + /// and only lower case letters, digits, '.', '_' and '-' are allowed. If + /// empty, the server may choose to generate one instead. + @$pb.TagNumber(33) + $core.String get id => $_getSZ(23); + @$pb.TagNumber(33) + set id($core.String v) { + $_setString(23, v); + } + + @$pb.TagNumber(33) + $core.bool hasId() => $_has(23); + @$pb.TagNumber(33) + void clearId() => clearField(33); + + /// Output only. The source information for this configuration if available. + @$pb.TagNumber(37) + $98.SourceInfo get sourceInfo => $_getN(24); + @$pb.TagNumber(37) + set sourceInfo($98.SourceInfo v) { + setField(37, v); + } + + @$pb.TagNumber(37) + $core.bool hasSourceInfo() => $_has(24); + @$pb.TagNumber(37) + void clearSourceInfo() => clearField(37); + @$pb.TagNumber(37) + $98.SourceInfo ensureSourceInfo() => $_ensure(24); + + /// Settings for [Google Cloud Client + /// libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) + /// generated from APIs defined as protocol buffers. + @$pb.TagNumber(45) + $99.Publishing get publishing => $_getN(25); + @$pb.TagNumber(45) + set publishing($99.Publishing v) { + setField(45, v); + } + + @$pb.TagNumber(45) + $core.bool hasPublishing() => $_has(25); + @$pb.TagNumber(45) + void clearPublishing() => clearField(45); + @$pb.TagNumber(45) + $99.Publishing ensurePublishing() => $_ensure(25); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pbenum.dart new file mode 100644 index 00000000..79d482cd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pbjson.dart new file mode 100644 index 00000000..4d5c58e6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/service.pbjson.dart @@ -0,0 +1,234 @@ +// +// Generated code. Do not modify. +// source: google/api/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use serviceDescriptor instead') +const Service$json = { + '1': 'Service', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'title', '3': 2, '4': 1, '5': 9, '10': 'title'}, + { + '1': 'producer_project_id', + '3': 22, + '4': 1, + '5': 9, + '10': 'producerProjectId' + }, + {'1': 'id', '3': 33, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'apis', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Api', + '10': 'apis' + }, + { + '1': 'types', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.protobuf.Type', + '10': 'types' + }, + { + '1': 'enums', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.protobuf.Enum', + '10': 'enums' + }, + { + '1': 'documentation', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.Documentation', + '10': 'documentation' + }, + { + '1': 'backend', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.Backend', + '10': 'backend' + }, + { + '1': 'http', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.Http', + '10': 'http' + }, + { + '1': 'quota', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.api.Quota', + '10': 'quota' + }, + { + '1': 'authentication', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.api.Authentication', + '10': 'authentication' + }, + { + '1': 'context', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.api.Context', + '10': 'context' + }, + { + '1': 'usage', + '3': 15, + '4': 1, + '5': 11, + '6': '.google.api.Usage', + '10': 'usage' + }, + { + '1': 'endpoints', + '3': 18, + '4': 3, + '5': 11, + '6': '.google.api.Endpoint', + '10': 'endpoints' + }, + { + '1': 'control', + '3': 21, + '4': 1, + '5': 11, + '6': '.google.api.Control', + '10': 'control' + }, + { + '1': 'logs', + '3': 23, + '4': 3, + '5': 11, + '6': '.google.api.LogDescriptor', + '10': 'logs' + }, + { + '1': 'metrics', + '3': 24, + '4': 3, + '5': 11, + '6': '.google.api.MetricDescriptor', + '10': 'metrics' + }, + { + '1': 'monitored_resources', + '3': 25, + '4': 3, + '5': 11, + '6': '.google.api.MonitoredResourceDescriptor', + '10': 'monitoredResources' + }, + { + '1': 'billing', + '3': 26, + '4': 1, + '5': 11, + '6': '.google.api.Billing', + '10': 'billing' + }, + { + '1': 'logging', + '3': 27, + '4': 1, + '5': 11, + '6': '.google.api.Logging', + '10': 'logging' + }, + { + '1': 'monitoring', + '3': 28, + '4': 1, + '5': 11, + '6': '.google.api.Monitoring', + '10': 'monitoring' + }, + { + '1': 'system_parameters', + '3': 29, + '4': 1, + '5': 11, + '6': '.google.api.SystemParameters', + '10': 'systemParameters' + }, + { + '1': 'source_info', + '3': 37, + '4': 1, + '5': 11, + '6': '.google.api.SourceInfo', + '10': 'sourceInfo' + }, + { + '1': 'publishing', + '3': 45, + '4': 1, + '5': 11, + '6': '.google.api.Publishing', + '10': 'publishing' + }, + { + '1': 'config_version', + '3': 20, + '4': 1, + '5': 11, + '6': '.google.protobuf.UInt32Value', + '10': 'configVersion' + }, + ], +}; + +/// Descriptor for `Service`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptor = $convert.base64Decode( + 'CgdTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFdGl0bGUYAiABKAlSBXRpdGxlEi4KE3' + 'Byb2R1Y2VyX3Byb2plY3RfaWQYFiABKAlSEXByb2R1Y2VyUHJvamVjdElkEg4KAmlkGCEgASgJ' + 'UgJpZBIoCgRhcGlzGAMgAygLMhQuZ29vZ2xlLnByb3RvYnVmLkFwaVIEYXBpcxIrCgV0eXBlcx' + 'gEIAMoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlUgV0eXBlcxIrCgVlbnVtcxgFIAMoCzIVLmdv' + 'b2dsZS5wcm90b2J1Zi5FbnVtUgVlbnVtcxI/Cg1kb2N1bWVudGF0aW9uGAYgASgLMhkuZ29vZ2' + 'xlLmFwaS5Eb2N1bWVudGF0aW9uUg1kb2N1bWVudGF0aW9uEi0KB2JhY2tlbmQYCCABKAsyEy5n' + 'b29nbGUuYXBpLkJhY2tlbmRSB2JhY2tlbmQSJAoEaHR0cBgJIAEoCzIQLmdvb2dsZS5hcGkuSH' + 'R0cFIEaHR0cBInCgVxdW90YRgKIAEoCzIRLmdvb2dsZS5hcGkuUXVvdGFSBXF1b3RhEkIKDmF1' + 'dGhlbnRpY2F0aW9uGAsgASgLMhouZ29vZ2xlLmFwaS5BdXRoZW50aWNhdGlvblIOYXV0aGVudG' + 'ljYXRpb24SLQoHY29udGV4dBgMIAEoCzITLmdvb2dsZS5hcGkuQ29udGV4dFIHY29udGV4dBIn' + 'CgV1c2FnZRgPIAEoCzIRLmdvb2dsZS5hcGkuVXNhZ2VSBXVzYWdlEjIKCWVuZHBvaW50cxgSIA' + 'MoCzIULmdvb2dsZS5hcGkuRW5kcG9pbnRSCWVuZHBvaW50cxItCgdjb250cm9sGBUgASgLMhMu' + 'Z29vZ2xlLmFwaS5Db250cm9sUgdjb250cm9sEi0KBGxvZ3MYFyADKAsyGS5nb29nbGUuYXBpLk' + 'xvZ0Rlc2NyaXB0b3JSBGxvZ3MSNgoHbWV0cmljcxgYIAMoCzIcLmdvb2dsZS5hcGkuTWV0cmlj' + 'RGVzY3JpcHRvclIHbWV0cmljcxJYChNtb25pdG9yZWRfcmVzb3VyY2VzGBkgAygLMicuZ29vZ2' + 'xlLmFwaS5Nb25pdG9yZWRSZXNvdXJjZURlc2NyaXB0b3JSEm1vbml0b3JlZFJlc291cmNlcxIt' + 'CgdiaWxsaW5nGBogASgLMhMuZ29vZ2xlLmFwaS5CaWxsaW5nUgdiaWxsaW5nEi0KB2xvZ2dpbm' + 'cYGyABKAsyEy5nb29nbGUuYXBpLkxvZ2dpbmdSB2xvZ2dpbmcSNgoKbW9uaXRvcmluZxgcIAEo' + 'CzIWLmdvb2dsZS5hcGkuTW9uaXRvcmluZ1IKbW9uaXRvcmluZxJJChFzeXN0ZW1fcGFyYW1ldG' + 'VycxgdIAEoCzIcLmdvb2dsZS5hcGkuU3lzdGVtUGFyYW1ldGVyc1IQc3lzdGVtUGFyYW1ldGVy' + 'cxI3Cgtzb3VyY2VfaW5mbxglIAEoCzIWLmdvb2dsZS5hcGkuU291cmNlSW5mb1IKc291cmNlSW' + '5mbxI2CgpwdWJsaXNoaW5nGC0gASgLMhYuZ29vZ2xlLmFwaS5QdWJsaXNoaW5nUgpwdWJsaXNo' + 'aW5nEkMKDmNvbmZpZ192ZXJzaW9uGBQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbH' + 'VlUg1jb25maWdWZXJzaW9u'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pb.dart new file mode 100644 index 00000000..36d80c15 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pb.dart @@ -0,0 +1,153 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/check_error.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../rpc/status.pb.dart' as $57; +import 'check_error.pbenum.dart'; + +export 'check_error.pbenum.dart'; + +/// Defines the errors to be returned in +/// [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors]. +class CheckError extends $pb.GeneratedMessage { + factory CheckError({ + CheckError_Code? code, + $core.String? detail, + $57.Status? status, + $core.String? subject, + }) { + final $result = create(); + if (code != null) { + $result.code = code; + } + if (detail != null) { + $result.detail = detail; + } + if (status != null) { + $result.status = status; + } + if (subject != null) { + $result.subject = subject; + } + return $result; + } + CheckError._() : super(); + factory CheckError.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckError.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckError', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'code', $pb.PbFieldType.OE, + defaultOrMaker: CheckError_Code.ERROR_CODE_UNSPECIFIED, + valueOf: CheckError_Code.valueOf, + enumValues: CheckError_Code.values) + ..aOS(2, _omitFieldNames ? '' : 'detail') + ..aOM<$57.Status>(3, _omitFieldNames ? '' : 'status', + subBuilder: $57.Status.create) + ..aOS(4, _omitFieldNames ? '' : 'subject') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckError clone() => CheckError()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckError copyWith(void Function(CheckError) updates) => + super.copyWith((message) => updates(message as CheckError)) as CheckError; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckError create() => CheckError._(); + CheckError createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckError getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckError? _defaultInstance; + + /// The error code. + @$pb.TagNumber(1) + CheckError_Code get code => $_getN(0); + @$pb.TagNumber(1) + set code(CheckError_Code v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCode() => $_has(0); + @$pb.TagNumber(1) + void clearCode() => clearField(1); + + /// Free-form text providing details on the error cause of the error. + @$pb.TagNumber(2) + $core.String get detail => $_getSZ(1); + @$pb.TagNumber(2) + set detail($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDetail() => $_has(1); + @$pb.TagNumber(2) + void clearDetail() => clearField(2); + + /// Contains public information about the check error. If available, + /// `status.code` will be non zero and client can propagate it out as public + /// error. + @$pb.TagNumber(3) + $57.Status get status => $_getN(2); + @$pb.TagNumber(3) + set status($57.Status v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasStatus() => $_has(2); + @$pb.TagNumber(3) + void clearStatus() => clearField(3); + @$pb.TagNumber(3) + $57.Status ensureStatus() => $_ensure(2); + + /// Subject to whom this error applies. See the specific code enum for more + /// details on this field. For example: + /// + /// - "project:" + /// - "folder:" + /// - "organization:" + @$pb.TagNumber(4) + $core.String get subject => $_getSZ(3); + @$pb.TagNumber(4) + set subject($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSubject() => $_has(3); + @$pb.TagNumber(4) + void clearSubject() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pbenum.dart new file mode 100644 index 00000000..c546542e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pbenum.dart @@ -0,0 +1,93 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/check_error.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Error codes for Check responses. +class CheckError_Code extends $pb.ProtobufEnum { + static const CheckError_Code ERROR_CODE_UNSPECIFIED = + CheckError_Code._(0, _omitEnumNames ? '' : 'ERROR_CODE_UNSPECIFIED'); + static const CheckError_Code NOT_FOUND = + CheckError_Code._(5, _omitEnumNames ? '' : 'NOT_FOUND'); + static const CheckError_Code PERMISSION_DENIED = + CheckError_Code._(7, _omitEnumNames ? '' : 'PERMISSION_DENIED'); + static const CheckError_Code RESOURCE_EXHAUSTED = + CheckError_Code._(8, _omitEnumNames ? '' : 'RESOURCE_EXHAUSTED'); + static const CheckError_Code SERVICE_NOT_ACTIVATED = + CheckError_Code._(104, _omitEnumNames ? '' : 'SERVICE_NOT_ACTIVATED'); + static const CheckError_Code BILLING_DISABLED = + CheckError_Code._(107, _omitEnumNames ? '' : 'BILLING_DISABLED'); + static const CheckError_Code PROJECT_DELETED = + CheckError_Code._(108, _omitEnumNames ? '' : 'PROJECT_DELETED'); + static const CheckError_Code PROJECT_INVALID = + CheckError_Code._(114, _omitEnumNames ? '' : 'PROJECT_INVALID'); + static const CheckError_Code CONSUMER_INVALID = + CheckError_Code._(125, _omitEnumNames ? '' : 'CONSUMER_INVALID'); + static const CheckError_Code IP_ADDRESS_BLOCKED = + CheckError_Code._(109, _omitEnumNames ? '' : 'IP_ADDRESS_BLOCKED'); + static const CheckError_Code REFERER_BLOCKED = + CheckError_Code._(110, _omitEnumNames ? '' : 'REFERER_BLOCKED'); + static const CheckError_Code CLIENT_APP_BLOCKED = + CheckError_Code._(111, _omitEnumNames ? '' : 'CLIENT_APP_BLOCKED'); + static const CheckError_Code API_TARGET_BLOCKED = + CheckError_Code._(122, _omitEnumNames ? '' : 'API_TARGET_BLOCKED'); + static const CheckError_Code API_KEY_INVALID = + CheckError_Code._(105, _omitEnumNames ? '' : 'API_KEY_INVALID'); + static const CheckError_Code API_KEY_EXPIRED = + CheckError_Code._(112, _omitEnumNames ? '' : 'API_KEY_EXPIRED'); + static const CheckError_Code API_KEY_NOT_FOUND = + CheckError_Code._(113, _omitEnumNames ? '' : 'API_KEY_NOT_FOUND'); + static const CheckError_Code INVALID_CREDENTIAL = + CheckError_Code._(123, _omitEnumNames ? '' : 'INVALID_CREDENTIAL'); + static const CheckError_Code NAMESPACE_LOOKUP_UNAVAILABLE = CheckError_Code._( + 300, _omitEnumNames ? '' : 'NAMESPACE_LOOKUP_UNAVAILABLE'); + static const CheckError_Code SERVICE_STATUS_UNAVAILABLE = CheckError_Code._( + 301, _omitEnumNames ? '' : 'SERVICE_STATUS_UNAVAILABLE'); + static const CheckError_Code BILLING_STATUS_UNAVAILABLE = CheckError_Code._( + 302, _omitEnumNames ? '' : 'BILLING_STATUS_UNAVAILABLE'); + static const CheckError_Code CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE = + CheckError_Code._(305, + _omitEnumNames ? '' : 'CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE'); + + static const $core.List values = [ + ERROR_CODE_UNSPECIFIED, + NOT_FOUND, + PERMISSION_DENIED, + RESOURCE_EXHAUSTED, + SERVICE_NOT_ACTIVATED, + BILLING_DISABLED, + PROJECT_DELETED, + PROJECT_INVALID, + CONSUMER_INVALID, + IP_ADDRESS_BLOCKED, + REFERER_BLOCKED, + CLIENT_APP_BLOCKED, + API_TARGET_BLOCKED, + API_KEY_INVALID, + API_KEY_EXPIRED, + API_KEY_NOT_FOUND, + INVALID_CREDENTIAL, + NAMESPACE_LOOKUP_UNAVAILABLE, + SERVICE_STATUS_UNAVAILABLE, + BILLING_STATUS_UNAVAILABLE, + CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE, + ]; + + static final $core.Map<$core.int, CheckError_Code> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CheckError_Code? valueOf($core.int value) => _byValue[value]; + + const CheckError_Code._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pbjson.dart new file mode 100644 index 00000000..e93aaf70 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/check_error.pbjson.dart @@ -0,0 +1,84 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/check_error.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use checkErrorDescriptor instead') +const CheckError$json = { + '1': 'CheckError', + '2': [ + { + '1': 'code', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.api.servicecontrol.v1.CheckError.Code', + '10': 'code' + }, + {'1': 'subject', '3': 4, '4': 1, '5': 9, '10': 'subject'}, + {'1': 'detail', '3': 2, '4': 1, '5': 9, '10': 'detail'}, + { + '1': 'status', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.rpc.Status', + '10': 'status' + }, + ], + '4': [CheckError_Code$json], +}; + +@$core.Deprecated('Use checkErrorDescriptor instead') +const CheckError_Code$json = { + '1': 'Code', + '2': [ + {'1': 'ERROR_CODE_UNSPECIFIED', '2': 0}, + {'1': 'NOT_FOUND', '2': 5}, + {'1': 'PERMISSION_DENIED', '2': 7}, + {'1': 'RESOURCE_EXHAUSTED', '2': 8}, + {'1': 'SERVICE_NOT_ACTIVATED', '2': 104}, + {'1': 'BILLING_DISABLED', '2': 107}, + {'1': 'PROJECT_DELETED', '2': 108}, + {'1': 'PROJECT_INVALID', '2': 114}, + {'1': 'CONSUMER_INVALID', '2': 125}, + {'1': 'IP_ADDRESS_BLOCKED', '2': 109}, + {'1': 'REFERER_BLOCKED', '2': 110}, + {'1': 'CLIENT_APP_BLOCKED', '2': 111}, + {'1': 'API_TARGET_BLOCKED', '2': 122}, + {'1': 'API_KEY_INVALID', '2': 105}, + {'1': 'API_KEY_EXPIRED', '2': 112}, + {'1': 'API_KEY_NOT_FOUND', '2': 113}, + {'1': 'INVALID_CREDENTIAL', '2': 123}, + {'1': 'NAMESPACE_LOOKUP_UNAVAILABLE', '2': 300}, + {'1': 'SERVICE_STATUS_UNAVAILABLE', '2': 301}, + {'1': 'BILLING_STATUS_UNAVAILABLE', '2': 302}, + {'1': 'CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE', '2': 305}, + ], +}; + +/// Descriptor for `CheckError`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkErrorDescriptor = $convert.base64Decode( + 'CgpDaGVja0Vycm9yEkEKBGNvZGUYASABKA4yLS5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLn' + 'YxLkNoZWNrRXJyb3IuQ29kZVIEY29kZRIYCgdzdWJqZWN0GAQgASgJUgdzdWJqZWN0EhYKBmRl' + 'dGFpbBgCIAEoCVIGZGV0YWlsEioKBnN0YXR1cxgDIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzUg' + 'ZzdGF0dXMinQQKBENvZGUSGgoWRVJST1JfQ09ERV9VTlNQRUNJRklFRBAAEg0KCU5PVF9GT1VO' + 'RBAFEhUKEVBFUk1JU1NJT05fREVOSUVEEAcSFgoSUkVTT1VSQ0VfRVhIQVVTVEVEEAgSGQoVU0' + 'VSVklDRV9OT1RfQUNUSVZBVEVEEGgSFAoQQklMTElOR19ESVNBQkxFRBBrEhMKD1BST0pFQ1Rf' + 'REVMRVRFRBBsEhMKD1BST0pFQ1RfSU5WQUxJRBByEhQKEENPTlNVTUVSX0lOVkFMSUQQfRIWCh' + 'JJUF9BRERSRVNTX0JMT0NLRUQQbRITCg9SRUZFUkVSX0JMT0NLRUQQbhIWChJDTElFTlRfQVBQ' + 'X0JMT0NLRUQQbxIWChJBUElfVEFSR0VUX0JMT0NLRUQQehITCg9BUElfS0VZX0lOVkFMSUQQaR' + 'ITCg9BUElfS0VZX0VYUElSRUQQcBIVChFBUElfS0VZX05PVF9GT1VORBBxEhYKEklOVkFMSURf' + 'Q1JFREVOVElBTBB7EiEKHE5BTUVTUEFDRV9MT09LVVBfVU5BVkFJTEFCTEUQrAISHwoaU0VSVk' + 'lDRV9TVEFUVVNfVU5BVkFJTEFCTEUQrQISHwoaQklMTElOR19TVEFUVVNfVU5BVkFJTEFCTEUQ' + 'rgISLwoqQ0xPVURfUkVTT1VSQ0VfTUFOQUdFUl9CQUNLRU5EX1VOQVZBSUxBQkxFELEC'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pb.dart new file mode 100644 index 00000000..0bc62fbf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pb.dart @@ -0,0 +1,583 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/distribution.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../distribution.pb.dart' as $70; + +/// Describing buckets with constant width. +class Distribution_LinearBuckets extends $pb.GeneratedMessage { + factory Distribution_LinearBuckets({ + $core.int? numFiniteBuckets, + $core.double? width, + $core.double? offset, + }) { + final $result = create(); + if (numFiniteBuckets != null) { + $result.numFiniteBuckets = numFiniteBuckets; + } + if (width != null) { + $result.width = width; + } + if (offset != null) { + $result.offset = offset; + } + return $result; + } + Distribution_LinearBuckets._() : super(); + factory Distribution_LinearBuckets.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_LinearBuckets.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.LinearBuckets', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'numFiniteBuckets', $pb.PbFieldType.O3) + ..a<$core.double>(2, _omitFieldNames ? '' : 'width', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_LinearBuckets clone() => + Distribution_LinearBuckets()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_LinearBuckets copyWith( + void Function(Distribution_LinearBuckets) updates) => + super.copyWith( + (message) => updates(message as Distribution_LinearBuckets)) + as Distribution_LinearBuckets; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_LinearBuckets create() => Distribution_LinearBuckets._(); + Distribution_LinearBuckets createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_LinearBuckets getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution_LinearBuckets? _defaultInstance; + + /// The number of finite buckets. With the underflow and overflow buckets, + /// the total number of buckets is `num_finite_buckets` + 2. + /// See comments on `bucket_options` for details. + @$pb.TagNumber(1) + $core.int get numFiniteBuckets => $_getIZ(0); + @$pb.TagNumber(1) + set numFiniteBuckets($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasNumFiniteBuckets() => $_has(0); + @$pb.TagNumber(1) + void clearNumFiniteBuckets() => clearField(1); + + /// The i'th linear bucket covers the interval + /// [offset + (i-1) * width, offset + i * width) + /// where i ranges from 1 to num_finite_buckets, inclusive. + /// Must be strictly positive. + @$pb.TagNumber(2) + $core.double get width => $_getN(1); + @$pb.TagNumber(2) + set width($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasWidth() => $_has(1); + @$pb.TagNumber(2) + void clearWidth() => clearField(2); + + /// The i'th linear bucket covers the interval + /// [offset + (i-1) * width, offset + i * width) + /// where i ranges from 1 to num_finite_buckets, inclusive. + @$pb.TagNumber(3) + $core.double get offset => $_getN(2); + @$pb.TagNumber(3) + set offset($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOffset() => $_has(2); + @$pb.TagNumber(3) + void clearOffset() => clearField(3); +} + +/// Describing buckets with exponentially growing width. +class Distribution_ExponentialBuckets extends $pb.GeneratedMessage { + factory Distribution_ExponentialBuckets({ + $core.int? numFiniteBuckets, + $core.double? growthFactor, + $core.double? scale, + }) { + final $result = create(); + if (numFiniteBuckets != null) { + $result.numFiniteBuckets = numFiniteBuckets; + } + if (growthFactor != null) { + $result.growthFactor = growthFactor; + } + if (scale != null) { + $result.scale = scale; + } + return $result; + } + Distribution_ExponentialBuckets._() : super(); + factory Distribution_ExponentialBuckets.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_ExponentialBuckets.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.ExponentialBuckets', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'numFiniteBuckets', $pb.PbFieldType.O3) + ..a<$core.double>( + 2, _omitFieldNames ? '' : 'growthFactor', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'scale', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_ExponentialBuckets clone() => + Distribution_ExponentialBuckets()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_ExponentialBuckets copyWith( + void Function(Distribution_ExponentialBuckets) updates) => + super.copyWith( + (message) => updates(message as Distribution_ExponentialBuckets)) + as Distribution_ExponentialBuckets; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_ExponentialBuckets create() => + Distribution_ExponentialBuckets._(); + Distribution_ExponentialBuckets createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_ExponentialBuckets getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static Distribution_ExponentialBuckets? _defaultInstance; + + /// The number of finite buckets. With the underflow and overflow buckets, + /// the total number of buckets is `num_finite_buckets` + 2. + /// See comments on `bucket_options` for details. + @$pb.TagNumber(1) + $core.int get numFiniteBuckets => $_getIZ(0); + @$pb.TagNumber(1) + set numFiniteBuckets($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasNumFiniteBuckets() => $_has(0); + @$pb.TagNumber(1) + void clearNumFiniteBuckets() => clearField(1); + + /// The i'th exponential bucket covers the interval + /// [scale * growth_factor^(i-1), scale * growth_factor^i) + /// where i ranges from 1 to num_finite_buckets inclusive. + /// Must be larger than 1.0. + @$pb.TagNumber(2) + $core.double get growthFactor => $_getN(1); + @$pb.TagNumber(2) + set growthFactor($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasGrowthFactor() => $_has(1); + @$pb.TagNumber(2) + void clearGrowthFactor() => clearField(2); + + /// The i'th exponential bucket covers the interval + /// [scale * growth_factor^(i-1), scale * growth_factor^i) + /// where i ranges from 1 to num_finite_buckets inclusive. + /// Must be > 0. + @$pb.TagNumber(3) + $core.double get scale => $_getN(2); + @$pb.TagNumber(3) + set scale($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasScale() => $_has(2); + @$pb.TagNumber(3) + void clearScale() => clearField(3); +} + +/// Describing buckets with arbitrary user-provided width. +class Distribution_ExplicitBuckets extends $pb.GeneratedMessage { + factory Distribution_ExplicitBuckets({ + $core.Iterable<$core.double>? bounds, + }) { + final $result = create(); + if (bounds != null) { + $result.bounds.addAll(bounds); + } + return $result; + } + Distribution_ExplicitBuckets._() : super(); + factory Distribution_ExplicitBuckets.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution_ExplicitBuckets.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution.ExplicitBuckets', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..p<$core.double>(1, _omitFieldNames ? '' : 'bounds', $pb.PbFieldType.KD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution_ExplicitBuckets clone() => + Distribution_ExplicitBuckets()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution_ExplicitBuckets copyWith( + void Function(Distribution_ExplicitBuckets) updates) => + super.copyWith( + (message) => updates(message as Distribution_ExplicitBuckets)) + as Distribution_ExplicitBuckets; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution_ExplicitBuckets create() => + Distribution_ExplicitBuckets._(); + Distribution_ExplicitBuckets createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution_ExplicitBuckets getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution_ExplicitBuckets? _defaultInstance; + + /// 'bound' is a list of strictly increasing boundaries between + /// buckets. Note that a list of length N-1 defines N buckets because + /// of fenceposting. See comments on `bucket_options` for details. + /// + /// The i'th finite bucket covers the interval + /// [bound[i-1], bound[i]) + /// where i ranges from 1 to bound_size() - 1. Note that there are no + /// finite buckets at all if 'bound' only contains a single element; in + /// that special case the single bound defines the boundary between the + /// underflow and overflow buckets. + /// + /// bucket number lower bound upper bound + /// i == 0 (underflow) -inf bound[i] + /// 0 < i < bound_size() bound[i-1] bound[i] + /// i == bound_size() (overflow) bound[i-1] +inf + @$pb.TagNumber(1) + $core.List<$core.double> get bounds => $_getList(0); +} + +enum Distribution_BucketOption { + linearBuckets, + exponentialBuckets, + explicitBuckets, + notSet +} + +/// Distribution represents a frequency distribution of double-valued sample +/// points. It contains the size of the population of sample points plus +/// additional optional information: +/// +/// * the arithmetic mean of the samples +/// * the minimum and maximum of the samples +/// * the sum-squared-deviation of the samples, used to compute variance +/// * a histogram of the values of the sample points +class Distribution extends $pb.GeneratedMessage { + factory Distribution({ + $fixnum.Int64? count, + $core.double? mean, + $core.double? minimum, + $core.double? maximum, + $core.double? sumOfSquaredDeviation, + $core.Iterable<$fixnum.Int64>? bucketCounts, + Distribution_LinearBuckets? linearBuckets, + Distribution_ExponentialBuckets? exponentialBuckets, + Distribution_ExplicitBuckets? explicitBuckets, + $core.Iterable<$70.Distribution_Exemplar>? exemplars, + }) { + final $result = create(); + if (count != null) { + $result.count = count; + } + if (mean != null) { + $result.mean = mean; + } + if (minimum != null) { + $result.minimum = minimum; + } + if (maximum != null) { + $result.maximum = maximum; + } + if (sumOfSquaredDeviation != null) { + $result.sumOfSquaredDeviation = sumOfSquaredDeviation; + } + if (bucketCounts != null) { + $result.bucketCounts.addAll(bucketCounts); + } + if (linearBuckets != null) { + $result.linearBuckets = linearBuckets; + } + if (exponentialBuckets != null) { + $result.exponentialBuckets = exponentialBuckets; + } + if (explicitBuckets != null) { + $result.explicitBuckets = explicitBuckets; + } + if (exemplars != null) { + $result.exemplars.addAll(exemplars); + } + return $result; + } + Distribution._() : super(); + factory Distribution.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Distribution.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Distribution_BucketOption> + _Distribution_BucketOptionByTag = { + 7: Distribution_BucketOption.linearBuckets, + 8: Distribution_BucketOption.exponentialBuckets, + 9: Distribution_BucketOption.explicitBuckets, + 0: Distribution_BucketOption.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Distribution', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..oo(0, [7, 8, 9]) + ..aInt64(1, _omitFieldNames ? '' : 'count') + ..a<$core.double>(2, _omitFieldNames ? '' : 'mean', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'minimum', $pb.PbFieldType.OD) + ..a<$core.double>(4, _omitFieldNames ? '' : 'maximum', $pb.PbFieldType.OD) + ..a<$core.double>( + 5, _omitFieldNames ? '' : 'sumOfSquaredDeviation', $pb.PbFieldType.OD) + ..p<$fixnum.Int64>( + 6, _omitFieldNames ? '' : 'bucketCounts', $pb.PbFieldType.K6) + ..aOM(7, _omitFieldNames ? '' : 'linearBuckets', + subBuilder: Distribution_LinearBuckets.create) + ..aOM( + 8, _omitFieldNames ? '' : 'exponentialBuckets', + subBuilder: Distribution_ExponentialBuckets.create) + ..aOM( + 9, _omitFieldNames ? '' : 'explicitBuckets', + subBuilder: Distribution_ExplicitBuckets.create) + ..pc<$70.Distribution_Exemplar>( + 10, _omitFieldNames ? '' : 'exemplars', $pb.PbFieldType.PM, + subBuilder: $70.Distribution_Exemplar.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Distribution clone() => Distribution()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Distribution copyWith(void Function(Distribution) updates) => + super.copyWith((message) => updates(message as Distribution)) + as Distribution; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Distribution create() => Distribution._(); + Distribution createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Distribution getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Distribution? _defaultInstance; + + Distribution_BucketOption whichBucketOption() => + _Distribution_BucketOptionByTag[$_whichOneof(0)]!; + void clearBucketOption() => clearField($_whichOneof(0)); + + /// The total number of samples in the distribution. Must be >= 0. + @$pb.TagNumber(1) + $fixnum.Int64 get count => $_getI64(0); + @$pb.TagNumber(1) + set count($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCount() => $_has(0); + @$pb.TagNumber(1) + void clearCount() => clearField(1); + + /// The arithmetic mean of the samples in the distribution. If `count` is + /// zero then this field must be zero. + @$pb.TagNumber(2) + $core.double get mean => $_getN(1); + @$pb.TagNumber(2) + set mean($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMean() => $_has(1); + @$pb.TagNumber(2) + void clearMean() => clearField(2); + + /// The minimum of the population of values. Ignored if `count` is zero. + @$pb.TagNumber(3) + $core.double get minimum => $_getN(2); + @$pb.TagNumber(3) + set minimum($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMinimum() => $_has(2); + @$pb.TagNumber(3) + void clearMinimum() => clearField(3); + + /// The maximum of the population of values. Ignored if `count` is zero. + @$pb.TagNumber(4) + $core.double get maximum => $_getN(3); + @$pb.TagNumber(4) + set maximum($core.double v) { + $_setDouble(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMaximum() => $_has(3); + @$pb.TagNumber(4) + void clearMaximum() => clearField(4); + + /// The sum of squared deviations from the mean: + /// Sum[i=1..count]((x_i - mean)^2) + /// where each x_i is a sample values. If `count` is zero then this field + /// must be zero, otherwise validation of the request fails. + @$pb.TagNumber(5) + $core.double get sumOfSquaredDeviation => $_getN(4); + @$pb.TagNumber(5) + set sumOfSquaredDeviation($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasSumOfSquaredDeviation() => $_has(4); + @$pb.TagNumber(5) + void clearSumOfSquaredDeviation() => clearField(5); + + /// The number of samples in each histogram bucket. `bucket_counts` are + /// optional. If present, they must sum to the `count` value. + /// + /// The buckets are defined below in `bucket_option`. There are N buckets. + /// `bucket_counts[0]` is the number of samples in the underflow bucket. + /// `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples + /// in each of the finite buckets. And `bucket_counts[N] is the number + /// of samples in the overflow bucket. See the comments of `bucket_option` + /// below for more details. + /// + /// Any suffix of trailing zeros may be omitted. + @$pb.TagNumber(6) + $core.List<$fixnum.Int64> get bucketCounts => $_getList(5); + + /// Buckets with constant width. + @$pb.TagNumber(7) + Distribution_LinearBuckets get linearBuckets => $_getN(6); + @$pb.TagNumber(7) + set linearBuckets(Distribution_LinearBuckets v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasLinearBuckets() => $_has(6); + @$pb.TagNumber(7) + void clearLinearBuckets() => clearField(7); + @$pb.TagNumber(7) + Distribution_LinearBuckets ensureLinearBuckets() => $_ensure(6); + + /// Buckets with exponentially growing width. + @$pb.TagNumber(8) + Distribution_ExponentialBuckets get exponentialBuckets => $_getN(7); + @$pb.TagNumber(8) + set exponentialBuckets(Distribution_ExponentialBuckets v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasExponentialBuckets() => $_has(7); + @$pb.TagNumber(8) + void clearExponentialBuckets() => clearField(8); + @$pb.TagNumber(8) + Distribution_ExponentialBuckets ensureExponentialBuckets() => $_ensure(7); + + /// Buckets with arbitrary user-provided width. + @$pb.TagNumber(9) + Distribution_ExplicitBuckets get explicitBuckets => $_getN(8); + @$pb.TagNumber(9) + set explicitBuckets(Distribution_ExplicitBuckets v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasExplicitBuckets() => $_has(8); + @$pb.TagNumber(9) + void clearExplicitBuckets() => clearField(9); + @$pb.TagNumber(9) + Distribution_ExplicitBuckets ensureExplicitBuckets() => $_ensure(8); + + /// Example points. Must be in increasing order of `value` field. + @$pb.TagNumber(10) + $core.List<$70.Distribution_Exemplar> get exemplars => $_getList(9); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pbenum.dart new file mode 100644 index 00000000..97b512d4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/distribution.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pbjson.dart new file mode 100644 index 00000000..ea9c528f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/distribution.pbjson.dart @@ -0,0 +1,135 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/distribution.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution$json = { + '1': 'Distribution', + '2': [ + {'1': 'count', '3': 1, '4': 1, '5': 3, '10': 'count'}, + {'1': 'mean', '3': 2, '4': 1, '5': 1, '10': 'mean'}, + {'1': 'minimum', '3': 3, '4': 1, '5': 1, '10': 'minimum'}, + {'1': 'maximum', '3': 4, '4': 1, '5': 1, '10': 'maximum'}, + { + '1': 'sum_of_squared_deviation', + '3': 5, + '4': 1, + '5': 1, + '10': 'sumOfSquaredDeviation' + }, + {'1': 'bucket_counts', '3': 6, '4': 3, '5': 3, '10': 'bucketCounts'}, + { + '1': 'linear_buckets', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.Distribution.LinearBuckets', + '9': 0, + '10': 'linearBuckets' + }, + { + '1': 'exponential_buckets', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.Distribution.ExponentialBuckets', + '9': 0, + '10': 'exponentialBuckets' + }, + { + '1': 'explicit_buckets', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.Distribution.ExplicitBuckets', + '9': 0, + '10': 'explicitBuckets' + }, + { + '1': 'exemplars', + '3': 10, + '4': 3, + '5': 11, + '6': '.google.api.Distribution.Exemplar', + '10': 'exemplars' + }, + ], + '3': [ + Distribution_LinearBuckets$json, + Distribution_ExponentialBuckets$json, + Distribution_ExplicitBuckets$json + ], + '8': [ + {'1': 'bucket_option'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_LinearBuckets$json = { + '1': 'LinearBuckets', + '2': [ + { + '1': 'num_finite_buckets', + '3': 1, + '4': 1, + '5': 5, + '10': 'numFiniteBuckets' + }, + {'1': 'width', '3': 2, '4': 1, '5': 1, '10': 'width'}, + {'1': 'offset', '3': 3, '4': 1, '5': 1, '10': 'offset'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_ExponentialBuckets$json = { + '1': 'ExponentialBuckets', + '2': [ + { + '1': 'num_finite_buckets', + '3': 1, + '4': 1, + '5': 5, + '10': 'numFiniteBuckets' + }, + {'1': 'growth_factor', '3': 2, '4': 1, '5': 1, '10': 'growthFactor'}, + {'1': 'scale', '3': 3, '4': 1, '5': 1, '10': 'scale'}, + ], +}; + +@$core.Deprecated('Use distributionDescriptor instead') +const Distribution_ExplicitBuckets$json = { + '1': 'ExplicitBuckets', + '2': [ + {'1': 'bounds', '3': 1, '4': 3, '5': 1, '10': 'bounds'}, + ], +}; + +/// Descriptor for `Distribution`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List distributionDescriptor = $convert.base64Decode( + 'CgxEaXN0cmlidXRpb24SFAoFY291bnQYASABKANSBWNvdW50EhIKBG1lYW4YAiABKAFSBG1lYW' + '4SGAoHbWluaW11bRgDIAEoAVIHbWluaW11bRIYCgdtYXhpbXVtGAQgASgBUgdtYXhpbXVtEjcK' + 'GHN1bV9vZl9zcXVhcmVkX2RldmlhdGlvbhgFIAEoAVIVc3VtT2ZTcXVhcmVkRGV2aWF0aW9uEi' + 'MKDWJ1Y2tldF9jb3VudHMYBiADKANSDGJ1Y2tldENvdW50cxJhCg5saW5lYXJfYnVja2V0cxgH' + 'IAEoCzI4Lmdvb2dsZS5hcGkuc2VydmljZWNvbnRyb2wudjEuRGlzdHJpYnV0aW9uLkxpbmVhck' + 'J1Y2tldHNIAFINbGluZWFyQnVja2V0cxJwChNleHBvbmVudGlhbF9idWNrZXRzGAggASgLMj0u' + 'Z29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5EaXN0cmlidXRpb24uRXhwb25lbnRpYWxCdW' + 'NrZXRzSABSEmV4cG9uZW50aWFsQnVja2V0cxJnChBleHBsaWNpdF9idWNrZXRzGAkgASgLMjou' + 'Z29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5EaXN0cmlidXRpb24uRXhwbGljaXRCdWNrZX' + 'RzSABSD2V4cGxpY2l0QnVja2V0cxI/CglleGVtcGxhcnMYCiADKAsyIS5nb29nbGUuYXBpLkRp' + 'c3RyaWJ1dGlvbi5FeGVtcGxhclIJZXhlbXBsYXJzGmsKDUxpbmVhckJ1Y2tldHMSLAoSbnVtX2' + 'Zpbml0ZV9idWNrZXRzGAEgASgFUhBudW1GaW5pdGVCdWNrZXRzEhQKBXdpZHRoGAIgASgBUgV3' + 'aWR0aBIWCgZvZmZzZXQYAyABKAFSBm9mZnNldBp9ChJFeHBvbmVudGlhbEJ1Y2tldHMSLAoSbn' + 'VtX2Zpbml0ZV9idWNrZXRzGAEgASgFUhBudW1GaW5pdGVCdWNrZXRzEiMKDWdyb3d0aF9mYWN0' + 'b3IYAiABKAFSDGdyb3d0aEZhY3RvchIUCgVzY2FsZRgDIAEoAVIFc2NhbGUaKQoPRXhwbGljaX' + 'RCdWNrZXRzEhYKBmJvdW5kcxgBIAMoAVIGYm91bmRzQg8KDWJ1Y2tldF9vcHRpb24='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pb.dart new file mode 100644 index 00000000..8d759cf0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pb.dart @@ -0,0 +1,357 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/http_request.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/duration.pb.dart' as $51; + +/// 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. +class HttpRequest extends $pb.GeneratedMessage { + factory HttpRequest({ + $core.String? requestMethod, + $core.String? requestUrl, + $fixnum.Int64? requestSize, + $core.int? status, + $fixnum.Int64? responseSize, + $core.String? userAgent, + $core.String? remoteIp, + $core.String? referer, + $core.bool? cacheHit, + $core.bool? cacheValidatedWithOriginServer, + $core.bool? cacheLookup, + $fixnum.Int64? cacheFillBytes, + $core.String? serverIp, + $51.Duration? latency, + $core.String? protocol, + }) { + final $result = create(); + if (requestMethod != null) { + $result.requestMethod = requestMethod; + } + if (requestUrl != null) { + $result.requestUrl = requestUrl; + } + if (requestSize != null) { + $result.requestSize = requestSize; + } + if (status != null) { + $result.status = status; + } + if (responseSize != null) { + $result.responseSize = responseSize; + } + if (userAgent != null) { + $result.userAgent = userAgent; + } + if (remoteIp != null) { + $result.remoteIp = remoteIp; + } + if (referer != null) { + $result.referer = referer; + } + if (cacheHit != null) { + $result.cacheHit = cacheHit; + } + if (cacheValidatedWithOriginServer != null) { + $result.cacheValidatedWithOriginServer = cacheValidatedWithOriginServer; + } + if (cacheLookup != null) { + $result.cacheLookup = cacheLookup; + } + if (cacheFillBytes != null) { + $result.cacheFillBytes = cacheFillBytes; + } + if (serverIp != null) { + $result.serverIp = serverIp; + } + if (latency != null) { + $result.latency = latency; + } + if (protocol != null) { + $result.protocol = protocol; + } + return $result; + } + HttpRequest._() : super(); + factory HttpRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory HttpRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'HttpRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'requestMethod') + ..aOS(2, _omitFieldNames ? '' : 'requestUrl') + ..aInt64(3, _omitFieldNames ? '' : 'requestSize') + ..a<$core.int>(4, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3) + ..aInt64(5, _omitFieldNames ? '' : 'responseSize') + ..aOS(6, _omitFieldNames ? '' : 'userAgent') + ..aOS(7, _omitFieldNames ? '' : 'remoteIp') + ..aOS(8, _omitFieldNames ? '' : 'referer') + ..aOB(9, _omitFieldNames ? '' : 'cacheHit') + ..aOB(10, _omitFieldNames ? '' : 'cacheValidatedWithOriginServer') + ..aOB(11, _omitFieldNames ? '' : 'cacheLookup') + ..aInt64(12, _omitFieldNames ? '' : 'cacheFillBytes') + ..aOS(13, _omitFieldNames ? '' : 'serverIp') + ..aOM<$51.Duration>(14, _omitFieldNames ? '' : 'latency', + subBuilder: $51.Duration.create) + ..aOS(15, _omitFieldNames ? '' : 'protocol') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HttpRequest clone() => HttpRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HttpRequest copyWith(void Function(HttpRequest) updates) => + super.copyWith((message) => updates(message as HttpRequest)) + as HttpRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HttpRequest create() => HttpRequest._(); + HttpRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HttpRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static HttpRequest? _defaultInstance; + + /// The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. + @$pb.TagNumber(1) + $core.String get requestMethod => $_getSZ(0); + @$pb.TagNumber(1) + set requestMethod($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequestMethod() => $_has(0); + @$pb.TagNumber(1) + void clearRequestMethod() => clearField(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"`. + @$pb.TagNumber(2) + $core.String get requestUrl => $_getSZ(1); + @$pb.TagNumber(2) + set requestUrl($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRequestUrl() => $_has(1); + @$pb.TagNumber(2) + void clearRequestUrl() => clearField(2); + + /// The size of the HTTP request message in bytes, including the request + /// headers and the request body. + @$pb.TagNumber(3) + $fixnum.Int64 get requestSize => $_getI64(2); + @$pb.TagNumber(3) + set requestSize($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasRequestSize() => $_has(2); + @$pb.TagNumber(3) + void clearRequestSize() => clearField(3); + + /// The response code indicating the status of the response. + /// Examples: 200, 404. + @$pb.TagNumber(4) + $core.int get status => $_getIZ(3); + @$pb.TagNumber(4) + set status($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasStatus() => $_has(3); + @$pb.TagNumber(4) + void clearStatus() => clearField(4); + + /// The size of the HTTP response message sent back to the client, in bytes, + /// including the response headers and the response body. + @$pb.TagNumber(5) + $fixnum.Int64 get responseSize => $_getI64(4); + @$pb.TagNumber(5) + set responseSize($fixnum.Int64 v) { + $_setInt64(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasResponseSize() => $_has(4); + @$pb.TagNumber(5) + void clearResponseSize() => clearField(5); + + /// The user agent sent by the client. Example: + /// `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET + /// CLR 1.0.3705)"`. + @$pb.TagNumber(6) + $core.String get userAgent => $_getSZ(5); + @$pb.TagNumber(6) + set userAgent($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasUserAgent() => $_has(5); + @$pb.TagNumber(6) + void clearUserAgent() => clearField(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"`. + @$pb.TagNumber(7) + $core.String get remoteIp => $_getSZ(6); + @$pb.TagNumber(7) + set remoteIp($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasRemoteIp() => $_has(6); + @$pb.TagNumber(7) + void clearRemoteIp() => clearField(7); + + /// The referer URL of the request, as defined in + /// [HTTP/1.1 Header Field + /// Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + @$pb.TagNumber(8) + $core.String get referer => $_getSZ(7); + @$pb.TagNumber(8) + set referer($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasReferer() => $_has(7); + @$pb.TagNumber(8) + void clearReferer() => clearField(8); + + /// Whether or not an entity was served from cache + /// (with or without validation). + @$pb.TagNumber(9) + $core.bool get cacheHit => $_getBF(8); + @$pb.TagNumber(9) + set cacheHit($core.bool v) { + $_setBool(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasCacheHit() => $_has(8); + @$pb.TagNumber(9) + void clearCacheHit() => clearField(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. + @$pb.TagNumber(10) + $core.bool get cacheValidatedWithOriginServer => $_getBF(9); + @$pb.TagNumber(10) + set cacheValidatedWithOriginServer($core.bool v) { + $_setBool(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasCacheValidatedWithOriginServer() => $_has(9); + @$pb.TagNumber(10) + void clearCacheValidatedWithOriginServer() => clearField(10); + + /// Whether or not a cache lookup was attempted. + @$pb.TagNumber(11) + $core.bool get cacheLookup => $_getBF(10); + @$pb.TagNumber(11) + set cacheLookup($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasCacheLookup() => $_has(10); + @$pb.TagNumber(11) + void clearCacheLookup() => clearField(11); + + /// The number of HTTP response bytes inserted into cache. Set only when a + /// cache fill was attempted. + @$pb.TagNumber(12) + $fixnum.Int64 get cacheFillBytes => $_getI64(11); + @$pb.TagNumber(12) + set cacheFillBytes($fixnum.Int64 v) { + $_setInt64(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasCacheFillBytes() => $_has(11); + @$pb.TagNumber(12) + void clearCacheFillBytes() => clearField(12); + + /// The IP address (IPv4 or IPv6) of the origin server that the request was + /// sent to. + @$pb.TagNumber(13) + $core.String get serverIp => $_getSZ(12); + @$pb.TagNumber(13) + set serverIp($core.String v) { + $_setString(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasServerIp() => $_has(12); + @$pb.TagNumber(13) + void clearServerIp() => clearField(13); + + /// The request processing latency on the server, from the time the request was + /// received until the response was sent. + @$pb.TagNumber(14) + $51.Duration get latency => $_getN(13); + @$pb.TagNumber(14) + set latency($51.Duration v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasLatency() => $_has(13); + @$pb.TagNumber(14) + void clearLatency() => clearField(14); + @$pb.TagNumber(14) + $51.Duration ensureLatency() => $_ensure(13); + + /// Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" + @$pb.TagNumber(15) + $core.String get protocol => $_getSZ(14); + @$pb.TagNumber(15) + set protocol($core.String v) { + $_setString(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasProtocol() => $_has(14); + @$pb.TagNumber(15) + void clearProtocol() => clearField(15); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pbenum.dart new file mode 100644 index 00000000..934b5665 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/http_request.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pbjson.dart new file mode 100644 index 00000000..e2a6e627 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/http_request.pbjson.dart @@ -0,0 +1,63 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/http_request.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use httpRequestDescriptor instead') +const HttpRequest$json = { + '1': 'HttpRequest', + '2': [ + {'1': 'request_method', '3': 1, '4': 1, '5': 9, '10': 'requestMethod'}, + {'1': 'request_url', '3': 2, '4': 1, '5': 9, '10': 'requestUrl'}, + {'1': 'request_size', '3': 3, '4': 1, '5': 3, '10': 'requestSize'}, + {'1': 'status', '3': 4, '4': 1, '5': 5, '10': 'status'}, + {'1': 'response_size', '3': 5, '4': 1, '5': 3, '10': 'responseSize'}, + {'1': 'user_agent', '3': 6, '4': 1, '5': 9, '10': 'userAgent'}, + {'1': 'remote_ip', '3': 7, '4': 1, '5': 9, '10': 'remoteIp'}, + {'1': 'server_ip', '3': 13, '4': 1, '5': 9, '10': 'serverIp'}, + {'1': 'referer', '3': 8, '4': 1, '5': 9, '10': 'referer'}, + { + '1': 'latency', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'latency' + }, + {'1': 'cache_lookup', '3': 11, '4': 1, '5': 8, '10': 'cacheLookup'}, + {'1': 'cache_hit', '3': 9, '4': 1, '5': 8, '10': 'cacheHit'}, + { + '1': 'cache_validated_with_origin_server', + '3': 10, + '4': 1, + '5': 8, + '10': 'cacheValidatedWithOriginServer' + }, + {'1': 'cache_fill_bytes', '3': 12, '4': 1, '5': 3, '10': 'cacheFillBytes'}, + {'1': 'protocol', '3': 15, '4': 1, '5': 9, '10': 'protocol'}, + ], +}; + +/// Descriptor for `HttpRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List httpRequestDescriptor = $convert.base64Decode( + 'CgtIdHRwUmVxdWVzdBIlCg5yZXF1ZXN0X21ldGhvZBgBIAEoCVINcmVxdWVzdE1ldGhvZBIfCg' + 'tyZXF1ZXN0X3VybBgCIAEoCVIKcmVxdWVzdFVybBIhCgxyZXF1ZXN0X3NpemUYAyABKANSC3Jl' + 'cXVlc3RTaXplEhYKBnN0YXR1cxgEIAEoBVIGc3RhdHVzEiMKDXJlc3BvbnNlX3NpemUYBSABKA' + 'NSDHJlc3BvbnNlU2l6ZRIdCgp1c2VyX2FnZW50GAYgASgJUgl1c2VyQWdlbnQSGwoJcmVtb3Rl' + 'X2lwGAcgASgJUghyZW1vdGVJcBIbCglzZXJ2ZXJfaXAYDSABKAlSCHNlcnZlcklwEhgKB3JlZm' + 'VyZXIYCCABKAlSB3JlZmVyZXISMwoHbGF0ZW5jeRgOIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5E' + 'dXJhdGlvblIHbGF0ZW5jeRIhCgxjYWNoZV9sb29rdXAYCyABKAhSC2NhY2hlTG9va3VwEhsKCW' + 'NhY2hlX2hpdBgJIAEoCFIIY2FjaGVIaXQSSgoiY2FjaGVfdmFsaWRhdGVkX3dpdGhfb3JpZ2lu' + 'X3NlcnZlchgKIAEoCFIeY2FjaGVWYWxpZGF0ZWRXaXRoT3JpZ2luU2VydmVyEigKEGNhY2hlX2' + 'ZpbGxfYnl0ZXMYDCABKANSDmNhY2hlRmlsbEJ5dGVzEhoKCHByb3RvY29sGA8gASgJUghwcm90' + 'b2NvbA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pb.dart new file mode 100644 index 00000000..865c7c64 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pb.dart @@ -0,0 +1,560 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/log_entry.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../logging/type/log_severity.pbenum.dart' as $64; +import '../../../protobuf/any.pb.dart' as $49; +import '../../../protobuf/struct.pb.dart' as $48; +import '../../../protobuf/timestamp.pb.dart' as $50; +import 'http_request.pb.dart' as $107; + +enum LogEntry_Payload { protoPayload, textPayload, structPayload, notSet } + +/// An individual log entry. +class LogEntry extends $pb.GeneratedMessage { + factory LogEntry({ + $49.Any? protoPayload, + $core.String? textPayload, + $core.String? insertId, + $48.Struct? structPayload, + $core.String? name, + $50.Timestamp? timestamp, + $64.LogSeverity? severity, + $core.Map<$core.String, $core.String>? labels, + $107.HttpRequest? httpRequest, + $core.String? trace, + LogEntryOperation? operation, + LogEntrySourceLocation? sourceLocation, + }) { + final $result = create(); + if (protoPayload != null) { + $result.protoPayload = protoPayload; + } + if (textPayload != null) { + $result.textPayload = textPayload; + } + if (insertId != null) { + $result.insertId = insertId; + } + if (structPayload != null) { + $result.structPayload = structPayload; + } + if (name != null) { + $result.name = name; + } + if (timestamp != null) { + $result.timestamp = timestamp; + } + if (severity != null) { + $result.severity = severity; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (httpRequest != null) { + $result.httpRequest = httpRequest; + } + if (trace != null) { + $result.trace = trace; + } + if (operation != null) { + $result.operation = operation; + } + if (sourceLocation != null) { + $result.sourceLocation = sourceLocation; + } + return $result; + } + LogEntry._() : super(); + factory LogEntry.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogEntry.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, LogEntry_Payload> _LogEntry_PayloadByTag = { + 2: LogEntry_Payload.protoPayload, + 3: LogEntry_Payload.textPayload, + 6: LogEntry_Payload.structPayload, + 0: LogEntry_Payload.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogEntry', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..oo(0, [2, 3, 6]) + ..aOM<$49.Any>(2, _omitFieldNames ? '' : 'protoPayload', + subBuilder: $49.Any.create) + ..aOS(3, _omitFieldNames ? '' : 'textPayload') + ..aOS(4, _omitFieldNames ? '' : 'insertId') + ..aOM<$48.Struct>(6, _omitFieldNames ? '' : 'structPayload', + subBuilder: $48.Struct.create) + ..aOS(10, _omitFieldNames ? '' : 'name') + ..aOM<$50.Timestamp>(11, _omitFieldNames ? '' : 'timestamp', + subBuilder: $50.Timestamp.create) + ..e<$64.LogSeverity>( + 12, _omitFieldNames ? '' : 'severity', $pb.PbFieldType.OE, + defaultOrMaker: $64.LogSeverity.DEFAULT, + valueOf: $64.LogSeverity.valueOf, + enumValues: $64.LogSeverity.values) + ..m<$core.String, $core.String>(13, _omitFieldNames ? '' : 'labels', + entryClassName: 'LogEntry.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.servicecontrol.v1')) + ..aOM<$107.HttpRequest>(14, _omitFieldNames ? '' : 'httpRequest', + subBuilder: $107.HttpRequest.create) + ..aOS(15, _omitFieldNames ? '' : 'trace') + ..aOM(16, _omitFieldNames ? '' : 'operation', + subBuilder: LogEntryOperation.create) + ..aOM(17, _omitFieldNames ? '' : 'sourceLocation', + subBuilder: LogEntrySourceLocation.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogEntry clone() => LogEntry()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogEntry copyWith(void Function(LogEntry) updates) => + super.copyWith((message) => updates(message as LogEntry)) as LogEntry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogEntry create() => LogEntry._(); + LogEntry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogEntry getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogEntry? _defaultInstance; + + LogEntry_Payload whichPayload() => _LogEntry_PayloadByTag[$_whichOneof(0)]!; + void clearPayload() => clearField($_whichOneof(0)); + + /// The log entry payload, represented as a protocol buffer that is + /// expressed as a JSON object. The only accepted type currently is + /// [AuditLog][google.cloud.audit.AuditLog]. + @$pb.TagNumber(2) + $49.Any get protoPayload => $_getN(0); + @$pb.TagNumber(2) + set protoPayload($49.Any v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProtoPayload() => $_has(0); + @$pb.TagNumber(2) + void clearProtoPayload() => clearField(2); + @$pb.TagNumber(2) + $49.Any ensureProtoPayload() => $_ensure(0); + + /// The log entry payload, represented as a Unicode string (UTF-8). + @$pb.TagNumber(3) + $core.String get textPayload => $_getSZ(1); + @$pb.TagNumber(3) + set textPayload($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasTextPayload() => $_has(1); + @$pb.TagNumber(3) + void clearTextPayload() => clearField(3); + + /// A unique ID for the log entry used for deduplication. If omitted, + /// the implementation will generate one based on operation_id. + @$pb.TagNumber(4) + $core.String get insertId => $_getSZ(2); + @$pb.TagNumber(4) + set insertId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasInsertId() => $_has(2); + @$pb.TagNumber(4) + void clearInsertId() => clearField(4); + + /// The log entry payload, represented as a structure that + /// is expressed as a JSON object. + @$pb.TagNumber(6) + $48.Struct get structPayload => $_getN(3); + @$pb.TagNumber(6) + set structPayload($48.Struct v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasStructPayload() => $_has(3); + @$pb.TagNumber(6) + void clearStructPayload() => clearField(6); + @$pb.TagNumber(6) + $48.Struct ensureStructPayload() => $_ensure(3); + + /// Required. The log to which this log entry belongs. Examples: `"syslog"`, + /// `"book_log"`. + @$pb.TagNumber(10) + $core.String get name => $_getSZ(4); + @$pb.TagNumber(10) + set name($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(10) + $core.bool hasName() => $_has(4); + @$pb.TagNumber(10) + void clearName() => clearField(10); + + /// The time the event described by the log entry occurred. If + /// omitted, defaults to operation start time. + @$pb.TagNumber(11) + $50.Timestamp get timestamp => $_getN(5); + @$pb.TagNumber(11) + set timestamp($50.Timestamp v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasTimestamp() => $_has(5); + @$pb.TagNumber(11) + void clearTimestamp() => clearField(11); + @$pb.TagNumber(11) + $50.Timestamp ensureTimestamp() => $_ensure(5); + + /// The severity of the log entry. The default value is + /// `LogSeverity.DEFAULT`. + @$pb.TagNumber(12) + $64.LogSeverity get severity => $_getN(6); + @$pb.TagNumber(12) + set severity($64.LogSeverity v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasSeverity() => $_has(6); + @$pb.TagNumber(12) + void clearSeverity() => clearField(12); + + /// A set of user-defined (key, value) data that provides additional + /// information about the log entry. + @$pb.TagNumber(13) + $core.Map<$core.String, $core.String> get labels => $_getMap(7); + + /// Optional. Information about the HTTP request associated with this + /// log entry, if applicable. + @$pb.TagNumber(14) + $107.HttpRequest get httpRequest => $_getN(8); + @$pb.TagNumber(14) + set httpRequest($107.HttpRequest v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasHttpRequest() => $_has(8); + @$pb.TagNumber(14) + void clearHttpRequest() => clearField(14); + @$pb.TagNumber(14) + $107.HttpRequest ensureHttpRequest() => $_ensure(8); + + /// Optional. Resource name of the trace associated with the log entry, if any. + /// If this field contains a relative resource name, you can assume the name is + /// relative to `//tracing.googleapis.com`. Example: + /// `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824` + @$pb.TagNumber(15) + $core.String get trace => $_getSZ(9); + @$pb.TagNumber(15) + set trace($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(15) + $core.bool hasTrace() => $_has(9); + @$pb.TagNumber(15) + void clearTrace() => clearField(15); + + /// Optional. Information about an operation associated with the log entry, if + /// applicable. + @$pb.TagNumber(16) + LogEntryOperation get operation => $_getN(10); + @$pb.TagNumber(16) + set operation(LogEntryOperation v) { + setField(16, v); + } + + @$pb.TagNumber(16) + $core.bool hasOperation() => $_has(10); + @$pb.TagNumber(16) + void clearOperation() => clearField(16); + @$pb.TagNumber(16) + LogEntryOperation ensureOperation() => $_ensure(10); + + /// Optional. Source code location information associated with the log entry, + /// if any. + @$pb.TagNumber(17) + LogEntrySourceLocation get sourceLocation => $_getN(11); + @$pb.TagNumber(17) + set sourceLocation(LogEntrySourceLocation v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasSourceLocation() => $_has(11); + @$pb.TagNumber(17) + void clearSourceLocation() => clearField(17); + @$pb.TagNumber(17) + LogEntrySourceLocation ensureSourceLocation() => $_ensure(11); +} + +/// Additional information about a potentially long-running operation with which +/// a log entry is associated. +class LogEntryOperation extends $pb.GeneratedMessage { + factory LogEntryOperation({ + $core.String? id, + $core.String? producer, + $core.bool? first, + $core.bool? last, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (producer != null) { + $result.producer = producer; + } + if (first != null) { + $result.first = first; + } + if (last != null) { + $result.last = last; + } + return $result; + } + LogEntryOperation._() : super(); + factory LogEntryOperation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogEntryOperation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogEntryOperation', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'id') + ..aOS(2, _omitFieldNames ? '' : 'producer') + ..aOB(3, _omitFieldNames ? '' : 'first') + ..aOB(4, _omitFieldNames ? '' : 'last') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogEntryOperation clone() => LogEntryOperation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogEntryOperation copyWith(void Function(LogEntryOperation) updates) => + super.copyWith((message) => updates(message as LogEntryOperation)) + as LogEntryOperation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogEntryOperation create() => LogEntryOperation._(); + LogEntryOperation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogEntryOperation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LogEntryOperation? _defaultInstance; + + /// Optional. An arbitrary operation identifier. Log entries with the + /// same identifier are assumed to be part of the same operation. + @$pb.TagNumber(1) + $core.String get id => $_getSZ(0); + @$pb.TagNumber(1) + set id($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// Optional. An arbitrary producer identifier. The combination of + /// `id` and `producer` must be globally unique. Examples for `producer`: + /// `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. + @$pb.TagNumber(2) + $core.String get producer => $_getSZ(1); + @$pb.TagNumber(2) + set producer($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasProducer() => $_has(1); + @$pb.TagNumber(2) + void clearProducer() => clearField(2); + + /// Optional. Set this to True if this is the first log entry in the operation. + @$pb.TagNumber(3) + $core.bool get first => $_getBF(2); + @$pb.TagNumber(3) + set first($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFirst() => $_has(2); + @$pb.TagNumber(3) + void clearFirst() => clearField(3); + + /// Optional. Set this to True if this is the last log entry in the operation. + @$pb.TagNumber(4) + $core.bool get last => $_getBF(3); + @$pb.TagNumber(4) + set last($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasLast() => $_has(3); + @$pb.TagNumber(4) + void clearLast() => clearField(4); +} + +/// Additional information about the source code location that produced the log +/// entry. +class LogEntrySourceLocation extends $pb.GeneratedMessage { + factory LogEntrySourceLocation({ + $core.String? file, + $fixnum.Int64? line, + $core.String? function, + }) { + final $result = create(); + if (file != null) { + $result.file = file; + } + if (line != null) { + $result.line = line; + } + if (function != null) { + $result.function = function; + } + return $result; + } + LogEntrySourceLocation._() : super(); + factory LogEntrySourceLocation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogEntrySourceLocation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogEntrySourceLocation', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'file') + ..aInt64(2, _omitFieldNames ? '' : 'line') + ..aOS(3, _omitFieldNames ? '' : 'function') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogEntrySourceLocation clone() => + LogEntrySourceLocation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogEntrySourceLocation copyWith( + void Function(LogEntrySourceLocation) updates) => + super.copyWith((message) => updates(message as LogEntrySourceLocation)) + as LogEntrySourceLocation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogEntrySourceLocation create() => LogEntrySourceLocation._(); + LogEntrySourceLocation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogEntrySourceLocation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LogEntrySourceLocation? _defaultInstance; + + /// Optional. Source file name. Depending on the runtime environment, this + /// might be a simple name or a fully-qualified name. + @$pb.TagNumber(1) + $core.String get file => $_getSZ(0); + @$pb.TagNumber(1) + set file($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFile() => $_has(0); + @$pb.TagNumber(1) + void clearFile() => clearField(1); + + /// Optional. Line within the source file. 1-based; 0 indicates no line number + /// available. + @$pb.TagNumber(2) + $fixnum.Int64 get line => $_getI64(1); + @$pb.TagNumber(2) + set line($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasLine() => $_has(1); + @$pb.TagNumber(2) + void clearLine() => clearField(2); + + /// Optional. Human-readable name of the function or method being invoked, with + /// optional context such as the class or package name. This information may be + /// used in contexts such as the logs viewer, where a file and line number are + /// less meaningful. The format can vary by language. For example: + /// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + /// (Python). + @$pb.TagNumber(3) + $core.String get function => $_getSZ(2); + @$pb.TagNumber(3) + set function($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFunction() => $_has(2); + @$pb.TagNumber(3) + void clearFunction() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pbenum.dart new file mode 100644 index 00000000..94eea53e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/log_entry.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pbjson.dart new file mode 100644 index 00000000..5b77027b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/log_entry.pbjson.dart @@ -0,0 +1,154 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/log_entry.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use logEntryDescriptor instead') +const LogEntry$json = { + '1': 'LogEntry', + '2': [ + {'1': 'name', '3': 10, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'timestamp', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'timestamp' + }, + { + '1': 'severity', + '3': 12, + '4': 1, + '5': 14, + '6': '.google.logging.type.LogSeverity', + '10': 'severity' + }, + { + '1': 'http_request', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.HttpRequest', + '10': 'httpRequest' + }, + {'1': 'trace', '3': 15, '4': 1, '5': 9, '10': 'trace'}, + {'1': 'insert_id', '3': 4, '4': 1, '5': 9, '10': 'insertId'}, + { + '1': 'labels', + '3': 13, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.LogEntry.LabelsEntry', + '10': 'labels' + }, + { + '1': 'proto_payload', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '9': 0, + '10': 'protoPayload' + }, + {'1': 'text_payload', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'textPayload'}, + { + '1': 'struct_payload', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Struct', + '9': 0, + '10': 'structPayload' + }, + { + '1': 'operation', + '3': 16, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.LogEntryOperation', + '10': 'operation' + }, + { + '1': 'source_location', + '3': 17, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.LogEntrySourceLocation', + '10': 'sourceLocation' + }, + ], + '3': [LogEntry_LabelsEntry$json], + '8': [ + {'1': 'payload'}, + ], +}; + +@$core.Deprecated('Use logEntryDescriptor instead') +const LogEntry_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `LogEntry`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logEntryDescriptor = $convert.base64Decode( + 'CghMb2dFbnRyeRISCgRuYW1lGAogASgJUgRuYW1lEjgKCXRpbWVzdGFtcBgLIAEoCzIaLmdvb2' + 'dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBI8CghzZXZlcml0eRgMIAEoDjIgLmdv' + 'b2dsZS5sb2dnaW5nLnR5cGUuTG9nU2V2ZXJpdHlSCHNldmVyaXR5EkwKDGh0dHBfcmVxdWVzdB' + 'gOIAEoCzIpLmdvb2dsZS5hcGkuc2VydmljZWNvbnRyb2wudjEuSHR0cFJlcXVlc3RSC2h0dHBS' + 'ZXF1ZXN0EhQKBXRyYWNlGA8gASgJUgV0cmFjZRIbCglpbnNlcnRfaWQYBCABKAlSCGluc2VydE' + 'lkEkoKBmxhYmVscxgNIAMoCzIyLmdvb2dsZS5hcGkuc2VydmljZWNvbnRyb2wudjEuTG9nRW50' + 'cnkuTGFiZWxzRW50cnlSBmxhYmVscxI7Cg1wcm90b19wYXlsb2FkGAIgASgLMhQuZ29vZ2xlLn' + 'Byb3RvYnVmLkFueUgAUgxwcm90b1BheWxvYWQSIwoMdGV4dF9wYXlsb2FkGAMgASgJSABSC3Rl' + 'eHRQYXlsb2FkEkAKDnN0cnVjdF9wYXlsb2FkGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cn' + 'VjdEgAUg1zdHJ1Y3RQYXlsb2FkEk0KCW9wZXJhdGlvbhgQIAEoCzIvLmdvb2dsZS5hcGkuc2Vy' + 'dmljZWNvbnRyb2wudjEuTG9nRW50cnlPcGVyYXRpb25SCW9wZXJhdGlvbhJdCg9zb3VyY2VfbG' + '9jYXRpb24YESABKAsyNC5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYxLkxvZ0VudHJ5U291' + 'cmNlTG9jYXRpb25SDnNvdXJjZUxvY2F0aW9uGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCV' + 'IDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAFCCQoHcGF5bG9hZA=='); + +@$core.Deprecated('Use logEntryOperationDescriptor instead') +const LogEntryOperation$json = { + '1': 'LogEntryOperation', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, + {'1': 'producer', '3': 2, '4': 1, '5': 9, '10': 'producer'}, + {'1': 'first', '3': 3, '4': 1, '5': 8, '10': 'first'}, + {'1': 'last', '3': 4, '4': 1, '5': 8, '10': 'last'}, + ], +}; + +/// Descriptor for `LogEntryOperation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logEntryOperationDescriptor = $convert.base64Decode( + 'ChFMb2dFbnRyeU9wZXJhdGlvbhIOCgJpZBgBIAEoCVICaWQSGgoIcHJvZHVjZXIYAiABKAlSCH' + 'Byb2R1Y2VyEhQKBWZpcnN0GAMgASgIUgVmaXJzdBISCgRsYXN0GAQgASgIUgRsYXN0'); + +@$core.Deprecated('Use logEntrySourceLocationDescriptor instead') +const LogEntrySourceLocation$json = { + '1': 'LogEntrySourceLocation', + '2': [ + {'1': 'file', '3': 1, '4': 1, '5': 9, '10': 'file'}, + {'1': 'line', '3': 2, '4': 1, '5': 3, '10': 'line'}, + {'1': 'function', '3': 3, '4': 1, '5': 9, '10': 'function'}, + ], +}; + +/// Descriptor for `LogEntrySourceLocation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logEntrySourceLocationDescriptor = + $convert.base64Decode( + 'ChZMb2dFbnRyeVNvdXJjZUxvY2F0aW9uEhIKBGZpbGUYASABKAlSBGZpbGUSEgoEbGluZRgCIA' + 'EoA1IEbGluZRIaCghmdW5jdGlvbhgDIAEoCVIIZnVuY3Rpb24='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pb.dart new file mode 100644 index 00000000..864c7207 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pb.dart @@ -0,0 +1,324 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/metric_value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/timestamp.pb.dart' as $50; +import 'distribution.pb.dart' as $108; + +enum MetricValue_Value { + boolValue, + int64Value, + doubleValue, + stringValue, + distributionValue, + notSet +} + +/// Represents a single metric value. +class MetricValue extends $pb.GeneratedMessage { + factory MetricValue({ + $core.Map<$core.String, $core.String>? labels, + $50.Timestamp? startTime, + $50.Timestamp? endTime, + $core.bool? boolValue, + $fixnum.Int64? int64Value, + $core.double? doubleValue, + $core.String? stringValue, + $108.Distribution? distributionValue, + }) { + final $result = create(); + if (labels != null) { + $result.labels.addAll(labels); + } + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (int64Value != null) { + $result.int64Value = int64Value; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (distributionValue != null) { + $result.distributionValue = distributionValue; + } + return $result; + } + MetricValue._() : super(); + factory MetricValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MetricValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, MetricValue_Value> _MetricValue_ValueByTag = + { + 4: MetricValue_Value.boolValue, + 5: MetricValue_Value.int64Value, + 6: MetricValue_Value.doubleValue, + 7: MetricValue_Value.stringValue, + 8: MetricValue_Value.distributionValue, + 0: MetricValue_Value.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MetricValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..oo(0, [4, 5, 6, 7, 8]) + ..m<$core.String, $core.String>(1, _omitFieldNames ? '' : 'labels', + entryClassName: 'MetricValue.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.servicecontrol.v1')) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..aOB(4, _omitFieldNames ? '' : 'boolValue') + ..aInt64(5, _omitFieldNames ? '' : 'int64Value') + ..a<$core.double>( + 6, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOS(7, _omitFieldNames ? '' : 'stringValue') + ..aOM<$108.Distribution>(8, _omitFieldNames ? '' : 'distributionValue', + subBuilder: $108.Distribution.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MetricValue clone() => MetricValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MetricValue copyWith(void Function(MetricValue) updates) => + super.copyWith((message) => updates(message as MetricValue)) + as MetricValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MetricValue create() => MetricValue._(); + MetricValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MetricValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MetricValue? _defaultInstance; + + MetricValue_Value whichValue() => _MetricValue_ValueByTag[$_whichOneof(0)]!; + void clearValue() => clearField($_whichOneof(0)); + + /// The labels describing the metric value. + /// See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for + /// the overriding relationship. + /// Note that this map must not contain monitored resource labels. + @$pb.TagNumber(1) + $core.Map<$core.String, $core.String> get labels => $_getMap(0); + + /// The start of the time period over which this metric value's measurement + /// applies. The time period has different semantics for different metric + /// types (cumulative, delta, and gauge). See the metric definition + /// documentation in the service configuration for details. If not specified, + /// [google.api.servicecontrol.v1.Operation.start_time][google.api.servicecontrol.v1.Operation.start_time] will be used. + @$pb.TagNumber(2) + $50.Timestamp get startTime => $_getN(1); + @$pb.TagNumber(2) + set startTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStartTime() => $_has(1); + @$pb.TagNumber(2) + void clearStartTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureStartTime() => $_ensure(1); + + /// The end of the time period over which this metric value's measurement + /// applies. If not specified, + /// [google.api.servicecontrol.v1.Operation.end_time][google.api.servicecontrol.v1.Operation.end_time] will be used. + @$pb.TagNumber(3) + $50.Timestamp get endTime => $_getN(2); + @$pb.TagNumber(3) + set endTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEndTime() => $_has(2); + @$pb.TagNumber(3) + void clearEndTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureEndTime() => $_ensure(2); + + /// A boolean value. + @$pb.TagNumber(4) + $core.bool get boolValue => $_getBF(3); + @$pb.TagNumber(4) + set boolValue($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasBoolValue() => $_has(3); + @$pb.TagNumber(4) + void clearBoolValue() => clearField(4); + + /// A signed 64-bit integer value. + @$pb.TagNumber(5) + $fixnum.Int64 get int64Value => $_getI64(4); + @$pb.TagNumber(5) + set int64Value($fixnum.Int64 v) { + $_setInt64(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasInt64Value() => $_has(4); + @$pb.TagNumber(5) + void clearInt64Value() => clearField(5); + + /// A double precision floating point value. + @$pb.TagNumber(6) + $core.double get doubleValue => $_getN(5); + @$pb.TagNumber(6) + set doubleValue($core.double v) { + $_setDouble(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasDoubleValue() => $_has(5); + @$pb.TagNumber(6) + void clearDoubleValue() => clearField(6); + + /// A text string value. + @$pb.TagNumber(7) + $core.String get stringValue => $_getSZ(6); + @$pb.TagNumber(7) + set stringValue($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasStringValue() => $_has(6); + @$pb.TagNumber(7) + void clearStringValue() => clearField(7); + + /// A distribution value. + @$pb.TagNumber(8) + $108.Distribution get distributionValue => $_getN(7); + @$pb.TagNumber(8) + set distributionValue($108.Distribution v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasDistributionValue() => $_has(7); + @$pb.TagNumber(8) + void clearDistributionValue() => clearField(8); + @$pb.TagNumber(8) + $108.Distribution ensureDistributionValue() => $_ensure(7); +} + +/// Represents a set of metric values in the same metric. +/// Each metric value in the set should have a unique combination of start time, +/// end time, and label values. +class MetricValueSet extends $pb.GeneratedMessage { + factory MetricValueSet({ + $core.String? metricName, + $core.Iterable? metricValues, + }) { + final $result = create(); + if (metricName != null) { + $result.metricName = metricName; + } + if (metricValues != null) { + $result.metricValues.addAll(metricValues); + } + return $result; + } + MetricValueSet._() : super(); + factory MetricValueSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MetricValueSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MetricValueSet', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'metricName') + ..pc( + 2, _omitFieldNames ? '' : 'metricValues', $pb.PbFieldType.PM, + subBuilder: MetricValue.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MetricValueSet clone() => MetricValueSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MetricValueSet copyWith(void Function(MetricValueSet) updates) => + super.copyWith((message) => updates(message as MetricValueSet)) + as MetricValueSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MetricValueSet create() => MetricValueSet._(); + MetricValueSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MetricValueSet getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MetricValueSet? _defaultInstance; + + /// The metric name defined in the service configuration. + @$pb.TagNumber(1) + $core.String get metricName => $_getSZ(0); + @$pb.TagNumber(1) + set metricName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMetricName() => $_has(0); + @$pb.TagNumber(1) + void clearMetricName() => clearField(1); + + /// The values in this metric. + @$pb.TagNumber(2) + $core.List get metricValues => $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pbenum.dart new file mode 100644 index 00000000..529e5863 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/metric_value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pbjson.dart new file mode 100644 index 00000000..b4dba8ea --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/metric_value.pbjson.dart @@ -0,0 +1,107 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/metric_value.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use metricValueDescriptor instead') +const MetricValue$json = { + '1': 'MetricValue', + '2': [ + { + '1': 'labels', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.MetricValue.LabelsEntry', + '10': 'labels' + }, + { + '1': 'start_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + {'1': 'bool_value', '3': 4, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + {'1': 'int64_value', '3': 5, '4': 1, '5': 3, '9': 0, '10': 'int64Value'}, + {'1': 'double_value', '3': 6, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + {'1': 'string_value', '3': 7, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + { + '1': 'distribution_value', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.Distribution', + '9': 0, + '10': 'distributionValue' + }, + ], + '3': [MetricValue_LabelsEntry$json], + '8': [ + {'1': 'value'}, + ], +}; + +@$core.Deprecated('Use metricValueDescriptor instead') +const MetricValue_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `MetricValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List metricValueDescriptor = $convert.base64Decode( + 'CgtNZXRyaWNWYWx1ZRJNCgZsYWJlbHMYASADKAsyNS5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm' + '9sLnYxLk1ldHJpY1ZhbHVlLkxhYmVsc0VudHJ5UgZsYWJlbHMSOQoKc3RhcnRfdGltZRgCIAEo' + 'CzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXN0YXJ0VGltZRI1CghlbmRfdGltZRgDIA' + 'EoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB2VuZFRpbWUSHwoKYm9vbF92YWx1ZRgE' + 'IAEoCEgAUglib29sVmFsdWUSIQoLaW50NjRfdmFsdWUYBSABKANIAFIKaW50NjRWYWx1ZRIjCg' + 'xkb3VibGVfdmFsdWUYBiABKAFIAFILZG91YmxlVmFsdWUSIwoMc3RyaW5nX3ZhbHVlGAcgASgJ' + 'SABSC3N0cmluZ1ZhbHVlElsKEmRpc3RyaWJ1dGlvbl92YWx1ZRgIIAEoCzIqLmdvb2dsZS5hcG' + 'kuc2VydmljZWNvbnRyb2wudjEuRGlzdHJpYnV0aW9uSABSEWRpc3RyaWJ1dGlvblZhbHVlGjkK' + 'C0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOA' + 'FCBwoFdmFsdWU='); + +@$core.Deprecated('Use metricValueSetDescriptor instead') +const MetricValueSet$json = { + '1': 'MetricValueSet', + '2': [ + {'1': 'metric_name', '3': 1, '4': 1, '5': 9, '10': 'metricName'}, + { + '1': 'metric_values', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.MetricValue', + '10': 'metricValues' + }, + ], +}; + +/// Descriptor for `MetricValueSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List metricValueSetDescriptor = $convert.base64Decode( + 'Cg5NZXRyaWNWYWx1ZVNldBIfCgttZXRyaWNfbmFtZRgBIAEoCVIKbWV0cmljTmFtZRJOCg1tZX' + 'RyaWNfdmFsdWVzGAIgAygLMikuZ29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5NZXRyaWNW' + 'YWx1ZVIMbWV0cmljVmFsdWVz'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pb.dart new file mode 100644 index 00000000..282d1b57 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pb.dart @@ -0,0 +1,280 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/any.pb.dart' as $49; +import '../../../protobuf/timestamp.pb.dart' as $50; +import 'log_entry.pb.dart' as $110; +import 'metric_value.pb.dart' as $109; +import 'operation.pbenum.dart'; + +export 'operation.pbenum.dart'; + +/// Represents information regarding an operation. +class Operation extends $pb.GeneratedMessage { + factory Operation({ + $core.String? operationId, + $core.String? operationName, + $core.String? consumerId, + $50.Timestamp? startTime, + $50.Timestamp? endTime, + $core.Map<$core.String, $core.String>? labels, + $core.Iterable<$109.MetricValueSet>? metricValueSets, + $core.Iterable<$110.LogEntry>? logEntries, + Operation_Importance? importance, + $core.Iterable<$49.Any>? extensions, + }) { + final $result = create(); + if (operationId != null) { + $result.operationId = operationId; + } + if (operationName != null) { + $result.operationName = operationName; + } + if (consumerId != null) { + $result.consumerId = consumerId; + } + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (metricValueSets != null) { + $result.metricValueSets.addAll(metricValueSets); + } + if (logEntries != null) { + $result.logEntries.addAll(logEntries); + } + if (importance != null) { + $result.importance = importance; + } + if (extensions != null) { + $result.extensions.addAll(extensions); + } + return $result; + } + Operation._() : super(); + factory Operation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Operation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Operation', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'operationId') + ..aOS(2, _omitFieldNames ? '' : 'operationName') + ..aOS(3, _omitFieldNames ? '' : 'consumerId') + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..m<$core.String, $core.String>(6, _omitFieldNames ? '' : 'labels', + entryClassName: 'Operation.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.servicecontrol.v1')) + ..pc<$109.MetricValueSet>( + 7, _omitFieldNames ? '' : 'metricValueSets', $pb.PbFieldType.PM, + subBuilder: $109.MetricValueSet.create) + ..pc<$110.LogEntry>( + 8, _omitFieldNames ? '' : 'logEntries', $pb.PbFieldType.PM, + subBuilder: $110.LogEntry.create) + ..e( + 11, _omitFieldNames ? '' : 'importance', $pb.PbFieldType.OE, + defaultOrMaker: Operation_Importance.LOW, + valueOf: Operation_Importance.valueOf, + enumValues: Operation_Importance.values) + ..pc<$49.Any>(16, _omitFieldNames ? '' : 'extensions', $pb.PbFieldType.PM, + subBuilder: $49.Any.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Operation clone() => Operation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Operation copyWith(void Function(Operation) updates) => + super.copyWith((message) => updates(message as Operation)) as Operation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Operation create() => Operation._(); + Operation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Operation getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Operation? _defaultInstance; + + /// Identity of the operation. This must be unique within the scope of the + /// service that generated the operation. If the service calls + /// Check() and Report() on the same operation, the two calls should carry + /// the same id. + /// + /// UUID version 4 is recommended, though not required. + /// In scenarios where an operation is computed from existing information + /// and an idempotent id is desirable for deduplication purpose, UUID version 5 + /// is recommended. See RFC 4122 for details. + @$pb.TagNumber(1) + $core.String get operationId => $_getSZ(0); + @$pb.TagNumber(1) + set operationId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperationId() => $_has(0); + @$pb.TagNumber(1) + void clearOperationId() => clearField(1); + + /// Fully qualified name of the operation. Reserved for future use. + @$pb.TagNumber(2) + $core.String get operationName => $_getSZ(1); + @$pb.TagNumber(2) + set operationName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOperationName() => $_has(1); + @$pb.TagNumber(2) + void clearOperationName() => clearField(2); + + /// Identity of the consumer who is using the service. + /// This field should be filled in for the operations initiated by a + /// consumer, but not for service-initiated operations that are + /// not related to a specific consumer. + /// + /// - This can be in one of the following formats: + /// - project:PROJECT_ID, + /// - project`_`number:PROJECT_NUMBER, + /// - projects/PROJECT_ID or PROJECT_NUMBER, + /// - folders/FOLDER_NUMBER, + /// - organizations/ORGANIZATION_NUMBER, + /// - api`_`key:API_KEY. + @$pb.TagNumber(3) + $core.String get consumerId => $_getSZ(2); + @$pb.TagNumber(3) + set consumerId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasConsumerId() => $_has(2); + @$pb.TagNumber(3) + void clearConsumerId() => clearField(3); + + /// Required. Start time of the operation. + @$pb.TagNumber(4) + $50.Timestamp get startTime => $_getN(3); + @$pb.TagNumber(4) + set startTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasStartTime() => $_has(3); + @$pb.TagNumber(4) + void clearStartTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureStartTime() => $_ensure(3); + + /// End time of the operation. + /// Required when the operation is used in + /// [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report], + /// but optional when the operation is used in + /// [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check]. + @$pb.TagNumber(5) + $50.Timestamp get endTime => $_getN(4); + @$pb.TagNumber(5) + set endTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasEndTime() => $_has(4); + @$pb.TagNumber(5) + void clearEndTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureEndTime() => $_ensure(4); + + /// Labels describing the operation. Only the following labels are allowed: + /// + /// - Labels describing monitored resources as defined in + /// the service configuration. + /// - Default labels of metric values. When specified, labels defined in the + /// metric value override these default. + /// - The following labels defined by Google Cloud Platform: + /// - `cloud.googleapis.com/location` describing the location where the + /// operation happened, + /// - `servicecontrol.googleapis.com/user_agent` describing the user agent + /// of the API request, + /// - `servicecontrol.googleapis.com/service_agent` describing the service + /// used to handle the API request (e.g. ESP), + /// - `servicecontrol.googleapis.com/platform` describing the platform + /// where the API is served, such as App Engine, Compute Engine, or + /// Kubernetes Engine. + @$pb.TagNumber(6) + $core.Map<$core.String, $core.String> get labels => $_getMap(5); + + /// Represents information about this operation. Each MetricValueSet + /// corresponds to a metric defined in the service configuration. + /// The data type used in the MetricValueSet must agree with + /// the data type specified in the metric definition. + /// + /// Within a single operation, it is not allowed to have more than one + /// MetricValue instances that have the same metric names and identical + /// label value combinations. If a request has such duplicated MetricValue + /// instances, the entire request is rejected with + /// an invalid argument error. + @$pb.TagNumber(7) + $core.List<$109.MetricValueSet> get metricValueSets => $_getList(6); + + /// Represents information to be logged. + @$pb.TagNumber(8) + $core.List<$110.LogEntry> get logEntries => $_getList(7); + + /// DO NOT USE. This is an experimental field. + @$pb.TagNumber(11) + Operation_Importance get importance => $_getN(8); + @$pb.TagNumber(11) + set importance(Operation_Importance v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasImportance() => $_has(8); + @$pb.TagNumber(11) + void clearImportance() => clearField(11); + + /// Unimplemented. + @$pb.TagNumber(16) + $core.List<$49.Any> get extensions => $_getList(9); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pbenum.dart new file mode 100644 index 00000000..3a10b3d1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pbenum.dart @@ -0,0 +1,35 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Defines the importance of the data contained in the operation. +class Operation_Importance extends $pb.ProtobufEnum { + static const Operation_Importance LOW = + Operation_Importance._(0, _omitEnumNames ? '' : 'LOW'); + static const Operation_Importance HIGH = + Operation_Importance._(1, _omitEnumNames ? '' : 'HIGH'); + + static const $core.List values = [ + LOW, + HIGH, + ]; + + static final $core.Map<$core.int, Operation_Importance> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Operation_Importance? valueOf($core.int value) => _byValue[value]; + + const Operation_Importance._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pbjson.dart new file mode 100644 index 00000000..15a14c81 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/operation.pbjson.dart @@ -0,0 +1,117 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationDescriptor instead') +const Operation$json = { + '1': 'Operation', + '2': [ + {'1': 'operation_id', '3': 1, '4': 1, '5': 9, '10': 'operationId'}, + {'1': 'operation_name', '3': 2, '4': 1, '5': 9, '10': 'operationName'}, + {'1': 'consumer_id', '3': 3, '4': 1, '5': 9, '10': 'consumerId'}, + { + '1': 'start_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'labels', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.Operation.LabelsEntry', + '10': 'labels' + }, + { + '1': 'metric_value_sets', + '3': 7, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.MetricValueSet', + '10': 'metricValueSets' + }, + { + '1': 'log_entries', + '3': 8, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.LogEntry', + '10': 'logEntries' + }, + { + '1': 'importance', + '3': 11, + '4': 1, + '5': 14, + '6': '.google.api.servicecontrol.v1.Operation.Importance', + '10': 'importance' + }, + { + '1': 'extensions', + '3': 16, + '4': 3, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'extensions' + }, + ], + '3': [Operation_LabelsEntry$json], + '4': [Operation_Importance$json], +}; + +@$core.Deprecated('Use operationDescriptor instead') +const Operation_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use operationDescriptor instead') +const Operation_Importance$json = { + '1': 'Importance', + '2': [ + {'1': 'LOW', '2': 0}, + {'1': 'HIGH', '2': 1}, + ], +}; + +/// Descriptor for `Operation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationDescriptor = $convert.base64Decode( + 'CglPcGVyYXRpb24SIQoMb3BlcmF0aW9uX2lkGAEgASgJUgtvcGVyYXRpb25JZBIlCg5vcGVyYX' + 'Rpb25fbmFtZRgCIAEoCVINb3BlcmF0aW9uTmFtZRIfCgtjb25zdW1lcl9pZBgDIAEoCVIKY29u' + 'c3VtZXJJZBI5CgpzdGFydF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcF' + 'IJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt' + 'cFIHZW5kVGltZRJLCgZsYWJlbHMYBiADKAsyMy5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLn' + 'YxLk9wZXJhdGlvbi5MYWJlbHNFbnRyeVIGbGFiZWxzElgKEW1ldHJpY192YWx1ZV9zZXRzGAcg' + 'AygLMiwuZ29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5NZXRyaWNWYWx1ZVNldFIPbWV0cm' + 'ljVmFsdWVTZXRzEkcKC2xvZ19lbnRyaWVzGAggAygLMiYuZ29vZ2xlLmFwaS5zZXJ2aWNlY29u' + 'dHJvbC52MS5Mb2dFbnRyeVIKbG9nRW50cmllcxJSCgppbXBvcnRhbmNlGAsgASgOMjIuZ29vZ2' + 'xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5PcGVyYXRpb24uSW1wb3J0YW5jZVIKaW1wb3J0YW5j' + 'ZRI0CgpleHRlbnNpb25zGBAgAygLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIKZXh0ZW5zaW9ucx' + 'o5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6' + 'AjgBIh8KCkltcG9ydGFuY2USBwoDTE9XEAASCAoESElHSBAB'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pb.dart new file mode 100644 index 00000000..9b3c4f8f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pb.dart @@ -0,0 +1,554 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/quota_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../rpc/status.pb.dart' as $57; +import 'metric_value.pb.dart' as $109; +import 'quota_controller.pbenum.dart'; + +export 'quota_controller.pbenum.dart'; + +/// Request message for the AllocateQuota method. +class AllocateQuotaRequest extends $pb.GeneratedMessage { + factory AllocateQuotaRequest({ + $core.String? serviceName, + QuotaOperation? allocateOperation, + $core.String? serviceConfigId, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (allocateOperation != null) { + $result.allocateOperation = allocateOperation; + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + return $result; + } + AllocateQuotaRequest._() : super(); + factory AllocateQuotaRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AllocateQuotaRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AllocateQuotaRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOM(2, _omitFieldNames ? '' : 'allocateOperation', + subBuilder: QuotaOperation.create) + ..aOS(4, _omitFieldNames ? '' : 'serviceConfigId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AllocateQuotaRequest clone() => + AllocateQuotaRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AllocateQuotaRequest copyWith(void Function(AllocateQuotaRequest) updates) => + super.copyWith((message) => updates(message as AllocateQuotaRequest)) + as AllocateQuotaRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AllocateQuotaRequest create() => AllocateQuotaRequest._(); + AllocateQuotaRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AllocateQuotaRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AllocateQuotaRequest? _defaultInstance; + + /// Name of the service as specified in the service configuration. For example, + /// `"pubsub.googleapis.com"`. + /// + /// See [google.api.Service][google.api.Service] for the definition of a service name. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Operation that describes the quota allocation. + @$pb.TagNumber(2) + QuotaOperation get allocateOperation => $_getN(1); + @$pb.TagNumber(2) + set allocateOperation(QuotaOperation v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasAllocateOperation() => $_has(1); + @$pb.TagNumber(2) + void clearAllocateOperation() => clearField(2); + @$pb.TagNumber(2) + QuotaOperation ensureAllocateOperation() => $_ensure(1); + + /// Specifies which version of service configuration should be used to process + /// the request. If unspecified or no matching version can be found, the latest + /// one will be used. + @$pb.TagNumber(4) + $core.String get serviceConfigId => $_getSZ(2); + @$pb.TagNumber(4) + set serviceConfigId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasServiceConfigId() => $_has(2); + @$pb.TagNumber(4) + void clearServiceConfigId() => clearField(4); +} + +/// Represents information regarding a quota operation. +class QuotaOperation extends $pb.GeneratedMessage { + factory QuotaOperation({ + $core.String? operationId, + $core.String? methodName, + $core.String? consumerId, + $core.Map<$core.String, $core.String>? labels, + $core.Iterable<$109.MetricValueSet>? quotaMetrics, + QuotaOperation_QuotaMode? quotaMode, + }) { + final $result = create(); + if (operationId != null) { + $result.operationId = operationId; + } + if (methodName != null) { + $result.methodName = methodName; + } + if (consumerId != null) { + $result.consumerId = consumerId; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (quotaMetrics != null) { + $result.quotaMetrics.addAll(quotaMetrics); + } + if (quotaMode != null) { + $result.quotaMode = quotaMode; + } + return $result; + } + QuotaOperation._() : super(); + factory QuotaOperation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaOperation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaOperation', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'operationId') + ..aOS(2, _omitFieldNames ? '' : 'methodName') + ..aOS(3, _omitFieldNames ? '' : 'consumerId') + ..m<$core.String, $core.String>(4, _omitFieldNames ? '' : 'labels', + entryClassName: 'QuotaOperation.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.servicecontrol.v1')) + ..pc<$109.MetricValueSet>( + 5, _omitFieldNames ? '' : 'quotaMetrics', $pb.PbFieldType.PM, + subBuilder: $109.MetricValueSet.create) + ..e( + 6, _omitFieldNames ? '' : 'quotaMode', $pb.PbFieldType.OE, + defaultOrMaker: QuotaOperation_QuotaMode.UNSPECIFIED, + valueOf: QuotaOperation_QuotaMode.valueOf, + enumValues: QuotaOperation_QuotaMode.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaOperation clone() => QuotaOperation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaOperation copyWith(void Function(QuotaOperation) updates) => + super.copyWith((message) => updates(message as QuotaOperation)) + as QuotaOperation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaOperation create() => QuotaOperation._(); + QuotaOperation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaOperation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaOperation? _defaultInstance; + + /// Identity of the operation. This is expected to be unique within the scope + /// of the service that generated the operation, and guarantees idempotency in + /// case of retries. + /// + /// In order to ensure best performance and latency in the Quota backends, + /// operation_ids are optimally associated with time, so that related + /// operations can be accessed fast in storage. For this reason, the + /// recommended token for services that intend to operate at a high QPS is + /// Unix time in nanos + UUID + @$pb.TagNumber(1) + $core.String get operationId => $_getSZ(0); + @$pb.TagNumber(1) + set operationId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperationId() => $_has(0); + @$pb.TagNumber(1) + void clearOperationId() => clearField(1); + + /// Fully qualified name of the API method for which this quota operation is + /// requested. This name is used for matching quota rules or metric rules and + /// billing status rules defined in service configuration. + /// + /// This field should not be set if any of the following is true: + /// (1) the quota operation is performed on non-API resources. + /// (2) quota_metrics is set because the caller is doing quota override. + /// + /// + /// Example of an RPC method name: + /// google.example.library.v1.LibraryService.CreateShelf + @$pb.TagNumber(2) + $core.String get methodName => $_getSZ(1); + @$pb.TagNumber(2) + set methodName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMethodName() => $_has(1); + @$pb.TagNumber(2) + void clearMethodName() => clearField(2); + + /// Identity of the consumer for whom this quota operation is being performed. + /// + /// This can be in one of the following formats: + /// project:, + /// project_number:, + /// api_key:. + @$pb.TagNumber(3) + $core.String get consumerId => $_getSZ(2); + @$pb.TagNumber(3) + set consumerId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasConsumerId() => $_has(2); + @$pb.TagNumber(3) + void clearConsumerId() => clearField(3); + + /// Labels describing the operation. + @$pb.TagNumber(4) + $core.Map<$core.String, $core.String> get labels => $_getMap(3); + + /// Represents information about this operation. Each MetricValueSet + /// corresponds to a metric defined in the service configuration. + /// The data type used in the MetricValueSet must agree with + /// the data type specified in the metric definition. + /// + /// Within a single operation, it is not allowed to have more than one + /// MetricValue instances that have the same metric names and identical + /// label value combinations. If a request has such duplicated MetricValue + /// instances, the entire request is rejected with + /// an invalid argument error. + /// + /// This field is mutually exclusive with method_name. + @$pb.TagNumber(5) + $core.List<$109.MetricValueSet> get quotaMetrics => $_getList(4); + + /// Quota mode for this operation. + @$pb.TagNumber(6) + QuotaOperation_QuotaMode get quotaMode => $_getN(5); + @$pb.TagNumber(6) + set quotaMode(QuotaOperation_QuotaMode v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasQuotaMode() => $_has(5); + @$pb.TagNumber(6) + void clearQuotaMode() => clearField(6); +} + +/// Response message for the AllocateQuota method. +class AllocateQuotaResponse extends $pb.GeneratedMessage { + factory AllocateQuotaResponse({ + $core.String? operationId, + $core.Iterable? allocateErrors, + $core.Iterable<$109.MetricValueSet>? quotaMetrics, + $core.String? serviceConfigId, + }) { + final $result = create(); + if (operationId != null) { + $result.operationId = operationId; + } + if (allocateErrors != null) { + $result.allocateErrors.addAll(allocateErrors); + } + if (quotaMetrics != null) { + $result.quotaMetrics.addAll(quotaMetrics); + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + return $result; + } + AllocateQuotaResponse._() : super(); + factory AllocateQuotaResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AllocateQuotaResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AllocateQuotaResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'operationId') + ..pc( + 2, _omitFieldNames ? '' : 'allocateErrors', $pb.PbFieldType.PM, + subBuilder: QuotaError.create) + ..pc<$109.MetricValueSet>( + 3, _omitFieldNames ? '' : 'quotaMetrics', $pb.PbFieldType.PM, + subBuilder: $109.MetricValueSet.create) + ..aOS(4, _omitFieldNames ? '' : 'serviceConfigId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AllocateQuotaResponse clone() => + AllocateQuotaResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AllocateQuotaResponse copyWith( + void Function(AllocateQuotaResponse) updates) => + super.copyWith((message) => updates(message as AllocateQuotaResponse)) + as AllocateQuotaResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AllocateQuotaResponse create() => AllocateQuotaResponse._(); + AllocateQuotaResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AllocateQuotaResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AllocateQuotaResponse? _defaultInstance; + + /// The same operation_id value used in the AllocateQuotaRequest. Used for + /// logging and diagnostics purposes. + @$pb.TagNumber(1) + $core.String get operationId => $_getSZ(0); + @$pb.TagNumber(1) + set operationId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperationId() => $_has(0); + @$pb.TagNumber(1) + void clearOperationId() => clearField(1); + + /// Indicates the decision of the allocate. + @$pb.TagNumber(2) + $core.List get allocateErrors => $_getList(1); + + /// Quota metrics to indicate the result of allocation. Depending on the + /// request, one or more of the following metrics will be included: + /// + /// 1. Per quota group or per quota metric incremental usage will be specified + /// using the following delta metric : + /// "serviceruntime.googleapis.com/api/consumer/quota_used_count" + /// + /// 2. The quota limit reached condition will be specified using the following + /// boolean metric : + /// "serviceruntime.googleapis.com/quota/exceeded" + @$pb.TagNumber(3) + $core.List<$109.MetricValueSet> get quotaMetrics => $_getList(2); + + /// ID of the actual config used to process the request. + @$pb.TagNumber(4) + $core.String get serviceConfigId => $_getSZ(3); + @$pb.TagNumber(4) + set serviceConfigId($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasServiceConfigId() => $_has(3); + @$pb.TagNumber(4) + void clearServiceConfigId() => clearField(4); +} + +/// Represents error information for [QuotaOperation][google.api.servicecontrol.v1.QuotaOperation]. +class QuotaError extends $pb.GeneratedMessage { + factory QuotaError({ + QuotaError_Code? code, + $core.String? subject, + $core.String? description, + $57.Status? status, + }) { + final $result = create(); + if (code != null) { + $result.code = code; + } + if (subject != null) { + $result.subject = subject; + } + if (description != null) { + $result.description = description; + } + if (status != null) { + $result.status = status; + } + return $result; + } + QuotaError._() : super(); + factory QuotaError.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaError.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaError', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'code', $pb.PbFieldType.OE, + defaultOrMaker: QuotaError_Code.UNSPECIFIED, + valueOf: QuotaError_Code.valueOf, + enumValues: QuotaError_Code.values) + ..aOS(2, _omitFieldNames ? '' : 'subject') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..aOM<$57.Status>(4, _omitFieldNames ? '' : 'status', + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaError clone() => QuotaError()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaError copyWith(void Function(QuotaError) updates) => + super.copyWith((message) => updates(message as QuotaError)) as QuotaError; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaError create() => QuotaError._(); + QuotaError createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaError getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaError? _defaultInstance; + + /// Error code. + @$pb.TagNumber(1) + QuotaError_Code get code => $_getN(0); + @$pb.TagNumber(1) + set code(QuotaError_Code v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCode() => $_has(0); + @$pb.TagNumber(1) + void clearCode() => clearField(1); + + /// Subject to whom this error applies. See the specific enum for more details + /// on this field. For example, "clientip:" or + /// "project:". + @$pb.TagNumber(2) + $core.String get subject => $_getSZ(1); + @$pb.TagNumber(2) + set subject($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSubject() => $_has(1); + @$pb.TagNumber(2) + void clearSubject() => clearField(2); + + /// Free-form text that provides details on the cause of the error. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// Contains additional information about the quota error. + /// If available, `status.code` will be non zero. + @$pb.TagNumber(4) + $57.Status get status => $_getN(3); + @$pb.TagNumber(4) + set status($57.Status v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasStatus() => $_has(3); + @$pb.TagNumber(4) + void clearStatus() => clearField(4); + @$pb.TagNumber(4) + $57.Status ensureStatus() => $_ensure(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbenum.dart new file mode 100644 index 00000000..282586a4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbenum.dart @@ -0,0 +1,83 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/quota_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Supported quota modes. +class QuotaOperation_QuotaMode extends $pb.ProtobufEnum { + static const QuotaOperation_QuotaMode UNSPECIFIED = + QuotaOperation_QuotaMode._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const QuotaOperation_QuotaMode NORMAL = + QuotaOperation_QuotaMode._(1, _omitEnumNames ? '' : 'NORMAL'); + static const QuotaOperation_QuotaMode BEST_EFFORT = + QuotaOperation_QuotaMode._(2, _omitEnumNames ? '' : 'BEST_EFFORT'); + static const QuotaOperation_QuotaMode CHECK_ONLY = + QuotaOperation_QuotaMode._(3, _omitEnumNames ? '' : 'CHECK_ONLY'); + static const QuotaOperation_QuotaMode QUERY_ONLY = + QuotaOperation_QuotaMode._(4, _omitEnumNames ? '' : 'QUERY_ONLY'); + static const QuotaOperation_QuotaMode ADJUST_ONLY = + QuotaOperation_QuotaMode._(5, _omitEnumNames ? '' : 'ADJUST_ONLY'); + + static const $core.List values = + [ + UNSPECIFIED, + NORMAL, + BEST_EFFORT, + CHECK_ONLY, + QUERY_ONLY, + ADJUST_ONLY, + ]; + + static final $core.Map<$core.int, QuotaOperation_QuotaMode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaOperation_QuotaMode? valueOf($core.int value) => _byValue[value]; + + const QuotaOperation_QuotaMode._($core.int v, $core.String n) : super(v, n); +} + +/// Error codes related to project config validations are deprecated since the +/// quota controller methods do not perform these validations. Instead services +/// have to call the Check method, without quota_properties field, to perform +/// these validations before calling the quota controller methods. These +/// methods check only for project deletion to be wipe out compliant. +class QuotaError_Code extends $pb.ProtobufEnum { + static const QuotaError_Code UNSPECIFIED = + QuotaError_Code._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const QuotaError_Code RESOURCE_EXHAUSTED = + QuotaError_Code._(8, _omitEnumNames ? '' : 'RESOURCE_EXHAUSTED'); + static const QuotaError_Code BILLING_NOT_ACTIVE = + QuotaError_Code._(107, _omitEnumNames ? '' : 'BILLING_NOT_ACTIVE'); + static const QuotaError_Code PROJECT_DELETED = + QuotaError_Code._(108, _omitEnumNames ? '' : 'PROJECT_DELETED'); + static const QuotaError_Code API_KEY_INVALID = + QuotaError_Code._(105, _omitEnumNames ? '' : 'API_KEY_INVALID'); + static const QuotaError_Code API_KEY_EXPIRED = + QuotaError_Code._(112, _omitEnumNames ? '' : 'API_KEY_EXPIRED'); + + static const $core.List values = [ + UNSPECIFIED, + RESOURCE_EXHAUSTED, + BILLING_NOT_ACTIVE, + PROJECT_DELETED, + API_KEY_INVALID, + API_KEY_EXPIRED, + ]; + + static final $core.Map<$core.int, QuotaError_Code> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaError_Code? valueOf($core.int value) => _byValue[value]; + + const QuotaError_Code._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbgrpc.dart new file mode 100644 index 00000000..f5cc8101 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbgrpc.dart @@ -0,0 +1,67 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/quota_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'quota_controller.pb.dart' as $35; + +export 'quota_controller.pb.dart'; + +@$pb.GrpcServiceName('google.api.servicecontrol.v1.QuotaController') +class QuotaControllerClient extends $grpc.Client { + static final _$allocateQuota = + $grpc.ClientMethod<$35.AllocateQuotaRequest, $35.AllocateQuotaResponse>( + '/google.api.servicecontrol.v1.QuotaController/AllocateQuota', + ($35.AllocateQuotaRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $35.AllocateQuotaResponse.fromBuffer(value)); + + QuotaControllerClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$35.AllocateQuotaResponse> allocateQuota( + $35.AllocateQuotaRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$allocateQuota, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.servicecontrol.v1.QuotaController') +abstract class QuotaControllerServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.servicecontrol.v1.QuotaController'; + + QuotaControllerServiceBase() { + $addMethod($grpc.ServiceMethod<$35.AllocateQuotaRequest, + $35.AllocateQuotaResponse>( + 'AllocateQuota', + allocateQuota_Pre, + false, + false, + ($core.List<$core.int> value) => + $35.AllocateQuotaRequest.fromBuffer(value), + ($35.AllocateQuotaResponse value) => value.writeToBuffer())); + } + + $async.Future<$35.AllocateQuotaResponse> allocateQuota_Pre( + $grpc.ServiceCall call, + $async.Future<$35.AllocateQuotaRequest> request) async { + return allocateQuota(call, await request); + } + + $async.Future<$35.AllocateQuotaResponse> allocateQuota( + $grpc.ServiceCall call, $35.AllocateQuotaRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbjson.dart new file mode 100644 index 00000000..9317493d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/quota_controller.pbjson.dart @@ -0,0 +1,191 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/quota_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use allocateQuotaRequestDescriptor instead') +const AllocateQuotaRequest$json = { + '1': 'AllocateQuotaRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '10': 'serviceName'}, + { + '1': 'allocate_operation', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.QuotaOperation', + '10': 'allocateOperation' + }, + {'1': 'service_config_id', '3': 4, '4': 1, '5': 9, '10': 'serviceConfigId'}, + ], +}; + +/// Descriptor for `AllocateQuotaRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List allocateQuotaRequestDescriptor = $convert.base64Decode( + 'ChRBbGxvY2F0ZVF1b3RhUmVxdWVzdBIhCgxzZXJ2aWNlX25hbWUYASABKAlSC3NlcnZpY2VOYW' + '1lElsKEmFsbG9jYXRlX29wZXJhdGlvbhgCIAEoCzIsLmdvb2dsZS5hcGkuc2VydmljZWNvbnRy' + 'b2wudjEuUXVvdGFPcGVyYXRpb25SEWFsbG9jYXRlT3BlcmF0aW9uEioKEXNlcnZpY2VfY29uZm' + 'lnX2lkGAQgASgJUg9zZXJ2aWNlQ29uZmlnSWQ='); + +@$core.Deprecated('Use quotaOperationDescriptor instead') +const QuotaOperation$json = { + '1': 'QuotaOperation', + '2': [ + {'1': 'operation_id', '3': 1, '4': 1, '5': 9, '10': 'operationId'}, + {'1': 'method_name', '3': 2, '4': 1, '5': 9, '10': 'methodName'}, + {'1': 'consumer_id', '3': 3, '4': 1, '5': 9, '10': 'consumerId'}, + { + '1': 'labels', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.QuotaOperation.LabelsEntry', + '10': 'labels' + }, + { + '1': 'quota_metrics', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.MetricValueSet', + '10': 'quotaMetrics' + }, + { + '1': 'quota_mode', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.api.servicecontrol.v1.QuotaOperation.QuotaMode', + '10': 'quotaMode' + }, + ], + '3': [QuotaOperation_LabelsEntry$json], + '4': [QuotaOperation_QuotaMode$json], +}; + +@$core.Deprecated('Use quotaOperationDescriptor instead') +const QuotaOperation_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use quotaOperationDescriptor instead') +const QuotaOperation_QuotaMode$json = { + '1': 'QuotaMode', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'NORMAL', '2': 1}, + {'1': 'BEST_EFFORT', '2': 2}, + {'1': 'CHECK_ONLY', '2': 3}, + {'1': 'QUERY_ONLY', '2': 4}, + {'1': 'ADJUST_ONLY', '2': 5}, + ], +}; + +/// Descriptor for `QuotaOperation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaOperationDescriptor = $convert.base64Decode( + 'Cg5RdW90YU9wZXJhdGlvbhIhCgxvcGVyYXRpb25faWQYASABKAlSC29wZXJhdGlvbklkEh8KC2' + '1ldGhvZF9uYW1lGAIgASgJUgptZXRob2ROYW1lEh8KC2NvbnN1bWVyX2lkGAMgASgJUgpjb25z' + 'dW1lcklkElAKBmxhYmVscxgEIAMoCzI4Lmdvb2dsZS5hcGkuc2VydmljZWNvbnRyb2wudjEuUX' + 'VvdGFPcGVyYXRpb24uTGFiZWxzRW50cnlSBmxhYmVscxJRCg1xdW90YV9tZXRyaWNzGAUgAygL' + 'MiwuZ29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5NZXRyaWNWYWx1ZVNldFIMcXVvdGFNZX' + 'RyaWNzElUKCnF1b3RhX21vZGUYBiABKA4yNi5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYx' + 'LlF1b3RhT3BlcmF0aW9uLlF1b3RhTW9kZVIJcXVvdGFNb2RlGjkKC0xhYmVsc0VudHJ5EhAKA2' + 'tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEiagoJUXVvdGFNb2RlEg8K' + 'C1VOU1BFQ0lGSUVEEAASCgoGTk9STUFMEAESDwoLQkVTVF9FRkZPUlQQAhIOCgpDSEVDS19PTk' + 'xZEAMSDgoKUVVFUllfT05MWRAEEg8KC0FESlVTVF9PTkxZEAU='); + +@$core.Deprecated('Use allocateQuotaResponseDescriptor instead') +const AllocateQuotaResponse$json = { + '1': 'AllocateQuotaResponse', + '2': [ + {'1': 'operation_id', '3': 1, '4': 1, '5': 9, '10': 'operationId'}, + { + '1': 'allocate_errors', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.QuotaError', + '10': 'allocateErrors' + }, + { + '1': 'quota_metrics', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.MetricValueSet', + '10': 'quotaMetrics' + }, + {'1': 'service_config_id', '3': 4, '4': 1, '5': 9, '10': 'serviceConfigId'}, + ], +}; + +/// Descriptor for `AllocateQuotaResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List allocateQuotaResponseDescriptor = $convert.base64Decode( + 'ChVBbGxvY2F0ZVF1b3RhUmVzcG9uc2USIQoMb3BlcmF0aW9uX2lkGAEgASgJUgtvcGVyYXRpb2' + '5JZBJRCg9hbGxvY2F0ZV9lcnJvcnMYAiADKAsyKC5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9s' + 'LnYxLlF1b3RhRXJyb3JSDmFsbG9jYXRlRXJyb3JzElEKDXF1b3RhX21ldHJpY3MYAyADKAsyLC' + '5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYxLk1ldHJpY1ZhbHVlU2V0UgxxdW90YU1ldHJp' + 'Y3MSKgoRc2VydmljZV9jb25maWdfaWQYBCABKAlSD3NlcnZpY2VDb25maWdJZA=='); + +@$core.Deprecated('Use quotaErrorDescriptor instead') +const QuotaError$json = { + '1': 'QuotaError', + '2': [ + { + '1': 'code', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.api.servicecontrol.v1.QuotaError.Code', + '10': 'code' + }, + {'1': 'subject', '3': 2, '4': 1, '5': 9, '10': 'subject'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'status', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.rpc.Status', + '10': 'status' + }, + ], + '4': [QuotaError_Code$json], +}; + +@$core.Deprecated('Use quotaErrorDescriptor instead') +const QuotaError_Code$json = { + '1': 'Code', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'RESOURCE_EXHAUSTED', '2': 8}, + {'1': 'BILLING_NOT_ACTIVE', '2': 107}, + {'1': 'PROJECT_DELETED', '2': 108}, + {'1': 'API_KEY_INVALID', '2': 105}, + {'1': 'API_KEY_EXPIRED', '2': 112}, + ], +}; + +/// Descriptor for `QuotaError`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaErrorDescriptor = $convert.base64Decode( + 'CgpRdW90YUVycm9yEkEKBGNvZGUYASABKA4yLS5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLn' + 'YxLlF1b3RhRXJyb3IuQ29kZVIEY29kZRIYCgdzdWJqZWN0GAIgASgJUgdzdWJqZWN0EiAKC2Rl' + 'c2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIqCgZzdGF0dXMYBCABKAsyEi5nb29nbGUucn' + 'BjLlN0YXR1c1IGc3RhdHVzIoYBCgRDb2RlEg8KC1VOU1BFQ0lGSUVEEAASFgoSUkVTT1VSQ0Vf' + 'RVhIQVVTVEVEEAgSFgoSQklMTElOR19OT1RfQUNUSVZFEGsSEwoPUFJPSkVDVF9ERUxFVEVEEG' + 'wSEwoPQVBJX0tFWV9JTlZBTElEEGkSEwoPQVBJX0tFWV9FWFBJUkVEEHA='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pb.dart new file mode 100644 index 00000000..d6fe07ba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pb.dart @@ -0,0 +1,801 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../rpc/status.pb.dart' as $57; +import 'check_error.pb.dart' as $112; +import 'operation.pb.dart' as $111; +import 'service_controller.pbenum.dart'; + +export 'service_controller.pbenum.dart'; + +/// Request message for the Check method. +class CheckRequest extends $pb.GeneratedMessage { + factory CheckRequest({ + $core.String? serviceName, + $111.Operation? operation, + $core.String? serviceConfigId, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (operation != null) { + $result.operation = operation; + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + return $result; + } + CheckRequest._() : super(); + factory CheckRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOM<$111.Operation>(2, _omitFieldNames ? '' : 'operation', + subBuilder: $111.Operation.create) + ..aOS(4, _omitFieldNames ? '' : 'serviceConfigId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckRequest clone() => CheckRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckRequest copyWith(void Function(CheckRequest) updates) => + super.copyWith((message) => updates(message as CheckRequest)) + as CheckRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckRequest create() => CheckRequest._(); + CheckRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckRequest? _defaultInstance; + + /// The service name as specified in its service configuration. For example, + /// `"pubsub.googleapis.com"`. + /// + /// See + /// [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + /// for the definition of a service name. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// The operation to be checked. + @$pb.TagNumber(2) + $111.Operation get operation => $_getN(1); + @$pb.TagNumber(2) + set operation($111.Operation v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOperation() => $_has(1); + @$pb.TagNumber(2) + void clearOperation() => clearField(2); + @$pb.TagNumber(2) + $111.Operation ensureOperation() => $_ensure(1); + + /// Specifies which version of service configuration should be used to process + /// the request. + /// + /// If unspecified or no matching version can be found, the + /// latest one will be used. + @$pb.TagNumber(4) + $core.String get serviceConfigId => $_getSZ(2); + @$pb.TagNumber(4) + set serviceConfigId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasServiceConfigId() => $_has(2); + @$pb.TagNumber(4) + void clearServiceConfigId() => clearField(4); +} + +/// Contains additional information about the check operation. +class CheckResponse_CheckInfo extends $pb.GeneratedMessage { + factory CheckResponse_CheckInfo({ + $core.Iterable<$core.String>? unusedArguments, + CheckResponse_ConsumerInfo? consumerInfo, + $core.String? apiKeyUid, + }) { + final $result = create(); + if (unusedArguments != null) { + $result.unusedArguments.addAll(unusedArguments); + } + if (consumerInfo != null) { + $result.consumerInfo = consumerInfo; + } + if (apiKeyUid != null) { + $result.apiKeyUid = apiKeyUid; + } + return $result; + } + CheckResponse_CheckInfo._() : super(); + factory CheckResponse_CheckInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckResponse_CheckInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckResponse.CheckInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'unusedArguments') + ..aOM(2, _omitFieldNames ? '' : 'consumerInfo', + subBuilder: CheckResponse_ConsumerInfo.create) + ..aOS(5, _omitFieldNames ? '' : 'apiKeyUid') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckResponse_CheckInfo clone() => + CheckResponse_CheckInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckResponse_CheckInfo copyWith( + void Function(CheckResponse_CheckInfo) updates) => + super.copyWith((message) => updates(message as CheckResponse_CheckInfo)) + as CheckResponse_CheckInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckResponse_CheckInfo create() => CheckResponse_CheckInfo._(); + CheckResponse_CheckInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckResponse_CheckInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckResponse_CheckInfo? _defaultInstance; + + /// A list of fields and label keys that are ignored by the server. + /// The client doesn't need to send them for following requests to improve + /// performance and allow better aggregation. + @$pb.TagNumber(1) + $core.List<$core.String> get unusedArguments => $_getList(0); + + /// Consumer info of this check. + @$pb.TagNumber(2) + CheckResponse_ConsumerInfo get consumerInfo => $_getN(1); + @$pb.TagNumber(2) + set consumerInfo(CheckResponse_ConsumerInfo v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasConsumerInfo() => $_has(1); + @$pb.TagNumber(2) + void clearConsumerInfo() => clearField(2); + @$pb.TagNumber(2) + CheckResponse_ConsumerInfo ensureConsumerInfo() => $_ensure(1); + + /// The unique id of the api key in the format of "apikey:". + /// This field will be populated when the consumer passed to Service Control + /// is an API key and all the API key related validations are successful. + @$pb.TagNumber(5) + $core.String get apiKeyUid => $_getSZ(2); + @$pb.TagNumber(5) + set apiKeyUid($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasApiKeyUid() => $_has(2); + @$pb.TagNumber(5) + void clearApiKeyUid() => clearField(5); +} + +/// `ConsumerInfo` provides information about the consumer. +class CheckResponse_ConsumerInfo extends $pb.GeneratedMessage { + factory CheckResponse_ConsumerInfo({ + $fixnum.Int64? projectNumber, + CheckResponse_ConsumerInfo_ConsumerType? type, + $fixnum.Int64? consumerNumber, + }) { + final $result = create(); + if (projectNumber != null) { + $result.projectNumber = projectNumber; + } + if (type != null) { + $result.type = type; + } + if (consumerNumber != null) { + $result.consumerNumber = consumerNumber; + } + return $result; + } + CheckResponse_ConsumerInfo._() : super(); + factory CheckResponse_ConsumerInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckResponse_ConsumerInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckResponse.ConsumerInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'projectNumber') + ..e( + 2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, + defaultOrMaker: + CheckResponse_ConsumerInfo_ConsumerType.CONSUMER_TYPE_UNSPECIFIED, + valueOf: CheckResponse_ConsumerInfo_ConsumerType.valueOf, + enumValues: CheckResponse_ConsumerInfo_ConsumerType.values) + ..aInt64(3, _omitFieldNames ? '' : 'consumerNumber') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckResponse_ConsumerInfo clone() => + CheckResponse_ConsumerInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckResponse_ConsumerInfo copyWith( + void Function(CheckResponse_ConsumerInfo) updates) => + super.copyWith( + (message) => updates(message as CheckResponse_ConsumerInfo)) + as CheckResponse_ConsumerInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckResponse_ConsumerInfo create() => CheckResponse_ConsumerInfo._(); + CheckResponse_ConsumerInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckResponse_ConsumerInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckResponse_ConsumerInfo? _defaultInstance; + + /// The Google cloud project number, e.g. 1234567890. A value of 0 indicates + /// no project number is found. + /// + /// NOTE: This field is deprecated after we support flexible consumer + /// id. New code should not depend on this field anymore. + @$pb.TagNumber(1) + $fixnum.Int64 get projectNumber => $_getI64(0); + @$pb.TagNumber(1) + set projectNumber($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectNumber() => $_has(0); + @$pb.TagNumber(1) + void clearProjectNumber() => clearField(1); + + /// The type of the consumer which should have been defined in + /// [Google Resource Manager](https://cloud.google.com/resource-manager/). + @$pb.TagNumber(2) + CheckResponse_ConsumerInfo_ConsumerType get type => $_getN(1); + @$pb.TagNumber(2) + set type(CheckResponse_ConsumerInfo_ConsumerType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + /// The consumer identity number, can be Google cloud project number, folder + /// number or organization number e.g. 1234567890. A value of 0 indicates no + /// consumer number is found. + @$pb.TagNumber(3) + $fixnum.Int64 get consumerNumber => $_getI64(2); + @$pb.TagNumber(3) + set consumerNumber($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasConsumerNumber() => $_has(2); + @$pb.TagNumber(3) + void clearConsumerNumber() => clearField(3); +} + +/// Response message for the Check method. +class CheckResponse extends $pb.GeneratedMessage { + factory CheckResponse({ + $core.String? operationId, + $core.Iterable<$112.CheckError>? checkErrors, + $core.String? serviceConfigId, + CheckResponse_CheckInfo? checkInfo, + $core.String? serviceRolloutId, + }) { + final $result = create(); + if (operationId != null) { + $result.operationId = operationId; + } + if (checkErrors != null) { + $result.checkErrors.addAll(checkErrors); + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + if (checkInfo != null) { + $result.checkInfo = checkInfo; + } + if (serviceRolloutId != null) { + $result.serviceRolloutId = serviceRolloutId; + } + return $result; + } + CheckResponse._() : super(); + factory CheckResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'operationId') + ..pc<$112.CheckError>( + 2, _omitFieldNames ? '' : 'checkErrors', $pb.PbFieldType.PM, + subBuilder: $112.CheckError.create) + ..aOS(5, _omitFieldNames ? '' : 'serviceConfigId') + ..aOM(6, _omitFieldNames ? '' : 'checkInfo', + subBuilder: CheckResponse_CheckInfo.create) + ..aOS(11, _omitFieldNames ? '' : 'serviceRolloutId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckResponse clone() => CheckResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckResponse copyWith(void Function(CheckResponse) updates) => + super.copyWith((message) => updates(message as CheckResponse)) + as CheckResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckResponse create() => CheckResponse._(); + CheckResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckResponse? _defaultInstance; + + /// The same operation_id value used in the + /// [CheckRequest][google.api.servicecontrol.v1.CheckRequest]. Used for logging + /// and diagnostics purposes. + @$pb.TagNumber(1) + $core.String get operationId => $_getSZ(0); + @$pb.TagNumber(1) + set operationId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperationId() => $_has(0); + @$pb.TagNumber(1) + void clearOperationId() => clearField(1); + + /// Indicate the decision of the check. + /// + /// If no check errors are present, the service should process the operation. + /// Otherwise the service should use the list of errors to determine the + /// appropriate action. + @$pb.TagNumber(2) + $core.List<$112.CheckError> get checkErrors => $_getList(1); + + /// The actual config id used to process the request. + @$pb.TagNumber(5) + $core.String get serviceConfigId => $_getSZ(2); + @$pb.TagNumber(5) + set serviceConfigId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasServiceConfigId() => $_has(2); + @$pb.TagNumber(5) + void clearServiceConfigId() => clearField(5); + + /// Feedback data returned from the server during processing a Check request. + @$pb.TagNumber(6) + CheckResponse_CheckInfo get checkInfo => $_getN(3); + @$pb.TagNumber(6) + set checkInfo(CheckResponse_CheckInfo v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCheckInfo() => $_has(3); + @$pb.TagNumber(6) + void clearCheckInfo() => clearField(6); + @$pb.TagNumber(6) + CheckResponse_CheckInfo ensureCheckInfo() => $_ensure(3); + + /// The current service rollout id used to process the request. + @$pb.TagNumber(11) + $core.String get serviceRolloutId => $_getSZ(4); + @$pb.TagNumber(11) + set serviceRolloutId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(11) + $core.bool hasServiceRolloutId() => $_has(4); + @$pb.TagNumber(11) + void clearServiceRolloutId() => clearField(11); +} + +/// Request message for the Report method. +class ReportRequest extends $pb.GeneratedMessage { + factory ReportRequest({ + $core.String? serviceName, + $core.Iterable<$111.Operation>? operations, + $core.String? serviceConfigId, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (operations != null) { + $result.operations.addAll(operations); + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + return $result; + } + ReportRequest._() : super(); + factory ReportRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReportRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..pc<$111.Operation>( + 2, _omitFieldNames ? '' : 'operations', $pb.PbFieldType.PM, + subBuilder: $111.Operation.create) + ..aOS(3, _omitFieldNames ? '' : 'serviceConfigId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportRequest clone() => ReportRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportRequest copyWith(void Function(ReportRequest) updates) => + super.copyWith((message) => updates(message as ReportRequest)) + as ReportRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportRequest create() => ReportRequest._(); + ReportRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReportRequest? _defaultInstance; + + /// The service name as specified in its service configuration. For example, + /// `"pubsub.googleapis.com"`. + /// + /// See + /// [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + /// for the definition of a service name. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Operations to be reported. + /// + /// Typically the service should report one operation per request. + /// Putting multiple operations into a single request is allowed, but should + /// be used only when multiple operations are natually available at the time + /// of the report. + /// + /// There is no limit on the number of operations in the same ReportRequest, + /// however the ReportRequest size should be no larger than 1MB. See + /// [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] + /// for partial failure behavior. + @$pb.TagNumber(2) + $core.List<$111.Operation> get operations => $_getList(1); + + /// Specifies which version of service config should be used to process the + /// request. + /// + /// If unspecified or no matching version can be found, the + /// latest one will be used. + @$pb.TagNumber(3) + $core.String get serviceConfigId => $_getSZ(2); + @$pb.TagNumber(3) + set serviceConfigId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasServiceConfigId() => $_has(2); + @$pb.TagNumber(3) + void clearServiceConfigId() => clearField(3); +} + +/// Represents the processing error of one +/// [Operation][google.api.servicecontrol.v1.Operation] in the request. +class ReportResponse_ReportError extends $pb.GeneratedMessage { + factory ReportResponse_ReportError({ + $core.String? operationId, + $57.Status? status, + }) { + final $result = create(); + if (operationId != null) { + $result.operationId = operationId; + } + if (status != null) { + $result.status = status; + } + return $result; + } + ReportResponse_ReportError._() : super(); + factory ReportResponse_ReportError.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportResponse_ReportError.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReportResponse.ReportError', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'operationId') + ..aOM<$57.Status>(2, _omitFieldNames ? '' : 'status', + subBuilder: $57.Status.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportResponse_ReportError clone() => + ReportResponse_ReportError()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportResponse_ReportError copyWith( + void Function(ReportResponse_ReportError) updates) => + super.copyWith( + (message) => updates(message as ReportResponse_ReportError)) + as ReportResponse_ReportError; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportResponse_ReportError create() => ReportResponse_ReportError._(); + ReportResponse_ReportError createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportResponse_ReportError getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReportResponse_ReportError? _defaultInstance; + + /// The + /// [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] + /// value from the request. + @$pb.TagNumber(1) + $core.String get operationId => $_getSZ(0); + @$pb.TagNumber(1) + set operationId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOperationId() => $_has(0); + @$pb.TagNumber(1) + void clearOperationId() => clearField(1); + + /// Details of the error when processing the + /// [Operation][google.api.servicecontrol.v1.Operation]. + @$pb.TagNumber(2) + $57.Status get status => $_getN(1); + @$pb.TagNumber(2) + set status($57.Status v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStatus() => $_has(1); + @$pb.TagNumber(2) + void clearStatus() => clearField(2); + @$pb.TagNumber(2) + $57.Status ensureStatus() => $_ensure(1); +} + +/// Response message for the Report method. +class ReportResponse extends $pb.GeneratedMessage { + factory ReportResponse({ + $core.Iterable? reportErrors, + $core.String? serviceConfigId, + $core.String? serviceRolloutId, + }) { + final $result = create(); + if (reportErrors != null) { + $result.reportErrors.addAll(reportErrors); + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + if (serviceRolloutId != null) { + $result.serviceRolloutId = serviceRolloutId; + } + return $result; + } + ReportResponse._() : super(); + factory ReportResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReportResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'reportErrors', $pb.PbFieldType.PM, + subBuilder: ReportResponse_ReportError.create) + ..aOS(2, _omitFieldNames ? '' : 'serviceConfigId') + ..aOS(4, _omitFieldNames ? '' : 'serviceRolloutId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportResponse clone() => ReportResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportResponse copyWith(void Function(ReportResponse) updates) => + super.copyWith((message) => updates(message as ReportResponse)) + as ReportResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportResponse create() => ReportResponse._(); + ReportResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReportResponse? _defaultInstance; + + /// Partial failures, one for each `Operation` in the request that failed + /// processing. There are three possible combinations of the RPC status: + /// + /// 1. The combination of a successful RPC status and an empty `report_errors` + /// list indicates a complete success where all `Operations` in the + /// request are processed successfully. + /// 2. The combination of a successful RPC status and a non-empty + /// `report_errors` list indicates a partial success where some + /// `Operations` in the request succeeded. Each + /// `Operation` that failed processing has a corresponding item + /// in this list. + /// 3. A failed RPC status indicates a general non-deterministic failure. + /// When this happens, it's impossible to know which of the + /// 'Operations' in the request succeeded or failed. + @$pb.TagNumber(1) + $core.List get reportErrors => $_getList(0); + + /// The actual config id used to process the request. + @$pb.TagNumber(2) + $core.String get serviceConfigId => $_getSZ(1); + @$pb.TagNumber(2) + set serviceConfigId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasServiceConfigId() => $_has(1); + @$pb.TagNumber(2) + void clearServiceConfigId() => clearField(2); + + /// The current service rollout id used to process the request. + @$pb.TagNumber(4) + $core.String get serviceRolloutId => $_getSZ(2); + @$pb.TagNumber(4) + set serviceRolloutId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasServiceRolloutId() => $_has(2); + @$pb.TagNumber(4) + void clearServiceRolloutId() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbenum.dart new file mode 100644 index 00000000..43375edd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbenum.dart @@ -0,0 +1,53 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The type of the consumer as defined in +/// [Google Resource Manager](https://cloud.google.com/resource-manager/). +class CheckResponse_ConsumerInfo_ConsumerType extends $pb.ProtobufEnum { + static const CheckResponse_ConsumerInfo_ConsumerType + CONSUMER_TYPE_UNSPECIFIED = CheckResponse_ConsumerInfo_ConsumerType._( + 0, _omitEnumNames ? '' : 'CONSUMER_TYPE_UNSPECIFIED'); + static const CheckResponse_ConsumerInfo_ConsumerType PROJECT = + CheckResponse_ConsumerInfo_ConsumerType._( + 1, _omitEnumNames ? '' : 'PROJECT'); + static const CheckResponse_ConsumerInfo_ConsumerType FOLDER = + CheckResponse_ConsumerInfo_ConsumerType._( + 2, _omitEnumNames ? '' : 'FOLDER'); + static const CheckResponse_ConsumerInfo_ConsumerType ORGANIZATION = + CheckResponse_ConsumerInfo_ConsumerType._( + 3, _omitEnumNames ? '' : 'ORGANIZATION'); + static const CheckResponse_ConsumerInfo_ConsumerType SERVICE_SPECIFIC = + CheckResponse_ConsumerInfo_ConsumerType._( + 4, _omitEnumNames ? '' : 'SERVICE_SPECIFIC'); + + static const $core.List values = + [ + CONSUMER_TYPE_UNSPECIFIED, + PROJECT, + FOLDER, + ORGANIZATION, + SERVICE_SPECIFIC, + ]; + + static final $core.Map<$core.int, CheckResponse_ConsumerInfo_ConsumerType> + _byValue = $pb.ProtobufEnum.initByValue(values); + static CheckResponse_ConsumerInfo_ConsumerType? valueOf($core.int value) => + _byValue[value]; + + const CheckResponse_ConsumerInfo_ConsumerType._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbgrpc.dart new file mode 100644 index 00000000..40f82d34 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbgrpc.dart @@ -0,0 +1,87 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'service_controller.pb.dart' as $34; + +export 'service_controller.pb.dart'; + +@$pb.GrpcServiceName('google.api.servicecontrol.v1.ServiceController') +class ServiceControllerClient extends $grpc.Client { + static final _$check = + $grpc.ClientMethod<$34.CheckRequest, $34.CheckResponse>( + '/google.api.servicecontrol.v1.ServiceController/Check', + ($34.CheckRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $34.CheckResponse.fromBuffer(value)); + static final _$report = + $grpc.ClientMethod<$34.ReportRequest, $34.ReportResponse>( + '/google.api.servicecontrol.v1.ServiceController/Report', + ($34.ReportRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $34.ReportResponse.fromBuffer(value)); + + ServiceControllerClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$34.CheckResponse> check($34.CheckRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$check, request, options: options); + } + + $grpc.ResponseFuture<$34.ReportResponse> report($34.ReportRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$report, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.servicecontrol.v1.ServiceController') +abstract class ServiceControllerServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.servicecontrol.v1.ServiceController'; + + ServiceControllerServiceBase() { + $addMethod($grpc.ServiceMethod<$34.CheckRequest, $34.CheckResponse>( + 'Check', + check_Pre, + false, + false, + ($core.List<$core.int> value) => $34.CheckRequest.fromBuffer(value), + ($34.CheckResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$34.ReportRequest, $34.ReportResponse>( + 'Report', + report_Pre, + false, + false, + ($core.List<$core.int> value) => $34.ReportRequest.fromBuffer(value), + ($34.ReportResponse value) => value.writeToBuffer())); + } + + $async.Future<$34.CheckResponse> check_Pre( + $grpc.ServiceCall call, $async.Future<$34.CheckRequest> request) async { + return check(call, await request); + } + + $async.Future<$34.ReportResponse> report_Pre( + $grpc.ServiceCall call, $async.Future<$34.ReportRequest> request) async { + return report(call, await request); + } + + $async.Future<$34.CheckResponse> check( + $grpc.ServiceCall call, $34.CheckRequest request); + $async.Future<$34.ReportResponse> report( + $grpc.ServiceCall call, $34.ReportRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbjson.dart new file mode 100644 index 00000000..bb4f8c77 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v1/service_controller.pbjson.dart @@ -0,0 +1,209 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v1/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use checkRequestDescriptor instead') +const CheckRequest$json = { + '1': 'CheckRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '10': 'serviceName'}, + { + '1': 'operation', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.Operation', + '10': 'operation' + }, + {'1': 'service_config_id', '3': 4, '4': 1, '5': 9, '10': 'serviceConfigId'}, + ], +}; + +/// Descriptor for `CheckRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkRequestDescriptor = $convert.base64Decode( + 'CgxDaGVja1JlcXVlc3QSIQoMc2VydmljZV9uYW1lGAEgASgJUgtzZXJ2aWNlTmFtZRJFCglvcG' + 'VyYXRpb24YAiABKAsyJy5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYxLk9wZXJhdGlvblIJ' + 'b3BlcmF0aW9uEioKEXNlcnZpY2VfY29uZmlnX2lkGAQgASgJUg9zZXJ2aWNlQ29uZmlnSWQ='); + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse$json = { + '1': 'CheckResponse', + '2': [ + {'1': 'operation_id', '3': 1, '4': 1, '5': 9, '10': 'operationId'}, + { + '1': 'check_errors', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.CheckError', + '10': 'checkErrors' + }, + {'1': 'service_config_id', '3': 5, '4': 1, '5': 9, '10': 'serviceConfigId'}, + { + '1': 'service_rollout_id', + '3': 11, + '4': 1, + '5': 9, + '10': 'serviceRolloutId' + }, + { + '1': 'check_info', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.CheckResponse.CheckInfo', + '10': 'checkInfo' + }, + ], + '3': [CheckResponse_CheckInfo$json, CheckResponse_ConsumerInfo$json], +}; + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse_CheckInfo$json = { + '1': 'CheckInfo', + '2': [ + {'1': 'unused_arguments', '3': 1, '4': 3, '5': 9, '10': 'unusedArguments'}, + { + '1': 'consumer_info', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.servicecontrol.v1.CheckResponse.ConsumerInfo', + '10': 'consumerInfo' + }, + {'1': 'api_key_uid', '3': 5, '4': 1, '5': 9, '10': 'apiKeyUid'}, + ], +}; + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse_ConsumerInfo$json = { + '1': 'ConsumerInfo', + '2': [ + {'1': 'project_number', '3': 1, '4': 1, '5': 3, '10': 'projectNumber'}, + { + '1': 'type', + '3': 2, + '4': 1, + '5': 14, + '6': + '.google.api.servicecontrol.v1.CheckResponse.ConsumerInfo.ConsumerType', + '10': 'type' + }, + {'1': 'consumer_number', '3': 3, '4': 1, '5': 3, '10': 'consumerNumber'}, + ], + '4': [CheckResponse_ConsumerInfo_ConsumerType$json], +}; + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse_ConsumerInfo_ConsumerType$json = { + '1': 'ConsumerType', + '2': [ + {'1': 'CONSUMER_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'PROJECT', '2': 1}, + {'1': 'FOLDER', '2': 2}, + {'1': 'ORGANIZATION', '2': 3}, + {'1': 'SERVICE_SPECIFIC', '2': 4}, + ], +}; + +/// Descriptor for `CheckResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkResponseDescriptor = $convert.base64Decode( + 'Cg1DaGVja1Jlc3BvbnNlEiEKDG9wZXJhdGlvbl9pZBgBIAEoCVILb3BlcmF0aW9uSWQSSwoMY2' + 'hlY2tfZXJyb3JzGAIgAygLMiguZ29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5DaGVja0Vy' + 'cm9yUgtjaGVja0Vycm9ycxIqChFzZXJ2aWNlX2NvbmZpZ19pZBgFIAEoCVIPc2VydmljZUNvbm' + 'ZpZ0lkEiwKEnNlcnZpY2Vfcm9sbG91dF9pZBgLIAEoCVIQc2VydmljZVJvbGxvdXRJZBJUCgpj' + 'aGVja19pbmZvGAYgASgLMjUuZ29vZ2xlLmFwaS5zZXJ2aWNlY29udHJvbC52MS5DaGVja1Jlc3' + 'BvbnNlLkNoZWNrSW5mb1IJY2hlY2tJbmZvGrUBCglDaGVja0luZm8SKQoQdW51c2VkX2FyZ3Vt' + 'ZW50cxgBIAMoCVIPdW51c2VkQXJndW1lbnRzEl0KDWNvbnN1bWVyX2luZm8YAiABKAsyOC5nb2' + '9nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYxLkNoZWNrUmVzcG9uc2UuQ29uc3VtZXJJbmZvUgxj' + 'b25zdW1lckluZm8SHgoLYXBpX2tleV91aWQYBSABKAlSCWFwaUtleVVpZBqpAgoMQ29uc3VtZX' + 'JJbmZvEiUKDnByb2plY3RfbnVtYmVyGAEgASgDUg1wcm9qZWN0TnVtYmVyElkKBHR5cGUYAiAB' + 'KA4yRS5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYxLkNoZWNrUmVzcG9uc2UuQ29uc3VtZX' + 'JJbmZvLkNvbnN1bWVyVHlwZVIEdHlwZRInCg9jb25zdW1lcl9udW1iZXIYAyABKANSDmNvbnN1' + 'bWVyTnVtYmVyIm4KDENvbnN1bWVyVHlwZRIdChlDT05TVU1FUl9UWVBFX1VOU1BFQ0lGSUVEEA' + 'ASCwoHUFJPSkVDVBABEgoKBkZPTERFUhACEhAKDE9SR0FOSVpBVElPThADEhQKEFNFUlZJQ0Vf' + 'U1BFQ0lGSUMQBA=='); + +@$core.Deprecated('Use reportRequestDescriptor instead') +const ReportRequest$json = { + '1': 'ReportRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '10': 'serviceName'}, + { + '1': 'operations', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.Operation', + '10': 'operations' + }, + {'1': 'service_config_id', '3': 3, '4': 1, '5': 9, '10': 'serviceConfigId'}, + ], +}; + +/// Descriptor for `ReportRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportRequestDescriptor = $convert.base64Decode( + 'Cg1SZXBvcnRSZXF1ZXN0EiEKDHNlcnZpY2VfbmFtZRgBIAEoCVILc2VydmljZU5hbWUSRwoKb3' + 'BlcmF0aW9ucxgCIAMoCzInLmdvb2dsZS5hcGkuc2VydmljZWNvbnRyb2wudjEuT3BlcmF0aW9u' + 'UgpvcGVyYXRpb25zEioKEXNlcnZpY2VfY29uZmlnX2lkGAMgASgJUg9zZXJ2aWNlQ29uZmlnSW' + 'Q='); + +@$core.Deprecated('Use reportResponseDescriptor instead') +const ReportResponse$json = { + '1': 'ReportResponse', + '2': [ + { + '1': 'report_errors', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v1.ReportResponse.ReportError', + '10': 'reportErrors' + }, + {'1': 'service_config_id', '3': 2, '4': 1, '5': 9, '10': 'serviceConfigId'}, + { + '1': 'service_rollout_id', + '3': 4, + '4': 1, + '5': 9, + '10': 'serviceRolloutId' + }, + ], + '3': [ReportResponse_ReportError$json], +}; + +@$core.Deprecated('Use reportResponseDescriptor instead') +const ReportResponse_ReportError$json = { + '1': 'ReportError', + '2': [ + {'1': 'operation_id', '3': 1, '4': 1, '5': 9, '10': 'operationId'}, + { + '1': 'status', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.rpc.Status', + '10': 'status' + }, + ], +}; + +/// Descriptor for `ReportResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportResponseDescriptor = $convert.base64Decode( + 'Cg5SZXBvcnRSZXNwb25zZRJdCg1yZXBvcnRfZXJyb3JzGAEgAygLMjguZ29vZ2xlLmFwaS5zZX' + 'J2aWNlY29udHJvbC52MS5SZXBvcnRSZXNwb25zZS5SZXBvcnRFcnJvclIMcmVwb3J0RXJyb3Jz' + 'EioKEXNlcnZpY2VfY29uZmlnX2lkGAIgASgJUg9zZXJ2aWNlQ29uZmlnSWQSLAoSc2VydmljZV' + '9yb2xsb3V0X2lkGAQgASgJUhBzZXJ2aWNlUm9sbG91dElkGlwKC1JlcG9ydEVycm9yEiEKDG9w' + 'ZXJhdGlvbl9pZBgBIAEoCVILb3BlcmF0aW9uSWQSKgoGc3RhdHVzGAIgASgLMhIuZ29vZ2xlLn' + 'JwYy5TdGF0dXNSBnN0YXR1cw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pb.dart new file mode 100644 index 00000000..fa1d689e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pb.dart @@ -0,0 +1,590 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v2/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../rpc/context/attribute_context.pb.dart' as $113; +import '../../../rpc/status.pb.dart' as $57; + +/// Request message for the Check method. +class CheckRequest extends $pb.GeneratedMessage { + factory CheckRequest({ + $core.String? serviceName, + $core.String? serviceConfigId, + $113.AttributeContext? attributes, + $core.Iterable? resources, + $core.String? flags, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + if (attributes != null) { + $result.attributes = attributes; + } + if (resources != null) { + $result.resources.addAll(resources); + } + if (flags != null) { + $result.flags = flags; + } + return $result; + } + CheckRequest._() : super(); + factory CheckRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'serviceConfigId') + ..aOM<$113.AttributeContext>(3, _omitFieldNames ? '' : 'attributes', + subBuilder: $113.AttributeContext.create) + ..pc( + 4, _omitFieldNames ? '' : 'resources', $pb.PbFieldType.PM, + subBuilder: ResourceInfo.create) + ..aOS(5, _omitFieldNames ? '' : 'flags') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckRequest clone() => CheckRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckRequest copyWith(void Function(CheckRequest) updates) => + super.copyWith((message) => updates(message as CheckRequest)) + as CheckRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckRequest create() => CheckRequest._(); + CheckRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckRequest? _defaultInstance; + + /// The service name as specified in its service configuration. For example, + /// `"pubsub.googleapis.com"`. + /// + /// See + /// [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + /// for the definition of a service name. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Specifies the version of the service configuration that should be used to + /// process the request. Must not be empty. Set this field to 'latest' to + /// specify using the latest configuration. + @$pb.TagNumber(2) + $core.String get serviceConfigId => $_getSZ(1); + @$pb.TagNumber(2) + set serviceConfigId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasServiceConfigId() => $_has(1); + @$pb.TagNumber(2) + void clearServiceConfigId() => clearField(2); + + /// Describes attributes about the operation being executed by the service. + @$pb.TagNumber(3) + $113.AttributeContext get attributes => $_getN(2); + @$pb.TagNumber(3) + set attributes($113.AttributeContext v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasAttributes() => $_has(2); + @$pb.TagNumber(3) + void clearAttributes() => clearField(3); + @$pb.TagNumber(3) + $113.AttributeContext ensureAttributes() => $_ensure(2); + + /// Describes the resources and the policies applied to each resource. + @$pb.TagNumber(4) + $core.List get resources => $_getList(3); + + /// Optional. Contains a comma-separated list of flags. + @$pb.TagNumber(5) + $core.String get flags => $_getSZ(4); + @$pb.TagNumber(5) + set flags($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasFlags() => $_has(4); + @$pb.TagNumber(5) + void clearFlags() => clearField(5); +} + +/// Describes a resource referenced in the request. +class ResourceInfo extends $pb.GeneratedMessage { + factory ResourceInfo({ + $core.String? name, + $core.String? type, + $core.String? permission, + $core.String? container, + $core.String? location, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (type != null) { + $result.type = type; + } + if (permission != null) { + $result.permission = permission; + } + if (container != null) { + $result.container = container; + } + if (location != null) { + $result.location = location; + } + return $result; + } + ResourceInfo._() : super(); + factory ResourceInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ResourceInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ResourceInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'type') + ..aOS(3, _omitFieldNames ? '' : 'permission') + ..aOS(4, _omitFieldNames ? '' : 'container') + ..aOS(5, _omitFieldNames ? '' : 'location') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResourceInfo clone() => ResourceInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResourceInfo copyWith(void Function(ResourceInfo) updates) => + super.copyWith((message) => updates(message as ResourceInfo)) + as ResourceInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResourceInfo create() => ResourceInfo._(); + ResourceInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResourceInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ResourceInfo? _defaultInstance; + + /// The name of the resource referenced in the request. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The resource type in the format of "{service}/{kind}". + @$pb.TagNumber(2) + $core.String get type => $_getSZ(1); + @$pb.TagNumber(2) + set type($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + /// The resource permission needed for this request. + /// The format must be "{service}/{plural}.{verb}". + @$pb.TagNumber(3) + $core.String get permission => $_getSZ(2); + @$pb.TagNumber(3) + set permission($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPermission() => $_has(2); + @$pb.TagNumber(3) + void clearPermission() => clearField(3); + + /// Optional. The identifier of the container of this resource. For Google + /// Cloud APIs, the resource container must be one of the following formats: + /// - `projects/` + /// - `folders/` + /// - `organizations/` + /// For the policy enforcement on the container level (VPCSC and Location + /// Policy check), this field takes precedence on the container extracted from + /// name when presents. + @$pb.TagNumber(4) + $core.String get container => $_getSZ(3); + @$pb.TagNumber(4) + set container($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasContainer() => $_has(3); + @$pb.TagNumber(4) + void clearContainer() => clearField(4); + + /// Optional. The location of the resource. The value must be a valid zone, + /// region or multiregion. For example: "europe-west4" or + /// "northamerica-northeast1-a" + @$pb.TagNumber(5) + $core.String get location => $_getSZ(4); + @$pb.TagNumber(5) + set location($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasLocation() => $_has(4); + @$pb.TagNumber(5) + void clearLocation() => clearField(5); +} + +/// Response message for the Check method. +class CheckResponse extends $pb.GeneratedMessage { + factory CheckResponse({ + $57.Status? status, + $core.Map<$core.String, $core.String>? headers, + }) { + final $result = create(); + if (status != null) { + $result.status = status; + } + if (headers != null) { + $result.headers.addAll(headers); + } + return $result; + } + CheckResponse._() : super(); + factory CheckResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CheckResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CheckResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v2'), + createEmptyInstance: create) + ..aOM<$57.Status>(1, _omitFieldNames ? '' : 'status', + subBuilder: $57.Status.create) + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'headers', + entryClassName: 'CheckResponse.HeadersEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.servicecontrol.v2')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CheckResponse clone() => CheckResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CheckResponse copyWith(void Function(CheckResponse) updates) => + super.copyWith((message) => updates(message as CheckResponse)) + as CheckResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CheckResponse create() => CheckResponse._(); + CheckResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CheckResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CheckResponse? _defaultInstance; + + /// Operation is allowed when this field is not set. Any non-'OK' status + /// indicates a denial; [google.rpc.Status.details][google.rpc.Status.details] + /// would contain additional details about the denial. + @$pb.TagNumber(1) + $57.Status get status => $_getN(0); + @$pb.TagNumber(1) + set status($57.Status v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStatus() => $_has(0); + @$pb.TagNumber(1) + void clearStatus() => clearField(1); + @$pb.TagNumber(1) + $57.Status ensureStatus() => $_ensure(0); + + /// Returns a set of request contexts generated from the `CheckRequest`. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get headers => $_getMap(1); +} + +/// Request message for the Report method. +class ReportRequest extends $pb.GeneratedMessage { + factory ReportRequest({ + $core.String? serviceName, + $core.String? serviceConfigId, + $core.Iterable<$113.AttributeContext>? operations, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (serviceConfigId != null) { + $result.serviceConfigId = serviceConfigId; + } + if (operations != null) { + $result.operations.addAll(operations); + } + return $result; + } + ReportRequest._() : super(); + factory ReportRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReportRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'serviceConfigId') + ..pc<$113.AttributeContext>( + 3, _omitFieldNames ? '' : 'operations', $pb.PbFieldType.PM, + subBuilder: $113.AttributeContext.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportRequest clone() => ReportRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportRequest copyWith(void Function(ReportRequest) updates) => + super.copyWith((message) => updates(message as ReportRequest)) + as ReportRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportRequest create() => ReportRequest._(); + ReportRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReportRequest? _defaultInstance; + + /// The service name as specified in its service configuration. For example, + /// `"pubsub.googleapis.com"`. + /// + /// See + /// [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + /// for the definition of a service name. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Specifies the version of the service configuration that should be used to + /// process the request. Must not be empty. Set this field to 'latest' to + /// specify using the latest configuration. + @$pb.TagNumber(2) + $core.String get serviceConfigId => $_getSZ(1); + @$pb.TagNumber(2) + set serviceConfigId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasServiceConfigId() => $_has(1); + @$pb.TagNumber(2) + void clearServiceConfigId() => clearField(2); + + /// Describes the list of operations to be reported. Each operation is + /// represented as an AttributeContext, and contains all attributes around an + /// API access. + @$pb.TagNumber(3) + $core.List<$113.AttributeContext> get operations => $_getList(2); +} + +/// Response message for the Report method. +/// If the request contains any invalid data, the server returns an RPC error. +class ReportResponse extends $pb.GeneratedMessage { + factory ReportResponse() => create(); + ReportResponse._() : super(); + factory ReportResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReportResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReportResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v2'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReportResponse clone() => ReportResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReportResponse copyWith(void Function(ReportResponse) updates) => + super.copyWith((message) => updates(message as ReportResponse)) + as ReportResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReportResponse create() => ReportResponse._(); + ReportResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReportResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReportResponse? _defaultInstance; +} + +/// Message containing resource details in a batch mode. +class ResourceInfoList extends $pb.GeneratedMessage { + factory ResourceInfoList({ + $core.Iterable? resources, + }) { + final $result = create(); + if (resources != null) { + $result.resources.addAll(resources); + } + return $result; + } + ResourceInfoList._() : super(); + factory ResourceInfoList.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ResourceInfoList.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ResourceInfoList', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicecontrol.v2'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'resources', $pb.PbFieldType.PM, + subBuilder: ResourceInfo.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResourceInfoList clone() => ResourceInfoList()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResourceInfoList copyWith(void Function(ResourceInfoList) updates) => + super.copyWith((message) => updates(message as ResourceInfoList)) + as ResourceInfoList; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResourceInfoList create() => ResourceInfoList._(); + ResourceInfoList createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResourceInfoList getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ResourceInfoList? _defaultInstance; + + /// The resource details. + @$pb.TagNumber(1) + $core.List get resources => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbenum.dart new file mode 100644 index 00000000..ce50f60f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v2/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbgrpc.dart new file mode 100644 index 00000000..91558ecc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbgrpc.dart @@ -0,0 +1,87 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v2/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'service_controller.pb.dart' as $36; + +export 'service_controller.pb.dart'; + +@$pb.GrpcServiceName('google.api.servicecontrol.v2.ServiceController') +class ServiceControllerClient extends $grpc.Client { + static final _$check = + $grpc.ClientMethod<$36.CheckRequest, $36.CheckResponse>( + '/google.api.servicecontrol.v2.ServiceController/Check', + ($36.CheckRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $36.CheckResponse.fromBuffer(value)); + static final _$report = + $grpc.ClientMethod<$36.ReportRequest, $36.ReportResponse>( + '/google.api.servicecontrol.v2.ServiceController/Report', + ($36.ReportRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $36.ReportResponse.fromBuffer(value)); + + ServiceControllerClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$36.CheckResponse> check($36.CheckRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$check, request, options: options); + } + + $grpc.ResponseFuture<$36.ReportResponse> report($36.ReportRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$report, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.servicecontrol.v2.ServiceController') +abstract class ServiceControllerServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.servicecontrol.v2.ServiceController'; + + ServiceControllerServiceBase() { + $addMethod($grpc.ServiceMethod<$36.CheckRequest, $36.CheckResponse>( + 'Check', + check_Pre, + false, + false, + ($core.List<$core.int> value) => $36.CheckRequest.fromBuffer(value), + ($36.CheckResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$36.ReportRequest, $36.ReportResponse>( + 'Report', + report_Pre, + false, + false, + ($core.List<$core.int> value) => $36.ReportRequest.fromBuffer(value), + ($36.ReportResponse value) => value.writeToBuffer())); + } + + $async.Future<$36.CheckResponse> check_Pre( + $grpc.ServiceCall call, $async.Future<$36.CheckRequest> request) async { + return check(call, await request); + } + + $async.Future<$36.ReportResponse> report_Pre( + $grpc.ServiceCall call, $async.Future<$36.ReportRequest> request) async { + return report(call, await request); + } + + $async.Future<$36.CheckResponse> check( + $grpc.ServiceCall call, $36.CheckRequest request); + $async.Future<$36.ReportResponse> report( + $grpc.ServiceCall call, $36.ReportRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbjson.dart new file mode 100644 index 00000000..090d9357 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicecontrol/v2/service_controller.pbjson.dart @@ -0,0 +1,159 @@ +// +// Generated code. Do not modify. +// source: google/api/servicecontrol/v2/service_controller.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use checkRequestDescriptor instead') +const CheckRequest$json = { + '1': 'CheckRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '10': 'serviceName'}, + {'1': 'service_config_id', '3': 2, '4': 1, '5': 9, '10': 'serviceConfigId'}, + { + '1': 'attributes', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.rpc.context.AttributeContext', + '10': 'attributes' + }, + { + '1': 'resources', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v2.ResourceInfo', + '10': 'resources' + }, + {'1': 'flags', '3': 5, '4': 1, '5': 9, '10': 'flags'}, + ], +}; + +/// Descriptor for `CheckRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkRequestDescriptor = $convert.base64Decode( + 'CgxDaGVja1JlcXVlc3QSIQoMc2VydmljZV9uYW1lGAEgASgJUgtzZXJ2aWNlTmFtZRIqChFzZX' + 'J2aWNlX2NvbmZpZ19pZBgCIAEoCVIPc2VydmljZUNvbmZpZ0lkEkQKCmF0dHJpYnV0ZXMYAyAB' + 'KAsyJC5nb29nbGUucnBjLmNvbnRleHQuQXR0cmlidXRlQ29udGV4dFIKYXR0cmlidXRlcxJICg' + 'lyZXNvdXJjZXMYBCADKAsyKi5nb29nbGUuYXBpLnNlcnZpY2Vjb250cm9sLnYyLlJlc291cmNl' + 'SW5mb1IJcmVzb3VyY2VzEhQKBWZsYWdzGAUgASgJUgVmbGFncw=='); + +@$core.Deprecated('Use resourceInfoDescriptor instead') +const ResourceInfo$json = { + '1': 'ResourceInfo', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'type', '3': 2, '4': 1, '5': 9, '10': 'type'}, + {'1': 'permission', '3': 3, '4': 1, '5': 9, '10': 'permission'}, + {'1': 'container', '3': 4, '4': 1, '5': 9, '10': 'container'}, + {'1': 'location', '3': 5, '4': 1, '5': 9, '10': 'location'}, + ], +}; + +/// Descriptor for `ResourceInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourceInfoDescriptor = $convert.base64Decode( + 'CgxSZXNvdXJjZUluZm8SEgoEbmFtZRgBIAEoCVIEbmFtZRISCgR0eXBlGAIgASgJUgR0eXBlEh' + '4KCnBlcm1pc3Npb24YAyABKAlSCnBlcm1pc3Npb24SHAoJY29udGFpbmVyGAQgASgJUgljb250' + 'YWluZXISGgoIbG9jYXRpb24YBSABKAlSCGxvY2F0aW9u'); + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse$json = { + '1': 'CheckResponse', + '2': [ + { + '1': 'status', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.rpc.Status', + '10': 'status' + }, + { + '1': 'headers', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v2.CheckResponse.HeadersEntry', + '10': 'headers' + }, + ], + '3': [CheckResponse_HeadersEntry$json], +}; + +@$core.Deprecated('Use checkResponseDescriptor instead') +const CheckResponse_HeadersEntry$json = { + '1': 'HeadersEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `CheckResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List checkResponseDescriptor = $convert.base64Decode( + 'Cg1DaGVja1Jlc3BvbnNlEioKBnN0YXR1cxgBIAEoCzISLmdvb2dsZS5ycGMuU3RhdHVzUgZzdG' + 'F0dXMSUgoHaGVhZGVycxgCIAMoCzI4Lmdvb2dsZS5hcGkuc2VydmljZWNvbnRyb2wudjIuQ2hl' + 'Y2tSZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMaOgoMSGVhZGVyc0VudHJ5EhAKA2tleR' + 'gBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use reportRequestDescriptor instead') +const ReportRequest$json = { + '1': 'ReportRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '10': 'serviceName'}, + {'1': 'service_config_id', '3': 2, '4': 1, '5': 9, '10': 'serviceConfigId'}, + { + '1': 'operations', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.rpc.context.AttributeContext', + '10': 'operations' + }, + ], +}; + +/// Descriptor for `ReportRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportRequestDescriptor = $convert.base64Decode( + 'Cg1SZXBvcnRSZXF1ZXN0EiEKDHNlcnZpY2VfbmFtZRgBIAEoCVILc2VydmljZU5hbWUSKgoRc2' + 'VydmljZV9jb25maWdfaWQYAiABKAlSD3NlcnZpY2VDb25maWdJZBJECgpvcGVyYXRpb25zGAMg' + 'AygLMiQuZ29vZ2xlLnJwYy5jb250ZXh0LkF0dHJpYnV0ZUNvbnRleHRSCm9wZXJhdGlvbnM='); + +@$core.Deprecated('Use reportResponseDescriptor instead') +const ReportResponse$json = { + '1': 'ReportResponse', +}; + +/// Descriptor for `ReportResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reportResponseDescriptor = + $convert.base64Decode('Cg5SZXBvcnRSZXNwb25zZQ=='); + +@$core.Deprecated('Use resourceInfoListDescriptor instead') +const ResourceInfoList$json = { + '1': 'ResourceInfoList', + '2': [ + { + '1': 'resources', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.servicecontrol.v2.ResourceInfo', + '10': 'resources' + }, + ], +}; + +/// Descriptor for `ResourceInfoList`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourceInfoListDescriptor = $convert.base64Decode( + 'ChBSZXNvdXJjZUluZm9MaXN0EkgKCXJlc291cmNlcxgBIAMoCzIqLmdvb2dsZS5hcGkuc2Vydm' + 'ljZWNvbnRyb2wudjIuUmVzb3VyY2VJbmZvUglyZXNvdXJjZXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pb.dart new file mode 100644 index 00000000..8e1cfab7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pb.dart @@ -0,0 +1,1064 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/timestamp.pb.dart' as $50; +import '../../config_change.pb.dart' as $80; +import 'resources.pbenum.dart'; + +export 'resources.pbenum.dart'; + +/// The full representation of a Service that is managed by +/// Google Service Management. +class ManagedService extends $pb.GeneratedMessage { + factory ManagedService({ + $core.String? serviceName, + $core.String? producerProjectId, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (producerProjectId != null) { + $result.producerProjectId = producerProjectId; + } + return $result; + } + ManagedService._() : super(); + factory ManagedService.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ManagedService.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ManagedService', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'serviceName') + ..aOS(3, _omitFieldNames ? '' : 'producerProjectId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ManagedService clone() => ManagedService()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ManagedService copyWith(void Function(ManagedService) updates) => + super.copyWith((message) => updates(message as ManagedService)) + as ManagedService; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ManagedService create() => ManagedService._(); + ManagedService createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ManagedService getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ManagedService? _defaultInstance; + + /// The name of the service. See the + /// [overview](https://cloud.google.com/service-infrastructure/docs/overview) + /// for naming requirements. + @$pb.TagNumber(2) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(2) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(2) + void clearServiceName() => clearField(2); + + /// ID of the project that produces and owns this service. + @$pb.TagNumber(3) + $core.String get producerProjectId => $_getSZ(1); + @$pb.TagNumber(3) + set producerProjectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasProducerProjectId() => $_has(1); + @$pb.TagNumber(3) + void clearProducerProjectId() => clearField(3); +} + +/// Represents the status of one operation step. +class OperationMetadata_Step extends $pb.GeneratedMessage { + factory OperationMetadata_Step({ + $core.String? description, + OperationMetadata_Status? status, + }) { + final $result = create(); + if (description != null) { + $result.description = description; + } + if (status != null) { + $result.status = status; + } + return $result; + } + OperationMetadata_Step._() : super(); + factory OperationMetadata_Step.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationMetadata_Step.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationMetadata.Step', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'description') + ..e( + 4, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, + defaultOrMaker: OperationMetadata_Status.STATUS_UNSPECIFIED, + valueOf: OperationMetadata_Status.valueOf, + enumValues: OperationMetadata_Status.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationMetadata_Step clone() => + OperationMetadata_Step()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationMetadata_Step copyWith( + void Function(OperationMetadata_Step) updates) => + super.copyWith((message) => updates(message as OperationMetadata_Step)) + as OperationMetadata_Step; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationMetadata_Step create() => OperationMetadata_Step._(); + OperationMetadata_Step createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationMetadata_Step getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationMetadata_Step? _defaultInstance; + + /// The short description of the step. + @$pb.TagNumber(2) + $core.String get description => $_getSZ(0); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(0); + @$pb.TagNumber(2) + void clearDescription() => clearField(2); + + /// The status code. + @$pb.TagNumber(4) + OperationMetadata_Status get status => $_getN(1); + @$pb.TagNumber(4) + set status(OperationMetadata_Status v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasStatus() => $_has(1); + @$pb.TagNumber(4) + void clearStatus() => clearField(4); +} + +/// The metadata associated with a long running operation resource. +class OperationMetadata extends $pb.GeneratedMessage { + factory OperationMetadata({ + $core.Iterable<$core.String>? resourceNames, + $core.Iterable? steps, + $core.int? progressPercentage, + $50.Timestamp? startTime, + }) { + final $result = create(); + if (resourceNames != null) { + $result.resourceNames.addAll(resourceNames); + } + if (steps != null) { + $result.steps.addAll(steps); + } + if (progressPercentage != null) { + $result.progressPercentage = progressPercentage; + } + if (startTime != null) { + $result.startTime = startTime; + } + return $result; + } + OperationMetadata._() : super(); + factory OperationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'resourceNames') + ..pc( + 2, _omitFieldNames ? '' : 'steps', $pb.PbFieldType.PM, + subBuilder: OperationMetadata_Step.create) + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'progressPercentage', $pb.PbFieldType.O3) + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationMetadata clone() => OperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationMetadata copyWith(void Function(OperationMetadata) updates) => + super.copyWith((message) => updates(message as OperationMetadata)) + as OperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationMetadata create() => OperationMetadata._(); + OperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationMetadata? _defaultInstance; + + /// The full name of the resources that this operation is directly + /// associated with. + @$pb.TagNumber(1) + $core.List<$core.String> get resourceNames => $_getList(0); + + /// Detailed status information for each step. The order is undetermined. + @$pb.TagNumber(2) + $core.List get steps => $_getList(1); + + /// Percentage of completion of this operation, ranging from 0 to 100. + @$pb.TagNumber(3) + $core.int get progressPercentage => $_getIZ(2); + @$pb.TagNumber(3) + set progressPercentage($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasProgressPercentage() => $_has(2); + @$pb.TagNumber(3) + void clearProgressPercentage() => clearField(3); + + /// The start time of the operation. + @$pb.TagNumber(4) + $50.Timestamp get startTime => $_getN(3); + @$pb.TagNumber(4) + set startTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasStartTime() => $_has(3); + @$pb.TagNumber(4) + void clearStartTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureStartTime() => $_ensure(3); +} + +/// Represents a diagnostic message (error or warning) +class Diagnostic extends $pb.GeneratedMessage { + factory Diagnostic({ + $core.String? location, + Diagnostic_Kind? kind, + $core.String? message, + }) { + final $result = create(); + if (location != null) { + $result.location = location; + } + if (kind != null) { + $result.kind = kind; + } + if (message != null) { + $result.message = message; + } + return $result; + } + Diagnostic._() : super(); + factory Diagnostic.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Diagnostic.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Diagnostic', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'location') + ..e(2, _omitFieldNames ? '' : 'kind', $pb.PbFieldType.OE, + defaultOrMaker: Diagnostic_Kind.WARNING, + valueOf: Diagnostic_Kind.valueOf, + enumValues: Diagnostic_Kind.values) + ..aOS(3, _omitFieldNames ? '' : 'message') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Diagnostic clone() => Diagnostic()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Diagnostic copyWith(void Function(Diagnostic) updates) => + super.copyWith((message) => updates(message as Diagnostic)) as Diagnostic; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Diagnostic create() => Diagnostic._(); + Diagnostic createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Diagnostic getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Diagnostic? _defaultInstance; + + /// File name and line number of the error or warning. + @$pb.TagNumber(1) + $core.String get location => $_getSZ(0); + @$pb.TagNumber(1) + set location($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLocation() => $_has(0); + @$pb.TagNumber(1) + void clearLocation() => clearField(1); + + /// The kind of diagnostic information provided. + @$pb.TagNumber(2) + Diagnostic_Kind get kind => $_getN(1); + @$pb.TagNumber(2) + set kind(Diagnostic_Kind v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasKind() => $_has(1); + @$pb.TagNumber(2) + void clearKind() => clearField(2); + + /// Message describing the error or warning. + @$pb.TagNumber(3) + $core.String get message => $_getSZ(2); + @$pb.TagNumber(3) + set message($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMessage() => $_has(2); + @$pb.TagNumber(3) + void clearMessage() => clearField(3); +} + +/// Represents a source file which is used to generate the service configuration +/// defined by `google.api.Service`. +class ConfigSource extends $pb.GeneratedMessage { + factory ConfigSource({ + $core.Iterable? files, + $core.String? id, + }) { + final $result = create(); + if (files != null) { + $result.files.addAll(files); + } + if (id != null) { + $result.id = id; + } + return $result; + } + ConfigSource._() : super(); + factory ConfigSource.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ConfigSource.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ConfigSource', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..pc(2, _omitFieldNames ? '' : 'files', $pb.PbFieldType.PM, + subBuilder: ConfigFile.create) + ..aOS(5, _omitFieldNames ? '' : 'id') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConfigSource clone() => ConfigSource()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConfigSource copyWith(void Function(ConfigSource) updates) => + super.copyWith((message) => updates(message as ConfigSource)) + as ConfigSource; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConfigSource create() => ConfigSource._(); + ConfigSource createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConfigSource getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ConfigSource? _defaultInstance; + + /// Set of source configuration files that are used to generate a service + /// configuration (`google.api.Service`). + @$pb.TagNumber(2) + $core.List get files => $_getList(0); + + /// 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. + @$pb.TagNumber(5) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(5) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(5) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(5) + void clearId() => clearField(5); +} + +/// Generic specification of a source configuration file +class ConfigFile extends $pb.GeneratedMessage { + factory ConfigFile({ + $core.String? filePath, + $core.List<$core.int>? fileContents, + ConfigFile_FileType? fileType, + }) { + final $result = create(); + if (filePath != null) { + $result.filePath = filePath; + } + if (fileContents != null) { + $result.fileContents = fileContents; + } + if (fileType != null) { + $result.fileType = fileType; + } + return $result; + } + ConfigFile._() : super(); + factory ConfigFile.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ConfigFile.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ConfigFile', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'filePath') + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'fileContents', $pb.PbFieldType.OY) + ..e( + 4, _omitFieldNames ? '' : 'fileType', $pb.PbFieldType.OE, + defaultOrMaker: ConfigFile_FileType.FILE_TYPE_UNSPECIFIED, + valueOf: ConfigFile_FileType.valueOf, + enumValues: ConfigFile_FileType.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConfigFile clone() => ConfigFile()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConfigFile copyWith(void Function(ConfigFile) updates) => + super.copyWith((message) => updates(message as ConfigFile)) as ConfigFile; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConfigFile create() => ConfigFile._(); + ConfigFile createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConfigFile getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ConfigFile? _defaultInstance; + + /// The file name of the configuration file (full or relative path). + @$pb.TagNumber(1) + $core.String get filePath => $_getSZ(0); + @$pb.TagNumber(1) + set filePath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFilePath() => $_has(0); + @$pb.TagNumber(1) + void clearFilePath() => clearField(1); + + /// The bytes that constitute the file. + @$pb.TagNumber(3) + $core.List<$core.int> get fileContents => $_getN(1); + @$pb.TagNumber(3) + set fileContents($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasFileContents() => $_has(1); + @$pb.TagNumber(3) + void clearFileContents() => clearField(3); + + /// The type of configuration file this represents. + @$pb.TagNumber(4) + ConfigFile_FileType get fileType => $_getN(2); + @$pb.TagNumber(4) + set fileType(ConfigFile_FileType v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasFileType() => $_has(2); + @$pb.TagNumber(4) + void clearFileType() => clearField(4); +} + +/// Represents a service configuration with its name and id. +class ConfigRef extends $pb.GeneratedMessage { + factory ConfigRef({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + ConfigRef._() : super(); + factory ConfigRef.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ConfigRef.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ConfigRef', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConfigRef clone() => ConfigRef()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConfigRef copyWith(void Function(ConfigRef) updates) => + super.copyWith((message) => updates(message as ConfigRef)) as ConfigRef; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConfigRef create() => ConfigRef._(); + ConfigRef createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConfigRef getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ConfigRef? _defaultInstance; + + /// Resource name of a service config. It must have the following + /// format: "services/{service name}/configs/{config id}". + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Change report associated with a particular service configuration. +/// +/// It contains a list of ConfigChanges based on the comparison between +/// two service configurations. +class ChangeReport extends $pb.GeneratedMessage { + factory ChangeReport({ + $core.Iterable<$80.ConfigChange>? configChanges, + }) { + final $result = create(); + if (configChanges != null) { + $result.configChanges.addAll(configChanges); + } + return $result; + } + ChangeReport._() : super(); + factory ChangeReport.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ChangeReport.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ChangeReport', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..pc<$80.ConfigChange>( + 1, _omitFieldNames ? '' : 'configChanges', $pb.PbFieldType.PM, + subBuilder: $80.ConfigChange.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ChangeReport clone() => ChangeReport()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ChangeReport copyWith(void Function(ChangeReport) updates) => + super.copyWith((message) => updates(message as ChangeReport)) + as ChangeReport; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ChangeReport create() => ChangeReport._(); + ChangeReport createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ChangeReport getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ChangeReport? _defaultInstance; + + /// List of changes between two service configurations. + /// The changes will be alphabetically sorted based on the identifier + /// of each change. + /// A ConfigChange identifier is a dot separated path to the configuration. + /// Example: visibility.rules[selector='LibraryService.CreateBook'].restriction + @$pb.TagNumber(1) + $core.List<$80.ConfigChange> get configChanges => $_getList(0); +} + +/// Strategy that specifies how clients of Google Service Controller want to +/// send traffic to use different config versions. This is generally +/// used by API proxy to split traffic based on your configured percentage for +/// each config version. +/// +/// One example of how to gradually rollout a new service configuration using +/// this +/// strategy: +/// Day 1 +/// +/// Rollout { +/// id: "example.googleapis.com/rollout_20160206" +/// traffic_percent_strategy { +/// percentages: { +/// "example.googleapis.com/20160201": 70.00 +/// "example.googleapis.com/20160206": 30.00 +/// } +/// } +/// } +/// +/// Day 2 +/// +/// Rollout { +/// id: "example.googleapis.com/rollout_20160207" +/// traffic_percent_strategy: { +/// percentages: { +/// "example.googleapis.com/20160206": 100.00 +/// } +/// } +/// } +class Rollout_TrafficPercentStrategy extends $pb.GeneratedMessage { + factory Rollout_TrafficPercentStrategy({ + $core.Map<$core.String, $core.double>? percentages, + }) { + final $result = create(); + if (percentages != null) { + $result.percentages.addAll(percentages); + } + return $result; + } + Rollout_TrafficPercentStrategy._() : super(); + factory Rollout_TrafficPercentStrategy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Rollout_TrafficPercentStrategy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Rollout.TrafficPercentStrategy', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..m<$core.String, $core.double>(1, _omitFieldNames ? '' : 'percentages', + entryClassName: 'Rollout.TrafficPercentStrategy.PercentagesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OD, + packageName: const $pb.PackageName('google.api.servicemanagement.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Rollout_TrafficPercentStrategy clone() => + Rollout_TrafficPercentStrategy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Rollout_TrafficPercentStrategy copyWith( + void Function(Rollout_TrafficPercentStrategy) updates) => + super.copyWith( + (message) => updates(message as Rollout_TrafficPercentStrategy)) + as Rollout_TrafficPercentStrategy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Rollout_TrafficPercentStrategy create() => + Rollout_TrafficPercentStrategy._(); + Rollout_TrafficPercentStrategy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Rollout_TrafficPercentStrategy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Rollout_TrafficPercentStrategy? _defaultInstance; + + /// Maps service configuration IDs to their corresponding traffic percentage. + /// Key is the service configuration ID, Value is the traffic percentage + /// which must be greater than 0.0 and the sum must equal to 100.0. + @$pb.TagNumber(1) + $core.Map<$core.String, $core.double> get percentages => $_getMap(0); +} + +/// Strategy used to delete a service. This strategy is a placeholder only +/// used by the system generated rollout to delete a service. +class Rollout_DeleteServiceStrategy extends $pb.GeneratedMessage { + factory Rollout_DeleteServiceStrategy() => create(); + Rollout_DeleteServiceStrategy._() : super(); + factory Rollout_DeleteServiceStrategy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Rollout_DeleteServiceStrategy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Rollout.DeleteServiceStrategy', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Rollout_DeleteServiceStrategy clone() => + Rollout_DeleteServiceStrategy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Rollout_DeleteServiceStrategy copyWith( + void Function(Rollout_DeleteServiceStrategy) updates) => + super.copyWith( + (message) => updates(message as Rollout_DeleteServiceStrategy)) + as Rollout_DeleteServiceStrategy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Rollout_DeleteServiceStrategy create() => + Rollout_DeleteServiceStrategy._(); + Rollout_DeleteServiceStrategy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Rollout_DeleteServiceStrategy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Rollout_DeleteServiceStrategy? _defaultInstance; +} + +enum Rollout_Strategy { trafficPercentStrategy, deleteServiceStrategy, notSet } + +/// A rollout resource that defines how service configuration versions are pushed +/// to control plane systems. Typically, you create a new version of the +/// service config, and then create a Rollout to push the service config. +class Rollout extends $pb.GeneratedMessage { + factory Rollout({ + $core.String? rolloutId, + $50.Timestamp? createTime, + $core.String? createdBy, + Rollout_RolloutStatus? status, + Rollout_TrafficPercentStrategy? trafficPercentStrategy, + $core.String? serviceName, + Rollout_DeleteServiceStrategy? deleteServiceStrategy, + }) { + final $result = create(); + if (rolloutId != null) { + $result.rolloutId = rolloutId; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (createdBy != null) { + $result.createdBy = createdBy; + } + if (status != null) { + $result.status = status; + } + if (trafficPercentStrategy != null) { + $result.trafficPercentStrategy = trafficPercentStrategy; + } + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (deleteServiceStrategy != null) { + $result.deleteServiceStrategy = deleteServiceStrategy; + } + return $result; + } + Rollout._() : super(); + factory Rollout.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Rollout.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Rollout_Strategy> _Rollout_StrategyByTag = { + 5: Rollout_Strategy.trafficPercentStrategy, + 200: Rollout_Strategy.deleteServiceStrategy, + 0: Rollout_Strategy.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Rollout', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..oo(0, [5, 200]) + ..aOS(1, _omitFieldNames ? '' : 'rolloutId') + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOS(3, _omitFieldNames ? '' : 'createdBy') + ..e( + 4, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, + defaultOrMaker: Rollout_RolloutStatus.ROLLOUT_STATUS_UNSPECIFIED, + valueOf: Rollout_RolloutStatus.valueOf, + enumValues: Rollout_RolloutStatus.values) + ..aOM( + 5, _omitFieldNames ? '' : 'trafficPercentStrategy', + subBuilder: Rollout_TrafficPercentStrategy.create) + ..aOS(8, _omitFieldNames ? '' : 'serviceName') + ..aOM( + 200, _omitFieldNames ? '' : 'deleteServiceStrategy', + subBuilder: Rollout_DeleteServiceStrategy.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Rollout clone() => Rollout()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Rollout copyWith(void Function(Rollout) updates) => + super.copyWith((message) => updates(message as Rollout)) as Rollout; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Rollout create() => Rollout._(); + Rollout createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Rollout getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Rollout? _defaultInstance; + + Rollout_Strategy whichStrategy() => _Rollout_StrategyByTag[$_whichOneof(0)]!; + void clearStrategy() => clearField($_whichOneof(0)); + + /// Optional. Unique identifier of this Rollout. Must be no longer than 63 + /// characters and only lower case letters, digits, '.', '_' and '-' are + /// allowed. + /// + /// If not specified by client, the server will generate one. The generated id + /// will have the form of , where "date" is the create + /// date in ISO 8601 format. "revision number" is a monotonically increasing + /// positive number that is reset every day for each service. + /// An example of the generated rollout_id is '2016-02-16r1' + @$pb.TagNumber(1) + $core.String get rolloutId => $_getSZ(0); + @$pb.TagNumber(1) + set rolloutId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRolloutId() => $_has(0); + @$pb.TagNumber(1) + void clearRolloutId() => clearField(1); + + /// Creation time of the rollout. Readonly. + @$pb.TagNumber(2) + $50.Timestamp get createTime => $_getN(1); + @$pb.TagNumber(2) + set createTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCreateTime() => $_has(1); + @$pb.TagNumber(2) + void clearCreateTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureCreateTime() => $_ensure(1); + + /// The user who created the Rollout. Readonly. + @$pb.TagNumber(3) + $core.String get createdBy => $_getSZ(2); + @$pb.TagNumber(3) + set createdBy($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasCreatedBy() => $_has(2); + @$pb.TagNumber(3) + void clearCreatedBy() => clearField(3); + + /// The status of this rollout. Readonly. In case of a failed rollout, + /// the system will automatically rollback to the current Rollout + /// version. Readonly. + @$pb.TagNumber(4) + Rollout_RolloutStatus get status => $_getN(3); + @$pb.TagNumber(4) + set status(Rollout_RolloutStatus v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasStatus() => $_has(3); + @$pb.TagNumber(4) + void clearStatus() => clearField(4); + + /// Google Service Control selects service configurations based on + /// traffic percentage. + @$pb.TagNumber(5) + Rollout_TrafficPercentStrategy get trafficPercentStrategy => $_getN(4); + @$pb.TagNumber(5) + set trafficPercentStrategy(Rollout_TrafficPercentStrategy v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasTrafficPercentStrategy() => $_has(4); + @$pb.TagNumber(5) + void clearTrafficPercentStrategy() => clearField(5); + @$pb.TagNumber(5) + Rollout_TrafficPercentStrategy ensureTrafficPercentStrategy() => $_ensure(4); + + /// The name of the service associated with this Rollout. + @$pb.TagNumber(8) + $core.String get serviceName => $_getSZ(5); + @$pb.TagNumber(8) + set serviceName($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(8) + $core.bool hasServiceName() => $_has(5); + @$pb.TagNumber(8) + void clearServiceName() => clearField(8); + + /// The strategy associated with a rollout to delete a `ManagedService`. + /// Readonly. + @$pb.TagNumber(200) + Rollout_DeleteServiceStrategy get deleteServiceStrategy => $_getN(6); + @$pb.TagNumber(200) + set deleteServiceStrategy(Rollout_DeleteServiceStrategy v) { + setField(200, v); + } + + @$pb.TagNumber(200) + $core.bool hasDeleteServiceStrategy() => $_has(6); + @$pb.TagNumber(200) + void clearDeleteServiceStrategy() => clearField(200); + @$pb.TagNumber(200) + Rollout_DeleteServiceStrategy ensureDeleteServiceStrategy() => $_ensure(6); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pbenum.dart new file mode 100644 index 00000000..5dcedc28 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pbenum.dart @@ -0,0 +1,134 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Code describes the status of the operation (or one of its steps). +class OperationMetadata_Status extends $pb.ProtobufEnum { + static const OperationMetadata_Status STATUS_UNSPECIFIED = + OperationMetadata_Status._(0, _omitEnumNames ? '' : 'STATUS_UNSPECIFIED'); + static const OperationMetadata_Status DONE = + OperationMetadata_Status._(1, _omitEnumNames ? '' : 'DONE'); + static const OperationMetadata_Status NOT_STARTED = + OperationMetadata_Status._(2, _omitEnumNames ? '' : 'NOT_STARTED'); + static const OperationMetadata_Status IN_PROGRESS = + OperationMetadata_Status._(3, _omitEnumNames ? '' : 'IN_PROGRESS'); + static const OperationMetadata_Status FAILED = + OperationMetadata_Status._(4, _omitEnumNames ? '' : 'FAILED'); + static const OperationMetadata_Status CANCELLED = + OperationMetadata_Status._(5, _omitEnumNames ? '' : 'CANCELLED'); + + static const $core.List values = + [ + STATUS_UNSPECIFIED, + DONE, + NOT_STARTED, + IN_PROGRESS, + FAILED, + CANCELLED, + ]; + + static final $core.Map<$core.int, OperationMetadata_Status> _byValue = + $pb.ProtobufEnum.initByValue(values); + static OperationMetadata_Status? valueOf($core.int value) => _byValue[value]; + + const OperationMetadata_Status._($core.int v, $core.String n) : super(v, n); +} + +/// The kind of diagnostic information possible. +class Diagnostic_Kind extends $pb.ProtobufEnum { + static const Diagnostic_Kind WARNING = + Diagnostic_Kind._(0, _omitEnumNames ? '' : 'WARNING'); + static const Diagnostic_Kind ERROR = + Diagnostic_Kind._(1, _omitEnumNames ? '' : 'ERROR'); + + static const $core.List values = [ + WARNING, + ERROR, + ]; + + static final $core.Map<$core.int, Diagnostic_Kind> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Diagnostic_Kind? valueOf($core.int value) => _byValue[value]; + + const Diagnostic_Kind._($core.int v, $core.String n) : super(v, n); +} + +class ConfigFile_FileType extends $pb.ProtobufEnum { + static const ConfigFile_FileType FILE_TYPE_UNSPECIFIED = + ConfigFile_FileType._(0, _omitEnumNames ? '' : 'FILE_TYPE_UNSPECIFIED'); + static const ConfigFile_FileType SERVICE_CONFIG_YAML = + ConfigFile_FileType._(1, _omitEnumNames ? '' : 'SERVICE_CONFIG_YAML'); + static const ConfigFile_FileType OPEN_API_JSON = + ConfigFile_FileType._(2, _omitEnumNames ? '' : 'OPEN_API_JSON'); + static const ConfigFile_FileType OPEN_API_YAML = + ConfigFile_FileType._(3, _omitEnumNames ? '' : 'OPEN_API_YAML'); + static const ConfigFile_FileType FILE_DESCRIPTOR_SET_PROTO = + ConfigFile_FileType._( + 4, _omitEnumNames ? '' : 'FILE_DESCRIPTOR_SET_PROTO'); + static const ConfigFile_FileType PROTO_FILE = + ConfigFile_FileType._(6, _omitEnumNames ? '' : 'PROTO_FILE'); + + static const $core.List values = [ + FILE_TYPE_UNSPECIFIED, + SERVICE_CONFIG_YAML, + OPEN_API_JSON, + OPEN_API_YAML, + FILE_DESCRIPTOR_SET_PROTO, + PROTO_FILE, + ]; + + static final $core.Map<$core.int, ConfigFile_FileType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ConfigFile_FileType? valueOf($core.int value) => _byValue[value]; + + const ConfigFile_FileType._($core.int v, $core.String n) : super(v, n); +} + +/// Status of a Rollout. +class Rollout_RolloutStatus extends $pb.ProtobufEnum { + static const Rollout_RolloutStatus ROLLOUT_STATUS_UNSPECIFIED = + Rollout_RolloutStatus._( + 0, _omitEnumNames ? '' : 'ROLLOUT_STATUS_UNSPECIFIED'); + static const Rollout_RolloutStatus IN_PROGRESS = + Rollout_RolloutStatus._(1, _omitEnumNames ? '' : 'IN_PROGRESS'); + static const Rollout_RolloutStatus SUCCESS = + Rollout_RolloutStatus._(2, _omitEnumNames ? '' : 'SUCCESS'); + static const Rollout_RolloutStatus CANCELLED = + Rollout_RolloutStatus._(3, _omitEnumNames ? '' : 'CANCELLED'); + static const Rollout_RolloutStatus FAILED = + Rollout_RolloutStatus._(4, _omitEnumNames ? '' : 'FAILED'); + static const Rollout_RolloutStatus PENDING = + Rollout_RolloutStatus._(5, _omitEnumNames ? '' : 'PENDING'); + static const Rollout_RolloutStatus FAILED_ROLLED_BACK = + Rollout_RolloutStatus._(6, _omitEnumNames ? '' : 'FAILED_ROLLED_BACK'); + + static const $core.List values = + [ + ROLLOUT_STATUS_UNSPECIFIED, + IN_PROGRESS, + SUCCESS, + CANCELLED, + FAILED, + PENDING, + FAILED_ROLLED_BACK, + ]; + + static final $core.Map<$core.int, Rollout_RolloutStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Rollout_RolloutStatus? valueOf($core.int value) => _byValue[value]; + + const Rollout_RolloutStatus._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pbjson.dart new file mode 100644 index 00000000..4ee9674b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/resources.pbjson.dart @@ -0,0 +1,352 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use managedServiceDescriptor instead') +const ManagedService$json = { + '1': 'ManagedService', + '2': [ + {'1': 'service_name', '3': 2, '4': 1, '5': 9, '10': 'serviceName'}, + { + '1': 'producer_project_id', + '3': 3, + '4': 1, + '5': 9, + '10': 'producerProjectId' + }, + ], +}; + +/// Descriptor for `ManagedService`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List managedServiceDescriptor = $convert.base64Decode( + 'Cg5NYW5hZ2VkU2VydmljZRIhCgxzZXJ2aWNlX25hbWUYAiABKAlSC3NlcnZpY2VOYW1lEi4KE3' + 'Byb2R1Y2VyX3Byb2plY3RfaWQYAyABKAlSEXByb2R1Y2VyUHJvamVjdElk'); + +@$core.Deprecated('Use operationMetadataDescriptor instead') +const OperationMetadata$json = { + '1': 'OperationMetadata', + '2': [ + {'1': 'resource_names', '3': 1, '4': 3, '5': 9, '10': 'resourceNames'}, + { + '1': 'steps', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicemanagement.v1.OperationMetadata.Step', + '10': 'steps' + }, + { + '1': 'progress_percentage', + '3': 3, + '4': 1, + '5': 5, + '10': 'progressPercentage' + }, + { + '1': 'start_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + ], + '3': [OperationMetadata_Step$json], + '4': [OperationMetadata_Status$json], +}; + +@$core.Deprecated('Use operationMetadataDescriptor instead') +const OperationMetadata_Step$json = { + '1': 'Step', + '2': [ + {'1': 'description', '3': 2, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'status', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.servicemanagement.v1.OperationMetadata.Status', + '10': 'status' + }, + ], +}; + +@$core.Deprecated('Use operationMetadataDescriptor instead') +const OperationMetadata_Status$json = { + '1': 'Status', + '2': [ + {'1': 'STATUS_UNSPECIFIED', '2': 0}, + {'1': 'DONE', '2': 1}, + {'1': 'NOT_STARTED', '2': 2}, + {'1': 'IN_PROGRESS', '2': 3}, + {'1': 'FAILED', '2': 4}, + {'1': 'CANCELLED', '2': 5}, + ], +}; + +/// Descriptor for `OperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationMetadataDescriptor = $convert.base64Decode( + 'ChFPcGVyYXRpb25NZXRhZGF0YRIlCg5yZXNvdXJjZV9uYW1lcxgBIAMoCVINcmVzb3VyY2VOYW' + '1lcxJNCgVzdGVwcxgCIAMoCzI3Lmdvb2dsZS5hcGkuc2VydmljZW1hbmFnZW1lbnQudjEuT3Bl' + 'cmF0aW9uTWV0YWRhdGEuU3RlcFIFc3RlcHMSLwoTcHJvZ3Jlc3NfcGVyY2VudGFnZRgDIAEoBV' + 'IScHJvZ3Jlc3NQZXJjZW50YWdlEjkKCnN0YXJ0X3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9i' + 'dWYuVGltZXN0YW1wUglzdGFydFRpbWUaewoEU3RlcBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZG' + 'VzY3JpcHRpb24SUQoGc3RhdHVzGAQgASgOMjkuZ29vZ2xlLmFwaS5zZXJ2aWNlbWFuYWdlbWVu' + 'dC52MS5PcGVyYXRpb25NZXRhZGF0YS5TdGF0dXNSBnN0YXR1cyJnCgZTdGF0dXMSFgoSU1RBVF' + 'VTX1VOU1BFQ0lGSUVEEAASCAoERE9ORRABEg8KC05PVF9TVEFSVEVEEAISDwoLSU5fUFJPR1JF' + 'U1MQAxIKCgZGQUlMRUQQBBINCglDQU5DRUxMRUQQBQ=='); + +@$core.Deprecated('Use diagnosticDescriptor instead') +const Diagnostic$json = { + '1': 'Diagnostic', + '2': [ + {'1': 'location', '3': 1, '4': 1, '5': 9, '10': 'location'}, + { + '1': 'kind', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.api.servicemanagement.v1.Diagnostic.Kind', + '10': 'kind' + }, + {'1': 'message', '3': 3, '4': 1, '5': 9, '10': 'message'}, + ], + '4': [Diagnostic_Kind$json], +}; + +@$core.Deprecated('Use diagnosticDescriptor instead') +const Diagnostic_Kind$json = { + '1': 'Kind', + '2': [ + {'1': 'WARNING', '2': 0}, + {'1': 'ERROR', '2': 1}, + ], +}; + +/// Descriptor for `Diagnostic`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List diagnosticDescriptor = $convert.base64Decode( + 'CgpEaWFnbm9zdGljEhoKCGxvY2F0aW9uGAEgASgJUghsb2NhdGlvbhJECgRraW5kGAIgASgOMj' + 'AuZ29vZ2xlLmFwaS5zZXJ2aWNlbWFuYWdlbWVudC52MS5EaWFnbm9zdGljLktpbmRSBGtpbmQS' + 'GAoHbWVzc2FnZRgDIAEoCVIHbWVzc2FnZSIeCgRLaW5kEgsKB1dBUk5JTkcQABIJCgVFUlJPUh' + 'AB'); + +@$core.Deprecated('Use configSourceDescriptor instead') +const ConfigSource$json = { + '1': 'ConfigSource', + '2': [ + {'1': 'id', '3': 5, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'files', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.servicemanagement.v1.ConfigFile', + '10': 'files' + }, + ], +}; + +/// Descriptor for `ConfigSource`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List configSourceDescriptor = $convert.base64Decode( + 'CgxDb25maWdTb3VyY2USDgoCaWQYBSABKAlSAmlkEkEKBWZpbGVzGAIgAygLMisuZ29vZ2xlLm' + 'FwaS5zZXJ2aWNlbWFuYWdlbWVudC52MS5Db25maWdGaWxlUgVmaWxlcw=='); + +@$core.Deprecated('Use configFileDescriptor instead') +const ConfigFile$json = { + '1': 'ConfigFile', + '2': [ + {'1': 'file_path', '3': 1, '4': 1, '5': 9, '10': 'filePath'}, + {'1': 'file_contents', '3': 3, '4': 1, '5': 12, '10': 'fileContents'}, + { + '1': 'file_type', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.servicemanagement.v1.ConfigFile.FileType', + '10': 'fileType' + }, + ], + '4': [ConfigFile_FileType$json], +}; + +@$core.Deprecated('Use configFileDescriptor instead') +const ConfigFile_FileType$json = { + '1': 'FileType', + '2': [ + {'1': 'FILE_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'SERVICE_CONFIG_YAML', '2': 1}, + {'1': 'OPEN_API_JSON', '2': 2}, + {'1': 'OPEN_API_YAML', '2': 3}, + {'1': 'FILE_DESCRIPTOR_SET_PROTO', '2': 4}, + {'1': 'PROTO_FILE', '2': 6}, + ], +}; + +/// Descriptor for `ConfigFile`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List configFileDescriptor = $convert.base64Decode( + 'CgpDb25maWdGaWxlEhsKCWZpbGVfcGF0aBgBIAEoCVIIZmlsZVBhdGgSIwoNZmlsZV9jb250ZW' + '50cxgDIAEoDFIMZmlsZUNvbnRlbnRzElEKCWZpbGVfdHlwZRgEIAEoDjI0Lmdvb2dsZS5hcGku' + 'c2VydmljZW1hbmFnZW1lbnQudjEuQ29uZmlnRmlsZS5GaWxlVHlwZVIIZmlsZVR5cGUikwEKCE' + 'ZpbGVUeXBlEhkKFUZJTEVfVFlQRV9VTlNQRUNJRklFRBAAEhcKE1NFUlZJQ0VfQ09ORklHX1lB' + 'TUwQARIRCg1PUEVOX0FQSV9KU09OEAISEQoNT1BFTl9BUElfWUFNTBADEh0KGUZJTEVfREVTQ1' + 'JJUFRPUl9TRVRfUFJPVE8QBBIOCgpQUk9UT19GSUxFEAY='); + +@$core.Deprecated('Use configRefDescriptor instead') +const ConfigRef$json = { + '1': 'ConfigRef', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `ConfigRef`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List configRefDescriptor = + $convert.base64Decode('CglDb25maWdSZWYSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use changeReportDescriptor instead') +const ChangeReport$json = { + '1': 'ChangeReport', + '2': [ + { + '1': 'config_changes', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.ConfigChange', + '10': 'configChanges' + }, + ], +}; + +/// Descriptor for `ChangeReport`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List changeReportDescriptor = $convert.base64Decode( + 'CgxDaGFuZ2VSZXBvcnQSPwoOY29uZmlnX2NoYW5nZXMYASADKAsyGC5nb29nbGUuYXBpLkNvbm' + 'ZpZ0NoYW5nZVINY29uZmlnQ2hhbmdlcw=='); + +@$core.Deprecated('Use rolloutDescriptor instead') +const Rollout$json = { + '1': 'Rollout', + '2': [ + {'1': 'rollout_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'rolloutId'}, + { + '1': 'create_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + {'1': 'created_by', '3': 3, '4': 1, '5': 9, '10': 'createdBy'}, + { + '1': 'status', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.servicemanagement.v1.Rollout.RolloutStatus', + '10': 'status' + }, + { + '1': 'traffic_percent_strategy', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy', + '9': 0, + '10': 'trafficPercentStrategy' + }, + { + '1': 'delete_service_strategy', + '3': 200, + '4': 1, + '5': 11, + '6': '.google.api.servicemanagement.v1.Rollout.DeleteServiceStrategy', + '9': 0, + '10': 'deleteServiceStrategy' + }, + {'1': 'service_name', '3': 8, '4': 1, '5': 9, '10': 'serviceName'}, + ], + '3': [ + Rollout_TrafficPercentStrategy$json, + Rollout_DeleteServiceStrategy$json + ], + '4': [Rollout_RolloutStatus$json], + '8': [ + {'1': 'strategy'}, + ], +}; + +@$core.Deprecated('Use rolloutDescriptor instead') +const Rollout_TrafficPercentStrategy$json = { + '1': 'TrafficPercentStrategy', + '2': [ + { + '1': 'percentages', + '3': 1, + '4': 3, + '5': 11, + '6': + '.google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy.PercentagesEntry', + '10': 'percentages' + }, + ], + '3': [Rollout_TrafficPercentStrategy_PercentagesEntry$json], +}; + +@$core.Deprecated('Use rolloutDescriptor instead') +const Rollout_TrafficPercentStrategy_PercentagesEntry$json = { + '1': 'PercentagesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 1, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use rolloutDescriptor instead') +const Rollout_DeleteServiceStrategy$json = { + '1': 'DeleteServiceStrategy', +}; + +@$core.Deprecated('Use rolloutDescriptor instead') +const Rollout_RolloutStatus$json = { + '1': 'RolloutStatus', + '2': [ + {'1': 'ROLLOUT_STATUS_UNSPECIFIED', '2': 0}, + {'1': 'IN_PROGRESS', '2': 1}, + {'1': 'SUCCESS', '2': 2}, + {'1': 'CANCELLED', '2': 3}, + {'1': 'FAILED', '2': 4}, + {'1': 'PENDING', '2': 5}, + {'1': 'FAILED_ROLLED_BACK', '2': 6}, + ], +}; + +/// Descriptor for `Rollout`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rolloutDescriptor = $convert.base64Decode( + 'CgdSb2xsb3V0EiIKCnJvbGxvdXRfaWQYASABKAlCA+BBAVIJcm9sbG91dElkEjsKC2NyZWF0ZV' + '90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKY3JlYXRlVGltZRIdCgpj' + 'cmVhdGVkX2J5GAMgASgJUgljcmVhdGVkQnkSTgoGc3RhdHVzGAQgASgOMjYuZ29vZ2xlLmFwaS' + '5zZXJ2aWNlbWFuYWdlbWVudC52MS5Sb2xsb3V0LlJvbGxvdXRTdGF0dXNSBnN0YXR1cxJ7Chh0' + 'cmFmZmljX3BlcmNlbnRfc3RyYXRlZ3kYBSABKAsyPy5nb29nbGUuYXBpLnNlcnZpY2VtYW5hZ2' + 'VtZW50LnYxLlJvbGxvdXQuVHJhZmZpY1BlcmNlbnRTdHJhdGVneUgAUhZ0cmFmZmljUGVyY2Vu' + 'dFN0cmF0ZWd5EnkKF2RlbGV0ZV9zZXJ2aWNlX3N0cmF0ZWd5GMgBIAEoCzI+Lmdvb2dsZS5hcG' + 'kuc2VydmljZW1hbmFnZW1lbnQudjEuUm9sbG91dC5EZWxldGVTZXJ2aWNlU3RyYXRlZ3lIAFIV' + 'ZGVsZXRlU2VydmljZVN0cmF0ZWd5EiEKDHNlcnZpY2VfbmFtZRgIIAEoCVILc2VydmljZU5hbW' + 'UazAEKFlRyYWZmaWNQZXJjZW50U3RyYXRlZ3kScgoLcGVyY2VudGFnZXMYASADKAsyUC5nb29n' + 'bGUuYXBpLnNlcnZpY2VtYW5hZ2VtZW50LnYxLlJvbGxvdXQuVHJhZmZpY1BlcmNlbnRTdHJhdG' + 'VneS5QZXJjZW50YWdlc0VudHJ5UgtwZXJjZW50YWdlcxo+ChBQZXJjZW50YWdlc0VudHJ5EhAK' + 'A2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgBUgV2YWx1ZToCOAEaFwoVRGVsZXRlU2Vydm' + 'ljZVN0cmF0ZWd5Io0BCg1Sb2xsb3V0U3RhdHVzEh4KGlJPTExPVVRfU1RBVFVTX1VOU1BFQ0lG' + 'SUVEEAASDwoLSU5fUFJPR1JFU1MQARILCgdTVUNDRVNTEAISDQoJQ0FOQ0VMTEVEEAMSCgoGRk' + 'FJTEVEEAQSCwoHUEVORElORxAFEhYKEkZBSUxFRF9ST0xMRURfQkFDSxAGQgoKCHN0cmF0ZWd5'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pb.dart new file mode 100644 index 00000000..b771ccad --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pb.dart @@ -0,0 +1,1775 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/servicemanager.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/any.pb.dart' as $49; +import '../../service.pb.dart' as $28; +import 'resources.pb.dart' as $27; +import 'servicemanager.pbenum.dart'; + +export 'servicemanager.pbenum.dart'; + +/// Request message for `ListServices` method. +class ListServicesRequest extends $pb.GeneratedMessage { + factory ListServicesRequest({ + $core.String? producerProjectId, + $core.int? pageSize, + $core.String? pageToken, + @$core.Deprecated('This field is deprecated.') $core.String? consumerId, + }) { + final $result = create(); + if (producerProjectId != null) { + $result.producerProjectId = producerProjectId; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (consumerId != null) { + // ignore: deprecated_member_use_from_same_package + $result.consumerId = consumerId; + } + return $result; + } + ListServicesRequest._() : super(); + factory ListServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'producerProjectId') + ..a<$core.int>(5, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(6, _omitFieldNames ? '' : 'pageToken') + ..aOS(7, _omitFieldNames ? '' : 'consumerId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesRequest clone() => ListServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesRequest copyWith(void Function(ListServicesRequest) updates) => + super.copyWith((message) => updates(message as ListServicesRequest)) + as ListServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesRequest create() => ListServicesRequest._(); + ListServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesRequest? _defaultInstance; + + /// Include services produced by the specified project. + @$pb.TagNumber(1) + $core.String get producerProjectId => $_getSZ(0); + @$pb.TagNumber(1) + set producerProjectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProducerProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProducerProjectId() => clearField(1); + + /// The max number of items to include in the response list. Page size is 50 + /// if not specified. Maximum value is 500. + @$pb.TagNumber(5) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(5) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(5) + void clearPageSize() => clearField(5); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(6) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(6) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(6) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(6) + void clearPageToken() => clearField(6); + + /// Include services consumed by the specified consumer. + /// + /// The Google Service Management implementation accepts the following + /// forms: + /// - project: + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + $core.String get consumerId => $_getSZ(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + set consumerId($core.String v) { + $_setString(3, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + $core.bool hasConsumerId() => $_has(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + void clearConsumerId() => clearField(7); +} + +/// Response message for `ListServices` method. +class ListServicesResponse extends $pb.GeneratedMessage { + factory ListServicesResponse({ + $core.Iterable<$27.ManagedService>? services, + $core.String? nextPageToken, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServicesResponse._() : super(); + factory ListServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..pc<$27.ManagedService>( + 1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $27.ManagedService.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesResponse clone() => + ListServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesResponse copyWith(void Function(ListServicesResponse) updates) => + super.copyWith((message) => updates(message as ListServicesResponse)) + as ListServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesResponse create() => ListServicesResponse._(); + ListServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesResponse? _defaultInstance; + + /// The returned services will only have the name field set. + @$pb.TagNumber(1) + $core.List<$27.ManagedService> get services => $_getList(0); + + /// Token that can be passed to `ListServices` to resume a paginated query. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `GetService` method. +class GetServiceRequest extends $pb.GeneratedMessage { + factory GetServiceRequest({ + $core.String? serviceName, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + return $result; + } + GetServiceRequest._() : super(); + factory GetServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceRequest clone() => GetServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceRequest copyWith(void Function(GetServiceRequest) updates) => + super.copyWith((message) => updates(message as GetServiceRequest)) + as GetServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceRequest create() => GetServiceRequest._(); + GetServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceRequest? _defaultInstance; + + /// Required. The name of the service. See the `ServiceManager` overview for + /// naming requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); +} + +/// Request message for CreateService method. +class CreateServiceRequest extends $pb.GeneratedMessage { + factory CreateServiceRequest({ + $27.ManagedService? service, + }) { + final $result = create(); + if (service != null) { + $result.service = service; + } + return $result; + } + CreateServiceRequest._() : super(); + factory CreateServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOM<$27.ManagedService>(1, _omitFieldNames ? '' : 'service', + subBuilder: $27.ManagedService.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateServiceRequest clone() => + CreateServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateServiceRequest copyWith(void Function(CreateServiceRequest) updates) => + super.copyWith((message) => updates(message as CreateServiceRequest)) + as CreateServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateServiceRequest create() => CreateServiceRequest._(); + CreateServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateServiceRequest? _defaultInstance; + + /// Required. Initial values for the service resource. + @$pb.TagNumber(1) + $27.ManagedService get service => $_getN(0); + @$pb.TagNumber(1) + set service($27.ManagedService v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasService() => $_has(0); + @$pb.TagNumber(1) + void clearService() => clearField(1); + @$pb.TagNumber(1) + $27.ManagedService ensureService() => $_ensure(0); +} + +/// Request message for DeleteService method. +class DeleteServiceRequest extends $pb.GeneratedMessage { + factory DeleteServiceRequest({ + $core.String? serviceName, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + return $result; + } + DeleteServiceRequest._() : super(); + factory DeleteServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteServiceRequest clone() => + DeleteServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteServiceRequest copyWith(void Function(DeleteServiceRequest) updates) => + super.copyWith((message) => updates(message as DeleteServiceRequest)) + as DeleteServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteServiceRequest create() => DeleteServiceRequest._(); + DeleteServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteServiceRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); +} + +/// Request message for UndeleteService method. +class UndeleteServiceRequest extends $pb.GeneratedMessage { + factory UndeleteServiceRequest({ + $core.String? serviceName, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + return $result; + } + UndeleteServiceRequest._() : super(); + factory UndeleteServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteServiceRequest clone() => + UndeleteServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteServiceRequest copyWith( + void Function(UndeleteServiceRequest) updates) => + super.copyWith((message) => updates(message as UndeleteServiceRequest)) + as UndeleteServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteServiceRequest create() => UndeleteServiceRequest._(); + UndeleteServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteServiceRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); +} + +/// Response message for UndeleteService method. +class UndeleteServiceResponse extends $pb.GeneratedMessage { + factory UndeleteServiceResponse({ + $27.ManagedService? service, + }) { + final $result = create(); + if (service != null) { + $result.service = service; + } + return $result; + } + UndeleteServiceResponse._() : super(); + factory UndeleteServiceResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteServiceResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteServiceResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOM<$27.ManagedService>(1, _omitFieldNames ? '' : 'service', + subBuilder: $27.ManagedService.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteServiceResponse clone() => + UndeleteServiceResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteServiceResponse copyWith( + void Function(UndeleteServiceResponse) updates) => + super.copyWith((message) => updates(message as UndeleteServiceResponse)) + as UndeleteServiceResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteServiceResponse create() => UndeleteServiceResponse._(); + UndeleteServiceResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteServiceResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteServiceResponse? _defaultInstance; + + /// Revived service resource. + @$pb.TagNumber(1) + $27.ManagedService get service => $_getN(0); + @$pb.TagNumber(1) + set service($27.ManagedService v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasService() => $_has(0); + @$pb.TagNumber(1) + void clearService() => clearField(1); + @$pb.TagNumber(1) + $27.ManagedService ensureService() => $_ensure(0); +} + +/// Request message for GetServiceConfig method. +class GetServiceConfigRequest extends $pb.GeneratedMessage { + factory GetServiceConfigRequest({ + $core.String? serviceName, + $core.String? configId, + GetServiceConfigRequest_ConfigView? view, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (configId != null) { + $result.configId = configId; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetServiceConfigRequest._() : super(); + factory GetServiceConfigRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceConfigRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceConfigRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'configId') + ..e( + 3, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: GetServiceConfigRequest_ConfigView.BASIC, + valueOf: GetServiceConfigRequest_ConfigView.valueOf, + enumValues: GetServiceConfigRequest_ConfigView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceConfigRequest clone() => + GetServiceConfigRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceConfigRequest copyWith( + void Function(GetServiceConfigRequest) updates) => + super.copyWith((message) => updates(message as GetServiceConfigRequest)) + as GetServiceConfigRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceConfigRequest create() => GetServiceConfigRequest._(); + GetServiceConfigRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceConfigRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceConfigRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Required. The id of the service configuration resource. + /// + /// This field must be specified for the server to return all fields, including + /// `SourceInfo`. + @$pb.TagNumber(2) + $core.String get configId => $_getSZ(1); + @$pb.TagNumber(2) + set configId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasConfigId() => $_has(1); + @$pb.TagNumber(2) + void clearConfigId() => clearField(2); + + /// Specifies which parts of the Service Config should be returned in the + /// response. + @$pb.TagNumber(3) + GetServiceConfigRequest_ConfigView get view => $_getN(2); + @$pb.TagNumber(3) + set view(GetServiceConfigRequest_ConfigView v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasView() => $_has(2); + @$pb.TagNumber(3) + void clearView() => clearField(3); +} + +/// Request message for ListServiceConfigs method. +class ListServiceConfigsRequest extends $pb.GeneratedMessage { + factory ListServiceConfigsRequest({ + $core.String? serviceName, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListServiceConfigsRequest._() : super(); + factory ListServiceConfigsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceConfigsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceConfigsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceConfigsRequest clone() => + ListServiceConfigsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceConfigsRequest copyWith( + void Function(ListServiceConfigsRequest) updates) => + super.copyWith((message) => updates(message as ListServiceConfigsRequest)) + as ListServiceConfigsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceConfigsRequest create() => ListServiceConfigsRequest._(); + ListServiceConfigsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceConfigsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceConfigsRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// The token of the page to retrieve. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// The max number of items to include in the response list. Page size is 50 + /// if not specified. Maximum value is 100. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// Response message for ListServiceConfigs method. +class ListServiceConfigsResponse extends $pb.GeneratedMessage { + factory ListServiceConfigsResponse({ + $core.Iterable<$28.Service>? serviceConfigs, + $core.String? nextPageToken, + }) { + final $result = create(); + if (serviceConfigs != null) { + $result.serviceConfigs.addAll(serviceConfigs); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServiceConfigsResponse._() : super(); + factory ListServiceConfigsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceConfigsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceConfigsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..pc<$28.Service>( + 1, _omitFieldNames ? '' : 'serviceConfigs', $pb.PbFieldType.PM, + subBuilder: $28.Service.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceConfigsResponse clone() => + ListServiceConfigsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceConfigsResponse copyWith( + void Function(ListServiceConfigsResponse) updates) => + super.copyWith( + (message) => updates(message as ListServiceConfigsResponse)) + as ListServiceConfigsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceConfigsResponse create() => ListServiceConfigsResponse._(); + ListServiceConfigsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceConfigsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceConfigsResponse? _defaultInstance; + + /// The list of service configuration resources. + @$pb.TagNumber(1) + $core.List<$28.Service> get serviceConfigs => $_getList(0); + + /// The token of the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for CreateServiceConfig method. +class CreateServiceConfigRequest extends $pb.GeneratedMessage { + factory CreateServiceConfigRequest({ + $core.String? serviceName, + $28.Service? serviceConfig, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (serviceConfig != null) { + $result.serviceConfig = serviceConfig; + } + return $result; + } + CreateServiceConfigRequest._() : super(); + factory CreateServiceConfigRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateServiceConfigRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateServiceConfigRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOM<$28.Service>(2, _omitFieldNames ? '' : 'serviceConfig', + subBuilder: $28.Service.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateServiceConfigRequest clone() => + CreateServiceConfigRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateServiceConfigRequest copyWith( + void Function(CreateServiceConfigRequest) updates) => + super.copyWith( + (message) => updates(message as CreateServiceConfigRequest)) + as CreateServiceConfigRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateServiceConfigRequest create() => CreateServiceConfigRequest._(); + CreateServiceConfigRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateServiceConfigRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateServiceConfigRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Required. The service configuration resource. + @$pb.TagNumber(2) + $28.Service get serviceConfig => $_getN(1); + @$pb.TagNumber(2) + set serviceConfig($28.Service v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasServiceConfig() => $_has(1); + @$pb.TagNumber(2) + void clearServiceConfig() => clearField(2); + @$pb.TagNumber(2) + $28.Service ensureServiceConfig() => $_ensure(1); +} + +/// Request message for SubmitConfigSource method. +class SubmitConfigSourceRequest extends $pb.GeneratedMessage { + factory SubmitConfigSourceRequest({ + $core.String? serviceName, + $27.ConfigSource? configSource, + $core.bool? validateOnly, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (configSource != null) { + $result.configSource = configSource; + } + if (validateOnly != null) { + $result.validateOnly = validateOnly; + } + return $result; + } + SubmitConfigSourceRequest._() : super(); + factory SubmitConfigSourceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SubmitConfigSourceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SubmitConfigSourceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOM<$27.ConfigSource>(2, _omitFieldNames ? '' : 'configSource', + subBuilder: $27.ConfigSource.create) + ..aOB(3, _omitFieldNames ? '' : 'validateOnly') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitConfigSourceRequest clone() => + SubmitConfigSourceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitConfigSourceRequest copyWith( + void Function(SubmitConfigSourceRequest) updates) => + super.copyWith((message) => updates(message as SubmitConfigSourceRequest)) + as SubmitConfigSourceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubmitConfigSourceRequest create() => SubmitConfigSourceRequest._(); + SubmitConfigSourceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SubmitConfigSourceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SubmitConfigSourceRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Required. The source configuration for the service. + @$pb.TagNumber(2) + $27.ConfigSource get configSource => $_getN(1); + @$pb.TagNumber(2) + set configSource($27.ConfigSource v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasConfigSource() => $_has(1); + @$pb.TagNumber(2) + void clearConfigSource() => clearField(2); + @$pb.TagNumber(2) + $27.ConfigSource ensureConfigSource() => $_ensure(1); + + /// Optional. If set, this will result in the generation of a + /// `google.api.Service` configuration based on the `ConfigSource` provided, + /// but the generated config and the sources will NOT be persisted. + @$pb.TagNumber(3) + $core.bool get validateOnly => $_getBF(2); + @$pb.TagNumber(3) + set validateOnly($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasValidateOnly() => $_has(2); + @$pb.TagNumber(3) + void clearValidateOnly() => clearField(3); +} + +/// Response message for SubmitConfigSource method. +class SubmitConfigSourceResponse extends $pb.GeneratedMessage { + factory SubmitConfigSourceResponse({ + $28.Service? serviceConfig, + }) { + final $result = create(); + if (serviceConfig != null) { + $result.serviceConfig = serviceConfig; + } + return $result; + } + SubmitConfigSourceResponse._() : super(); + factory SubmitConfigSourceResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SubmitConfigSourceResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SubmitConfigSourceResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOM<$28.Service>(1, _omitFieldNames ? '' : 'serviceConfig', + subBuilder: $28.Service.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitConfigSourceResponse clone() => + SubmitConfigSourceResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitConfigSourceResponse copyWith( + void Function(SubmitConfigSourceResponse) updates) => + super.copyWith( + (message) => updates(message as SubmitConfigSourceResponse)) + as SubmitConfigSourceResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubmitConfigSourceResponse create() => SubmitConfigSourceResponse._(); + SubmitConfigSourceResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SubmitConfigSourceResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SubmitConfigSourceResponse? _defaultInstance; + + /// The generated service configuration. + @$pb.TagNumber(1) + $28.Service get serviceConfig => $_getN(0); + @$pb.TagNumber(1) + set serviceConfig($28.Service v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceConfig() => $_has(0); + @$pb.TagNumber(1) + void clearServiceConfig() => clearField(1); + @$pb.TagNumber(1) + $28.Service ensureServiceConfig() => $_ensure(0); +} + +/// +/// Request message for 'CreateServiceRollout' +class CreateServiceRolloutRequest extends $pb.GeneratedMessage { + factory CreateServiceRolloutRequest({ + $core.String? serviceName, + $27.Rollout? rollout, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (rollout != null) { + $result.rollout = rollout; + } + return $result; + } + CreateServiceRolloutRequest._() : super(); + factory CreateServiceRolloutRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateServiceRolloutRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateServiceRolloutRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOM<$27.Rollout>(2, _omitFieldNames ? '' : 'rollout', + subBuilder: $27.Rollout.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateServiceRolloutRequest clone() => + CreateServiceRolloutRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateServiceRolloutRequest copyWith( + void Function(CreateServiceRolloutRequest) updates) => + super.copyWith( + (message) => updates(message as CreateServiceRolloutRequest)) + as CreateServiceRolloutRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateServiceRolloutRequest create() => + CreateServiceRolloutRequest._(); + CreateServiceRolloutRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateServiceRolloutRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateServiceRolloutRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Required. The rollout resource. The `service_name` field is output only. + @$pb.TagNumber(2) + $27.Rollout get rollout => $_getN(1); + @$pb.TagNumber(2) + set rollout($27.Rollout v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasRollout() => $_has(1); + @$pb.TagNumber(2) + void clearRollout() => clearField(2); + @$pb.TagNumber(2) + $27.Rollout ensureRollout() => $_ensure(1); +} + +/// Request message for 'ListServiceRollouts' +class ListServiceRolloutsRequest extends $pb.GeneratedMessage { + factory ListServiceRolloutsRequest({ + $core.String? serviceName, + $core.String? pageToken, + $core.int? pageSize, + $core.String? filter, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (filter != null) { + $result.filter = filter; + } + return $result; + } + ListServiceRolloutsRequest._() : super(); + factory ListServiceRolloutsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceRolloutsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceRolloutsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(4, _omitFieldNames ? '' : 'filter') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceRolloutsRequest clone() => + ListServiceRolloutsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceRolloutsRequest copyWith( + void Function(ListServiceRolloutsRequest) updates) => + super.copyWith( + (message) => updates(message as ListServiceRolloutsRequest)) + as ListServiceRolloutsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceRolloutsRequest create() => ListServiceRolloutsRequest._(); + ListServiceRolloutsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceRolloutsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceRolloutsRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// The token of the page to retrieve. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// The max number of items to include in the response list. Page size is 50 + /// if not specified. Maximum value is 100. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); + + /// Required. Use `filter` to return subset of rollouts. + /// The following filters are supported: + /// + /// -- By [status] + /// [google.api.servicemanagement.v1.Rollout.RolloutStatus]. For example, + /// `filter='status=SUCCESS'` + /// + /// -- By [strategy] + /// [google.api.servicemanagement.v1.Rollout.strategy]. For example, + /// `filter='strategy=TrafficPercentStrategy'` + @$pb.TagNumber(4) + $core.String get filter => $_getSZ(3); + @$pb.TagNumber(4) + set filter($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilter() => $_has(3); + @$pb.TagNumber(4) + void clearFilter() => clearField(4); +} + +/// Response message for ListServiceRollouts method. +class ListServiceRolloutsResponse extends $pb.GeneratedMessage { + factory ListServiceRolloutsResponse({ + $core.Iterable<$27.Rollout>? rollouts, + $core.String? nextPageToken, + }) { + final $result = create(); + if (rollouts != null) { + $result.rollouts.addAll(rollouts); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServiceRolloutsResponse._() : super(); + factory ListServiceRolloutsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceRolloutsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceRolloutsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..pc<$27.Rollout>(1, _omitFieldNames ? '' : 'rollouts', $pb.PbFieldType.PM, + subBuilder: $27.Rollout.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceRolloutsResponse clone() => + ListServiceRolloutsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceRolloutsResponse copyWith( + void Function(ListServiceRolloutsResponse) updates) => + super.copyWith( + (message) => updates(message as ListServiceRolloutsResponse)) + as ListServiceRolloutsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceRolloutsResponse create() => + ListServiceRolloutsResponse._(); + ListServiceRolloutsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceRolloutsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceRolloutsResponse? _defaultInstance; + + /// The list of rollout resources. + @$pb.TagNumber(1) + $core.List<$27.Rollout> get rollouts => $_getList(0); + + /// The token of the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for GetServiceRollout method. +class GetServiceRolloutRequest extends $pb.GeneratedMessage { + factory GetServiceRolloutRequest({ + $core.String? serviceName, + $core.String? rolloutId, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (rolloutId != null) { + $result.rolloutId = rolloutId; + } + return $result; + } + GetServiceRolloutRequest._() : super(); + factory GetServiceRolloutRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceRolloutRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceRolloutRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'rolloutId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceRolloutRequest clone() => + GetServiceRolloutRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceRolloutRequest copyWith( + void Function(GetServiceRolloutRequest) updates) => + super.copyWith((message) => updates(message as GetServiceRolloutRequest)) + as GetServiceRolloutRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceRolloutRequest create() => GetServiceRolloutRequest._(); + GetServiceRolloutRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceRolloutRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceRolloutRequest? _defaultInstance; + + /// Required. The name of the service. See the + /// [overview](https://cloud.google.com/service-management/overview) for naming + /// requirements. For example: `example.googleapis.com`. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// Required. The id of the rollout resource. + @$pb.TagNumber(2) + $core.String get rolloutId => $_getSZ(1); + @$pb.TagNumber(2) + set rolloutId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRolloutId() => $_has(1); + @$pb.TagNumber(2) + void clearRolloutId() => clearField(2); +} + +/// Operation payload for EnableService method. +class EnableServiceResponse extends $pb.GeneratedMessage { + factory EnableServiceResponse() => create(); + EnableServiceResponse._() : super(); + factory EnableServiceResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnableServiceResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnableServiceResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableServiceResponse clone() => + EnableServiceResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableServiceResponse copyWith( + void Function(EnableServiceResponse) updates) => + super.copyWith((message) => updates(message as EnableServiceResponse)) + as EnableServiceResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableServiceResponse create() => EnableServiceResponse._(); + EnableServiceResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableServiceResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnableServiceResponse? _defaultInstance; +} + +/// Request message for GenerateConfigReport method. +class GenerateConfigReportRequest extends $pb.GeneratedMessage { + factory GenerateConfigReportRequest({ + $49.Any? newConfig, + $49.Any? oldConfig, + }) { + final $result = create(); + if (newConfig != null) { + $result.newConfig = newConfig; + } + if (oldConfig != null) { + $result.oldConfig = oldConfig; + } + return $result; + } + GenerateConfigReportRequest._() : super(); + factory GenerateConfigReportRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateConfigReportRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateConfigReportRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOM<$49.Any>(1, _omitFieldNames ? '' : 'newConfig', + subBuilder: $49.Any.create) + ..aOM<$49.Any>(2, _omitFieldNames ? '' : 'oldConfig', + subBuilder: $49.Any.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateConfigReportRequest clone() => + GenerateConfigReportRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateConfigReportRequest copyWith( + void Function(GenerateConfigReportRequest) updates) => + super.copyWith( + (message) => updates(message as GenerateConfigReportRequest)) + as GenerateConfigReportRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateConfigReportRequest create() => + GenerateConfigReportRequest._(); + GenerateConfigReportRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateConfigReportRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateConfigReportRequest? _defaultInstance; + + /// Required. Service configuration for which we want to generate the report. + /// For this version of API, the supported types are + /// [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef], + /// [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource], + /// and [google.api.Service][google.api.Service] + @$pb.TagNumber(1) + $49.Any get newConfig => $_getN(0); + @$pb.TagNumber(1) + set newConfig($49.Any v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNewConfig() => $_has(0); + @$pb.TagNumber(1) + void clearNewConfig() => clearField(1); + @$pb.TagNumber(1) + $49.Any ensureNewConfig() => $_ensure(0); + + /// Optional. Service configuration against which the comparison will be done. + /// For this version of API, the supported types are + /// [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef], + /// [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource], + /// and [google.api.Service][google.api.Service] + @$pb.TagNumber(2) + $49.Any get oldConfig => $_getN(1); + @$pb.TagNumber(2) + set oldConfig($49.Any v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOldConfig() => $_has(1); + @$pb.TagNumber(2) + void clearOldConfig() => clearField(2); + @$pb.TagNumber(2) + $49.Any ensureOldConfig() => $_ensure(1); +} + +/// Response message for GenerateConfigReport method. +class GenerateConfigReportResponse extends $pb.GeneratedMessage { + factory GenerateConfigReportResponse({ + $core.String? serviceName, + $core.String? id, + $core.Iterable<$27.ChangeReport>? changeReports, + $core.Iterable<$27.Diagnostic>? diagnostics, + }) { + final $result = create(); + if (serviceName != null) { + $result.serviceName = serviceName; + } + if (id != null) { + $result.id = id; + } + if (changeReports != null) { + $result.changeReports.addAll(changeReports); + } + if (diagnostics != null) { + $result.diagnostics.addAll(diagnostics); + } + return $result; + } + GenerateConfigReportResponse._() : super(); + factory GenerateConfigReportResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateConfigReportResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateConfigReportResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.servicemanagement.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceName') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..pc<$27.ChangeReport>( + 3, _omitFieldNames ? '' : 'changeReports', $pb.PbFieldType.PM, + subBuilder: $27.ChangeReport.create) + ..pc<$27.Diagnostic>( + 4, _omitFieldNames ? '' : 'diagnostics', $pb.PbFieldType.PM, + subBuilder: $27.Diagnostic.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateConfigReportResponse clone() => + GenerateConfigReportResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateConfigReportResponse copyWith( + void Function(GenerateConfigReportResponse) updates) => + super.copyWith( + (message) => updates(message as GenerateConfigReportResponse)) + as GenerateConfigReportResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateConfigReportResponse create() => + GenerateConfigReportResponse._(); + GenerateConfigReportResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateConfigReportResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateConfigReportResponse? _defaultInstance; + + /// Name of the service this report belongs to. + @$pb.TagNumber(1) + $core.String get serviceName => $_getSZ(0); + @$pb.TagNumber(1) + set serviceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceName() => $_has(0); + @$pb.TagNumber(1) + void clearServiceName() => clearField(1); + + /// ID of the service configuration this report belongs to. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// list of ChangeReport, each corresponding to comparison between two + /// service configurations. + @$pb.TagNumber(3) + $core.List<$27.ChangeReport> get changeReports => $_getList(2); + + /// Errors / Linter warnings associated with the service definition this + /// report + /// belongs to. + @$pb.TagNumber(4) + $core.List<$27.Diagnostic> get diagnostics => $_getList(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbenum.dart new file mode 100644 index 00000000..50cdf7ad --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbenum.dart @@ -0,0 +1,37 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/servicemanager.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class GetServiceConfigRequest_ConfigView extends $pb.ProtobufEnum { + static const GetServiceConfigRequest_ConfigView BASIC = + GetServiceConfigRequest_ConfigView._(0, _omitEnumNames ? '' : 'BASIC'); + static const GetServiceConfigRequest_ConfigView FULL = + GetServiceConfigRequest_ConfigView._(1, _omitEnumNames ? '' : 'FULL'); + + static const $core.List values = + [ + BASIC, + FULL, + ]; + + static final $core.Map<$core.int, GetServiceConfigRequest_ConfigView> + _byValue = $pb.ProtobufEnum.initByValue(values); + static GetServiceConfigRequest_ConfigView? valueOf($core.int value) => + _byValue[value]; + + const GetServiceConfigRequest_ConfigView._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbgrpc.dart new file mode 100644 index 00000000..98b05159 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbgrpc.dart @@ -0,0 +1,393 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/servicemanager.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../longrunning/operations.pb.dart' as $0; +import '../../service.pb.dart' as $28; +import 'resources.pb.dart' as $27; +import 'servicemanager.pb.dart' as $26; + +export 'servicemanager.pb.dart'; + +@$pb.GrpcServiceName('google.api.servicemanagement.v1.ServiceManager') +class ServiceManagerClient extends $grpc.Client { + static final _$listServices = + $grpc.ClientMethod<$26.ListServicesRequest, $26.ListServicesResponse>( + '/google.api.servicemanagement.v1.ServiceManager/ListServices', + ($26.ListServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $26.ListServicesResponse.fromBuffer(value)); + static final _$getService = + $grpc.ClientMethod<$26.GetServiceRequest, $27.ManagedService>( + '/google.api.servicemanagement.v1.ServiceManager/GetService', + ($26.GetServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $27.ManagedService.fromBuffer(value)); + static final _$createService = + $grpc.ClientMethod<$26.CreateServiceRequest, $0.Operation>( + '/google.api.servicemanagement.v1.ServiceManager/CreateService', + ($26.CreateServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteService = + $grpc.ClientMethod<$26.DeleteServiceRequest, $0.Operation>( + '/google.api.servicemanagement.v1.ServiceManager/DeleteService', + ($26.DeleteServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$undeleteService = + $grpc.ClientMethod<$26.UndeleteServiceRequest, $0.Operation>( + '/google.api.servicemanagement.v1.ServiceManager/UndeleteService', + ($26.UndeleteServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listServiceConfigs = $grpc.ClientMethod< + $26.ListServiceConfigsRequest, $26.ListServiceConfigsResponse>( + '/google.api.servicemanagement.v1.ServiceManager/ListServiceConfigs', + ($26.ListServiceConfigsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $26.ListServiceConfigsResponse.fromBuffer(value)); + static final _$getServiceConfig = + $grpc.ClientMethod<$26.GetServiceConfigRequest, $28.Service>( + '/google.api.servicemanagement.v1.ServiceManager/GetServiceConfig', + ($26.GetServiceConfigRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $28.Service.fromBuffer(value)); + static final _$createServiceConfig = + $grpc.ClientMethod<$26.CreateServiceConfigRequest, $28.Service>( + '/google.api.servicemanagement.v1.ServiceManager/CreateServiceConfig', + ($26.CreateServiceConfigRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $28.Service.fromBuffer(value)); + static final _$submitConfigSource = + $grpc.ClientMethod<$26.SubmitConfigSourceRequest, $0.Operation>( + '/google.api.servicemanagement.v1.ServiceManager/SubmitConfigSource', + ($26.SubmitConfigSourceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listServiceRollouts = $grpc.ClientMethod< + $26.ListServiceRolloutsRequest, $26.ListServiceRolloutsResponse>( + '/google.api.servicemanagement.v1.ServiceManager/ListServiceRollouts', + ($26.ListServiceRolloutsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $26.ListServiceRolloutsResponse.fromBuffer(value)); + static final _$getServiceRollout = + $grpc.ClientMethod<$26.GetServiceRolloutRequest, $27.Rollout>( + '/google.api.servicemanagement.v1.ServiceManager/GetServiceRollout', + ($26.GetServiceRolloutRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $27.Rollout.fromBuffer(value)); + static final _$createServiceRollout = $grpc.ClientMethod< + $26.CreateServiceRolloutRequest, $0.Operation>( + '/google.api.servicemanagement.v1.ServiceManager/CreateServiceRollout', + ($26.CreateServiceRolloutRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$generateConfigReport = $grpc.ClientMethod< + $26.GenerateConfigReportRequest, $26.GenerateConfigReportResponse>( + '/google.api.servicemanagement.v1.ServiceManager/GenerateConfigReport', + ($26.GenerateConfigReportRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $26.GenerateConfigReportResponse.fromBuffer(value)); + + ServiceManagerClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$26.ListServicesResponse> listServices( + $26.ListServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServices, request, options: options); + } + + $grpc.ResponseFuture<$27.ManagedService> getService( + $26.GetServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createService( + $26.CreateServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteService( + $26.DeleteServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> undeleteService( + $26.UndeleteServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteService, request, options: options); + } + + $grpc.ResponseFuture<$26.ListServiceConfigsResponse> listServiceConfigs( + $26.ListServiceConfigsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServiceConfigs, request, options: options); + } + + $grpc.ResponseFuture<$28.Service> getServiceConfig( + $26.GetServiceConfigRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getServiceConfig, request, options: options); + } + + $grpc.ResponseFuture<$28.Service> createServiceConfig( + $26.CreateServiceConfigRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createServiceConfig, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> submitConfigSource( + $26.SubmitConfigSourceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$submitConfigSource, request, options: options); + } + + $grpc.ResponseFuture<$26.ListServiceRolloutsResponse> listServiceRollouts( + $26.ListServiceRolloutsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServiceRollouts, request, options: options); + } + + $grpc.ResponseFuture<$27.Rollout> getServiceRollout( + $26.GetServiceRolloutRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getServiceRollout, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createServiceRollout( + $26.CreateServiceRolloutRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createServiceRollout, request, options: options); + } + + $grpc.ResponseFuture<$26.GenerateConfigReportResponse> generateConfigReport( + $26.GenerateConfigReportRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$generateConfigReport, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.servicemanagement.v1.ServiceManager') +abstract class ServiceManagerServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.servicemanagement.v1.ServiceManager'; + + ServiceManagerServiceBase() { + $addMethod( + $grpc.ServiceMethod<$26.ListServicesRequest, $26.ListServicesResponse>( + 'ListServices', + listServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.ListServicesRequest.fromBuffer(value), + ($26.ListServicesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.GetServiceRequest, $27.ManagedService>( + 'GetService', + getService_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.GetServiceRequest.fromBuffer(value), + ($27.ManagedService value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.CreateServiceRequest, $0.Operation>( + 'CreateService', + createService_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.CreateServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.DeleteServiceRequest, $0.Operation>( + 'DeleteService', + deleteService_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.DeleteServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.UndeleteServiceRequest, $0.Operation>( + 'UndeleteService', + undeleteService_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.UndeleteServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.ListServiceConfigsRequest, + $26.ListServiceConfigsResponse>( + 'ListServiceConfigs', + listServiceConfigs_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.ListServiceConfigsRequest.fromBuffer(value), + ($26.ListServiceConfigsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.GetServiceConfigRequest, $28.Service>( + 'GetServiceConfig', + getServiceConfig_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.GetServiceConfigRequest.fromBuffer(value), + ($28.Service value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.CreateServiceConfigRequest, $28.Service>( + 'CreateServiceConfig', + createServiceConfig_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.CreateServiceConfigRequest.fromBuffer(value), + ($28.Service value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.SubmitConfigSourceRequest, $0.Operation>( + 'SubmitConfigSource', + submitConfigSource_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.SubmitConfigSourceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.ListServiceRolloutsRequest, + $26.ListServiceRolloutsResponse>( + 'ListServiceRollouts', + listServiceRollouts_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.ListServiceRolloutsRequest.fromBuffer(value), + ($26.ListServiceRolloutsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.GetServiceRolloutRequest, $27.Rollout>( + 'GetServiceRollout', + getServiceRollout_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.GetServiceRolloutRequest.fromBuffer(value), + ($27.Rollout value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$26.CreateServiceRolloutRequest, $0.Operation>( + 'CreateServiceRollout', + createServiceRollout_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.CreateServiceRolloutRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$26.GenerateConfigReportRequest, + $26.GenerateConfigReportResponse>( + 'GenerateConfigReport', + generateConfigReport_Pre, + false, + false, + ($core.List<$core.int> value) => + $26.GenerateConfigReportRequest.fromBuffer(value), + ($26.GenerateConfigReportResponse value) => value.writeToBuffer())); + } + + $async.Future<$26.ListServicesResponse> listServices_Pre( + $grpc.ServiceCall call, + $async.Future<$26.ListServicesRequest> request) async { + return listServices(call, await request); + } + + $async.Future<$27.ManagedService> getService_Pre($grpc.ServiceCall call, + $async.Future<$26.GetServiceRequest> request) async { + return getService(call, await request); + } + + $async.Future<$0.Operation> createService_Pre($grpc.ServiceCall call, + $async.Future<$26.CreateServiceRequest> request) async { + return createService(call, await request); + } + + $async.Future<$0.Operation> deleteService_Pre($grpc.ServiceCall call, + $async.Future<$26.DeleteServiceRequest> request) async { + return deleteService(call, await request); + } + + $async.Future<$0.Operation> undeleteService_Pre($grpc.ServiceCall call, + $async.Future<$26.UndeleteServiceRequest> request) async { + return undeleteService(call, await request); + } + + $async.Future<$26.ListServiceConfigsResponse> listServiceConfigs_Pre( + $grpc.ServiceCall call, + $async.Future<$26.ListServiceConfigsRequest> request) async { + return listServiceConfigs(call, await request); + } + + $async.Future<$28.Service> getServiceConfig_Pre($grpc.ServiceCall call, + $async.Future<$26.GetServiceConfigRequest> request) async { + return getServiceConfig(call, await request); + } + + $async.Future<$28.Service> createServiceConfig_Pre($grpc.ServiceCall call, + $async.Future<$26.CreateServiceConfigRequest> request) async { + return createServiceConfig(call, await request); + } + + $async.Future<$0.Operation> submitConfigSource_Pre($grpc.ServiceCall call, + $async.Future<$26.SubmitConfigSourceRequest> request) async { + return submitConfigSource(call, await request); + } + + $async.Future<$26.ListServiceRolloutsResponse> listServiceRollouts_Pre( + $grpc.ServiceCall call, + $async.Future<$26.ListServiceRolloutsRequest> request) async { + return listServiceRollouts(call, await request); + } + + $async.Future<$27.Rollout> getServiceRollout_Pre($grpc.ServiceCall call, + $async.Future<$26.GetServiceRolloutRequest> request) async { + return getServiceRollout(call, await request); + } + + $async.Future<$0.Operation> createServiceRollout_Pre($grpc.ServiceCall call, + $async.Future<$26.CreateServiceRolloutRequest> request) async { + return createServiceRollout(call, await request); + } + + $async.Future<$26.GenerateConfigReportResponse> generateConfigReport_Pre( + $grpc.ServiceCall call, + $async.Future<$26.GenerateConfigReportRequest> request) async { + return generateConfigReport(call, await request); + } + + $async.Future<$26.ListServicesResponse> listServices( + $grpc.ServiceCall call, $26.ListServicesRequest request); + $async.Future<$27.ManagedService> getService( + $grpc.ServiceCall call, $26.GetServiceRequest request); + $async.Future<$0.Operation> createService( + $grpc.ServiceCall call, $26.CreateServiceRequest request); + $async.Future<$0.Operation> deleteService( + $grpc.ServiceCall call, $26.DeleteServiceRequest request); + $async.Future<$0.Operation> undeleteService( + $grpc.ServiceCall call, $26.UndeleteServiceRequest request); + $async.Future<$26.ListServiceConfigsResponse> listServiceConfigs( + $grpc.ServiceCall call, $26.ListServiceConfigsRequest request); + $async.Future<$28.Service> getServiceConfig( + $grpc.ServiceCall call, $26.GetServiceConfigRequest request); + $async.Future<$28.Service> createServiceConfig( + $grpc.ServiceCall call, $26.CreateServiceConfigRequest request); + $async.Future<$0.Operation> submitConfigSource( + $grpc.ServiceCall call, $26.SubmitConfigSourceRequest request); + $async.Future<$26.ListServiceRolloutsResponse> listServiceRollouts( + $grpc.ServiceCall call, $26.ListServiceRolloutsRequest request); + $async.Future<$27.Rollout> getServiceRollout( + $grpc.ServiceCall call, $26.GetServiceRolloutRequest request); + $async.Future<$0.Operation> createServiceRollout( + $grpc.ServiceCall call, $26.CreateServiceRolloutRequest request); + $async.Future<$26.GenerateConfigReportResponse> generateConfigReport( + $grpc.ServiceCall call, $26.GenerateConfigReportRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbjson.dart new file mode 100644 index 00000000..9117962b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/servicemanagement/v1/servicemanager.pbjson.dart @@ -0,0 +1,455 @@ +// +// Generated code. Do not modify. +// source: google/api/servicemanagement/v1/servicemanager.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use listServicesRequestDescriptor instead') +const ListServicesRequest$json = { + '1': 'ListServicesRequest', + '2': [ + { + '1': 'producer_project_id', + '3': 1, + '4': 1, + '5': 9, + '10': 'producerProjectId' + }, + {'1': 'page_size', '3': 5, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 6, '4': 1, '5': 9, '10': 'pageToken'}, + { + '1': 'consumer_id', + '3': 7, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'consumerId', + }, + ], +}; + +/// Descriptor for `ListServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0U2VydmljZXNSZXF1ZXN0Ei4KE3Byb2R1Y2VyX3Byb2plY3RfaWQYASABKAlSEXByb2' + 'R1Y2VyUHJvamVjdElkEhsKCXBhZ2Vfc2l6ZRgFIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tl' + 'bhgGIAEoCVIJcGFnZVRva2VuEiMKC2NvbnN1bWVyX2lkGAcgASgJQgIYAVIKY29uc3VtZXJJZA' + '=='); + +@$core.Deprecated('Use listServicesResponseDescriptor instead') +const ListServicesResponse$json = { + '1': 'ListServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.servicemanagement.v1.ManagedService', + '10': 'services' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0U2VydmljZXNSZXNwb25zZRJLCghzZXJ2aWNlcxgBIAMoCzIvLmdvb2dsZS5hcGkuc2' + 'VydmljZW1hbmFnZW1lbnQudjEuTWFuYWdlZFNlcnZpY2VSCHNlcnZpY2VzEiYKD25leHRfcGFn' + 'ZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getServiceRequestDescriptor instead') +const GetServiceRequest$json = { + '1': 'GetServiceRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + ], +}; + +/// Descriptor for `GetServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceRequestDescriptor = $convert.base64Decode( + 'ChFHZXRTZXJ2aWNlUmVxdWVzdBImCgxzZXJ2aWNlX25hbWUYASABKAlCA+BBAlILc2VydmljZU' + '5hbWU='); + +@$core.Deprecated('Use createServiceRequestDescriptor instead') +const CreateServiceRequest$json = { + '1': 'CreateServiceRequest', + '2': [ + { + '1': 'service', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.servicemanagement.v1.ManagedService', + '8': {}, + '10': 'service' + }, + ], +}; + +/// Descriptor for `CreateServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createServiceRequestDescriptor = $convert.base64Decode( + 'ChRDcmVhdGVTZXJ2aWNlUmVxdWVzdBJOCgdzZXJ2aWNlGAEgASgLMi8uZ29vZ2xlLmFwaS5zZX' + 'J2aWNlbWFuYWdlbWVudC52MS5NYW5hZ2VkU2VydmljZUID4EECUgdzZXJ2aWNl'); + +@$core.Deprecated('Use deleteServiceRequestDescriptor instead') +const DeleteServiceRequest$json = { + '1': 'DeleteServiceRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + ], +}; + +/// Descriptor for `DeleteServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteServiceRequestDescriptor = $convert.base64Decode( + 'ChREZWxldGVTZXJ2aWNlUmVxdWVzdBImCgxzZXJ2aWNlX25hbWUYASABKAlCA+BBAlILc2Vydm' + 'ljZU5hbWU='); + +@$core.Deprecated('Use undeleteServiceRequestDescriptor instead') +const UndeleteServiceRequest$json = { + '1': 'UndeleteServiceRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + ], +}; + +/// Descriptor for `UndeleteServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteServiceRequestDescriptor = + $convert.base64Decode( + 'ChZVbmRlbGV0ZVNlcnZpY2VSZXF1ZXN0EiYKDHNlcnZpY2VfbmFtZRgBIAEoCUID4EECUgtzZX' + 'J2aWNlTmFtZQ=='); + +@$core.Deprecated('Use undeleteServiceResponseDescriptor instead') +const UndeleteServiceResponse$json = { + '1': 'UndeleteServiceResponse', + '2': [ + { + '1': 'service', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.servicemanagement.v1.ManagedService', + '10': 'service' + }, + ], +}; + +/// Descriptor for `UndeleteServiceResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteServiceResponseDescriptor = + $convert.base64Decode( + 'ChdVbmRlbGV0ZVNlcnZpY2VSZXNwb25zZRJJCgdzZXJ2aWNlGAEgASgLMi8uZ29vZ2xlLmFwaS' + '5zZXJ2aWNlbWFuYWdlbWVudC52MS5NYW5hZ2VkU2VydmljZVIHc2VydmljZQ=='); + +@$core.Deprecated('Use getServiceConfigRequestDescriptor instead') +const GetServiceConfigRequest$json = { + '1': 'GetServiceConfigRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + {'1': 'config_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'configId'}, + { + '1': 'view', + '3': 3, + '4': 1, + '5': 14, + '6': + '.google.api.servicemanagement.v1.GetServiceConfigRequest.ConfigView', + '10': 'view' + }, + ], + '4': [GetServiceConfigRequest_ConfigView$json], +}; + +@$core.Deprecated('Use getServiceConfigRequestDescriptor instead') +const GetServiceConfigRequest_ConfigView$json = { + '1': 'ConfigView', + '2': [ + {'1': 'BASIC', '2': 0}, + {'1': 'FULL', '2': 1}, + ], +}; + +/// Descriptor for `GetServiceConfigRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceConfigRequestDescriptor = $convert.base64Decode( + 'ChdHZXRTZXJ2aWNlQ29uZmlnUmVxdWVzdBImCgxzZXJ2aWNlX25hbWUYASABKAlCA+BBAlILc2' + 'VydmljZU5hbWUSIAoJY29uZmlnX2lkGAIgASgJQgPgQQJSCGNvbmZpZ0lkElcKBHZpZXcYAyAB' + 'KA4yQy5nb29nbGUuYXBpLnNlcnZpY2VtYW5hZ2VtZW50LnYxLkdldFNlcnZpY2VDb25maWdSZX' + 'F1ZXN0LkNvbmZpZ1ZpZXdSBHZpZXciIQoKQ29uZmlnVmlldxIJCgVCQVNJQxAAEggKBEZVTEwQ' + 'AQ=='); + +@$core.Deprecated('Use listServiceConfigsRequestDescriptor instead') +const ListServiceConfigsRequest$json = { + '1': 'ListServiceConfigsRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListServiceConfigsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceConfigsRequestDescriptor = $convert.base64Decode( + 'ChlMaXN0U2VydmljZUNvbmZpZ3NSZXF1ZXN0EiYKDHNlcnZpY2VfbmFtZRgBIAEoCUID4EECUg' + 'tzZXJ2aWNlTmFtZRIdCgpwYWdlX3Rva2VuGAIgASgJUglwYWdlVG9rZW4SGwoJcGFnZV9zaXpl' + 'GAMgASgFUghwYWdlU2l6ZQ=='); + +@$core.Deprecated('Use listServiceConfigsResponseDescriptor instead') +const ListServiceConfigsResponse$json = { + '1': 'ListServiceConfigsResponse', + '2': [ + { + '1': 'service_configs', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.Service', + '10': 'serviceConfigs' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServiceConfigsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceConfigsResponseDescriptor = + $convert.base64Decode( + 'ChpMaXN0U2VydmljZUNvbmZpZ3NSZXNwb25zZRI8Cg9zZXJ2aWNlX2NvbmZpZ3MYASADKAsyEy' + '5nb29nbGUuYXBpLlNlcnZpY2VSDnNlcnZpY2VDb25maWdzEiYKD25leHRfcGFnZV90b2tlbhgC' + 'IAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use createServiceConfigRequestDescriptor instead') +const CreateServiceConfigRequest$json = { + '1': 'CreateServiceConfigRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + { + '1': 'service_config', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.Service', + '8': {}, + '10': 'serviceConfig' + }, + ], +}; + +/// Descriptor for `CreateServiceConfigRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createServiceConfigRequestDescriptor = + $convert.base64Decode( + 'ChpDcmVhdGVTZXJ2aWNlQ29uZmlnUmVxdWVzdBImCgxzZXJ2aWNlX25hbWUYASABKAlCA+BBAl' + 'ILc2VydmljZU5hbWUSPwoOc2VydmljZV9jb25maWcYAiABKAsyEy5nb29nbGUuYXBpLlNlcnZp' + 'Y2VCA+BBAlINc2VydmljZUNvbmZpZw=='); + +@$core.Deprecated('Use submitConfigSourceRequestDescriptor instead') +const SubmitConfigSourceRequest$json = { + '1': 'SubmitConfigSourceRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + { + '1': 'config_source', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.servicemanagement.v1.ConfigSource', + '8': {}, + '10': 'configSource' + }, + { + '1': 'validate_only', + '3': 3, + '4': 1, + '5': 8, + '8': {}, + '10': 'validateOnly' + }, + ], +}; + +/// Descriptor for `SubmitConfigSourceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List submitConfigSourceRequestDescriptor = $convert.base64Decode( + 'ChlTdWJtaXRDb25maWdTb3VyY2VSZXF1ZXN0EiYKDHNlcnZpY2VfbmFtZRgBIAEoCUID4EECUg' + 'tzZXJ2aWNlTmFtZRJXCg1jb25maWdfc291cmNlGAIgASgLMi0uZ29vZ2xlLmFwaS5zZXJ2aWNl' + 'bWFuYWdlbWVudC52MS5Db25maWdTb3VyY2VCA+BBAlIMY29uZmlnU291cmNlEigKDXZhbGlkYX' + 'RlX29ubHkYAyABKAhCA+BBAVIMdmFsaWRhdGVPbmx5'); + +@$core.Deprecated('Use submitConfigSourceResponseDescriptor instead') +const SubmitConfigSourceResponse$json = { + '1': 'SubmitConfigSourceResponse', + '2': [ + { + '1': 'service_config', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.Service', + '10': 'serviceConfig' + }, + ], +}; + +/// Descriptor for `SubmitConfigSourceResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List submitConfigSourceResponseDescriptor = + $convert.base64Decode( + 'ChpTdWJtaXRDb25maWdTb3VyY2VSZXNwb25zZRI6Cg5zZXJ2aWNlX2NvbmZpZxgBIAEoCzITLm' + 'dvb2dsZS5hcGkuU2VydmljZVINc2VydmljZUNvbmZpZw=='); + +@$core.Deprecated('Use createServiceRolloutRequestDescriptor instead') +const CreateServiceRolloutRequest$json = { + '1': 'CreateServiceRolloutRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + { + '1': 'rollout', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.servicemanagement.v1.Rollout', + '8': {}, + '10': 'rollout' + }, + ], +}; + +/// Descriptor for `CreateServiceRolloutRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createServiceRolloutRequestDescriptor = + $convert.base64Decode( + 'ChtDcmVhdGVTZXJ2aWNlUm9sbG91dFJlcXVlc3QSJgoMc2VydmljZV9uYW1lGAEgASgJQgPgQQ' + 'JSC3NlcnZpY2VOYW1lEkcKB3JvbGxvdXQYAiABKAsyKC5nb29nbGUuYXBpLnNlcnZpY2VtYW5h' + 'Z2VtZW50LnYxLlJvbGxvdXRCA+BBAlIHcm9sbG91dA=='); + +@$core.Deprecated('Use listServiceRolloutsRequestDescriptor instead') +const ListServiceRolloutsRequest$json = { + '1': 'ListServiceRolloutsRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'filter', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + ], +}; + +/// Descriptor for `ListServiceRolloutsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceRolloutsRequestDescriptor = + $convert.base64Decode( + 'ChpMaXN0U2VydmljZVJvbGxvdXRzUmVxdWVzdBImCgxzZXJ2aWNlX25hbWUYASABKAlCA+BBAl' + 'ILc2VydmljZU5hbWUSHQoKcGFnZV90b2tlbhgCIAEoCVIJcGFnZVRva2VuEhsKCXBhZ2Vfc2l6' + 'ZRgDIAEoBVIIcGFnZVNpemUSGwoGZmlsdGVyGAQgASgJQgPgQQJSBmZpbHRlcg=='); + +@$core.Deprecated('Use listServiceRolloutsResponseDescriptor instead') +const ListServiceRolloutsResponse$json = { + '1': 'ListServiceRolloutsResponse', + '2': [ + { + '1': 'rollouts', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.servicemanagement.v1.Rollout', + '10': 'rollouts' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServiceRolloutsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceRolloutsResponseDescriptor = + $convert.base64Decode( + 'ChtMaXN0U2VydmljZVJvbGxvdXRzUmVzcG9uc2USRAoIcm9sbG91dHMYASADKAsyKC5nb29nbG' + 'UuYXBpLnNlcnZpY2VtYW5hZ2VtZW50LnYxLlJvbGxvdXRSCHJvbGxvdXRzEiYKD25leHRfcGFn' + 'ZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getServiceRolloutRequestDescriptor instead') +const GetServiceRolloutRequest$json = { + '1': 'GetServiceRolloutRequest', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'serviceName'}, + {'1': 'rollout_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'rolloutId'}, + ], +}; + +/// Descriptor for `GetServiceRolloutRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceRolloutRequestDescriptor = + $convert.base64Decode( + 'ChhHZXRTZXJ2aWNlUm9sbG91dFJlcXVlc3QSJgoMc2VydmljZV9uYW1lGAEgASgJQgPgQQJSC3' + 'NlcnZpY2VOYW1lEiIKCnJvbGxvdXRfaWQYAiABKAlCA+BBAlIJcm9sbG91dElk'); + +@$core.Deprecated('Use enableServiceResponseDescriptor instead') +const EnableServiceResponse$json = { + '1': 'EnableServiceResponse', +}; + +/// Descriptor for `EnableServiceResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableServiceResponseDescriptor = + $convert.base64Decode('ChVFbmFibGVTZXJ2aWNlUmVzcG9uc2U='); + +@$core.Deprecated('Use generateConfigReportRequestDescriptor instead') +const GenerateConfigReportRequest$json = { + '1': 'GenerateConfigReportRequest', + '2': [ + { + '1': 'new_config', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '8': {}, + '10': 'newConfig' + }, + { + '1': 'old_config', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '8': {}, + '10': 'oldConfig' + }, + ], +}; + +/// Descriptor for `GenerateConfigReportRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateConfigReportRequestDescriptor = + $convert.base64Decode( + 'ChtHZW5lcmF0ZUNvbmZpZ1JlcG9ydFJlcXVlc3QSOAoKbmV3X2NvbmZpZxgBIAEoCzIULmdvb2' + 'dsZS5wcm90b2J1Zi5BbnlCA+BBAlIJbmV3Q29uZmlnEjgKCm9sZF9jb25maWcYAiABKAsyFC5n' + 'b29nbGUucHJvdG9idWYuQW55QgPgQQFSCW9sZENvbmZpZw=='); + +@$core.Deprecated('Use generateConfigReportResponseDescriptor instead') +const GenerateConfigReportResponse$json = { + '1': 'GenerateConfigReportResponse', + '2': [ + {'1': 'service_name', '3': 1, '4': 1, '5': 9, '10': 'serviceName'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'change_reports', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.servicemanagement.v1.ChangeReport', + '10': 'changeReports' + }, + { + '1': 'diagnostics', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.api.servicemanagement.v1.Diagnostic', + '10': 'diagnostics' + }, + ], +}; + +/// Descriptor for `GenerateConfigReportResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateConfigReportResponseDescriptor = $convert.base64Decode( + 'ChxHZW5lcmF0ZUNvbmZpZ1JlcG9ydFJlc3BvbnNlEiEKDHNlcnZpY2VfbmFtZRgBIAEoCVILc2' + 'VydmljZU5hbWUSDgoCaWQYAiABKAlSAmlkElQKDmNoYW5nZV9yZXBvcnRzGAMgAygLMi0uZ29v' + 'Z2xlLmFwaS5zZXJ2aWNlbWFuYWdlbWVudC52MS5DaGFuZ2VSZXBvcnRSDWNoYW5nZVJlcG9ydH' + 'MSTQoLZGlhZ25vc3RpY3MYBCADKAsyKy5nb29nbGUuYXBpLnNlcnZpY2VtYW5hZ2VtZW50LnYx' + 'LkRpYWdub3N0aWNSC2RpYWdub3N0aWNz'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pb.dart new file mode 100644 index 00000000..2fe7b31d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pb.dart @@ -0,0 +1,446 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/api.pb.dart' as $84; +import '../../auth.pb.dart' as $88; +import '../../documentation.pb.dart' as $85; +import '../../endpoint.pb.dart' as $91; +import '../../monitored_resource.pb.dart' as $67; +import '../../monitoring.pb.dart' as $96; +import '../../quota.pb.dart' as $87; +import '../../usage.pb.dart' as $90; +import 'resources.pbenum.dart'; + +export 'resources.pbenum.dart'; + +/// A service that is available for use by the consumer. +class Service extends $pb.GeneratedMessage { + factory Service({ + $core.String? name, + ServiceConfig? config, + State? state, + $core.String? parent, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (config != null) { + $result.config = config; + } + if (state != null) { + $result.state = state; + } + if (parent != null) { + $result.parent = parent; + } + return $result; + } + Service._() : super(); + factory Service.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Service.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Service', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'config', + subBuilder: ServiceConfig.create) + ..e(4, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: State.STATE_UNSPECIFIED, + valueOf: State.valueOf, + enumValues: State.values) + ..aOS(5, _omitFieldNames ? '' : 'parent') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Service clone() => Service()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Service copyWith(void Function(Service) updates) => + super.copyWith((message) => updates(message as Service)) as Service; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Service create() => Service._(); + Service createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Service getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Service? _defaultInstance; + + /// The resource name of the consumer and service. + /// + /// A valid name would be: + /// - projects/123/services/serviceusage.googleapis.com + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The service configuration of the available service. + /// Some fields may be filtered out of the configuration in responses to + /// the `ListServices` method. These fields are present only in responses to + /// the `GetService` method. + @$pb.TagNumber(2) + ServiceConfig get config => $_getN(1); + @$pb.TagNumber(2) + set config(ServiceConfig v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasConfig() => $_has(1); + @$pb.TagNumber(2) + void clearConfig() => clearField(2); + @$pb.TagNumber(2) + ServiceConfig ensureConfig() => $_ensure(1); + + /// Whether or not the service has been enabled for use by the consumer. + @$pb.TagNumber(4) + State get state => $_getN(2); + @$pb.TagNumber(4) + set state(State v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasState() => $_has(2); + @$pb.TagNumber(4) + void clearState() => clearField(4); + + /// The resource name of the consumer. + /// + /// A valid name would be: + /// - projects/123 + @$pb.TagNumber(5) + $core.String get parent => $_getSZ(3); + @$pb.TagNumber(5) + set parent($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasParent() => $_has(3); + @$pb.TagNumber(5) + void clearParent() => clearField(5); +} + +/// The configuration of the service. +class ServiceConfig extends $pb.GeneratedMessage { + factory ServiceConfig({ + $core.String? name, + $core.String? title, + $core.Iterable<$84.Api>? apis, + $85.Documentation? documentation, + $87.Quota? quota, + $88.Authentication? authentication, + $90.Usage? usage, + $core.Iterable<$91.Endpoint>? endpoints, + $core.Iterable<$67.MonitoredResourceDescriptor>? monitoredResources, + $96.Monitoring? monitoring, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (title != null) { + $result.title = title; + } + if (apis != null) { + $result.apis.addAll(apis); + } + if (documentation != null) { + $result.documentation = documentation; + } + if (quota != null) { + $result.quota = quota; + } + if (authentication != null) { + $result.authentication = authentication; + } + if (usage != null) { + $result.usage = usage; + } + if (endpoints != null) { + $result.endpoints.addAll(endpoints); + } + if (monitoredResources != null) { + $result.monitoredResources.addAll(monitoredResources); + } + if (monitoring != null) { + $result.monitoring = monitoring; + } + return $result; + } + ServiceConfig._() : super(); + factory ServiceConfig.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceConfig.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceConfig', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'title') + ..pc<$84.Api>(3, _omitFieldNames ? '' : 'apis', $pb.PbFieldType.PM, + subBuilder: $84.Api.create) + ..aOM<$85.Documentation>(6, _omitFieldNames ? '' : 'documentation', + subBuilder: $85.Documentation.create) + ..aOM<$87.Quota>(10, _omitFieldNames ? '' : 'quota', + subBuilder: $87.Quota.create) + ..aOM<$88.Authentication>(11, _omitFieldNames ? '' : 'authentication', + subBuilder: $88.Authentication.create) + ..aOM<$90.Usage>(15, _omitFieldNames ? '' : 'usage', + subBuilder: $90.Usage.create) + ..pc<$91.Endpoint>( + 18, _omitFieldNames ? '' : 'endpoints', $pb.PbFieldType.PM, + subBuilder: $91.Endpoint.create) + ..pc<$67.MonitoredResourceDescriptor>( + 25, _omitFieldNames ? '' : 'monitoredResources', $pb.PbFieldType.PM, + subBuilder: $67.MonitoredResourceDescriptor.create) + ..aOM<$96.Monitoring>(28, _omitFieldNames ? '' : 'monitoring', + subBuilder: $96.Monitoring.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceConfig clone() => ServiceConfig()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceConfig copyWith(void Function(ServiceConfig) updates) => + super.copyWith((message) => updates(message as ServiceConfig)) + as ServiceConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceConfig create() => ServiceConfig._(); + ServiceConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceConfig getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceConfig? _defaultInstance; + + /// The DNS address at which this service is available. + /// + /// An example DNS address would be: + /// `calendar.googleapis.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The product title for this service. + @$pb.TagNumber(2) + $core.String get title => $_getSZ(1); + @$pb.TagNumber(2) + set title($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTitle() => $_has(1); + @$pb.TagNumber(2) + void clearTitle() => clearField(2); + + /// A list of API interfaces exported by this service. Contains only the names, + /// versions, and method names of the interfaces. + @$pb.TagNumber(3) + $core.List<$84.Api> get apis => $_getList(2); + + /// Additional API documentation. Contains only the summary and the + /// documentation URL. + @$pb.TagNumber(6) + $85.Documentation get documentation => $_getN(3); + @$pb.TagNumber(6) + set documentation($85.Documentation v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasDocumentation() => $_has(3); + @$pb.TagNumber(6) + void clearDocumentation() => clearField(6); + @$pb.TagNumber(6) + $85.Documentation ensureDocumentation() => $_ensure(3); + + /// Quota configuration. + @$pb.TagNumber(10) + $87.Quota get quota => $_getN(4); + @$pb.TagNumber(10) + set quota($87.Quota v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasQuota() => $_has(4); + @$pb.TagNumber(10) + void clearQuota() => clearField(10); + @$pb.TagNumber(10) + $87.Quota ensureQuota() => $_ensure(4); + + /// Auth configuration. Contains only the OAuth rules. + @$pb.TagNumber(11) + $88.Authentication get authentication => $_getN(5); + @$pb.TagNumber(11) + set authentication($88.Authentication v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasAuthentication() => $_has(5); + @$pb.TagNumber(11) + void clearAuthentication() => clearField(11); + @$pb.TagNumber(11) + $88.Authentication ensureAuthentication() => $_ensure(5); + + /// Configuration controlling usage of this service. + @$pb.TagNumber(15) + $90.Usage get usage => $_getN(6); + @$pb.TagNumber(15) + set usage($90.Usage v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasUsage() => $_has(6); + @$pb.TagNumber(15) + void clearUsage() => clearField(15); + @$pb.TagNumber(15) + $90.Usage ensureUsage() => $_ensure(6); + + /// Configuration for network endpoints. Contains only the names and aliases + /// of the endpoints. + @$pb.TagNumber(18) + $core.List<$91.Endpoint> get endpoints => $_getList(7); + + /// 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. + @$pb.TagNumber(25) + $core.List<$67.MonitoredResourceDescriptor> get monitoredResources => + $_getList(8); + + /// Monitoring configuration. + /// This should not include the 'producer_destinations' field. + @$pb.TagNumber(28) + $96.Monitoring get monitoring => $_getN(9); + @$pb.TagNumber(28) + set monitoring($96.Monitoring v) { + setField(28, v); + } + + @$pb.TagNumber(28) + $core.bool hasMonitoring() => $_has(9); + @$pb.TagNumber(28) + void clearMonitoring() => clearField(28); + @$pb.TagNumber(28) + $96.Monitoring ensureMonitoring() => $_ensure(9); +} + +/// The operation metadata returned for the batchend services operation. +class OperationMetadata extends $pb.GeneratedMessage { + factory OperationMetadata({ + $core.Iterable<$core.String>? resourceNames, + }) { + final $result = create(); + if (resourceNames != null) { + $result.resourceNames.addAll(resourceNames); + } + return $result; + } + OperationMetadata._() : super(); + factory OperationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..pPS(2, _omitFieldNames ? '' : 'resourceNames') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationMetadata clone() => OperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationMetadata copyWith(void Function(OperationMetadata) updates) => + super.copyWith((message) => updates(message as OperationMetadata)) + as OperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationMetadata create() => OperationMetadata._(); + OperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationMetadata? _defaultInstance; + + /// The full name of the resources that this operation is directly + /// associated with. + @$pb.TagNumber(2) + $core.List<$core.String> get resourceNames => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pbenum.dart new file mode 100644 index 00000000..ed4a4f15 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pbenum.dart @@ -0,0 +1,36 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Whether or not a service has been enabled for use by a consumer. +class State extends $pb.ProtobufEnum { + static const State STATE_UNSPECIFIED = + State._(0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const State DISABLED = State._(1, _omitEnumNames ? '' : 'DISABLED'); + static const State ENABLED = State._(2, _omitEnumNames ? '' : 'ENABLED'); + + static const $core.List values = [ + STATE_UNSPECIFIED, + DISABLED, + ENABLED, + ]; + + static final $core.Map<$core.int, State> _byValue = + $pb.ProtobufEnum.initByValue(values); + static State? valueOf($core.int value) => _byValue[value]; + + const State._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pbjson.dart new file mode 100644 index 00000000..528e83d1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/resources.pbjson.dart @@ -0,0 +1,164 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use stateDescriptor instead') +const State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'DISABLED', '2': 1}, + {'1': 'ENABLED', '2': 2}, + ], +}; + +/// Descriptor for `State`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List stateDescriptor = $convert.base64Decode( + 'CgVTdGF0ZRIVChFTVEFURV9VTlNQRUNJRklFRBAAEgwKCERJU0FCTEVEEAESCwoHRU5BQkxFRB' + 'AC'); + +@$core.Deprecated('Use serviceDescriptor instead') +const Service$json = { + '1': 'Service', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'parent', '3': 5, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'config', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1.ServiceConfig', + '10': 'config' + }, + { + '1': 'state', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.serviceusage.v1.State', + '10': 'state' + }, + ], + '7': {}, +}; + +/// Descriptor for `Service`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptor = $convert.base64Decode( + 'CgdTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGcGFyZW50GAUgASgJUgZwYXJlbnQSQQ' + 'oGY29uZmlnGAIgASgLMikuZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjEuU2VydmljZUNvbmZp' + 'Z1IGY29uZmlnEjcKBXN0YXRlGAQgASgOMiEuZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjEuU3' + 'RhdGVSBXN0YXRlOqYB6kGiAQojc2VydmljZXVzYWdlLmdvb2dsZWFwaXMuY29tL1NlcnZpY2US' + 'JXByb2plY3RzL3twcm9qZWN0fS9zZXJ2aWNlcy97c2VydmljZX0SI2ZvbGRlcnMve2ZvbGRlcn' + '0vc2VydmljZXMve3NlcnZpY2V9Ei9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb259L3NlcnZp' + 'Y2VzL3tzZXJ2aWNlfQ=='); + +@$core.Deprecated('Use serviceConfigDescriptor instead') +const ServiceConfig$json = { + '1': 'ServiceConfig', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'title', '3': 2, '4': 1, '5': 9, '10': 'title'}, + { + '1': 'apis', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Api', + '10': 'apis' + }, + { + '1': 'documentation', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.Documentation', + '10': 'documentation' + }, + { + '1': 'quota', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.api.Quota', + '10': 'quota' + }, + { + '1': 'authentication', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.api.Authentication', + '10': 'authentication' + }, + { + '1': 'usage', + '3': 15, + '4': 1, + '5': 11, + '6': '.google.api.Usage', + '10': 'usage' + }, + { + '1': 'endpoints', + '3': 18, + '4': 3, + '5': 11, + '6': '.google.api.Endpoint', + '10': 'endpoints' + }, + { + '1': 'monitored_resources', + '3': 25, + '4': 3, + '5': 11, + '6': '.google.api.MonitoredResourceDescriptor', + '10': 'monitoredResources' + }, + { + '1': 'monitoring', + '3': 28, + '4': 1, + '5': 11, + '6': '.google.api.Monitoring', + '10': 'monitoring' + }, + ], +}; + +/// Descriptor for `ServiceConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceConfigDescriptor = $convert.base64Decode( + 'Cg1TZXJ2aWNlQ29uZmlnEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFdGl0bGUYAiABKAlSBXRpdG' + 'xlEigKBGFwaXMYAyADKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUgRhcGlzEj8KDWRvY3VtZW50' + 'YXRpb24YBiABKAsyGS5nb29nbGUuYXBpLkRvY3VtZW50YXRpb25SDWRvY3VtZW50YXRpb24SJw' + 'oFcXVvdGEYCiABKAsyES5nb29nbGUuYXBpLlF1b3RhUgVxdW90YRJCCg5hdXRoZW50aWNhdGlv' + 'bhgLIAEoCzIaLmdvb2dsZS5hcGkuQXV0aGVudGljYXRpb25SDmF1dGhlbnRpY2F0aW9uEicKBX' + 'VzYWdlGA8gASgLMhEuZ29vZ2xlLmFwaS5Vc2FnZVIFdXNhZ2USMgoJZW5kcG9pbnRzGBIgAygL' + 'MhQuZ29vZ2xlLmFwaS5FbmRwb2ludFIJZW5kcG9pbnRzElgKE21vbml0b3JlZF9yZXNvdXJjZX' + 'MYGSADKAsyJy5nb29nbGUuYXBpLk1vbml0b3JlZFJlc291cmNlRGVzY3JpcHRvclISbW9uaXRv' + 'cmVkUmVzb3VyY2VzEjYKCm1vbml0b3JpbmcYHCABKAsyFi5nb29nbGUuYXBpLk1vbml0b3Jpbm' + 'dSCm1vbml0b3Jpbmc='); + +@$core.Deprecated('Use operationMetadataDescriptor instead') +const OperationMetadata$json = { + '1': 'OperationMetadata', + '2': [ + {'1': 'resource_names', '3': 2, '4': 3, '5': 9, '10': 'resourceNames'}, + ], +}; + +/// Descriptor for `OperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationMetadataDescriptor = $convert.base64Decode( + 'ChFPcGVyYXRpb25NZXRhZGF0YRIlCg5yZXNvdXJjZV9uYW1lcxgCIAMoCVINcmVzb3VyY2VOYW' + '1lcw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pb.dart new file mode 100644 index 00000000..86449602 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pb.dart @@ -0,0 +1,1024 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'resources.pb.dart' as $38; +import 'serviceusage.pbenum.dart'; + +export 'serviceusage.pbenum.dart'; + +/// Request message for the `EnableService` method. +class EnableServiceRequest extends $pb.GeneratedMessage { + factory EnableServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + EnableServiceRequest._() : super(); + factory EnableServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnableServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnableServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableServiceRequest clone() => + EnableServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableServiceRequest copyWith(void Function(EnableServiceRequest) updates) => + super.copyWith((message) => updates(message as EnableServiceRequest)) + as EnableServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableServiceRequest create() => EnableServiceRequest._(); + EnableServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnableServiceRequest? _defaultInstance; + + /// Name of the consumer and service to enable the service on. + /// + /// The `EnableService` and `DisableService` methods currently only support + /// projects. + /// + /// Enabling a service requires that the service is public or is shared with + /// the user enabling the service. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` where `123` is the + /// project number. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Response message for the `EnableService` method. +/// This response message is assigned to the `response` field of the returned +/// Operation when that operation is done. +class EnableServiceResponse extends $pb.GeneratedMessage { + factory EnableServiceResponse({ + $38.Service? service, + }) { + final $result = create(); + if (service != null) { + $result.service = service; + } + return $result; + } + EnableServiceResponse._() : super(); + factory EnableServiceResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnableServiceResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnableServiceResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOM<$38.Service>(1, _omitFieldNames ? '' : 'service', + subBuilder: $38.Service.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableServiceResponse clone() => + EnableServiceResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableServiceResponse copyWith( + void Function(EnableServiceResponse) updates) => + super.copyWith((message) => updates(message as EnableServiceResponse)) + as EnableServiceResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableServiceResponse create() => EnableServiceResponse._(); + EnableServiceResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableServiceResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnableServiceResponse? _defaultInstance; + + /// The new state of the service after enabling. + @$pb.TagNumber(1) + $38.Service get service => $_getN(0); + @$pb.TagNumber(1) + set service($38.Service v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasService() => $_has(0); + @$pb.TagNumber(1) + void clearService() => clearField(1); + @$pb.TagNumber(1) + $38.Service ensureService() => $_ensure(0); +} + +/// Request message for the `DisableService` method. +class DisableServiceRequest extends $pb.GeneratedMessage { + factory DisableServiceRequest({ + $core.String? name, + $core.bool? disableDependentServices, + DisableServiceRequest_CheckIfServiceHasUsage? checkIfServiceHasUsage, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (disableDependentServices != null) { + $result.disableDependentServices = disableDependentServices; + } + if (checkIfServiceHasUsage != null) { + $result.checkIfServiceHasUsage = checkIfServiceHasUsage; + } + return $result; + } + DisableServiceRequest._() : super(); + factory DisableServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DisableServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DisableServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOB(2, _omitFieldNames ? '' : 'disableDependentServices') + ..e( + 3, _omitFieldNames ? '' : 'checkIfServiceHasUsage', $pb.PbFieldType.OE, + defaultOrMaker: DisableServiceRequest_CheckIfServiceHasUsage + .CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED, + valueOf: DisableServiceRequest_CheckIfServiceHasUsage.valueOf, + enumValues: DisableServiceRequest_CheckIfServiceHasUsage.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DisableServiceRequest clone() => + DisableServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DisableServiceRequest copyWith( + void Function(DisableServiceRequest) updates) => + super.copyWith((message) => updates(message as DisableServiceRequest)) + as DisableServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DisableServiceRequest create() => DisableServiceRequest._(); + DisableServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DisableServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DisableServiceRequest? _defaultInstance; + + /// Name of the consumer and service to disable the service on. + /// + /// The enable and disable methods currently only support projects. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` where `123` is the + /// project number. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Indicates if services that are enabled and which depend on this service + /// should also be disabled. If not set, an error will be generated if any + /// enabled services depend on the service to be disabled. When set, the + /// service, and any enabled services that depend on it, will be disabled + /// together. + @$pb.TagNumber(2) + $core.bool get disableDependentServices => $_getBF(1); + @$pb.TagNumber(2) + set disableDependentServices($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDisableDependentServices() => $_has(1); + @$pb.TagNumber(2) + void clearDisableDependentServices() => clearField(2); + + /// Defines the behavior for checking service usage when disabling a service. + @$pb.TagNumber(3) + DisableServiceRequest_CheckIfServiceHasUsage get checkIfServiceHasUsage => + $_getN(2); + @$pb.TagNumber(3) + set checkIfServiceHasUsage(DisableServiceRequest_CheckIfServiceHasUsage v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasCheckIfServiceHasUsage() => $_has(2); + @$pb.TagNumber(3) + void clearCheckIfServiceHasUsage() => clearField(3); +} + +/// Response message for the `DisableService` method. +/// This response message is assigned to the `response` field of the returned +/// Operation when that operation is done. +class DisableServiceResponse extends $pb.GeneratedMessage { + factory DisableServiceResponse({ + $38.Service? service, + }) { + final $result = create(); + if (service != null) { + $result.service = service; + } + return $result; + } + DisableServiceResponse._() : super(); + factory DisableServiceResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DisableServiceResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DisableServiceResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOM<$38.Service>(1, _omitFieldNames ? '' : 'service', + subBuilder: $38.Service.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DisableServiceResponse clone() => + DisableServiceResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DisableServiceResponse copyWith( + void Function(DisableServiceResponse) updates) => + super.copyWith((message) => updates(message as DisableServiceResponse)) + as DisableServiceResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DisableServiceResponse create() => DisableServiceResponse._(); + DisableServiceResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DisableServiceResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DisableServiceResponse? _defaultInstance; + + /// The new state of the service after disabling. + @$pb.TagNumber(1) + $38.Service get service => $_getN(0); + @$pb.TagNumber(1) + set service($38.Service v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasService() => $_has(0); + @$pb.TagNumber(1) + void clearService() => clearField(1); + @$pb.TagNumber(1) + $38.Service ensureService() => $_ensure(0); +} + +/// Request message for the `GetService` method. +class GetServiceRequest extends $pb.GeneratedMessage { + factory GetServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetServiceRequest._() : super(); + factory GetServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceRequest clone() => GetServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceRequest copyWith(void Function(GetServiceRequest) updates) => + super.copyWith((message) => updates(message as GetServiceRequest)) + as GetServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceRequest create() => GetServiceRequest._(); + GetServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceRequest? _defaultInstance; + + /// Name of the consumer and service to get the `ConsumerState` for. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` where `123` is the + /// project number. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for the `ListServices` method. +class ListServicesRequest extends $pb.GeneratedMessage { + factory ListServicesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.String? filter, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (filter != null) { + $result.filter = filter; + } + return $result; + } + ListServicesRequest._() : super(); + factory ListServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOS(4, _omitFieldNames ? '' : 'filter') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesRequest clone() => ListServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesRequest copyWith(void Function(ListServicesRequest) updates) => + super.copyWith((message) => updates(message as ListServicesRequest)) + as ListServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesRequest create() => ListServicesRequest._(); + ListServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesRequest? _defaultInstance; + + /// Parent to search for services on. + /// + /// An example name would be: + /// `projects/123` where `123` is the project number. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Requested size of the next page of data. + /// Requested page size cannot exceed 200. + /// If not set, the default page size is 50. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Token identifying which result to start with, which is returned by a + /// previous list call. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Only list services that conform to the given filter. + /// The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + @$pb.TagNumber(4) + $core.String get filter => $_getSZ(3); + @$pb.TagNumber(4) + set filter($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilter() => $_has(3); + @$pb.TagNumber(4) + void clearFilter() => clearField(4); +} + +/// Response message for the `ListServices` method. +class ListServicesResponse extends $pb.GeneratedMessage { + factory ListServicesResponse({ + $core.Iterable<$38.Service>? services, + $core.String? nextPageToken, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServicesResponse._() : super(); + factory ListServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..pc<$38.Service>(1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $38.Service.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesResponse clone() => + ListServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesResponse copyWith(void Function(ListServicesResponse) updates) => + super.copyWith((message) => updates(message as ListServicesResponse)) + as ListServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesResponse create() => ListServicesResponse._(); + ListServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesResponse? _defaultInstance; + + /// The available services for the requested project. + @$pb.TagNumber(1) + $core.List<$38.Service> get services => $_getList(0); + + /// Token that can be passed to `ListServices` to resume a paginated + /// query. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for the `BatchEnableServices` method. +class BatchEnableServicesRequest extends $pb.GeneratedMessage { + factory BatchEnableServicesRequest({ + $core.String? parent, + $core.Iterable<$core.String>? serviceIds, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (serviceIds != null) { + $result.serviceIds.addAll(serviceIds); + } + return $result; + } + BatchEnableServicesRequest._() : super(); + factory BatchEnableServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchEnableServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchEnableServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..pPS(2, _omitFieldNames ? '' : 'serviceIds') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchEnableServicesRequest clone() => + BatchEnableServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchEnableServicesRequest copyWith( + void Function(BatchEnableServicesRequest) updates) => + super.copyWith( + (message) => updates(message as BatchEnableServicesRequest)) + as BatchEnableServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchEnableServicesRequest create() => BatchEnableServicesRequest._(); + BatchEnableServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchEnableServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchEnableServicesRequest? _defaultInstance; + + /// Parent to enable services on. + /// + /// An example name would be: + /// `projects/123` where `123` is the project number. + /// + /// The `BatchEnableServices` method currently only supports projects. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The identifiers of the services to enable on the project. + /// + /// A valid identifier would be: + /// serviceusage.googleapis.com + /// + /// Enabling services requires that each service is public or is shared with + /// the user enabling the service. + /// + /// A single request can enable a maximum of 20 services at a time. If more + /// than 20 services are specified, the request will fail, and no state changes + /// will occur. + @$pb.TagNumber(2) + $core.List<$core.String> get serviceIds => $_getList(1); +} + +/// Provides error messages for the failing services. +class BatchEnableServicesResponse_EnableFailure extends $pb.GeneratedMessage { + factory BatchEnableServicesResponse_EnableFailure({ + $core.String? serviceId, + $core.String? errorMessage, + }) { + final $result = create(); + if (serviceId != null) { + $result.serviceId = serviceId; + } + if (errorMessage != null) { + $result.errorMessage = errorMessage; + } + return $result; + } + BatchEnableServicesResponse_EnableFailure._() : super(); + factory BatchEnableServicesResponse_EnableFailure.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchEnableServicesResponse_EnableFailure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchEnableServicesResponse.EnableFailure', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'serviceId') + ..aOS(2, _omitFieldNames ? '' : 'errorMessage') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchEnableServicesResponse_EnableFailure clone() => + BatchEnableServicesResponse_EnableFailure()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchEnableServicesResponse_EnableFailure copyWith( + void Function(BatchEnableServicesResponse_EnableFailure) updates) => + super.copyWith((message) => + updates(message as BatchEnableServicesResponse_EnableFailure)) + as BatchEnableServicesResponse_EnableFailure; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchEnableServicesResponse_EnableFailure create() => + BatchEnableServicesResponse_EnableFailure._(); + BatchEnableServicesResponse_EnableFailure createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchEnableServicesResponse_EnableFailure getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + BatchEnableServicesResponse_EnableFailure>(create); + static BatchEnableServicesResponse_EnableFailure? _defaultInstance; + + /// The service id of a service that could not be enabled. + @$pb.TagNumber(1) + $core.String get serviceId => $_getSZ(0); + @$pb.TagNumber(1) + set serviceId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceId() => $_has(0); + @$pb.TagNumber(1) + void clearServiceId() => clearField(1); + + /// An error message describing why the service could not be enabled. + @$pb.TagNumber(2) + $core.String get errorMessage => $_getSZ(1); + @$pb.TagNumber(2) + set errorMessage($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasErrorMessage() => $_has(1); + @$pb.TagNumber(2) + void clearErrorMessage() => clearField(2); +} + +/// Response message for the `BatchEnableServices` method. +/// This response message is assigned to the `response` field of the returned +/// Operation when that operation is done. +class BatchEnableServicesResponse extends $pb.GeneratedMessage { + factory BatchEnableServicesResponse({ + $core.Iterable<$38.Service>? services, + $core.Iterable? failures, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + if (failures != null) { + $result.failures.addAll(failures); + } + return $result; + } + BatchEnableServicesResponse._() : super(); + factory BatchEnableServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchEnableServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchEnableServicesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..pc<$38.Service>(1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $38.Service.create) + ..pc( + 2, _omitFieldNames ? '' : 'failures', $pb.PbFieldType.PM, + subBuilder: BatchEnableServicesResponse_EnableFailure.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchEnableServicesResponse clone() => + BatchEnableServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchEnableServicesResponse copyWith( + void Function(BatchEnableServicesResponse) updates) => + super.copyWith( + (message) => updates(message as BatchEnableServicesResponse)) + as BatchEnableServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchEnableServicesResponse create() => + BatchEnableServicesResponse._(); + BatchEnableServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchEnableServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchEnableServicesResponse? _defaultInstance; + + /// The new state of the services after enabling. + @$pb.TagNumber(1) + $core.List<$38.Service> get services => $_getList(0); + + /// If allow_partial_success is true, and one or more services could not be + /// enabled, this field contains the details about each failure. + @$pb.TagNumber(2) + $core.List get failures => + $_getList(1); +} + +/// Request message for the `BatchGetServices` method. +class BatchGetServicesRequest extends $pb.GeneratedMessage { + factory BatchGetServicesRequest({ + $core.String? parent, + $core.Iterable<$core.String>? names, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (names != null) { + $result.names.addAll(names); + } + return $result; + } + BatchGetServicesRequest._() : super(); + factory BatchGetServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchGetServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchGetServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..pPS(2, _omitFieldNames ? '' : 'names') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchGetServicesRequest clone() => + BatchGetServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchGetServicesRequest copyWith( + void Function(BatchGetServicesRequest) updates) => + super.copyWith((message) => updates(message as BatchGetServicesRequest)) + as BatchGetServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchGetServicesRequest create() => BatchGetServicesRequest._(); + BatchGetServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchGetServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchGetServicesRequest? _defaultInstance; + + /// Parent to retrieve services from. + /// If this is set, the parent of all of the services specified in `names` must + /// match this field. An example name would be: `projects/123` where `123` is + /// the project number. The `BatchGetServices` method currently only supports + /// projects. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Names of the services to retrieve. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` where `123` is the + /// project number. + /// A single request can get a maximum of 30 services at a time. + @$pb.TagNumber(2) + $core.List<$core.String> get names => $_getList(1); +} + +/// Response message for the `BatchGetServices` method. +class BatchGetServicesResponse extends $pb.GeneratedMessage { + factory BatchGetServicesResponse({ + $core.Iterable<$38.Service>? services, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + return $result; + } + BatchGetServicesResponse._() : super(); + factory BatchGetServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchGetServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchGetServicesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1'), + createEmptyInstance: create) + ..pc<$38.Service>(1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $38.Service.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchGetServicesResponse clone() => + BatchGetServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchGetServicesResponse copyWith( + void Function(BatchGetServicesResponse) updates) => + super.copyWith((message) => updates(message as BatchGetServicesResponse)) + as BatchGetServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchGetServicesResponse create() => BatchGetServicesResponse._(); + BatchGetServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchGetServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchGetServicesResponse? _defaultInstance; + + /// The requested Service states. + @$pb.TagNumber(1) + $core.List<$38.Service> get services => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbenum.dart new file mode 100644 index 00000000..cce58d68 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbenum.dart @@ -0,0 +1,49 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Enum to determine if service usage should be checked when disabling a +/// service. +class DisableServiceRequest_CheckIfServiceHasUsage extends $pb.ProtobufEnum { + static const DisableServiceRequest_CheckIfServiceHasUsage + CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED = + DisableServiceRequest_CheckIfServiceHasUsage._( + 0, _omitEnumNames ? '' : 'CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED'); + static const DisableServiceRequest_CheckIfServiceHasUsage SKIP = + DisableServiceRequest_CheckIfServiceHasUsage._( + 1, _omitEnumNames ? '' : 'SKIP'); + static const DisableServiceRequest_CheckIfServiceHasUsage CHECK = + DisableServiceRequest_CheckIfServiceHasUsage._( + 2, _omitEnumNames ? '' : 'CHECK'); + + static const $core.List values = + [ + CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED, + SKIP, + CHECK, + ]; + + static final $core + .Map<$core.int, DisableServiceRequest_CheckIfServiceHasUsage> _byValue = + $pb.ProtobufEnum.initByValue(values); + static DisableServiceRequest_CheckIfServiceHasUsage? valueOf( + $core.int value) => + _byValue[value]; + + const DisableServiceRequest_CheckIfServiceHasUsage._( + $core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbgrpc.dart new file mode 100644 index 00000000..acbe53c8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbgrpc.dart @@ -0,0 +1,202 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../longrunning/operations.pb.dart' as $0; +import 'resources.pb.dart' as $38; +import 'serviceusage.pb.dart' as $37; + +export 'serviceusage.pb.dart'; + +@$pb.GrpcServiceName('google.api.serviceusage.v1.ServiceUsage') +class ServiceUsageClient extends $grpc.Client { + static final _$enableService = + $grpc.ClientMethod<$37.EnableServiceRequest, $0.Operation>( + '/google.api.serviceusage.v1.ServiceUsage/EnableService', + ($37.EnableServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$disableService = + $grpc.ClientMethod<$37.DisableServiceRequest, $0.Operation>( + '/google.api.serviceusage.v1.ServiceUsage/DisableService', + ($37.DisableServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$getService = + $grpc.ClientMethod<$37.GetServiceRequest, $38.Service>( + '/google.api.serviceusage.v1.ServiceUsage/GetService', + ($37.GetServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $38.Service.fromBuffer(value)); + static final _$listServices = + $grpc.ClientMethod<$37.ListServicesRequest, $37.ListServicesResponse>( + '/google.api.serviceusage.v1.ServiceUsage/ListServices', + ($37.ListServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $37.ListServicesResponse.fromBuffer(value)); + static final _$batchEnableServices = + $grpc.ClientMethod<$37.BatchEnableServicesRequest, $0.Operation>( + '/google.api.serviceusage.v1.ServiceUsage/BatchEnableServices', + ($37.BatchEnableServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$batchGetServices = $grpc.ClientMethod< + $37.BatchGetServicesRequest, $37.BatchGetServicesResponse>( + '/google.api.serviceusage.v1.ServiceUsage/BatchGetServices', + ($37.BatchGetServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $37.BatchGetServicesResponse.fromBuffer(value)); + + ServiceUsageClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.Operation> enableService( + $37.EnableServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$enableService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> disableService( + $37.DisableServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$disableService, request, options: options); + } + + $grpc.ResponseFuture<$38.Service> getService($37.GetServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getService, request, options: options); + } + + $grpc.ResponseFuture<$37.ListServicesResponse> listServices( + $37.ListServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServices, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> batchEnableServices( + $37.BatchEnableServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$batchEnableServices, request, options: options); + } + + $grpc.ResponseFuture<$37.BatchGetServicesResponse> batchGetServices( + $37.BatchGetServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$batchGetServices, request, options: options); + } +} + +@$pb.GrpcServiceName('google.api.serviceusage.v1.ServiceUsage') +abstract class ServiceUsageServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.serviceusage.v1.ServiceUsage'; + + ServiceUsageServiceBase() { + $addMethod($grpc.ServiceMethod<$37.EnableServiceRequest, $0.Operation>( + 'EnableService', + enableService_Pre, + false, + false, + ($core.List<$core.int> value) => + $37.EnableServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$37.DisableServiceRequest, $0.Operation>( + 'DisableService', + disableService_Pre, + false, + false, + ($core.List<$core.int> value) => + $37.DisableServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$37.GetServiceRequest, $38.Service>( + 'GetService', + getService_Pre, + false, + false, + ($core.List<$core.int> value) => + $37.GetServiceRequest.fromBuffer(value), + ($38.Service value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$37.ListServicesRequest, $37.ListServicesResponse>( + 'ListServices', + listServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $37.ListServicesRequest.fromBuffer(value), + ($37.ListServicesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$37.BatchEnableServicesRequest, $0.Operation>( + 'BatchEnableServices', + batchEnableServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $37.BatchEnableServicesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$37.BatchGetServicesRequest, + $37.BatchGetServicesResponse>( + 'BatchGetServices', + batchGetServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $37.BatchGetServicesRequest.fromBuffer(value), + ($37.BatchGetServicesResponse value) => value.writeToBuffer())); + } + + $async.Future<$0.Operation> enableService_Pre($grpc.ServiceCall call, + $async.Future<$37.EnableServiceRequest> request) async { + return enableService(call, await request); + } + + $async.Future<$0.Operation> disableService_Pre($grpc.ServiceCall call, + $async.Future<$37.DisableServiceRequest> request) async { + return disableService(call, await request); + } + + $async.Future<$38.Service> getService_Pre($grpc.ServiceCall call, + $async.Future<$37.GetServiceRequest> request) async { + return getService(call, await request); + } + + $async.Future<$37.ListServicesResponse> listServices_Pre( + $grpc.ServiceCall call, + $async.Future<$37.ListServicesRequest> request) async { + return listServices(call, await request); + } + + $async.Future<$0.Operation> batchEnableServices_Pre($grpc.ServiceCall call, + $async.Future<$37.BatchEnableServicesRequest> request) async { + return batchEnableServices(call, await request); + } + + $async.Future<$37.BatchGetServicesResponse> batchGetServices_Pre( + $grpc.ServiceCall call, + $async.Future<$37.BatchGetServicesRequest> request) async { + return batchGetServices(call, await request); + } + + $async.Future<$0.Operation> enableService( + $grpc.ServiceCall call, $37.EnableServiceRequest request); + $async.Future<$0.Operation> disableService( + $grpc.ServiceCall call, $37.DisableServiceRequest request); + $async.Future<$38.Service> getService( + $grpc.ServiceCall call, $37.GetServiceRequest request); + $async.Future<$37.ListServicesResponse> listServices( + $grpc.ServiceCall call, $37.ListServicesRequest request); + $async.Future<$0.Operation> batchEnableServices( + $grpc.ServiceCall call, $37.BatchEnableServicesRequest request); + $async.Future<$37.BatchGetServicesResponse> batchGetServices( + $grpc.ServiceCall call, $37.BatchGetServicesRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbjson.dart new file mode 100644 index 00000000..68395d25 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1/serviceusage.pbjson.dart @@ -0,0 +1,256 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use enableServiceRequestDescriptor instead') +const EnableServiceRequest$json = { + '1': 'EnableServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `EnableServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableServiceRequestDescriptor = $convert + .base64Decode('ChRFbmFibGVTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use enableServiceResponseDescriptor instead') +const EnableServiceResponse$json = { + '1': 'EnableServiceResponse', + '2': [ + { + '1': 'service', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1.Service', + '10': 'service' + }, + ], +}; + +/// Descriptor for `EnableServiceResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableServiceResponseDescriptor = $convert.base64Decode( + 'ChVFbmFibGVTZXJ2aWNlUmVzcG9uc2USPQoHc2VydmljZRgBIAEoCzIjLmdvb2dsZS5hcGkuc2' + 'VydmljZXVzYWdlLnYxLlNlcnZpY2VSB3NlcnZpY2U='); + +@$core.Deprecated('Use disableServiceRequestDescriptor instead') +const DisableServiceRequest$json = { + '1': 'DisableServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'disable_dependent_services', + '3': 2, + '4': 1, + '5': 8, + '10': 'disableDependentServices' + }, + { + '1': 'check_if_service_has_usage', + '3': 3, + '4': 1, + '5': 14, + '6': + '.google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage', + '10': 'checkIfServiceHasUsage' + }, + ], + '4': [DisableServiceRequest_CheckIfServiceHasUsage$json], +}; + +@$core.Deprecated('Use disableServiceRequestDescriptor instead') +const DisableServiceRequest_CheckIfServiceHasUsage$json = { + '1': 'CheckIfServiceHasUsage', + '2': [ + {'1': 'CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED', '2': 0}, + {'1': 'SKIP', '2': 1}, + {'1': 'CHECK', '2': 2}, + ], +}; + +/// Descriptor for `DisableServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List disableServiceRequestDescriptor = $convert.base64Decode( + 'ChVEaXNhYmxlU2VydmljZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRI8ChpkaXNhYmxlX2' + 'RlcGVuZGVudF9zZXJ2aWNlcxgCIAEoCFIYZGlzYWJsZURlcGVuZGVudFNlcnZpY2VzEoQBChpj' + 'aGVja19pZl9zZXJ2aWNlX2hhc191c2FnZRgDIAEoDjJILmdvb2dsZS5hcGkuc2VydmljZXVzYW' + 'dlLnYxLkRpc2FibGVTZXJ2aWNlUmVxdWVzdC5DaGVja0lmU2VydmljZUhhc1VzYWdlUhZjaGVj' + 'a0lmU2VydmljZUhhc1VzYWdlIlkKFkNoZWNrSWZTZXJ2aWNlSGFzVXNhZ2USKgomQ0hFQ0tfSU' + 'ZfU0VSVklDRV9IQVNfVVNBR0VfVU5TUEVDSUZJRUQQABIICgRTS0lQEAESCQoFQ0hFQ0sQAg=='); + +@$core.Deprecated('Use disableServiceResponseDescriptor instead') +const DisableServiceResponse$json = { + '1': 'DisableServiceResponse', + '2': [ + { + '1': 'service', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1.Service', + '10': 'service' + }, + ], +}; + +/// Descriptor for `DisableServiceResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List disableServiceResponseDescriptor = + $convert.base64Decode( + 'ChZEaXNhYmxlU2VydmljZVJlc3BvbnNlEj0KB3NlcnZpY2UYASABKAsyIy5nb29nbGUuYXBpLn' + 'NlcnZpY2V1c2FnZS52MS5TZXJ2aWNlUgdzZXJ2aWNl'); + +@$core.Deprecated('Use getServiceRequestDescriptor instead') +const GetServiceRequest$json = { + '1': 'GetServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceRequestDescriptor = $convert + .base64Decode('ChFHZXRTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use listServicesRequestDescriptor instead') +const ListServicesRequest$json = { + '1': 'ListServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'filter', '3': 4, '4': 1, '5': 9, '10': 'filter'}, + ], +}; + +/// Descriptor for `ListServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0U2VydmljZXNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCXBhZ2Vfc2' + 'l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2VuEhYKBmZp' + 'bHRlchgEIAEoCVIGZmlsdGVy'); + +@$core.Deprecated('Use listServicesResponseDescriptor instead') +const ListServicesResponse$json = { + '1': 'ListServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1.Service', + '10': 'services' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0U2VydmljZXNSZXNwb25zZRI/CghzZXJ2aWNlcxgBIAMoCzIjLmdvb2dsZS5hcGkuc2' + 'VydmljZXVzYWdlLnYxLlNlcnZpY2VSCHNlcnZpY2VzEiYKD25leHRfcGFnZV90b2tlbhgCIAEo' + 'CVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use batchEnableServicesRequestDescriptor instead') +const BatchEnableServicesRequest$json = { + '1': 'BatchEnableServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'service_ids', '3': 2, '4': 3, '5': 9, '10': 'serviceIds'}, + ], +}; + +/// Descriptor for `BatchEnableServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchEnableServicesRequestDescriptor = + $convert.base64Decode( + 'ChpCYXRjaEVuYWJsZVNlcnZpY2VzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIfCg' + 'tzZXJ2aWNlX2lkcxgCIAMoCVIKc2VydmljZUlkcw=='); + +@$core.Deprecated('Use batchEnableServicesResponseDescriptor instead') +const BatchEnableServicesResponse$json = { + '1': 'BatchEnableServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1.Service', + '10': 'services' + }, + { + '1': 'failures', + '3': 2, + '4': 3, + '5': 11, + '6': + '.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure', + '10': 'failures' + }, + ], + '3': [BatchEnableServicesResponse_EnableFailure$json], +}; + +@$core.Deprecated('Use batchEnableServicesResponseDescriptor instead') +const BatchEnableServicesResponse_EnableFailure$json = { + '1': 'EnableFailure', + '2': [ + {'1': 'service_id', '3': 1, '4': 1, '5': 9, '10': 'serviceId'}, + {'1': 'error_message', '3': 2, '4': 1, '5': 9, '10': 'errorMessage'}, + ], +}; + +/// Descriptor for `BatchEnableServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchEnableServicesResponseDescriptor = $convert.base64Decode( + 'ChtCYXRjaEVuYWJsZVNlcnZpY2VzUmVzcG9uc2USPwoIc2VydmljZXMYASADKAsyIy5nb29nbG' + 'UuYXBpLnNlcnZpY2V1c2FnZS52MS5TZXJ2aWNlUghzZXJ2aWNlcxJhCghmYWlsdXJlcxgCIAMo' + 'CzJFLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxLkJhdGNoRW5hYmxlU2VydmljZXNSZXNwb2' + '5zZS5FbmFibGVGYWlsdXJlUghmYWlsdXJlcxpTCg1FbmFibGVGYWlsdXJlEh0KCnNlcnZpY2Vf' + 'aWQYASABKAlSCXNlcnZpY2VJZBIjCg1lcnJvcl9tZXNzYWdlGAIgASgJUgxlcnJvck1lc3NhZ2' + 'U='); + +@$core.Deprecated('Use batchGetServicesRequestDescriptor instead') +const BatchGetServicesRequest$json = { + '1': 'BatchGetServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'names', '3': 2, '4': 3, '5': 9, '10': 'names'}, + ], +}; + +/// Descriptor for `BatchGetServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchGetServicesRequestDescriptor = + $convert.base64Decode( + 'ChdCYXRjaEdldFNlcnZpY2VzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIUCgVuYW' + '1lcxgCIAMoCVIFbmFtZXM='); + +@$core.Deprecated('Use batchGetServicesResponseDescriptor instead') +const BatchGetServicesResponse$json = { + '1': 'BatchGetServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1.Service', + '10': 'services' + }, + ], +}; + +/// Descriptor for `BatchGetServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchGetServicesResponseDescriptor = + $convert.base64Decode( + 'ChhCYXRjaEdldFNlcnZpY2VzUmVzcG9uc2USPwoIc2VydmljZXMYASADKAsyIy5nb29nbGUuYX' + 'BpLnNlcnZpY2V1c2FnZS52MS5TZXJ2aWNlUghzZXJ2aWNlcw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pb.dart new file mode 100644 index 00000000..231d2515 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pb.dart @@ -0,0 +1,1668 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/api.pb.dart' as $84; +import '../../auth.pb.dart' as $88; +import '../../documentation.pb.dart' as $85; +import '../../endpoint.pb.dart' as $91; +import '../../monitored_resource.pb.dart' as $67; +import '../../monitoring.pb.dart' as $96; +import '../../quota.pb.dart' as $87; +import '../../usage.pb.dart' as $90; +import 'resources.pbenum.dart'; + +export 'resources.pbenum.dart'; + +/// A service that is available for use by the consumer. +class Service extends $pb.GeneratedMessage { + factory Service({ + $core.String? name, + ServiceConfig? config, + State? state, + $core.String? parent, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (config != null) { + $result.config = config; + } + if (state != null) { + $result.state = state; + } + if (parent != null) { + $result.parent = parent; + } + return $result; + } + Service._() : super(); + factory Service.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Service.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Service', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'config', + subBuilder: ServiceConfig.create) + ..e(4, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: State.STATE_UNSPECIFIED, + valueOf: State.valueOf, + enumValues: State.values) + ..aOS(5, _omitFieldNames ? '' : 'parent') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Service clone() => Service()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Service copyWith(void Function(Service) updates) => + super.copyWith((message) => updates(message as Service)) as Service; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Service create() => Service._(); + Service createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Service getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Service? _defaultInstance; + + /// The resource name of the consumer and service. + /// + /// A valid name would be: + /// - `projects/123/services/serviceusage.googleapis.com` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The service configuration of the available service. + /// Some fields may be filtered out of the configuration in responses to + /// the `ListServices` method. These fields are present only in responses to + /// the `GetService` method. + @$pb.TagNumber(2) + ServiceConfig get config => $_getN(1); + @$pb.TagNumber(2) + set config(ServiceConfig v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasConfig() => $_has(1); + @$pb.TagNumber(2) + void clearConfig() => clearField(2); + @$pb.TagNumber(2) + ServiceConfig ensureConfig() => $_ensure(1); + + /// Whether or not the service has been enabled for use by the consumer. + @$pb.TagNumber(4) + State get state => $_getN(2); + @$pb.TagNumber(4) + set state(State v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasState() => $_has(2); + @$pb.TagNumber(4) + void clearState() => clearField(4); + + /// The resource name of the consumer. + /// + /// A valid name would be: + /// - `projects/123` + @$pb.TagNumber(5) + $core.String get parent => $_getSZ(3); + @$pb.TagNumber(5) + set parent($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasParent() => $_has(3); + @$pb.TagNumber(5) + void clearParent() => clearField(5); +} + +/// The configuration of the service. +class ServiceConfig extends $pb.GeneratedMessage { + factory ServiceConfig({ + $core.String? name, + $core.String? title, + $core.Iterable<$84.Api>? apis, + $85.Documentation? documentation, + $87.Quota? quota, + $88.Authentication? authentication, + $90.Usage? usage, + $core.Iterable<$91.Endpoint>? endpoints, + $core.Iterable<$67.MonitoredResourceDescriptor>? monitoredResources, + $96.Monitoring? monitoring, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (title != null) { + $result.title = title; + } + if (apis != null) { + $result.apis.addAll(apis); + } + if (documentation != null) { + $result.documentation = documentation; + } + if (quota != null) { + $result.quota = quota; + } + if (authentication != null) { + $result.authentication = authentication; + } + if (usage != null) { + $result.usage = usage; + } + if (endpoints != null) { + $result.endpoints.addAll(endpoints); + } + if (monitoredResources != null) { + $result.monitoredResources.addAll(monitoredResources); + } + if (monitoring != null) { + $result.monitoring = monitoring; + } + return $result; + } + ServiceConfig._() : super(); + factory ServiceConfig.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceConfig.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceConfig', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'title') + ..pc<$84.Api>(3, _omitFieldNames ? '' : 'apis', $pb.PbFieldType.PM, + subBuilder: $84.Api.create) + ..aOM<$85.Documentation>(6, _omitFieldNames ? '' : 'documentation', + subBuilder: $85.Documentation.create) + ..aOM<$87.Quota>(10, _omitFieldNames ? '' : 'quota', + subBuilder: $87.Quota.create) + ..aOM<$88.Authentication>(11, _omitFieldNames ? '' : 'authentication', + subBuilder: $88.Authentication.create) + ..aOM<$90.Usage>(15, _omitFieldNames ? '' : 'usage', + subBuilder: $90.Usage.create) + ..pc<$91.Endpoint>( + 18, _omitFieldNames ? '' : 'endpoints', $pb.PbFieldType.PM, + subBuilder: $91.Endpoint.create) + ..pc<$67.MonitoredResourceDescriptor>( + 25, _omitFieldNames ? '' : 'monitoredResources', $pb.PbFieldType.PM, + subBuilder: $67.MonitoredResourceDescriptor.create) + ..aOM<$96.Monitoring>(28, _omitFieldNames ? '' : 'monitoring', + subBuilder: $96.Monitoring.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceConfig clone() => ServiceConfig()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceConfig copyWith(void Function(ServiceConfig) updates) => + super.copyWith((message) => updates(message as ServiceConfig)) + as ServiceConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceConfig create() => ServiceConfig._(); + ServiceConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceConfig getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceConfig? _defaultInstance; + + /// The DNS address at which this service is available. + /// + /// An example DNS address would be: + /// `calendar.googleapis.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The product title for this service. + @$pb.TagNumber(2) + $core.String get title => $_getSZ(1); + @$pb.TagNumber(2) + set title($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTitle() => $_has(1); + @$pb.TagNumber(2) + void clearTitle() => clearField(2); + + /// A list of API interfaces exported by this service. Contains only the names, + /// versions, and method names of the interfaces. + @$pb.TagNumber(3) + $core.List<$84.Api> get apis => $_getList(2); + + /// Additional API documentation. Contains only the summary and the + /// documentation URL. + @$pb.TagNumber(6) + $85.Documentation get documentation => $_getN(3); + @$pb.TagNumber(6) + set documentation($85.Documentation v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasDocumentation() => $_has(3); + @$pb.TagNumber(6) + void clearDocumentation() => clearField(6); + @$pb.TagNumber(6) + $85.Documentation ensureDocumentation() => $_ensure(3); + + /// Quota configuration. + @$pb.TagNumber(10) + $87.Quota get quota => $_getN(4); + @$pb.TagNumber(10) + set quota($87.Quota v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasQuota() => $_has(4); + @$pb.TagNumber(10) + void clearQuota() => clearField(10); + @$pb.TagNumber(10) + $87.Quota ensureQuota() => $_ensure(4); + + /// Auth configuration. Contains only the OAuth rules. + @$pb.TagNumber(11) + $88.Authentication get authentication => $_getN(5); + @$pb.TagNumber(11) + set authentication($88.Authentication v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasAuthentication() => $_has(5); + @$pb.TagNumber(11) + void clearAuthentication() => clearField(11); + @$pb.TagNumber(11) + $88.Authentication ensureAuthentication() => $_ensure(5); + + /// Configuration controlling usage of this service. + @$pb.TagNumber(15) + $90.Usage get usage => $_getN(6); + @$pb.TagNumber(15) + set usage($90.Usage v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasUsage() => $_has(6); + @$pb.TagNumber(15) + void clearUsage() => clearField(15); + @$pb.TagNumber(15) + $90.Usage ensureUsage() => $_ensure(6); + + /// Configuration for network endpoints. Contains only the names and aliases + /// of the endpoints. + @$pb.TagNumber(18) + $core.List<$91.Endpoint> get endpoints => $_getList(7); + + /// 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. + @$pb.TagNumber(25) + $core.List<$67.MonitoredResourceDescriptor> get monitoredResources => + $_getList(8); + + /// Monitoring configuration. + /// This should not include the 'producer_destinations' field. + @$pb.TagNumber(28) + $96.Monitoring get monitoring => $_getN(9); + @$pb.TagNumber(28) + set monitoring($96.Monitoring v) { + setField(28, v); + } + + @$pb.TagNumber(28) + $core.bool hasMonitoring() => $_has(9); + @$pb.TagNumber(28) + void clearMonitoring() => clearField(28); + @$pb.TagNumber(28) + $96.Monitoring ensureMonitoring() => $_ensure(9); +} + +/// The operation metadata returned for the batchend services operation. +class OperationMetadata extends $pb.GeneratedMessage { + factory OperationMetadata({ + $core.Iterable<$core.String>? resourceNames, + }) { + final $result = create(); + if (resourceNames != null) { + $result.resourceNames.addAll(resourceNames); + } + return $result; + } + OperationMetadata._() : super(); + factory OperationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pPS(2, _omitFieldNames ? '' : 'resourceNames') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationMetadata clone() => OperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationMetadata copyWith(void Function(OperationMetadata) updates) => + super.copyWith((message) => updates(message as OperationMetadata)) + as OperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationMetadata create() => OperationMetadata._(); + OperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationMetadata? _defaultInstance; + + /// The full name of the resources that this operation is directly + /// associated with. + @$pb.TagNumber(2) + $core.List<$core.String> get resourceNames => $_getList(0); +} + +/// Consumer quota settings for a quota metric. +class ConsumerQuotaMetric extends $pb.GeneratedMessage { + factory ConsumerQuotaMetric({ + $core.String? name, + $core.String? displayName, + $core.Iterable? consumerQuotaLimits, + $core.String? metric, + $core.String? unit, + $core.Iterable? descendantConsumerQuotaLimits, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (consumerQuotaLimits != null) { + $result.consumerQuotaLimits.addAll(consumerQuotaLimits); + } + if (metric != null) { + $result.metric = metric; + } + if (unit != null) { + $result.unit = unit; + } + if (descendantConsumerQuotaLimits != null) { + $result.descendantConsumerQuotaLimits + .addAll(descendantConsumerQuotaLimits); + } + return $result; + } + ConsumerQuotaMetric._() : super(); + factory ConsumerQuotaMetric.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ConsumerQuotaMetric.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ConsumerQuotaMetric', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'displayName') + ..pc( + 3, _omitFieldNames ? '' : 'consumerQuotaLimits', $pb.PbFieldType.PM, + subBuilder: ConsumerQuotaLimit.create) + ..aOS(4, _omitFieldNames ? '' : 'metric') + ..aOS(5, _omitFieldNames ? '' : 'unit') + ..pc( + 6, + _omitFieldNames ? '' : 'descendantConsumerQuotaLimits', + $pb.PbFieldType.PM, + subBuilder: ConsumerQuotaLimit.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConsumerQuotaMetric clone() => ConsumerQuotaMetric()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConsumerQuotaMetric copyWith(void Function(ConsumerQuotaMetric) updates) => + super.copyWith((message) => updates(message as ConsumerQuotaMetric)) + as ConsumerQuotaMetric; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConsumerQuotaMetric create() => ConsumerQuotaMetric._(); + ConsumerQuotaMetric createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConsumerQuotaMetric getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ConsumerQuotaMetric? _defaultInstance; + + /// The resource name of the quota settings on this metric for this consumer. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` + /// + /// The resource name is intended to be opaque and should not be parsed for + /// its component strings, since its representation could change in the future. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The display name of the metric. + /// + /// An example name would be: + /// `CPUs` + @$pb.TagNumber(2) + $core.String get displayName => $_getSZ(1); + @$pb.TagNumber(2) + set displayName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDisplayName() => $_has(1); + @$pb.TagNumber(2) + void clearDisplayName() => clearField(2); + + /// The consumer quota for each quota limit defined on the metric. + @$pb.TagNumber(3) + $core.List get consumerQuotaLimits => $_getList(2); + + /// The name of the metric. + /// + /// An example name would be: + /// `compute.googleapis.com/cpus` + @$pb.TagNumber(4) + $core.String get metric => $_getSZ(3); + @$pb.TagNumber(4) + set metric($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMetric() => $_has(3); + @$pb.TagNumber(4) + void clearMetric() => clearField(4); + + /// The units in which the metric value is reported. + @$pb.TagNumber(5) + $core.String get unit => $_getSZ(4); + @$pb.TagNumber(5) + set unit($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUnit() => $_has(4); + @$pb.TagNumber(5) + void clearUnit() => clearField(5); + + /// The quota limits targeting the descendant containers of the + /// consumer in request. + /// + /// If the consumer in request is of type `organizations` + /// or `folders`, the field will list per-project limits in the metric; if the + /// consumer in request is of type `project`, the field will be empty. + /// + /// The `quota_buckets` field of each descendant consumer quota limit will not + /// be populated. + @$pb.TagNumber(6) + $core.List get descendantConsumerQuotaLimits => + $_getList(5); +} + +/// Consumer quota settings for a quota limit. +class ConsumerQuotaLimit extends $pb.GeneratedMessage { + factory ConsumerQuotaLimit({ + $core.String? name, + $core.String? unit, + $core.bool? isPrecise, + $core.bool? allowsAdminOverrides, + $core.String? metric, + $core.Iterable? quotaBuckets, + $core.Iterable<$core.String>? supportedLocations, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (unit != null) { + $result.unit = unit; + } + if (isPrecise != null) { + $result.isPrecise = isPrecise; + } + if (allowsAdminOverrides != null) { + $result.allowsAdminOverrides = allowsAdminOverrides; + } + if (metric != null) { + $result.metric = metric; + } + if (quotaBuckets != null) { + $result.quotaBuckets.addAll(quotaBuckets); + } + if (supportedLocations != null) { + $result.supportedLocations.addAll(supportedLocations); + } + return $result; + } + ConsumerQuotaLimit._() : super(); + factory ConsumerQuotaLimit.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ConsumerQuotaLimit.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ConsumerQuotaLimit', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'unit') + ..aOB(3, _omitFieldNames ? '' : 'isPrecise') + ..aOB(7, _omitFieldNames ? '' : 'allowsAdminOverrides') + ..aOS(8, _omitFieldNames ? '' : 'metric') + ..pc( + 9, _omitFieldNames ? '' : 'quotaBuckets', $pb.PbFieldType.PM, + subBuilder: QuotaBucket.create) + ..pPS(11, _omitFieldNames ? '' : 'supportedLocations') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConsumerQuotaLimit clone() => ConsumerQuotaLimit()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConsumerQuotaLimit copyWith(void Function(ConsumerQuotaLimit) updates) => + super.copyWith((message) => updates(message as ConsumerQuotaLimit)) + as ConsumerQuotaLimit; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConsumerQuotaLimit create() => ConsumerQuotaLimit._(); + ConsumerQuotaLimit createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConsumerQuotaLimit getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ConsumerQuotaLimit? _defaultInstance; + + /// The resource name of the quota limit. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + /// + /// The resource name is intended to be opaque and should not be parsed for + /// its component strings, since its representation could change in the future. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The limit unit. + /// + /// An example unit would be + /// `1/{project}/{region}` + /// Note that `{project}` and `{region}` are not placeholders in this example; + /// the literal characters `{` and `}` occur in the string. + @$pb.TagNumber(2) + $core.String get unit => $_getSZ(1); + @$pb.TagNumber(2) + set unit($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUnit() => $_has(1); + @$pb.TagNumber(2) + void clearUnit() => clearField(2); + + /// Whether this limit is precise or imprecise. + @$pb.TagNumber(3) + $core.bool get isPrecise => $_getBF(2); + @$pb.TagNumber(3) + set isPrecise($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasIsPrecise() => $_has(2); + @$pb.TagNumber(3) + void clearIsPrecise() => clearField(3); + + /// Whether admin overrides are allowed on this limit + @$pb.TagNumber(7) + $core.bool get allowsAdminOverrides => $_getBF(3); + @$pb.TagNumber(7) + set allowsAdminOverrides($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(7) + $core.bool hasAllowsAdminOverrides() => $_has(3); + @$pb.TagNumber(7) + void clearAllowsAdminOverrides() => clearField(7); + + /// The name of the parent metric of this limit. + /// + /// An example name would be: + /// `compute.googleapis.com/cpus` + @$pb.TagNumber(8) + $core.String get metric => $_getSZ(4); + @$pb.TagNumber(8) + set metric($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasMetric() => $_has(4); + @$pb.TagNumber(8) + void clearMetric() => clearField(8); + + /// Summary of the enforced quota buckets, organized by quota dimension, + /// ordered from least specific to most specific (for example, the global + /// default bucket, with no quota dimensions, will always appear first). + @$pb.TagNumber(9) + $core.List get quotaBuckets => $_getList(5); + + /// List of all supported locations. + /// This field is present only if the limit has a {region} or {zone} dimension. + @$pb.TagNumber(11) + $core.List<$core.String> get supportedLocations => $_getList(6); +} + +/// A quota bucket is a quota provisioning unit for a specific set of dimensions. +class QuotaBucket extends $pb.GeneratedMessage { + factory QuotaBucket({ + $fixnum.Int64? effectiveLimit, + $fixnum.Int64? defaultLimit, + QuotaOverride? producerOverride, + QuotaOverride? consumerOverride, + QuotaOverride? adminOverride, + $core.Map<$core.String, $core.String>? dimensions, + ProducerQuotaPolicy? producerQuotaPolicy, + }) { + final $result = create(); + if (effectiveLimit != null) { + $result.effectiveLimit = effectiveLimit; + } + if (defaultLimit != null) { + $result.defaultLimit = defaultLimit; + } + if (producerOverride != null) { + $result.producerOverride = producerOverride; + } + if (consumerOverride != null) { + $result.consumerOverride = consumerOverride; + } + if (adminOverride != null) { + $result.adminOverride = adminOverride; + } + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (producerQuotaPolicy != null) { + $result.producerQuotaPolicy = producerQuotaPolicy; + } + return $result; + } + QuotaBucket._() : super(); + factory QuotaBucket.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaBucket.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaBucket', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'effectiveLimit') + ..aInt64(2, _omitFieldNames ? '' : 'defaultLimit') + ..aOM(3, _omitFieldNames ? '' : 'producerOverride', + subBuilder: QuotaOverride.create) + ..aOM(4, _omitFieldNames ? '' : 'consumerOverride', + subBuilder: QuotaOverride.create) + ..aOM(5, _omitFieldNames ? '' : 'adminOverride', + subBuilder: QuotaOverride.create) + ..m<$core.String, $core.String>(6, _omitFieldNames ? '' : 'dimensions', + entryClassName: 'QuotaBucket.DimensionsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.serviceusage.v1beta1')) + ..aOM(7, _omitFieldNames ? '' : 'producerQuotaPolicy', + subBuilder: ProducerQuotaPolicy.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaBucket clone() => QuotaBucket()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaBucket copyWith(void Function(QuotaBucket) updates) => + super.copyWith((message) => updates(message as QuotaBucket)) + as QuotaBucket; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaBucket create() => QuotaBucket._(); + QuotaBucket createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaBucket getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaBucket? _defaultInstance; + + /// The effective limit of this quota bucket. Equal to default_limit if there + /// are no overrides. + @$pb.TagNumber(1) + $fixnum.Int64 get effectiveLimit => $_getI64(0); + @$pb.TagNumber(1) + set effectiveLimit($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasEffectiveLimit() => $_has(0); + @$pb.TagNumber(1) + void clearEffectiveLimit() => clearField(1); + + /// The default limit of this quota bucket, as specified by the service + /// configuration. + @$pb.TagNumber(2) + $fixnum.Int64 get defaultLimit => $_getI64(1); + @$pb.TagNumber(2) + set defaultLimit($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDefaultLimit() => $_has(1); + @$pb.TagNumber(2) + void clearDefaultLimit() => clearField(2); + + /// Producer override on this quota bucket. + @$pb.TagNumber(3) + QuotaOverride get producerOverride => $_getN(2); + @$pb.TagNumber(3) + set producerOverride(QuotaOverride v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasProducerOverride() => $_has(2); + @$pb.TagNumber(3) + void clearProducerOverride() => clearField(3); + @$pb.TagNumber(3) + QuotaOverride ensureProducerOverride() => $_ensure(2); + + /// Consumer override on this quota bucket. + @$pb.TagNumber(4) + QuotaOverride get consumerOverride => $_getN(3); + @$pb.TagNumber(4) + set consumerOverride(QuotaOverride v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasConsumerOverride() => $_has(3); + @$pb.TagNumber(4) + void clearConsumerOverride() => clearField(4); + @$pb.TagNumber(4) + QuotaOverride ensureConsumerOverride() => $_ensure(3); + + /// Admin override on this quota bucket. + @$pb.TagNumber(5) + QuotaOverride get adminOverride => $_getN(4); + @$pb.TagNumber(5) + set adminOverride(QuotaOverride v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasAdminOverride() => $_has(4); + @$pb.TagNumber(5) + void clearAdminOverride() => clearField(5); + @$pb.TagNumber(5) + QuotaOverride ensureAdminOverride() => $_ensure(4); + + /// The dimensions of this quota bucket. + /// + /// If this map is empty, this is the global bucket, which is the default quota + /// value applied to all requests that do not have a more specific override. + /// + /// If this map is nonempty, the default limit, effective limit, and quota + /// overrides apply only to requests that have the dimensions given in the map. + /// + /// For example, if the map has key `region` and value `us-east-1`, then the + /// specified effective limit is only effective in that region, and the + /// specified overrides apply only in that region. + @$pb.TagNumber(6) + $core.Map<$core.String, $core.String> get dimensions => $_getMap(5); + + /// Producer policy inherited from the closet ancestor of the current consumer. + @$pb.TagNumber(7) + ProducerQuotaPolicy get producerQuotaPolicy => $_getN(6); + @$pb.TagNumber(7) + set producerQuotaPolicy(ProducerQuotaPolicy v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasProducerQuotaPolicy() => $_has(6); + @$pb.TagNumber(7) + void clearProducerQuotaPolicy() => clearField(7); + @$pb.TagNumber(7) + ProducerQuotaPolicy ensureProducerQuotaPolicy() => $_ensure(6); +} + +/// A quota override +class QuotaOverride extends $pb.GeneratedMessage { + factory QuotaOverride({ + $core.String? name, + $fixnum.Int64? overrideValue, + $core.Map<$core.String, $core.String>? dimensions, + $core.String? metric, + $core.String? unit, + $core.String? adminOverrideAncestor, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (overrideValue != null) { + $result.overrideValue = overrideValue; + } + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (metric != null) { + $result.metric = metric; + } + if (unit != null) { + $result.unit = unit; + } + if (adminOverrideAncestor != null) { + $result.adminOverrideAncestor = adminOverrideAncestor; + } + return $result; + } + QuotaOverride._() : super(); + factory QuotaOverride.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QuotaOverride.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QuotaOverride', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aInt64(2, _omitFieldNames ? '' : 'overrideValue') + ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'dimensions', + entryClassName: 'QuotaOverride.DimensionsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.serviceusage.v1beta1')) + ..aOS(4, _omitFieldNames ? '' : 'metric') + ..aOS(5, _omitFieldNames ? '' : 'unit') + ..aOS(6, _omitFieldNames ? '' : 'adminOverrideAncestor') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QuotaOverride clone() => QuotaOverride()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QuotaOverride copyWith(void Function(QuotaOverride) updates) => + super.copyWith((message) => updates(message as QuotaOverride)) + as QuotaOverride; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QuotaOverride create() => QuotaOverride._(); + QuotaOverride createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QuotaOverride getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QuotaOverride? _defaultInstance; + + /// The resource name of the override. + /// This name is generated by the server when the override is created. + /// + /// Example names would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + /// + /// The resource name is intended to be opaque and should not be parsed for + /// its component strings, since its representation could change in the future. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The overriding quota limit value. + /// Can be any nonnegative integer, or -1 (unlimited quota). + @$pb.TagNumber(2) + $fixnum.Int64 get overrideValue => $_getI64(1); + @$pb.TagNumber(2) + set overrideValue($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOverrideValue() => $_has(1); + @$pb.TagNumber(2) + void clearOverrideValue() => clearField(2); + + /// If this map is nonempty, then this override applies only to specific values + /// for dimensions defined in the limit unit. + /// + /// For example, an override on a limit with the unit `1/{project}/{region}` + /// could contain an entry with the key `region` and the value `us-east-1`; + /// the override is only applied to quota consumed in that region. + /// + /// This map has the following restrictions: + /// + /// * Keys that are not defined in the limit's unit are not valid keys. + /// Any string appearing in `{brackets}` in the unit (besides `{project}` + /// or + /// `{user}`) is a defined key. + /// * `project` is not a valid key; the project is already specified in + /// the parent resource name. + /// * `user` is not a valid key; the API does not support quota overrides + /// that apply only to a specific user. + /// * If `region` appears as a key, its value must be a valid Cloud region. + /// * If `zone` appears as a key, its value must be a valid Cloud zone. + /// * If any valid key other than `region` or `zone` appears in the map, then + /// all valid keys other than `region` or `zone` must also appear in the + /// map. + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get dimensions => $_getMap(2); + + /// The name of the metric to which this override applies. + /// + /// An example name would be: + /// `compute.googleapis.com/cpus` + @$pb.TagNumber(4) + $core.String get metric => $_getSZ(3); + @$pb.TagNumber(4) + set metric($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMetric() => $_has(3); + @$pb.TagNumber(4) + void clearMetric() => clearField(4); + + /// The limit unit of the limit to which this override applies. + /// + /// An example unit would be: + /// `1/{project}/{region}` + /// Note that `{project}` and `{region}` are not placeholders in this example; + /// the literal characters `{` and `}` occur in the string. + @$pb.TagNumber(5) + $core.String get unit => $_getSZ(4); + @$pb.TagNumber(5) + set unit($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUnit() => $_has(4); + @$pb.TagNumber(5) + void clearUnit() => clearField(5); + + /// The resource name of the ancestor that requested the override. For example: + /// `organizations/12345` or `folders/67890`. + /// Used by admin overrides only. + @$pb.TagNumber(6) + $core.String get adminOverrideAncestor => $_getSZ(5); + @$pb.TagNumber(6) + set adminOverrideAncestor($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasAdminOverrideAncestor() => $_has(5); + @$pb.TagNumber(6) + void clearAdminOverrideAncestor() => clearField(6); +} + +/// Import data embedded in the request message +class OverrideInlineSource extends $pb.GeneratedMessage { + factory OverrideInlineSource({ + $core.Iterable? overrides, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + return $result; + } + OverrideInlineSource._() : super(); + factory OverrideInlineSource.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OverrideInlineSource.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OverrideInlineSource', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: QuotaOverride.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OverrideInlineSource clone() => + OverrideInlineSource()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OverrideInlineSource copyWith(void Function(OverrideInlineSource) updates) => + super.copyWith((message) => updates(message as OverrideInlineSource)) + as OverrideInlineSource; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OverrideInlineSource create() => OverrideInlineSource._(); + OverrideInlineSource createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OverrideInlineSource getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OverrideInlineSource? _defaultInstance; + + /// The overrides to create. + /// Each override must have a value for 'metric' and 'unit', to specify + /// which metric and which limit the override should be applied to. + /// The 'name' field of the override does not need to be set; it is ignored. + @$pb.TagNumber(1) + $core.List get overrides => $_getList(0); +} + +/// Quota policy created by service producer. +class ProducerQuotaPolicy extends $pb.GeneratedMessage { + factory ProducerQuotaPolicy({ + $core.String? name, + $fixnum.Int64? policyValue, + $core.Map<$core.String, $core.String>? dimensions, + $core.String? metric, + $core.String? unit, + $core.String? container, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (policyValue != null) { + $result.policyValue = policyValue; + } + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (metric != null) { + $result.metric = metric; + } + if (unit != null) { + $result.unit = unit; + } + if (container != null) { + $result.container = container; + } + return $result; + } + ProducerQuotaPolicy._() : super(); + factory ProducerQuotaPolicy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ProducerQuotaPolicy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ProducerQuotaPolicy', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aInt64(2, _omitFieldNames ? '' : 'policyValue') + ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'dimensions', + entryClassName: 'ProducerQuotaPolicy.DimensionsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.serviceusage.v1beta1')) + ..aOS(4, _omitFieldNames ? '' : 'metric') + ..aOS(5, _omitFieldNames ? '' : 'unit') + ..aOS(6, _omitFieldNames ? '' : 'container') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ProducerQuotaPolicy clone() => ProducerQuotaPolicy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ProducerQuotaPolicy copyWith(void Function(ProducerQuotaPolicy) updates) => + super.copyWith((message) => updates(message as ProducerQuotaPolicy)) + as ProducerQuotaPolicy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ProducerQuotaPolicy create() => ProducerQuotaPolicy._(); + ProducerQuotaPolicy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ProducerQuotaPolicy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ProducerQuotaPolicy? _defaultInstance; + + /// The resource name of the policy. + /// This name is generated by the server when the policy is created. + /// + /// Example names would be: + /// `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The quota policy value. + /// Can be any nonnegative integer, or -1 (unlimited quota). + @$pb.TagNumber(2) + $fixnum.Int64 get policyValue => $_getI64(1); + @$pb.TagNumber(2) + set policyValue($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPolicyValue() => $_has(1); + @$pb.TagNumber(2) + void clearPolicyValue() => clearField(2); + + /// + /// If this map is nonempty, then this policy applies only to specific values + /// for dimensions defined in the limit unit. + /// + /// For example, a policy on a limit with the unit `1/{project}/{region}` + /// could contain an entry with the key `region` and the value `us-east-1`; + /// the policy is only applied to quota consumed in that region. + /// + /// This map has the following restrictions: + /// + /// * Keys that are not defined in the limit's unit are not valid keys. + /// Any string appearing in {brackets} in the unit (besides {project} or + /// {user}) is a defined key. + /// * `project` is not a valid key; the project is already specified in + /// the parent resource name. + /// * `user` is not a valid key; the API does not support quota policies + /// that apply only to a specific user. + /// * If `region` appears as a key, its value must be a valid Cloud region. + /// * If `zone` appears as a key, its value must be a valid Cloud zone. + /// * If any valid key other than `region` or `zone` appears in the map, then + /// all valid keys other than `region` or `zone` must also appear in the + /// map. + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get dimensions => $_getMap(2); + + /// The name of the metric to which this policy applies. + /// + /// An example name would be: + /// `compute.googleapis.com/cpus` + @$pb.TagNumber(4) + $core.String get metric => $_getSZ(3); + @$pb.TagNumber(4) + set metric($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMetric() => $_has(3); + @$pb.TagNumber(4) + void clearMetric() => clearField(4); + + /// The limit unit of the limit to which this policy applies. + /// + /// An example unit would be: + /// `1/{project}/{region}` + /// Note that `{project}` and `{region}` are not placeholders in this example; + /// the literal characters `{` and `}` occur in the string. + @$pb.TagNumber(5) + $core.String get unit => $_getSZ(4); + @$pb.TagNumber(5) + set unit($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUnit() => $_has(4); + @$pb.TagNumber(5) + void clearUnit() => clearField(5); + + /// The cloud resource container at which the quota policy is created. The + /// format is `{container_type}/{container_number}` + @$pb.TagNumber(6) + $core.String get container => $_getSZ(5); + @$pb.TagNumber(6) + set container($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasContainer() => $_has(5); + @$pb.TagNumber(6) + void clearContainer() => clearField(6); +} + +/// Quota policy created by quota administrator. +class AdminQuotaPolicy extends $pb.GeneratedMessage { + factory AdminQuotaPolicy({ + $core.String? name, + $fixnum.Int64? policyValue, + $core.Map<$core.String, $core.String>? dimensions, + $core.String? metric, + $core.String? unit, + $core.String? container, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (policyValue != null) { + $result.policyValue = policyValue; + } + if (dimensions != null) { + $result.dimensions.addAll(dimensions); + } + if (metric != null) { + $result.metric = metric; + } + if (unit != null) { + $result.unit = unit; + } + if (container != null) { + $result.container = container; + } + return $result; + } + AdminQuotaPolicy._() : super(); + factory AdminQuotaPolicy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AdminQuotaPolicy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AdminQuotaPolicy', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aInt64(2, _omitFieldNames ? '' : 'policyValue') + ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'dimensions', + entryClassName: 'AdminQuotaPolicy.DimensionsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.api.serviceusage.v1beta1')) + ..aOS(4, _omitFieldNames ? '' : 'metric') + ..aOS(5, _omitFieldNames ? '' : 'unit') + ..aOS(6, _omitFieldNames ? '' : 'container') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AdminQuotaPolicy clone() => AdminQuotaPolicy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AdminQuotaPolicy copyWith(void Function(AdminQuotaPolicy) updates) => + super.copyWith((message) => updates(message as AdminQuotaPolicy)) + as AdminQuotaPolicy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AdminQuotaPolicy create() => AdminQuotaPolicy._(); + AdminQuotaPolicy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AdminQuotaPolicy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AdminQuotaPolicy? _defaultInstance; + + /// The resource name of the policy. + /// This name is generated by the server when the policy is created. + /// + /// Example names would be: + /// `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The quota policy value. + /// Can be any nonnegative integer, or -1 (unlimited quota). + @$pb.TagNumber(2) + $fixnum.Int64 get policyValue => $_getI64(1); + @$pb.TagNumber(2) + set policyValue($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPolicyValue() => $_has(1); + @$pb.TagNumber(2) + void clearPolicyValue() => clearField(2); + + /// + /// If this map is nonempty, then this policy applies only to specific values + /// for dimensions defined in the limit unit. + /// + /// For example, a policy on a limit with the unit `1/{project}/{region}` + /// could contain an entry with the key `region` and the value `us-east-1`; + /// the policy is only applied to quota consumed in that region. + /// + /// This map has the following restrictions: + /// + /// * If `region` appears as a key, its value must be a valid Cloud region. + /// * If `zone` appears as a key, its value must be a valid Cloud zone. + /// * Keys other than `region` or `zone` are not valid. + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get dimensions => $_getMap(2); + + /// The name of the metric to which this policy applies. + /// + /// An example name would be: + /// `compute.googleapis.com/cpus` + @$pb.TagNumber(4) + $core.String get metric => $_getSZ(3); + @$pb.TagNumber(4) + set metric($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMetric() => $_has(3); + @$pb.TagNumber(4) + void clearMetric() => clearField(4); + + /// The limit unit of the limit to which this policy applies. + /// + /// An example unit would be: + /// `1/{project}/{region}` + /// Note that `{project}` and `{region}` are not placeholders in this example; + /// the literal characters `{` and `}` occur in the string. + @$pb.TagNumber(5) + $core.String get unit => $_getSZ(4); + @$pb.TagNumber(5) + set unit($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUnit() => $_has(4); + @$pb.TagNumber(5) + void clearUnit() => clearField(5); + + /// The cloud resource container at which the quota policy is created. The + /// format is `{container_type}/{container_number}` + @$pb.TagNumber(6) + $core.String get container => $_getSZ(5); + @$pb.TagNumber(6) + set container($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasContainer() => $_has(5); + @$pb.TagNumber(6) + void clearContainer() => clearField(6); +} + +/// Service identity for a service. This is the identity that service producer +/// should use to access consumer resources. +class ServiceIdentity extends $pb.GeneratedMessage { + factory ServiceIdentity({ + $core.String? email, + $core.String? uniqueId, + }) { + final $result = create(); + if (email != null) { + $result.email = email; + } + if (uniqueId != null) { + $result.uniqueId = uniqueId; + } + return $result; + } + ServiceIdentity._() : super(); + factory ServiceIdentity.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceIdentity.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceIdentity', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'email') + ..aOS(2, _omitFieldNames ? '' : 'uniqueId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceIdentity clone() => ServiceIdentity()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceIdentity copyWith(void Function(ServiceIdentity) updates) => + super.copyWith((message) => updates(message as ServiceIdentity)) + as ServiceIdentity; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceIdentity create() => ServiceIdentity._(); + ServiceIdentity createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceIdentity getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceIdentity? _defaultInstance; + + /// The email address of the service account that a service producer would use + /// to access consumer resources. + @$pb.TagNumber(1) + $core.String get email => $_getSZ(0); + @$pb.TagNumber(1) + set email($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasEmail() => $_has(0); + @$pb.TagNumber(1) + void clearEmail() => clearField(1); + + /// The unique and stable id of the service account. + /// https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount + @$pb.TagNumber(2) + $core.String get uniqueId => $_getSZ(1); + @$pb.TagNumber(2) + set uniqueId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUniqueId() => $_has(1); + @$pb.TagNumber(2) + void clearUniqueId() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pbenum.dart new file mode 100644 index 00000000..d2d36820 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pbenum.dart @@ -0,0 +1,81 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Whether or not a service has been enabled for use by a consumer. +class State extends $pb.ProtobufEnum { + static const State STATE_UNSPECIFIED = + State._(0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const State DISABLED = State._(1, _omitEnumNames ? '' : 'DISABLED'); + static const State ENABLED = State._(2, _omitEnumNames ? '' : 'ENABLED'); + + static const $core.List values = [ + STATE_UNSPECIFIED, + DISABLED, + ENABLED, + ]; + + static final $core.Map<$core.int, State> _byValue = + $pb.ProtobufEnum.initByValue(values); + static State? valueOf($core.int value) => _byValue[value]; + + const State._($core.int v, $core.String n) : super(v, n); +} + +/// Selected view of quota. Can be used to request more detailed quota +/// information when retrieving quota metrics and limits. +class QuotaView extends $pb.ProtobufEnum { + static const QuotaView QUOTA_VIEW_UNSPECIFIED = + QuotaView._(0, _omitEnumNames ? '' : 'QUOTA_VIEW_UNSPECIFIED'); + static const QuotaView BASIC = QuotaView._(1, _omitEnumNames ? '' : 'BASIC'); + static const QuotaView FULL = QuotaView._(2, _omitEnumNames ? '' : 'FULL'); + + static const $core.List values = [ + QUOTA_VIEW_UNSPECIFIED, + BASIC, + FULL, + ]; + + static final $core.Map<$core.int, QuotaView> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaView? valueOf($core.int value) => _byValue[value]; + + const QuotaView._($core.int v, $core.String n) : super(v, n); +} + +/// Enumerations of quota safety checks. +class QuotaSafetyCheck extends $pb.ProtobufEnum { + static const QuotaSafetyCheck QUOTA_SAFETY_CHECK_UNSPECIFIED = + QuotaSafetyCheck._( + 0, _omitEnumNames ? '' : 'QUOTA_SAFETY_CHECK_UNSPECIFIED'); + static const QuotaSafetyCheck LIMIT_DECREASE_BELOW_USAGE = + QuotaSafetyCheck._(1, _omitEnumNames ? '' : 'LIMIT_DECREASE_BELOW_USAGE'); + static const QuotaSafetyCheck LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = + QuotaSafetyCheck._( + 2, _omitEnumNames ? '' : 'LIMIT_DECREASE_PERCENTAGE_TOO_HIGH'); + + static const $core.List values = [ + QUOTA_SAFETY_CHECK_UNSPECIFIED, + LIMIT_DECREASE_BELOW_USAGE, + LIMIT_DECREASE_PERCENTAGE_TOO_HIGH, + ]; + + static final $core.Map<$core.int, QuotaSafetyCheck> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QuotaSafetyCheck? valueOf($core.int value) => _byValue[value]; + + const QuotaSafetyCheck._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pbjson.dart new file mode 100644 index 00000000..2b43b129 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/resources.pbjson.dart @@ -0,0 +1,506 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/resources.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use stateDescriptor instead') +const State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'DISABLED', '2': 1}, + {'1': 'ENABLED', '2': 2}, + ], +}; + +/// Descriptor for `State`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List stateDescriptor = $convert.base64Decode( + 'CgVTdGF0ZRIVChFTVEFURV9VTlNQRUNJRklFRBAAEgwKCERJU0FCTEVEEAESCwoHRU5BQkxFRB' + 'AC'); + +@$core.Deprecated('Use quotaViewDescriptor instead') +const QuotaView$json = { + '1': 'QuotaView', + '2': [ + {'1': 'QUOTA_VIEW_UNSPECIFIED', '2': 0}, + {'1': 'BASIC', '2': 1}, + {'1': 'FULL', '2': 2}, + ], +}; + +/// Descriptor for `QuotaView`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List quotaViewDescriptor = $convert.base64Decode( + 'CglRdW90YVZpZXcSGgoWUVVPVEFfVklFV19VTlNQRUNJRklFRBAAEgkKBUJBU0lDEAESCAoERl' + 'VMTBAC'); + +@$core.Deprecated('Use quotaSafetyCheckDescriptor instead') +const QuotaSafetyCheck$json = { + '1': 'QuotaSafetyCheck', + '2': [ + {'1': 'QUOTA_SAFETY_CHECK_UNSPECIFIED', '2': 0}, + {'1': 'LIMIT_DECREASE_BELOW_USAGE', '2': 1}, + {'1': 'LIMIT_DECREASE_PERCENTAGE_TOO_HIGH', '2': 2}, + ], +}; + +/// Descriptor for `QuotaSafetyCheck`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List quotaSafetyCheckDescriptor = $convert.base64Decode( + 'ChBRdW90YVNhZmV0eUNoZWNrEiIKHlFVT1RBX1NBRkVUWV9DSEVDS19VTlNQRUNJRklFRBAAEh' + '4KGkxJTUlUX0RFQ1JFQVNFX0JFTE9XX1VTQUdFEAESJgoiTElNSVRfREVDUkVBU0VfUEVSQ0VO' + 'VEFHRV9UT09fSElHSBAC'); + +@$core.Deprecated('Use serviceDescriptor instead') +const Service$json = { + '1': 'Service', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'parent', '3': 5, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'config', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.ServiceConfig', + '10': 'config' + }, + { + '1': 'state', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.State', + '10': 'state' + }, + ], +}; + +/// Descriptor for `Service`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptor = $convert.base64Decode( + 'CgdTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGcGFyZW50GAUgASgJUgZwYXJlbnQSRg' + 'oGY29uZmlnGAIgASgLMi4uZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRhMS5TZXJ2aWNl' + 'Q29uZmlnUgZjb25maWcSPAoFc3RhdGUYBCABKA4yJi5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS' + '52MWJldGExLlN0YXRlUgVzdGF0ZQ=='); + +@$core.Deprecated('Use serviceConfigDescriptor instead') +const ServiceConfig$json = { + '1': 'ServiceConfig', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'title', '3': 2, '4': 1, '5': 9, '10': 'title'}, + { + '1': 'apis', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Api', + '10': 'apis' + }, + { + '1': 'documentation', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.api.Documentation', + '10': 'documentation' + }, + { + '1': 'quota', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.api.Quota', + '10': 'quota' + }, + { + '1': 'authentication', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.api.Authentication', + '10': 'authentication' + }, + { + '1': 'usage', + '3': 15, + '4': 1, + '5': 11, + '6': '.google.api.Usage', + '10': 'usage' + }, + { + '1': 'endpoints', + '3': 18, + '4': 3, + '5': 11, + '6': '.google.api.Endpoint', + '10': 'endpoints' + }, + { + '1': 'monitored_resources', + '3': 25, + '4': 3, + '5': 11, + '6': '.google.api.MonitoredResourceDescriptor', + '10': 'monitoredResources' + }, + { + '1': 'monitoring', + '3': 28, + '4': 1, + '5': 11, + '6': '.google.api.Monitoring', + '10': 'monitoring' + }, + ], +}; + +/// Descriptor for `ServiceConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceConfigDescriptor = $convert.base64Decode( + 'Cg1TZXJ2aWNlQ29uZmlnEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFdGl0bGUYAiABKAlSBXRpdG' + 'xlEigKBGFwaXMYAyADKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUgRhcGlzEj8KDWRvY3VtZW50' + 'YXRpb24YBiABKAsyGS5nb29nbGUuYXBpLkRvY3VtZW50YXRpb25SDWRvY3VtZW50YXRpb24SJw' + 'oFcXVvdGEYCiABKAsyES5nb29nbGUuYXBpLlF1b3RhUgVxdW90YRJCCg5hdXRoZW50aWNhdGlv' + 'bhgLIAEoCzIaLmdvb2dsZS5hcGkuQXV0aGVudGljYXRpb25SDmF1dGhlbnRpY2F0aW9uEicKBX' + 'VzYWdlGA8gASgLMhEuZ29vZ2xlLmFwaS5Vc2FnZVIFdXNhZ2USMgoJZW5kcG9pbnRzGBIgAygL' + 'MhQuZ29vZ2xlLmFwaS5FbmRwb2ludFIJZW5kcG9pbnRzElgKE21vbml0b3JlZF9yZXNvdXJjZX' + 'MYGSADKAsyJy5nb29nbGUuYXBpLk1vbml0b3JlZFJlc291cmNlRGVzY3JpcHRvclISbW9uaXRv' + 'cmVkUmVzb3VyY2VzEjYKCm1vbml0b3JpbmcYHCABKAsyFi5nb29nbGUuYXBpLk1vbml0b3Jpbm' + 'dSCm1vbml0b3Jpbmc='); + +@$core.Deprecated('Use operationMetadataDescriptor instead') +const OperationMetadata$json = { + '1': 'OperationMetadata', + '2': [ + {'1': 'resource_names', '3': 2, '4': 3, '5': 9, '10': 'resourceNames'}, + ], +}; + +/// Descriptor for `OperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationMetadataDescriptor = $convert.base64Decode( + 'ChFPcGVyYXRpb25NZXRhZGF0YRIlCg5yZXNvdXJjZV9uYW1lcxgCIAMoCVINcmVzb3VyY2VOYW' + '1lcw=='); + +@$core.Deprecated('Use consumerQuotaMetricDescriptor instead') +const ConsumerQuotaMetric$json = { + '1': 'ConsumerQuotaMetric', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'metric', '3': 4, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'display_name', '3': 2, '4': 1, '5': 9, '10': 'displayName'}, + { + '1': 'consumer_quota_limits', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.ConsumerQuotaLimit', + '10': 'consumerQuotaLimits' + }, + { + '1': 'descendant_consumer_quota_limits', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.ConsumerQuotaLimit', + '10': 'descendantConsumerQuotaLimits' + }, + {'1': 'unit', '3': 5, '4': 1, '5': 9, '10': 'unit'}, + ], +}; + +/// Descriptor for `ConsumerQuotaMetric`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List consumerQuotaMetricDescriptor = $convert.base64Decode( + 'ChNDb25zdW1lclF1b3RhTWV0cmljEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbWV0cmljGAQgAS' + 'gJUgZtZXRyaWMSIQoMZGlzcGxheV9uYW1lGAIgASgJUgtkaXNwbGF5TmFtZRJnChVjb25zdW1l' + 'cl9xdW90YV9saW1pdHMYAyADKAsyMy5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLk' + 'NvbnN1bWVyUXVvdGFMaW1pdFITY29uc3VtZXJRdW90YUxpbWl0cxJ8CiBkZXNjZW5kYW50X2Nv' + 'bnN1bWVyX3F1b3RhX2xpbWl0cxgGIAMoCzIzLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYm' + 'V0YTEuQ29uc3VtZXJRdW90YUxpbWl0Uh1kZXNjZW5kYW50Q29uc3VtZXJRdW90YUxpbWl0cxIS' + 'CgR1bml0GAUgASgJUgR1bml0'); + +@$core.Deprecated('Use consumerQuotaLimitDescriptor instead') +const ConsumerQuotaLimit$json = { + '1': 'ConsumerQuotaLimit', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'metric', '3': 8, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'unit', '3': 2, '4': 1, '5': 9, '10': 'unit'}, + {'1': 'is_precise', '3': 3, '4': 1, '5': 8, '10': 'isPrecise'}, + { + '1': 'allows_admin_overrides', + '3': 7, + '4': 1, + '5': 8, + '10': 'allowsAdminOverrides' + }, + { + '1': 'quota_buckets', + '3': 9, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaBucket', + '10': 'quotaBuckets' + }, + { + '1': 'supported_locations', + '3': 11, + '4': 3, + '5': 9, + '10': 'supportedLocations' + }, + ], +}; + +/// Descriptor for `ConsumerQuotaLimit`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List consumerQuotaLimitDescriptor = $convert.base64Decode( + 'ChJDb25zdW1lclF1b3RhTGltaXQSEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZtZXRyaWMYCCABKA' + 'lSBm1ldHJpYxISCgR1bml0GAIgASgJUgR1bml0Eh0KCmlzX3ByZWNpc2UYAyABKAhSCWlzUHJl' + 'Y2lzZRI0ChZhbGxvd3NfYWRtaW5fb3ZlcnJpZGVzGAcgASgIUhRhbGxvd3NBZG1pbk92ZXJyaW' + 'RlcxJRCg1xdW90YV9idWNrZXRzGAkgAygLMiwuZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFi' + 'ZXRhMS5RdW90YUJ1Y2tldFIMcXVvdGFCdWNrZXRzEi8KE3N1cHBvcnRlZF9sb2NhdGlvbnMYCy' + 'ADKAlSEnN1cHBvcnRlZExvY2F0aW9ucw=='); + +@$core.Deprecated('Use quotaBucketDescriptor instead') +const QuotaBucket$json = { + '1': 'QuotaBucket', + '2': [ + {'1': 'effective_limit', '3': 1, '4': 1, '5': 3, '10': 'effectiveLimit'}, + {'1': 'default_limit', '3': 2, '4': 1, '5': 3, '10': 'defaultLimit'}, + { + '1': 'producer_override', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'producerOverride' + }, + { + '1': 'consumer_override', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'consumerOverride' + }, + { + '1': 'admin_override', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'adminOverride' + }, + { + '1': 'producer_quota_policy', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.ProducerQuotaPolicy', + '10': 'producerQuotaPolicy' + }, + { + '1': 'dimensions', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaBucket.DimensionsEntry', + '10': 'dimensions' + }, + ], + '3': [QuotaBucket_DimensionsEntry$json], +}; + +@$core.Deprecated('Use quotaBucketDescriptor instead') +const QuotaBucket_DimensionsEntry$json = { + '1': 'DimensionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `QuotaBucket`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaBucketDescriptor = $convert.base64Decode( + 'CgtRdW90YUJ1Y2tldBInCg9lZmZlY3RpdmVfbGltaXQYASABKANSDmVmZmVjdGl2ZUxpbWl0Ei' + 'MKDWRlZmF1bHRfbGltaXQYAiABKANSDGRlZmF1bHRMaW1pdBJbChFwcm9kdWNlcl9vdmVycmlk' + 'ZRgDIAEoCzIuLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFPdmVycmlkZV' + 'IQcHJvZHVjZXJPdmVycmlkZRJbChFjb25zdW1lcl9vdmVycmlkZRgEIAEoCzIuLmdvb2dsZS5h' + 'cGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFPdmVycmlkZVIQY29uc3VtZXJPdmVycmlkZR' + 'JVCg5hZG1pbl9vdmVycmlkZRgFIAEoCzIuLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0' + 'YTEuUXVvdGFPdmVycmlkZVINYWRtaW5PdmVycmlkZRJoChVwcm9kdWNlcl9xdW90YV9wb2xpY3' + 'kYByABKAsyNC5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlByb2R1Y2VyUXVvdGFQ' + 'b2xpY3lSE3Byb2R1Y2VyUXVvdGFQb2xpY3kSXAoKZGltZW5zaW9ucxgGIAMoCzI8Lmdvb2dsZS' + '5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFCdWNrZXQuRGltZW5zaW9uc0VudHJ5Ugpk' + 'aW1lbnNpb25zGj0KD0RpbWVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZR' + 'gCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use quotaOverrideDescriptor instead') +const QuotaOverride$json = { + '1': 'QuotaOverride', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'override_value', '3': 2, '4': 1, '5': 3, '10': 'overrideValue'}, + { + '1': 'dimensions', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride.DimensionsEntry', + '10': 'dimensions' + }, + {'1': 'metric', '3': 4, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'unit', '3': 5, '4': 1, '5': 9, '10': 'unit'}, + { + '1': 'admin_override_ancestor', + '3': 6, + '4': 1, + '5': 9, + '10': 'adminOverrideAncestor' + }, + ], + '3': [QuotaOverride_DimensionsEntry$json], +}; + +@$core.Deprecated('Use quotaOverrideDescriptor instead') +const QuotaOverride_DimensionsEntry$json = { + '1': 'DimensionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `QuotaOverride`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List quotaOverrideDescriptor = $convert.base64Decode( + 'Cg1RdW90YU92ZXJyaWRlEhIKBG5hbWUYASABKAlSBG5hbWUSJQoOb3ZlcnJpZGVfdmFsdWUYAi' + 'ABKANSDW92ZXJyaWRlVmFsdWUSXgoKZGltZW5zaW9ucxgDIAMoCzI+Lmdvb2dsZS5hcGkuc2Vy' + 'dmljZXVzYWdlLnYxYmV0YTEuUXVvdGFPdmVycmlkZS5EaW1lbnNpb25zRW50cnlSCmRpbWVuc2' + 'lvbnMSFgoGbWV0cmljGAQgASgJUgZtZXRyaWMSEgoEdW5pdBgFIAEoCVIEdW5pdBI2ChdhZG1p' + 'bl9vdmVycmlkZV9hbmNlc3RvchgGIAEoCVIVYWRtaW5PdmVycmlkZUFuY2VzdG9yGj0KD0RpbW' + 'Vuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use overrideInlineSourceDescriptor instead') +const OverrideInlineSource$json = { + '1': 'OverrideInlineSource', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + ], +}; + +/// Descriptor for `OverrideInlineSource`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List overrideInlineSourceDescriptor = $convert.base64Decode( + 'ChRPdmVycmlkZUlubGluZVNvdXJjZRJMCglvdmVycmlkZXMYASADKAsyLi5nb29nbGUuYXBpLn' + 'NlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhT3ZlcnJpZGVSCW92ZXJyaWRlcw=='); + +@$core.Deprecated('Use producerQuotaPolicyDescriptor instead') +const ProducerQuotaPolicy$json = { + '1': 'ProducerQuotaPolicy', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'policy_value', '3': 2, '4': 1, '5': 3, '10': 'policyValue'}, + { + '1': 'dimensions', + '3': 3, + '4': 3, + '5': 11, + '6': + '.google.api.serviceusage.v1beta1.ProducerQuotaPolicy.DimensionsEntry', + '10': 'dimensions' + }, + {'1': 'metric', '3': 4, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'unit', '3': 5, '4': 1, '5': 9, '10': 'unit'}, + {'1': 'container', '3': 6, '4': 1, '5': 9, '10': 'container'}, + ], + '3': [ProducerQuotaPolicy_DimensionsEntry$json], +}; + +@$core.Deprecated('Use producerQuotaPolicyDescriptor instead') +const ProducerQuotaPolicy_DimensionsEntry$json = { + '1': 'DimensionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ProducerQuotaPolicy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List producerQuotaPolicyDescriptor = $convert.base64Decode( + 'ChNQcm9kdWNlclF1b3RhUG9saWN5EhIKBG5hbWUYASABKAlSBG5hbWUSIQoMcG9saWN5X3ZhbH' + 'VlGAIgASgDUgtwb2xpY3lWYWx1ZRJkCgpkaW1lbnNpb25zGAMgAygLMkQuZ29vZ2xlLmFwaS5z' + 'ZXJ2aWNldXNhZ2UudjFiZXRhMS5Qcm9kdWNlclF1b3RhUG9saWN5LkRpbWVuc2lvbnNFbnRyeV' + 'IKZGltZW5zaW9ucxIWCgZtZXRyaWMYBCABKAlSBm1ldHJpYxISCgR1bml0GAUgASgJUgR1bml0' + 'EhwKCWNvbnRhaW5lchgGIAEoCVIJY29udGFpbmVyGj0KD0RpbWVuc2lvbnNFbnRyeRIQCgNrZX' + 'kYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use adminQuotaPolicyDescriptor instead') +const AdminQuotaPolicy$json = { + '1': 'AdminQuotaPolicy', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'policy_value', '3': 2, '4': 1, '5': 3, '10': 'policyValue'}, + { + '1': 'dimensions', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.AdminQuotaPolicy.DimensionsEntry', + '10': 'dimensions' + }, + {'1': 'metric', '3': 4, '4': 1, '5': 9, '10': 'metric'}, + {'1': 'unit', '3': 5, '4': 1, '5': 9, '10': 'unit'}, + {'1': 'container', '3': 6, '4': 1, '5': 9, '10': 'container'}, + ], + '3': [AdminQuotaPolicy_DimensionsEntry$json], +}; + +@$core.Deprecated('Use adminQuotaPolicyDescriptor instead') +const AdminQuotaPolicy_DimensionsEntry$json = { + '1': 'DimensionsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `AdminQuotaPolicy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List adminQuotaPolicyDescriptor = $convert.base64Decode( + 'ChBBZG1pblF1b3RhUG9saWN5EhIKBG5hbWUYASABKAlSBG5hbWUSIQoMcG9saWN5X3ZhbHVlGA' + 'IgASgDUgtwb2xpY3lWYWx1ZRJhCgpkaW1lbnNpb25zGAMgAygLMkEuZ29vZ2xlLmFwaS5zZXJ2' + 'aWNldXNhZ2UudjFiZXRhMS5BZG1pblF1b3RhUG9saWN5LkRpbWVuc2lvbnNFbnRyeVIKZGltZW' + '5zaW9ucxIWCgZtZXRyaWMYBCABKAlSBm1ldHJpYxISCgR1bml0GAUgASgJUgR1bml0EhwKCWNv' + 'bnRhaW5lchgGIAEoCVIJY29udGFpbmVyGj0KD0RpbWVuc2lvbnNFbnRyeRIQCgNrZXkYASABKA' + 'lSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use serviceIdentityDescriptor instead') +const ServiceIdentity$json = { + '1': 'ServiceIdentity', + '2': [ + {'1': 'email', '3': 1, '4': 1, '5': 9, '10': 'email'}, + {'1': 'unique_id', '3': 2, '4': 1, '5': 9, '10': 'uniqueId'}, + ], +}; + +/// Descriptor for `ServiceIdentity`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceIdentityDescriptor = $convert.base64Decode( + 'Cg9TZXJ2aWNlSWRlbnRpdHkSFAoFZW1haWwYASABKAlSBWVtYWlsEhsKCXVuaXF1ZV9pZBgCIA' + 'EoCVIIdW5pcXVlSWQ='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pb.dart new file mode 100644 index 00000000..519ca8ab --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pb.dart @@ -0,0 +1,3176 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/field_mask.pb.dart' as $58; +import 'resources.pb.dart' as $40; +import 'resources.pbenum.dart' as $40; +import 'serviceusage.pbenum.dart'; + +export 'serviceusage.pbenum.dart'; + +/// Request message for the `EnableService` method. +class EnableServiceRequest extends $pb.GeneratedMessage { + factory EnableServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + EnableServiceRequest._() : super(); + factory EnableServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnableServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnableServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableServiceRequest clone() => + EnableServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableServiceRequest copyWith(void Function(EnableServiceRequest) updates) => + super.copyWith((message) => updates(message as EnableServiceRequest)) + as EnableServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableServiceRequest create() => EnableServiceRequest._(); + EnableServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnableServiceRequest? _defaultInstance; + + /// Name of the consumer and service to enable the service on. + /// + /// The `EnableService` and `DisableService` methods currently only support + /// projects. + /// + /// Enabling a service requires that the service is public or is shared with + /// the user enabling the service. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` + /// where `123` is the project number (not project ID). + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for the `DisableService` method. +class DisableServiceRequest extends $pb.GeneratedMessage { + factory DisableServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DisableServiceRequest._() : super(); + factory DisableServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DisableServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DisableServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DisableServiceRequest clone() => + DisableServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DisableServiceRequest copyWith( + void Function(DisableServiceRequest) updates) => + super.copyWith((message) => updates(message as DisableServiceRequest)) + as DisableServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DisableServiceRequest create() => DisableServiceRequest._(); + DisableServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DisableServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DisableServiceRequest? _defaultInstance; + + /// Name of the consumer and service to disable the service on. + /// + /// The enable and disable methods currently only support projects. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` + /// where `123` is the project number (not project ID). + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for the `GetService` method. +class GetServiceRequest extends $pb.GeneratedMessage { + factory GetServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetServiceRequest._() : super(); + factory GetServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceRequest clone() => GetServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceRequest copyWith(void Function(GetServiceRequest) updates) => + super.copyWith((message) => updates(message as GetServiceRequest)) + as GetServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceRequest create() => GetServiceRequest._(); + GetServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceRequest? _defaultInstance; + + /// Name of the consumer and service to get the `ConsumerState` for. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com` + /// where `123` is the project number (not project ID). + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for the `ListServices` method. +class ListServicesRequest extends $pb.GeneratedMessage { + factory ListServicesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.String? filter, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (filter != null) { + $result.filter = filter; + } + return $result; + } + ListServicesRequest._() : super(); + factory ListServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOS(4, _omitFieldNames ? '' : 'filter') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesRequest clone() => ListServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesRequest copyWith(void Function(ListServicesRequest) updates) => + super.copyWith((message) => updates(message as ListServicesRequest)) + as ListServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesRequest create() => ListServicesRequest._(); + ListServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesRequest? _defaultInstance; + + /// Parent to search for services on. + /// + /// An example name would be: + /// `projects/123` + /// where `123` is the project number (not project ID). + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Requested size of the next page of data. + /// Requested page size cannot exceed 200. + /// If not set, the default page size is 50. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Token identifying which result to start with, which is returned by a + /// previous list call. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Only list services that conform to the given filter. + /// The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + @$pb.TagNumber(4) + $core.String get filter => $_getSZ(3); + @$pb.TagNumber(4) + set filter($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilter() => $_has(3); + @$pb.TagNumber(4) + void clearFilter() => clearField(4); +} + +/// Response message for the `ListServices` method. +class ListServicesResponse extends $pb.GeneratedMessage { + factory ListServicesResponse({ + $core.Iterable<$40.Service>? services, + $core.String? nextPageToken, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServicesResponse._() : super(); + factory ListServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.Service>(1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $40.Service.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesResponse clone() => + ListServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesResponse copyWith(void Function(ListServicesResponse) updates) => + super.copyWith((message) => updates(message as ListServicesResponse)) + as ListServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesResponse create() => ListServicesResponse._(); + ListServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesResponse? _defaultInstance; + + /// The available services for the requested project. + @$pb.TagNumber(1) + $core.List<$40.Service> get services => $_getList(0); + + /// Token that can be passed to `ListServices` to resume a paginated + /// query. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for the `BatchEnableServices` method. +class BatchEnableServicesRequest extends $pb.GeneratedMessage { + factory BatchEnableServicesRequest({ + $core.String? parent, + $core.Iterable<$core.String>? serviceIds, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (serviceIds != null) { + $result.serviceIds.addAll(serviceIds); + } + return $result; + } + BatchEnableServicesRequest._() : super(); + factory BatchEnableServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchEnableServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchEnableServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..pPS(2, _omitFieldNames ? '' : 'serviceIds') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchEnableServicesRequest clone() => + BatchEnableServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchEnableServicesRequest copyWith( + void Function(BatchEnableServicesRequest) updates) => + super.copyWith( + (message) => updates(message as BatchEnableServicesRequest)) + as BatchEnableServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchEnableServicesRequest create() => BatchEnableServicesRequest._(); + BatchEnableServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchEnableServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchEnableServicesRequest? _defaultInstance; + + /// Parent to enable services on. + /// + /// An example name would be: + /// `projects/123` + /// where `123` is the project number (not project ID). + /// + /// The `BatchEnableServices` method currently only supports projects. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The identifiers of the services to enable on the project. + /// + /// A valid identifier would be: + /// serviceusage.googleapis.com + /// + /// Enabling services requires that each service is public or is shared with + /// the user enabling the service. + /// + /// Two or more services must be specified. To enable a single service, + /// use the `EnableService` method instead. + /// + /// A single request can enable a maximum of 20 services at a time. If more + /// than 20 services are specified, the request will fail, and no state changes + /// will occur. + @$pb.TagNumber(2) + $core.List<$core.String> get serviceIds => $_getList(1); +} + +/// Request message for ListConsumerQuotaMetrics +class ListConsumerQuotaMetricsRequest extends $pb.GeneratedMessage { + factory ListConsumerQuotaMetricsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $40.QuotaView? view, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (view != null) { + $result.view = view; + } + return $result; + } + ListConsumerQuotaMetricsRequest._() : super(); + factory ListConsumerQuotaMetricsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListConsumerQuotaMetricsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListConsumerQuotaMetricsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..e<$40.QuotaView>(4, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: $40.QuotaView.QUOTA_VIEW_UNSPECIFIED, + valueOf: $40.QuotaView.valueOf, + enumValues: $40.QuotaView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListConsumerQuotaMetricsRequest clone() => + ListConsumerQuotaMetricsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListConsumerQuotaMetricsRequest copyWith( + void Function(ListConsumerQuotaMetricsRequest) updates) => + super.copyWith( + (message) => updates(message as ListConsumerQuotaMetricsRequest)) + as ListConsumerQuotaMetricsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListConsumerQuotaMetricsRequest create() => + ListConsumerQuotaMetricsRequest._(); + ListConsumerQuotaMetricsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListConsumerQuotaMetricsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListConsumerQuotaMetricsRequest? _defaultInstance; + + /// Parent of the quotas resource. + /// + /// Some example names would be: + /// `projects/123/services/serviceconsumermanagement.googleapis.com` + /// `folders/345/services/serviceconsumermanagement.googleapis.com` + /// `organizations/456/services/serviceconsumermanagement.googleapis.com` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Requested size of the next page of data. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Specifies the level of detail for quota information in the response. + @$pb.TagNumber(4) + $40.QuotaView get view => $_getN(3); + @$pb.TagNumber(4) + set view($40.QuotaView v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasView() => $_has(3); + @$pb.TagNumber(4) + void clearView() => clearField(4); +} + +/// Response message for ListConsumerQuotaMetrics +class ListConsumerQuotaMetricsResponse extends $pb.GeneratedMessage { + factory ListConsumerQuotaMetricsResponse({ + $core.Iterable<$40.ConsumerQuotaMetric>? metrics, + $core.String? nextPageToken, + }) { + final $result = create(); + if (metrics != null) { + $result.metrics.addAll(metrics); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListConsumerQuotaMetricsResponse._() : super(); + factory ListConsumerQuotaMetricsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListConsumerQuotaMetricsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListConsumerQuotaMetricsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.ConsumerQuotaMetric>( + 1, _omitFieldNames ? '' : 'metrics', $pb.PbFieldType.PM, + subBuilder: $40.ConsumerQuotaMetric.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListConsumerQuotaMetricsResponse clone() => + ListConsumerQuotaMetricsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListConsumerQuotaMetricsResponse copyWith( + void Function(ListConsumerQuotaMetricsResponse) updates) => + super.copyWith( + (message) => updates(message as ListConsumerQuotaMetricsResponse)) + as ListConsumerQuotaMetricsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListConsumerQuotaMetricsResponse create() => + ListConsumerQuotaMetricsResponse._(); + ListConsumerQuotaMetricsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListConsumerQuotaMetricsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListConsumerQuotaMetricsResponse? _defaultInstance; + + /// Quota settings for the consumer, organized by quota metric. + @$pb.TagNumber(1) + $core.List<$40.ConsumerQuotaMetric> get metrics => $_getList(0); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for GetConsumerQuotaMetric +class GetConsumerQuotaMetricRequest extends $pb.GeneratedMessage { + factory GetConsumerQuotaMetricRequest({ + $core.String? name, + $40.QuotaView? view, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetConsumerQuotaMetricRequest._() : super(); + factory GetConsumerQuotaMetricRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetConsumerQuotaMetricRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetConsumerQuotaMetricRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e<$40.QuotaView>(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: $40.QuotaView.QUOTA_VIEW_UNSPECIFIED, + valueOf: $40.QuotaView.valueOf, + enumValues: $40.QuotaView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConsumerQuotaMetricRequest clone() => + GetConsumerQuotaMetricRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConsumerQuotaMetricRequest copyWith( + void Function(GetConsumerQuotaMetricRequest) updates) => + super.copyWith( + (message) => updates(message as GetConsumerQuotaMetricRequest)) + as GetConsumerQuotaMetricRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConsumerQuotaMetricRequest create() => + GetConsumerQuotaMetricRequest._(); + GetConsumerQuotaMetricRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetConsumerQuotaMetricRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetConsumerQuotaMetricRequest? _defaultInstance; + + /// The resource name of the quota limit. + /// + /// An example name would be: + /// `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Specifies the level of detail for quota information in the response. + @$pb.TagNumber(2) + $40.QuotaView get view => $_getN(1); + @$pb.TagNumber(2) + set view($40.QuotaView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); +} + +/// Request message for GetConsumerQuotaLimit +class GetConsumerQuotaLimitRequest extends $pb.GeneratedMessage { + factory GetConsumerQuotaLimitRequest({ + $core.String? name, + $40.QuotaView? view, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetConsumerQuotaLimitRequest._() : super(); + factory GetConsumerQuotaLimitRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetConsumerQuotaLimitRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetConsumerQuotaLimitRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e<$40.QuotaView>(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: $40.QuotaView.QUOTA_VIEW_UNSPECIFIED, + valueOf: $40.QuotaView.valueOf, + enumValues: $40.QuotaView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConsumerQuotaLimitRequest clone() => + GetConsumerQuotaLimitRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConsumerQuotaLimitRequest copyWith( + void Function(GetConsumerQuotaLimitRequest) updates) => + super.copyWith( + (message) => updates(message as GetConsumerQuotaLimitRequest)) + as GetConsumerQuotaLimitRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConsumerQuotaLimitRequest create() => + GetConsumerQuotaLimitRequest._(); + GetConsumerQuotaLimitRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetConsumerQuotaLimitRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetConsumerQuotaLimitRequest? _defaultInstance; + + /// The resource name of the quota limit. + /// + /// Use the quota limit resource name returned by previous + /// ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Specifies the level of detail for quota information in the response. + @$pb.TagNumber(2) + $40.QuotaView get view => $_getN(1); + @$pb.TagNumber(2) + set view($40.QuotaView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); +} + +/// Request message for CreateAdminOverride. +class CreateAdminOverrideRequest extends $pb.GeneratedMessage { + factory CreateAdminOverrideRequest({ + $core.String? parent, + $40.QuotaOverride? override, + $core.bool? force, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (override != null) { + $result.override = override; + } + if (force != null) { + $result.force = force; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + CreateAdminOverrideRequest._() : super(); + factory CreateAdminOverrideRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateAdminOverrideRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateAdminOverrideRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$40.QuotaOverride>(2, _omitFieldNames ? '' : 'override', + subBuilder: $40.QuotaOverride.create) + ..aOB(3, _omitFieldNames ? '' : 'force') + ..pc<$40.QuotaSafetyCheck>( + 4, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateAdminOverrideRequest clone() => + CreateAdminOverrideRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateAdminOverrideRequest copyWith( + void Function(CreateAdminOverrideRequest) updates) => + super.copyWith( + (message) => updates(message as CreateAdminOverrideRequest)) + as CreateAdminOverrideRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateAdminOverrideRequest create() => CreateAdminOverrideRequest._(); + CreateAdminOverrideRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateAdminOverrideRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateAdminOverrideRequest? _defaultInstance; + + /// The resource name of the parent quota limit, returned by a + /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The admin override to create. + @$pb.TagNumber(2) + $40.QuotaOverride get override => $_getN(1); + @$pb.TagNumber(2) + set override($40.QuotaOverride v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOverride() => $_has(1); + @$pb.TagNumber(2) + void clearOverride() => clearField(2); + @$pb.TagNumber(2) + $40.QuotaOverride ensureOverride() => $_ensure(1); + + /// Whether to force the creation of the quota override. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(3) + $core.bool get force => $_getBF(2); + @$pb.TagNumber(3) + set force($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasForce() => $_has(2); + @$pb.TagNumber(3) + void clearForce() => clearField(3); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(4) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(3); +} + +/// Request message for UpdateAdminOverride. +class UpdateAdminOverrideRequest extends $pb.GeneratedMessage { + factory UpdateAdminOverrideRequest({ + $core.String? name, + $40.QuotaOverride? override, + $core.bool? force, + $58.FieldMask? updateMask, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (override != null) { + $result.override = override; + } + if (force != null) { + $result.force = force; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + UpdateAdminOverrideRequest._() : super(); + factory UpdateAdminOverrideRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateAdminOverrideRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateAdminOverrideRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$40.QuotaOverride>(2, _omitFieldNames ? '' : 'override', + subBuilder: $40.QuotaOverride.create) + ..aOB(3, _omitFieldNames ? '' : 'force') + ..aOM<$58.FieldMask>(4, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..pc<$40.QuotaSafetyCheck>( + 5, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateAdminOverrideRequest clone() => + UpdateAdminOverrideRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateAdminOverrideRequest copyWith( + void Function(UpdateAdminOverrideRequest) updates) => + super.copyWith( + (message) => updates(message as UpdateAdminOverrideRequest)) + as UpdateAdminOverrideRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateAdminOverrideRequest create() => UpdateAdminOverrideRequest._(); + UpdateAdminOverrideRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateAdminOverrideRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateAdminOverrideRequest? _defaultInstance; + + /// The resource name of the override to update. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The new override. + /// Only the override_value is updated; all other fields are ignored. + @$pb.TagNumber(2) + $40.QuotaOverride get override => $_getN(1); + @$pb.TagNumber(2) + set override($40.QuotaOverride v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOverride() => $_has(1); + @$pb.TagNumber(2) + void clearOverride() => clearField(2); + @$pb.TagNumber(2) + $40.QuotaOverride ensureOverride() => $_ensure(1); + + /// Whether to force the update of the quota override. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(3) + $core.bool get force => $_getBF(2); + @$pb.TagNumber(3) + set force($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasForce() => $_has(2); + @$pb.TagNumber(3) + void clearForce() => clearField(3); + + /// Update only the specified fields of the override. + /// If unset, all fields will be updated. + @$pb.TagNumber(4) + $58.FieldMask get updateMask => $_getN(3); + @$pb.TagNumber(4) + set updateMask($58.FieldMask v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasUpdateMask() => $_has(3); + @$pb.TagNumber(4) + void clearUpdateMask() => clearField(4); + @$pb.TagNumber(4) + $58.FieldMask ensureUpdateMask() => $_ensure(3); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(5) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(4); +} + +/// Request message for DeleteAdminOverride. +class DeleteAdminOverrideRequest extends $pb.GeneratedMessage { + factory DeleteAdminOverrideRequest({ + $core.String? name, + $core.bool? force, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (force != null) { + $result.force = force; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + DeleteAdminOverrideRequest._() : super(); + factory DeleteAdminOverrideRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteAdminOverrideRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteAdminOverrideRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOB(2, _omitFieldNames ? '' : 'force') + ..pc<$40.QuotaSafetyCheck>( + 3, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteAdminOverrideRequest clone() => + DeleteAdminOverrideRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteAdminOverrideRequest copyWith( + void Function(DeleteAdminOverrideRequest) updates) => + super.copyWith( + (message) => updates(message as DeleteAdminOverrideRequest)) + as DeleteAdminOverrideRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteAdminOverrideRequest create() => DeleteAdminOverrideRequest._(); + DeleteAdminOverrideRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteAdminOverrideRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteAdminOverrideRequest? _defaultInstance; + + /// The resource name of the override to delete. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Whether to force the deletion of the quota override. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(2) + $core.bool get force => $_getBF(1); + @$pb.TagNumber(2) + set force($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasForce() => $_has(1); + @$pb.TagNumber(2) + void clearForce() => clearField(2); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(3) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(2); +} + +/// Request message for ListAdminOverrides +class ListAdminOverridesRequest extends $pb.GeneratedMessage { + factory ListAdminOverridesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListAdminOverridesRequest._() : super(); + factory ListAdminOverridesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAdminOverridesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAdminOverridesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAdminOverridesRequest clone() => + ListAdminOverridesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAdminOverridesRequest copyWith( + void Function(ListAdminOverridesRequest) updates) => + super.copyWith((message) => updates(message as ListAdminOverridesRequest)) + as ListAdminOverridesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAdminOverridesRequest create() => ListAdminOverridesRequest._(); + ListAdminOverridesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAdminOverridesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListAdminOverridesRequest? _defaultInstance; + + /// The resource name of the parent quota limit, returned by a + /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Requested size of the next page of data. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for ListAdminOverrides. +class ListAdminOverridesResponse extends $pb.GeneratedMessage { + factory ListAdminOverridesResponse({ + $core.Iterable<$40.QuotaOverride>? overrides, + $core.String? nextPageToken, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListAdminOverridesResponse._() : super(); + factory ListAdminOverridesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAdminOverridesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAdminOverridesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.QuotaOverride>( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: $40.QuotaOverride.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAdminOverridesResponse clone() => + ListAdminOverridesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAdminOverridesResponse copyWith( + void Function(ListAdminOverridesResponse) updates) => + super.copyWith( + (message) => updates(message as ListAdminOverridesResponse)) + as ListAdminOverridesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAdminOverridesResponse create() => ListAdminOverridesResponse._(); + ListAdminOverridesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAdminOverridesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListAdminOverridesResponse? _defaultInstance; + + /// Admin overrides on this limit. + @$pb.TagNumber(1) + $core.List<$40.QuotaOverride> get overrides => $_getList(0); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Response message for BatchCreateAdminOverrides +class BatchCreateAdminOverridesResponse extends $pb.GeneratedMessage { + factory BatchCreateAdminOverridesResponse({ + $core.Iterable<$40.QuotaOverride>? overrides, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + return $result; + } + BatchCreateAdminOverridesResponse._() : super(); + factory BatchCreateAdminOverridesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchCreateAdminOverridesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchCreateAdminOverridesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.QuotaOverride>( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: $40.QuotaOverride.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchCreateAdminOverridesResponse clone() => + BatchCreateAdminOverridesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchCreateAdminOverridesResponse copyWith( + void Function(BatchCreateAdminOverridesResponse) updates) => + super.copyWith((message) => + updates(message as BatchCreateAdminOverridesResponse)) + as BatchCreateAdminOverridesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchCreateAdminOverridesResponse create() => + BatchCreateAdminOverridesResponse._(); + BatchCreateAdminOverridesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchCreateAdminOverridesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static BatchCreateAdminOverridesResponse? _defaultInstance; + + /// The overrides that were created. + @$pb.TagNumber(1) + $core.List<$40.QuotaOverride> get overrides => $_getList(0); +} + +enum ImportAdminOverridesRequest_Source { inlineSource, notSet } + +/// Request message for ImportAdminOverrides +class ImportAdminOverridesRequest extends $pb.GeneratedMessage { + factory ImportAdminOverridesRequest({ + $core.String? parent, + $40.OverrideInlineSource? inlineSource, + $core.bool? force, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (inlineSource != null) { + $result.inlineSource = inlineSource; + } + if (force != null) { + $result.force = force; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + ImportAdminOverridesRequest._() : super(); + factory ImportAdminOverridesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportAdminOverridesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, ImportAdminOverridesRequest_Source> + _ImportAdminOverridesRequest_SourceByTag = { + 2: ImportAdminOverridesRequest_Source.inlineSource, + 0: ImportAdminOverridesRequest_Source.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportAdminOverridesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..oo(0, [2]) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$40.OverrideInlineSource>(2, _omitFieldNames ? '' : 'inlineSource', + subBuilder: $40.OverrideInlineSource.create) + ..aOB(3, _omitFieldNames ? '' : 'force') + ..pc<$40.QuotaSafetyCheck>( + 4, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportAdminOverridesRequest clone() => + ImportAdminOverridesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportAdminOverridesRequest copyWith( + void Function(ImportAdminOverridesRequest) updates) => + super.copyWith( + (message) => updates(message as ImportAdminOverridesRequest)) + as ImportAdminOverridesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportAdminOverridesRequest create() => + ImportAdminOverridesRequest._(); + ImportAdminOverridesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportAdminOverridesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportAdminOverridesRequest? _defaultInstance; + + ImportAdminOverridesRequest_Source whichSource() => + _ImportAdminOverridesRequest_SourceByTag[$_whichOneof(0)]!; + void clearSource() => clearField($_whichOneof(0)); + + /// The resource name of the consumer. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The import data is specified in the request message itself + @$pb.TagNumber(2) + $40.OverrideInlineSource get inlineSource => $_getN(1); + @$pb.TagNumber(2) + set inlineSource($40.OverrideInlineSource v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasInlineSource() => $_has(1); + @$pb.TagNumber(2) + void clearInlineSource() => clearField(2); + @$pb.TagNumber(2) + $40.OverrideInlineSource ensureInlineSource() => $_ensure(1); + + /// Whether to force the creation of the quota overrides. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(3) + $core.bool get force => $_getBF(2); + @$pb.TagNumber(3) + set force($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasForce() => $_has(2); + @$pb.TagNumber(3) + void clearForce() => clearField(3); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(4) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(3); +} + +/// Response message for ImportAdminOverrides +class ImportAdminOverridesResponse extends $pb.GeneratedMessage { + factory ImportAdminOverridesResponse({ + $core.Iterable<$40.QuotaOverride>? overrides, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + return $result; + } + ImportAdminOverridesResponse._() : super(); + factory ImportAdminOverridesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportAdminOverridesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportAdminOverridesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.QuotaOverride>( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: $40.QuotaOverride.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportAdminOverridesResponse clone() => + ImportAdminOverridesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportAdminOverridesResponse copyWith( + void Function(ImportAdminOverridesResponse) updates) => + super.copyWith( + (message) => updates(message as ImportAdminOverridesResponse)) + as ImportAdminOverridesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportAdminOverridesResponse create() => + ImportAdminOverridesResponse._(); + ImportAdminOverridesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportAdminOverridesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportAdminOverridesResponse? _defaultInstance; + + /// The overrides that were created from the imported data. + @$pb.TagNumber(1) + $core.List<$40.QuotaOverride> get overrides => $_getList(0); +} + +/// Metadata message that provides information such as progress, +/// partial failures, and similar information on each GetOperation call +/// of LRO returned by ImportAdminOverrides. +class ImportAdminOverridesMetadata extends $pb.GeneratedMessage { + factory ImportAdminOverridesMetadata() => create(); + ImportAdminOverridesMetadata._() : super(); + factory ImportAdminOverridesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportAdminOverridesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportAdminOverridesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportAdminOverridesMetadata clone() => + ImportAdminOverridesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportAdminOverridesMetadata copyWith( + void Function(ImportAdminOverridesMetadata) updates) => + super.copyWith( + (message) => updates(message as ImportAdminOverridesMetadata)) + as ImportAdminOverridesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportAdminOverridesMetadata create() => + ImportAdminOverridesMetadata._(); + ImportAdminOverridesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportAdminOverridesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportAdminOverridesMetadata? _defaultInstance; +} + +/// Request message for CreateConsumerOverride. +class CreateConsumerOverrideRequest extends $pb.GeneratedMessage { + factory CreateConsumerOverrideRequest({ + $core.String? parent, + $40.QuotaOverride? override, + $core.bool? force, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (override != null) { + $result.override = override; + } + if (force != null) { + $result.force = force; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + CreateConsumerOverrideRequest._() : super(); + factory CreateConsumerOverrideRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateConsumerOverrideRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateConsumerOverrideRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$40.QuotaOverride>(2, _omitFieldNames ? '' : 'override', + subBuilder: $40.QuotaOverride.create) + ..aOB(3, _omitFieldNames ? '' : 'force') + ..pc<$40.QuotaSafetyCheck>( + 4, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateConsumerOverrideRequest clone() => + CreateConsumerOverrideRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateConsumerOverrideRequest copyWith( + void Function(CreateConsumerOverrideRequest) updates) => + super.copyWith( + (message) => updates(message as CreateConsumerOverrideRequest)) + as CreateConsumerOverrideRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateConsumerOverrideRequest create() => + CreateConsumerOverrideRequest._(); + CreateConsumerOverrideRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateConsumerOverrideRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateConsumerOverrideRequest? _defaultInstance; + + /// The resource name of the parent quota limit, returned by a + /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The override to create. + @$pb.TagNumber(2) + $40.QuotaOverride get override => $_getN(1); + @$pb.TagNumber(2) + set override($40.QuotaOverride v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOverride() => $_has(1); + @$pb.TagNumber(2) + void clearOverride() => clearField(2); + @$pb.TagNumber(2) + $40.QuotaOverride ensureOverride() => $_ensure(1); + + /// Whether to force the creation of the quota override. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(3) + $core.bool get force => $_getBF(2); + @$pb.TagNumber(3) + set force($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasForce() => $_has(2); + @$pb.TagNumber(3) + void clearForce() => clearField(3); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(4) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(3); +} + +/// Request message for UpdateConsumerOverride. +class UpdateConsumerOverrideRequest extends $pb.GeneratedMessage { + factory UpdateConsumerOverrideRequest({ + $core.String? name, + $40.QuotaOverride? override, + $core.bool? force, + $58.FieldMask? updateMask, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (override != null) { + $result.override = override; + } + if (force != null) { + $result.force = force; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + UpdateConsumerOverrideRequest._() : super(); + factory UpdateConsumerOverrideRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateConsumerOverrideRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateConsumerOverrideRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$40.QuotaOverride>(2, _omitFieldNames ? '' : 'override', + subBuilder: $40.QuotaOverride.create) + ..aOB(3, _omitFieldNames ? '' : 'force') + ..aOM<$58.FieldMask>(4, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..pc<$40.QuotaSafetyCheck>( + 5, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateConsumerOverrideRequest clone() => + UpdateConsumerOverrideRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateConsumerOverrideRequest copyWith( + void Function(UpdateConsumerOverrideRequest) updates) => + super.copyWith( + (message) => updates(message as UpdateConsumerOverrideRequest)) + as UpdateConsumerOverrideRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateConsumerOverrideRequest create() => + UpdateConsumerOverrideRequest._(); + UpdateConsumerOverrideRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateConsumerOverrideRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateConsumerOverrideRequest? _defaultInstance; + + /// The resource name of the override to update. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The new override. + /// Only the override_value is updated; all other fields are ignored. + @$pb.TagNumber(2) + $40.QuotaOverride get override => $_getN(1); + @$pb.TagNumber(2) + set override($40.QuotaOverride v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOverride() => $_has(1); + @$pb.TagNumber(2) + void clearOverride() => clearField(2); + @$pb.TagNumber(2) + $40.QuotaOverride ensureOverride() => $_ensure(1); + + /// Whether to force the update of the quota override. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(3) + $core.bool get force => $_getBF(2); + @$pb.TagNumber(3) + set force($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasForce() => $_has(2); + @$pb.TagNumber(3) + void clearForce() => clearField(3); + + /// Update only the specified fields of the override. + /// If unset, all fields will be updated. + @$pb.TagNumber(4) + $58.FieldMask get updateMask => $_getN(3); + @$pb.TagNumber(4) + set updateMask($58.FieldMask v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasUpdateMask() => $_has(3); + @$pb.TagNumber(4) + void clearUpdateMask() => clearField(4); + @$pb.TagNumber(4) + $58.FieldMask ensureUpdateMask() => $_ensure(3); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(5) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(4); +} + +/// Request message for DeleteConsumerOverride. +class DeleteConsumerOverrideRequest extends $pb.GeneratedMessage { + factory DeleteConsumerOverrideRequest({ + $core.String? name, + $core.bool? force, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (force != null) { + $result.force = force; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + DeleteConsumerOverrideRequest._() : super(); + factory DeleteConsumerOverrideRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteConsumerOverrideRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteConsumerOverrideRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOB(2, _omitFieldNames ? '' : 'force') + ..pc<$40.QuotaSafetyCheck>( + 3, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteConsumerOverrideRequest clone() => + DeleteConsumerOverrideRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteConsumerOverrideRequest copyWith( + void Function(DeleteConsumerOverrideRequest) updates) => + super.copyWith( + (message) => updates(message as DeleteConsumerOverrideRequest)) + as DeleteConsumerOverrideRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteConsumerOverrideRequest create() => + DeleteConsumerOverrideRequest._(); + DeleteConsumerOverrideRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteConsumerOverrideRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteConsumerOverrideRequest? _defaultInstance; + + /// The resource name of the override to delete. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Whether to force the deletion of the quota override. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(2) + $core.bool get force => $_getBF(1); + @$pb.TagNumber(2) + set force($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasForce() => $_has(1); + @$pb.TagNumber(2) + void clearForce() => clearField(2); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(3) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(2); +} + +/// Request message for ListConsumerOverrides +class ListConsumerOverridesRequest extends $pb.GeneratedMessage { + factory ListConsumerOverridesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListConsumerOverridesRequest._() : super(); + factory ListConsumerOverridesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListConsumerOverridesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListConsumerOverridesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListConsumerOverridesRequest clone() => + ListConsumerOverridesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListConsumerOverridesRequest copyWith( + void Function(ListConsumerOverridesRequest) updates) => + super.copyWith( + (message) => updates(message as ListConsumerOverridesRequest)) + as ListConsumerOverridesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListConsumerOverridesRequest create() => + ListConsumerOverridesRequest._(); + ListConsumerOverridesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListConsumerOverridesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListConsumerOverridesRequest? _defaultInstance; + + /// The resource name of the parent quota limit, returned by a + /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Requested size of the next page of data. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for ListConsumerOverrides. +class ListConsumerOverridesResponse extends $pb.GeneratedMessage { + factory ListConsumerOverridesResponse({ + $core.Iterable<$40.QuotaOverride>? overrides, + $core.String? nextPageToken, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListConsumerOverridesResponse._() : super(); + factory ListConsumerOverridesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListConsumerOverridesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListConsumerOverridesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.QuotaOverride>( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: $40.QuotaOverride.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListConsumerOverridesResponse clone() => + ListConsumerOverridesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListConsumerOverridesResponse copyWith( + void Function(ListConsumerOverridesResponse) updates) => + super.copyWith( + (message) => updates(message as ListConsumerOverridesResponse)) + as ListConsumerOverridesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListConsumerOverridesResponse create() => + ListConsumerOverridesResponse._(); + ListConsumerOverridesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListConsumerOverridesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListConsumerOverridesResponse? _defaultInstance; + + /// Consumer overrides on this limit. + @$pb.TagNumber(1) + $core.List<$40.QuotaOverride> get overrides => $_getList(0); + + /// Token identifying which result to start with; returned by a previous list + /// call. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Response message for BatchCreateConsumerOverrides +class BatchCreateConsumerOverridesResponse extends $pb.GeneratedMessage { + factory BatchCreateConsumerOverridesResponse({ + $core.Iterable<$40.QuotaOverride>? overrides, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + return $result; + } + BatchCreateConsumerOverridesResponse._() : super(); + factory BatchCreateConsumerOverridesResponse.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchCreateConsumerOverridesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchCreateConsumerOverridesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.QuotaOverride>( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: $40.QuotaOverride.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchCreateConsumerOverridesResponse clone() => + BatchCreateConsumerOverridesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchCreateConsumerOverridesResponse copyWith( + void Function(BatchCreateConsumerOverridesResponse) updates) => + super.copyWith((message) => + updates(message as BatchCreateConsumerOverridesResponse)) + as BatchCreateConsumerOverridesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchCreateConsumerOverridesResponse create() => + BatchCreateConsumerOverridesResponse._(); + BatchCreateConsumerOverridesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchCreateConsumerOverridesResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + BatchCreateConsumerOverridesResponse>(create); + static BatchCreateConsumerOverridesResponse? _defaultInstance; + + /// The overrides that were created. + @$pb.TagNumber(1) + $core.List<$40.QuotaOverride> get overrides => $_getList(0); +} + +enum ImportConsumerOverridesRequest_Source { inlineSource, notSet } + +/// Request message for ImportConsumerOverrides +class ImportConsumerOverridesRequest extends $pb.GeneratedMessage { + factory ImportConsumerOverridesRequest({ + $core.String? parent, + $40.OverrideInlineSource? inlineSource, + $core.bool? force, + $core.Iterable<$40.QuotaSafetyCheck>? forceOnly, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (inlineSource != null) { + $result.inlineSource = inlineSource; + } + if (force != null) { + $result.force = force; + } + if (forceOnly != null) { + $result.forceOnly.addAll(forceOnly); + } + return $result; + } + ImportConsumerOverridesRequest._() : super(); + factory ImportConsumerOverridesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportConsumerOverridesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, ImportConsumerOverridesRequest_Source> + _ImportConsumerOverridesRequest_SourceByTag = { + 2: ImportConsumerOverridesRequest_Source.inlineSource, + 0: ImportConsumerOverridesRequest_Source.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportConsumerOverridesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..oo(0, [2]) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$40.OverrideInlineSource>(2, _omitFieldNames ? '' : 'inlineSource', + subBuilder: $40.OverrideInlineSource.create) + ..aOB(3, _omitFieldNames ? '' : 'force') + ..pc<$40.QuotaSafetyCheck>( + 4, _omitFieldNames ? '' : 'forceOnly', $pb.PbFieldType.KE, + valueOf: $40.QuotaSafetyCheck.valueOf, + enumValues: $40.QuotaSafetyCheck.values, + defaultEnumValue: $40.QuotaSafetyCheck.QUOTA_SAFETY_CHECK_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportConsumerOverridesRequest clone() => + ImportConsumerOverridesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportConsumerOverridesRequest copyWith( + void Function(ImportConsumerOverridesRequest) updates) => + super.copyWith( + (message) => updates(message as ImportConsumerOverridesRequest)) + as ImportConsumerOverridesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportConsumerOverridesRequest create() => + ImportConsumerOverridesRequest._(); + ImportConsumerOverridesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportConsumerOverridesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportConsumerOverridesRequest? _defaultInstance; + + ImportConsumerOverridesRequest_Source whichSource() => + _ImportConsumerOverridesRequest_SourceByTag[$_whichOneof(0)]!; + void clearSource() => clearField($_whichOneof(0)); + + /// The resource name of the consumer. + /// + /// An example name would be: + /// `projects/123/services/compute.googleapis.com` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The import data is specified in the request message itself + @$pb.TagNumber(2) + $40.OverrideInlineSource get inlineSource => $_getN(1); + @$pb.TagNumber(2) + set inlineSource($40.OverrideInlineSource v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasInlineSource() => $_has(1); + @$pb.TagNumber(2) + void clearInlineSource() => clearField(2); + @$pb.TagNumber(2) + $40.OverrideInlineSource ensureInlineSource() => $_ensure(1); + + /// Whether to force the creation of the quota overrides. + /// Setting the force parameter to 'true' ignores all quota safety checks that + /// would fail the request. QuotaSafetyCheck lists all such validations. + @$pb.TagNumber(3) + $core.bool get force => $_getBF(2); + @$pb.TagNumber(3) + set force($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasForce() => $_has(2); + @$pb.TagNumber(3) + void clearForce() => clearField(3); + + /// The list of quota safety checks to ignore before the override mutation. + /// Unlike 'force' field that ignores all the quota safety checks, the + /// 'force_only' field ignores only the specified checks; other checks are + /// still enforced. The 'force' and 'force_only' fields cannot both be set. + @$pb.TagNumber(4) + $core.List<$40.QuotaSafetyCheck> get forceOnly => $_getList(3); +} + +/// Response message for ImportConsumerOverrides +class ImportConsumerOverridesResponse extends $pb.GeneratedMessage { + factory ImportConsumerOverridesResponse({ + $core.Iterable<$40.QuotaOverride>? overrides, + }) { + final $result = create(); + if (overrides != null) { + $result.overrides.addAll(overrides); + } + return $result; + } + ImportConsumerOverridesResponse._() : super(); + factory ImportConsumerOverridesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportConsumerOverridesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportConsumerOverridesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.QuotaOverride>( + 1, _omitFieldNames ? '' : 'overrides', $pb.PbFieldType.PM, + subBuilder: $40.QuotaOverride.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportConsumerOverridesResponse clone() => + ImportConsumerOverridesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportConsumerOverridesResponse copyWith( + void Function(ImportConsumerOverridesResponse) updates) => + super.copyWith( + (message) => updates(message as ImportConsumerOverridesResponse)) + as ImportConsumerOverridesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportConsumerOverridesResponse create() => + ImportConsumerOverridesResponse._(); + ImportConsumerOverridesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportConsumerOverridesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ImportConsumerOverridesResponse? _defaultInstance; + + /// The overrides that were created from the imported data. + @$pb.TagNumber(1) + $core.List<$40.QuotaOverride> get overrides => $_getList(0); +} + +/// Metadata message that provides information such as progress, +/// partial failures, and similar information on each GetOperation call +/// of LRO returned by ImportConsumerOverrides. +class ImportConsumerOverridesMetadata extends $pb.GeneratedMessage { + factory ImportConsumerOverridesMetadata() => create(); + ImportConsumerOverridesMetadata._() : super(); + factory ImportConsumerOverridesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportConsumerOverridesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportConsumerOverridesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportConsumerOverridesMetadata clone() => + ImportConsumerOverridesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportConsumerOverridesMetadata copyWith( + void Function(ImportConsumerOverridesMetadata) updates) => + super.copyWith( + (message) => updates(message as ImportConsumerOverridesMetadata)) + as ImportConsumerOverridesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportConsumerOverridesMetadata create() => + ImportConsumerOverridesMetadata._(); + ImportConsumerOverridesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportConsumerOverridesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ImportConsumerOverridesMetadata? _defaultInstance; +} + +/// Response message for ImportAdminQuotaPolicies +class ImportAdminQuotaPoliciesResponse extends $pb.GeneratedMessage { + factory ImportAdminQuotaPoliciesResponse({ + $core.Iterable<$40.AdminQuotaPolicy>? policies, + }) { + final $result = create(); + if (policies != null) { + $result.policies.addAll(policies); + } + return $result; + } + ImportAdminQuotaPoliciesResponse._() : super(); + factory ImportAdminQuotaPoliciesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportAdminQuotaPoliciesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportAdminQuotaPoliciesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..pc<$40.AdminQuotaPolicy>( + 1, _omitFieldNames ? '' : 'policies', $pb.PbFieldType.PM, + subBuilder: $40.AdminQuotaPolicy.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportAdminQuotaPoliciesResponse clone() => + ImportAdminQuotaPoliciesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportAdminQuotaPoliciesResponse copyWith( + void Function(ImportAdminQuotaPoliciesResponse) updates) => + super.copyWith( + (message) => updates(message as ImportAdminQuotaPoliciesResponse)) + as ImportAdminQuotaPoliciesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportAdminQuotaPoliciesResponse create() => + ImportAdminQuotaPoliciesResponse._(); + ImportAdminQuotaPoliciesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportAdminQuotaPoliciesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ImportAdminQuotaPoliciesResponse? _defaultInstance; + + /// The policies that were created from the imported data. + @$pb.TagNumber(1) + $core.List<$40.AdminQuotaPolicy> get policies => $_getList(0); +} + +/// Metadata message that provides information such as progress, +/// partial failures, and similar information on each GetOperation call +/// of LRO returned by ImportAdminQuotaPolicies. +class ImportAdminQuotaPoliciesMetadata extends $pb.GeneratedMessage { + factory ImportAdminQuotaPoliciesMetadata() => create(); + ImportAdminQuotaPoliciesMetadata._() : super(); + factory ImportAdminQuotaPoliciesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportAdminQuotaPoliciesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportAdminQuotaPoliciesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportAdminQuotaPoliciesMetadata clone() => + ImportAdminQuotaPoliciesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportAdminQuotaPoliciesMetadata copyWith( + void Function(ImportAdminQuotaPoliciesMetadata) updates) => + super.copyWith( + (message) => updates(message as ImportAdminQuotaPoliciesMetadata)) + as ImportAdminQuotaPoliciesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportAdminQuotaPoliciesMetadata create() => + ImportAdminQuotaPoliciesMetadata._(); + ImportAdminQuotaPoliciesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportAdminQuotaPoliciesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ImportAdminQuotaPoliciesMetadata? _defaultInstance; +} + +/// Metadata message that provides information such as progress, +/// partial failures, and similar information on each GetOperation call +/// of LRO returned by CreateAdminQuotaPolicy. +class CreateAdminQuotaPolicyMetadata extends $pb.GeneratedMessage { + factory CreateAdminQuotaPolicyMetadata() => create(); + CreateAdminQuotaPolicyMetadata._() : super(); + factory CreateAdminQuotaPolicyMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateAdminQuotaPolicyMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateAdminQuotaPolicyMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateAdminQuotaPolicyMetadata clone() => + CreateAdminQuotaPolicyMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateAdminQuotaPolicyMetadata copyWith( + void Function(CreateAdminQuotaPolicyMetadata) updates) => + super.copyWith( + (message) => updates(message as CreateAdminQuotaPolicyMetadata)) + as CreateAdminQuotaPolicyMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateAdminQuotaPolicyMetadata create() => + CreateAdminQuotaPolicyMetadata._(); + CreateAdminQuotaPolicyMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateAdminQuotaPolicyMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateAdminQuotaPolicyMetadata? _defaultInstance; +} + +/// Metadata message that provides information such as progress, +/// partial failures, and similar information on each GetOperation call +/// of LRO returned by UpdateAdminQuotaPolicy. +class UpdateAdminQuotaPolicyMetadata extends $pb.GeneratedMessage { + factory UpdateAdminQuotaPolicyMetadata() => create(); + UpdateAdminQuotaPolicyMetadata._() : super(); + factory UpdateAdminQuotaPolicyMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateAdminQuotaPolicyMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateAdminQuotaPolicyMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateAdminQuotaPolicyMetadata clone() => + UpdateAdminQuotaPolicyMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateAdminQuotaPolicyMetadata copyWith( + void Function(UpdateAdminQuotaPolicyMetadata) updates) => + super.copyWith( + (message) => updates(message as UpdateAdminQuotaPolicyMetadata)) + as UpdateAdminQuotaPolicyMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateAdminQuotaPolicyMetadata create() => + UpdateAdminQuotaPolicyMetadata._(); + UpdateAdminQuotaPolicyMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateAdminQuotaPolicyMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateAdminQuotaPolicyMetadata? _defaultInstance; +} + +/// Metadata message that provides information such as progress, +/// partial failures, and similar information on each GetOperation call +/// of LRO returned by DeleteAdminQuotaPolicy. +class DeleteAdminQuotaPolicyMetadata extends $pb.GeneratedMessage { + factory DeleteAdminQuotaPolicyMetadata() => create(); + DeleteAdminQuotaPolicyMetadata._() : super(); + factory DeleteAdminQuotaPolicyMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteAdminQuotaPolicyMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteAdminQuotaPolicyMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteAdminQuotaPolicyMetadata clone() => + DeleteAdminQuotaPolicyMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteAdminQuotaPolicyMetadata copyWith( + void Function(DeleteAdminQuotaPolicyMetadata) updates) => + super.copyWith( + (message) => updates(message as DeleteAdminQuotaPolicyMetadata)) + as DeleteAdminQuotaPolicyMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteAdminQuotaPolicyMetadata create() => + DeleteAdminQuotaPolicyMetadata._(); + DeleteAdminQuotaPolicyMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteAdminQuotaPolicyMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteAdminQuotaPolicyMetadata? _defaultInstance; +} + +/// Request message for generating service identity. +class GenerateServiceIdentityRequest extends $pb.GeneratedMessage { + factory GenerateServiceIdentityRequest({ + $core.String? parent, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + return $result; + } + GenerateServiceIdentityRequest._() : super(); + factory GenerateServiceIdentityRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateServiceIdentityRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateServiceIdentityRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateServiceIdentityRequest clone() => + GenerateServiceIdentityRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateServiceIdentityRequest copyWith( + void Function(GenerateServiceIdentityRequest) updates) => + super.copyWith( + (message) => updates(message as GenerateServiceIdentityRequest)) + as GenerateServiceIdentityRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateServiceIdentityRequest create() => + GenerateServiceIdentityRequest._(); + GenerateServiceIdentityRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateServiceIdentityRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateServiceIdentityRequest? _defaultInstance; + + /// Name of the consumer and service to generate an identity for. + /// + /// The `GenerateServiceIdentity` methods currently support projects, folders, + /// organizations. + /// + /// Example parents would be: + /// `projects/123/services/example.googleapis.com` + /// `folders/123/services/example.googleapis.com` + /// `organizations/123/services/example.googleapis.com` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); +} + +/// Response message for getting service identity. +class GetServiceIdentityResponse extends $pb.GeneratedMessage { + factory GetServiceIdentityResponse({ + $40.ServiceIdentity? identity, + GetServiceIdentityResponse_IdentityState? state, + }) { + final $result = create(); + if (identity != null) { + $result.identity = identity; + } + if (state != null) { + $result.state = state; + } + return $result; + } + GetServiceIdentityResponse._() : super(); + factory GetServiceIdentityResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceIdentityResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceIdentityResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..aOM<$40.ServiceIdentity>(1, _omitFieldNames ? '' : 'identity', + subBuilder: $40.ServiceIdentity.create) + ..e( + 2, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: + GetServiceIdentityResponse_IdentityState.IDENTITY_STATE_UNSPECIFIED, + valueOf: GetServiceIdentityResponse_IdentityState.valueOf, + enumValues: GetServiceIdentityResponse_IdentityState.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceIdentityResponse clone() => + GetServiceIdentityResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceIdentityResponse copyWith( + void Function(GetServiceIdentityResponse) updates) => + super.copyWith( + (message) => updates(message as GetServiceIdentityResponse)) + as GetServiceIdentityResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceIdentityResponse create() => GetServiceIdentityResponse._(); + GetServiceIdentityResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceIdentityResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceIdentityResponse? _defaultInstance; + + /// Service identity that service producer can use to access consumer + /// resources. If exists is true, it contains email and unique_id. If exists is + /// false, it contains pre-constructed email and empty unique_id. + @$pb.TagNumber(1) + $40.ServiceIdentity get identity => $_getN(0); + @$pb.TagNumber(1) + set identity($40.ServiceIdentity v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasIdentity() => $_has(0); + @$pb.TagNumber(1) + void clearIdentity() => clearField(1); + @$pb.TagNumber(1) + $40.ServiceIdentity ensureIdentity() => $_ensure(0); + + /// Service identity state. + @$pb.TagNumber(2) + GetServiceIdentityResponse_IdentityState get state => $_getN(1); + @$pb.TagNumber(2) + set state(GetServiceIdentityResponse_IdentityState v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasState() => $_has(1); + @$pb.TagNumber(2) + void clearState() => clearField(2); +} + +/// Metadata for the `GetServiceIdentity` method. +class GetServiceIdentityMetadata extends $pb.GeneratedMessage { + factory GetServiceIdentityMetadata() => create(); + GetServiceIdentityMetadata._() : super(); + factory GetServiceIdentityMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceIdentityMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceIdentityMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.api.serviceusage.v1beta1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceIdentityMetadata clone() => + GetServiceIdentityMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceIdentityMetadata copyWith( + void Function(GetServiceIdentityMetadata) updates) => + super.copyWith( + (message) => updates(message as GetServiceIdentityMetadata)) + as GetServiceIdentityMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceIdentityMetadata create() => GetServiceIdentityMetadata._(); + GetServiceIdentityMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceIdentityMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceIdentityMetadata? _defaultInstance; +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbenum.dart new file mode 100644 index 00000000..82811143 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbenum.dart @@ -0,0 +1,40 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Enum for service identity state. +class GetServiceIdentityResponse_IdentityState extends $pb.ProtobufEnum { + static const GetServiceIdentityResponse_IdentityState + IDENTITY_STATE_UNSPECIFIED = GetServiceIdentityResponse_IdentityState._( + 0, _omitEnumNames ? '' : 'IDENTITY_STATE_UNSPECIFIED'); + static const GetServiceIdentityResponse_IdentityState ACTIVE = + GetServiceIdentityResponse_IdentityState._( + 1, _omitEnumNames ? '' : 'ACTIVE'); + + static const $core.List values = + [ + IDENTITY_STATE_UNSPECIFIED, + ACTIVE, + ]; + + static final $core.Map<$core.int, GetServiceIdentityResponse_IdentityState> + _byValue = $pb.ProtobufEnum.initByValue(values); + static GetServiceIdentityResponse_IdentityState? valueOf($core.int value) => + _byValue[value]; + + const GetServiceIdentityResponse_IdentityState._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbgrpc.dart new file mode 100644 index 00000000..803df0d6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbgrpc.dart @@ -0,0 +1,571 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../longrunning/operations.pb.dart' as $0; +import 'resources.pb.dart' as $40; +import 'serviceusage.pb.dart' as $39; + +export 'serviceusage.pb.dart'; + +@$pb.GrpcServiceName('google.api.serviceusage.v1beta1.ServiceUsage') +class ServiceUsageClient extends $grpc.Client { + static final _$enableService = + $grpc.ClientMethod<$39.EnableServiceRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/EnableService', + ($39.EnableServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$disableService = + $grpc.ClientMethod<$39.DisableServiceRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/DisableService', + ($39.DisableServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$getService = + $grpc.ClientMethod<$39.GetServiceRequest, $40.Service>( + '/google.api.serviceusage.v1beta1.ServiceUsage/GetService', + ($39.GetServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $40.Service.fromBuffer(value)); + static final _$listServices = + $grpc.ClientMethod<$39.ListServicesRequest, $39.ListServicesResponse>( + '/google.api.serviceusage.v1beta1.ServiceUsage/ListServices', + ($39.ListServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $39.ListServicesResponse.fromBuffer(value)); + static final _$batchEnableServices = + $grpc.ClientMethod<$39.BatchEnableServicesRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/BatchEnableServices', + ($39.BatchEnableServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listConsumerQuotaMetrics = $grpc.ClientMethod< + $39.ListConsumerQuotaMetricsRequest, + $39.ListConsumerQuotaMetricsResponse>( + '/google.api.serviceusage.v1beta1.ServiceUsage/ListConsumerQuotaMetrics', + ($39.ListConsumerQuotaMetricsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $39.ListConsumerQuotaMetricsResponse.fromBuffer(value)); + static final _$getConsumerQuotaMetric = $grpc.ClientMethod< + $39.GetConsumerQuotaMetricRequest, $40.ConsumerQuotaMetric>( + '/google.api.serviceusage.v1beta1.ServiceUsage/GetConsumerQuotaMetric', + ($39.GetConsumerQuotaMetricRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $40.ConsumerQuotaMetric.fromBuffer(value)); + static final _$getConsumerQuotaLimit = $grpc.ClientMethod< + $39.GetConsumerQuotaLimitRequest, $40.ConsumerQuotaLimit>( + '/google.api.serviceusage.v1beta1.ServiceUsage/GetConsumerQuotaLimit', + ($39.GetConsumerQuotaLimitRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $40.ConsumerQuotaLimit.fromBuffer(value)); + static final _$createAdminOverride = + $grpc.ClientMethod<$39.CreateAdminOverrideRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/CreateAdminOverride', + ($39.CreateAdminOverrideRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateAdminOverride = + $grpc.ClientMethod<$39.UpdateAdminOverrideRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/UpdateAdminOverride', + ($39.UpdateAdminOverrideRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteAdminOverride = + $grpc.ClientMethod<$39.DeleteAdminOverrideRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/DeleteAdminOverride', + ($39.DeleteAdminOverrideRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listAdminOverrides = $grpc.ClientMethod< + $39.ListAdminOverridesRequest, $39.ListAdminOverridesResponse>( + '/google.api.serviceusage.v1beta1.ServiceUsage/ListAdminOverrides', + ($39.ListAdminOverridesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $39.ListAdminOverridesResponse.fromBuffer(value)); + static final _$importAdminOverrides = + $grpc.ClientMethod<$39.ImportAdminOverridesRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/ImportAdminOverrides', + ($39.ImportAdminOverridesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$createConsumerOverride = $grpc.ClientMethod< + $39.CreateConsumerOverrideRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/CreateConsumerOverride', + ($39.CreateConsumerOverrideRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateConsumerOverride = $grpc.ClientMethod< + $39.UpdateConsumerOverrideRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/UpdateConsumerOverride', + ($39.UpdateConsumerOverrideRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteConsumerOverride = $grpc.ClientMethod< + $39.DeleteConsumerOverrideRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/DeleteConsumerOverride', + ($39.DeleteConsumerOverrideRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listConsumerOverrides = $grpc.ClientMethod< + $39.ListConsumerOverridesRequest, $39.ListConsumerOverridesResponse>( + '/google.api.serviceusage.v1beta1.ServiceUsage/ListConsumerOverrides', + ($39.ListConsumerOverridesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $39.ListConsumerOverridesResponse.fromBuffer(value)); + static final _$importConsumerOverrides = $grpc.ClientMethod< + $39.ImportConsumerOverridesRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/ImportConsumerOverrides', + ($39.ImportConsumerOverridesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$generateServiceIdentity = $grpc.ClientMethod< + $39.GenerateServiceIdentityRequest, $0.Operation>( + '/google.api.serviceusage.v1beta1.ServiceUsage/GenerateServiceIdentity', + ($39.GenerateServiceIdentityRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + ServiceUsageClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.Operation> enableService( + $39.EnableServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$enableService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> disableService( + $39.DisableServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$disableService, request, options: options); + } + + $grpc.ResponseFuture<$40.Service> getService($39.GetServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getService, request, options: options); + } + + $grpc.ResponseFuture<$39.ListServicesResponse> listServices( + $39.ListServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServices, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> batchEnableServices( + $39.BatchEnableServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$batchEnableServices, request, options: options); + } + + $grpc.ResponseFuture<$39.ListConsumerQuotaMetricsResponse> + listConsumerQuotaMetrics($39.ListConsumerQuotaMetricsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listConsumerQuotaMetrics, request, + options: options); + } + + $grpc.ResponseFuture<$40.ConsumerQuotaMetric> getConsumerQuotaMetric( + $39.GetConsumerQuotaMetricRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getConsumerQuotaMetric, request, + options: options); + } + + $grpc.ResponseFuture<$40.ConsumerQuotaLimit> getConsumerQuotaLimit( + $39.GetConsumerQuotaLimitRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getConsumerQuotaLimit, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createAdminOverride( + $39.CreateAdminOverrideRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createAdminOverride, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateAdminOverride( + $39.UpdateAdminOverrideRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateAdminOverride, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteAdminOverride( + $39.DeleteAdminOverrideRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteAdminOverride, request, options: options); + } + + $grpc.ResponseFuture<$39.ListAdminOverridesResponse> listAdminOverrides( + $39.ListAdminOverridesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listAdminOverrides, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> importAdminOverrides( + $39.ImportAdminOverridesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$importAdminOverrides, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createConsumerOverride( + $39.CreateConsumerOverrideRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createConsumerOverride, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateConsumerOverride( + $39.UpdateConsumerOverrideRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateConsumerOverride, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteConsumerOverride( + $39.DeleteConsumerOverrideRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteConsumerOverride, request, + options: options); + } + + $grpc.ResponseFuture<$39.ListConsumerOverridesResponse> listConsumerOverrides( + $39.ListConsumerOverridesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listConsumerOverrides, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> importConsumerOverrides( + $39.ImportConsumerOverridesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$importConsumerOverrides, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> generateServiceIdentity( + $39.GenerateServiceIdentityRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$generateServiceIdentity, request, + options: options); + } +} + +@$pb.GrpcServiceName('google.api.serviceusage.v1beta1.ServiceUsage') +abstract class ServiceUsageServiceBase extends $grpc.Service { + $core.String get $name => 'google.api.serviceusage.v1beta1.ServiceUsage'; + + ServiceUsageServiceBase() { + $addMethod($grpc.ServiceMethod<$39.EnableServiceRequest, $0.Operation>( + 'EnableService', + enableService_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.EnableServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.DisableServiceRequest, $0.Operation>( + 'DisableService', + disableService_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.DisableServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.GetServiceRequest, $40.Service>( + 'GetService', + getService_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.GetServiceRequest.fromBuffer(value), + ($40.Service value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.ListServicesRequest, $39.ListServicesResponse>( + 'ListServices', + listServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.ListServicesRequest.fromBuffer(value), + ($39.ListServicesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.BatchEnableServicesRequest, $0.Operation>( + 'BatchEnableServices', + batchEnableServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.BatchEnableServicesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.ListConsumerQuotaMetricsRequest, + $39.ListConsumerQuotaMetricsResponse>( + 'ListConsumerQuotaMetrics', + listConsumerQuotaMetrics_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.ListConsumerQuotaMetricsRequest.fromBuffer(value), + ($39.ListConsumerQuotaMetricsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.GetConsumerQuotaMetricRequest, + $40.ConsumerQuotaMetric>( + 'GetConsumerQuotaMetric', + getConsumerQuotaMetric_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.GetConsumerQuotaMetricRequest.fromBuffer(value), + ($40.ConsumerQuotaMetric value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.GetConsumerQuotaLimitRequest, + $40.ConsumerQuotaLimit>( + 'GetConsumerQuotaLimit', + getConsumerQuotaLimit_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.GetConsumerQuotaLimitRequest.fromBuffer(value), + ($40.ConsumerQuotaLimit value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.CreateAdminOverrideRequest, $0.Operation>( + 'CreateAdminOverride', + createAdminOverride_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.CreateAdminOverrideRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.UpdateAdminOverrideRequest, $0.Operation>( + 'UpdateAdminOverride', + updateAdminOverride_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.UpdateAdminOverrideRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.DeleteAdminOverrideRequest, $0.Operation>( + 'DeleteAdminOverride', + deleteAdminOverride_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.DeleteAdminOverrideRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.ListAdminOverridesRequest, + $39.ListAdminOverridesResponse>( + 'ListAdminOverrides', + listAdminOverrides_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.ListAdminOverridesRequest.fromBuffer(value), + ($39.ListAdminOverridesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.ImportAdminOverridesRequest, $0.Operation>( + 'ImportAdminOverrides', + importAdminOverrides_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.ImportAdminOverridesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.CreateConsumerOverrideRequest, $0.Operation>( + 'CreateConsumerOverride', + createConsumerOverride_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.CreateConsumerOverrideRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.UpdateConsumerOverrideRequest, $0.Operation>( + 'UpdateConsumerOverride', + updateConsumerOverride_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.UpdateConsumerOverrideRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.DeleteConsumerOverrideRequest, $0.Operation>( + 'DeleteConsumerOverride', + deleteConsumerOverride_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.DeleteConsumerOverrideRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$39.ListConsumerOverridesRequest, + $39.ListConsumerOverridesResponse>( + 'ListConsumerOverrides', + listConsumerOverrides_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.ListConsumerOverridesRequest.fromBuffer(value), + ($39.ListConsumerOverridesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.ImportConsumerOverridesRequest, $0.Operation>( + 'ImportConsumerOverrides', + importConsumerOverrides_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.ImportConsumerOverridesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$39.GenerateServiceIdentityRequest, $0.Operation>( + 'GenerateServiceIdentity', + generateServiceIdentity_Pre, + false, + false, + ($core.List<$core.int> value) => + $39.GenerateServiceIdentityRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$0.Operation> enableService_Pre($grpc.ServiceCall call, + $async.Future<$39.EnableServiceRequest> request) async { + return enableService(call, await request); + } + + $async.Future<$0.Operation> disableService_Pre($grpc.ServiceCall call, + $async.Future<$39.DisableServiceRequest> request) async { + return disableService(call, await request); + } + + $async.Future<$40.Service> getService_Pre($grpc.ServiceCall call, + $async.Future<$39.GetServiceRequest> request) async { + return getService(call, await request); + } + + $async.Future<$39.ListServicesResponse> listServices_Pre( + $grpc.ServiceCall call, + $async.Future<$39.ListServicesRequest> request) async { + return listServices(call, await request); + } + + $async.Future<$0.Operation> batchEnableServices_Pre($grpc.ServiceCall call, + $async.Future<$39.BatchEnableServicesRequest> request) async { + return batchEnableServices(call, await request); + } + + $async.Future<$39.ListConsumerQuotaMetricsResponse> + listConsumerQuotaMetrics_Pre($grpc.ServiceCall call, + $async.Future<$39.ListConsumerQuotaMetricsRequest> request) async { + return listConsumerQuotaMetrics(call, await request); + } + + $async.Future<$40.ConsumerQuotaMetric> getConsumerQuotaMetric_Pre( + $grpc.ServiceCall call, + $async.Future<$39.GetConsumerQuotaMetricRequest> request) async { + return getConsumerQuotaMetric(call, await request); + } + + $async.Future<$40.ConsumerQuotaLimit> getConsumerQuotaLimit_Pre( + $grpc.ServiceCall call, + $async.Future<$39.GetConsumerQuotaLimitRequest> request) async { + return getConsumerQuotaLimit(call, await request); + } + + $async.Future<$0.Operation> createAdminOverride_Pre($grpc.ServiceCall call, + $async.Future<$39.CreateAdminOverrideRequest> request) async { + return createAdminOverride(call, await request); + } + + $async.Future<$0.Operation> updateAdminOverride_Pre($grpc.ServiceCall call, + $async.Future<$39.UpdateAdminOverrideRequest> request) async { + return updateAdminOverride(call, await request); + } + + $async.Future<$0.Operation> deleteAdminOverride_Pre($grpc.ServiceCall call, + $async.Future<$39.DeleteAdminOverrideRequest> request) async { + return deleteAdminOverride(call, await request); + } + + $async.Future<$39.ListAdminOverridesResponse> listAdminOverrides_Pre( + $grpc.ServiceCall call, + $async.Future<$39.ListAdminOverridesRequest> request) async { + return listAdminOverrides(call, await request); + } + + $async.Future<$0.Operation> importAdminOverrides_Pre($grpc.ServiceCall call, + $async.Future<$39.ImportAdminOverridesRequest> request) async { + return importAdminOverrides(call, await request); + } + + $async.Future<$0.Operation> createConsumerOverride_Pre($grpc.ServiceCall call, + $async.Future<$39.CreateConsumerOverrideRequest> request) async { + return createConsumerOverride(call, await request); + } + + $async.Future<$0.Operation> updateConsumerOverride_Pre($grpc.ServiceCall call, + $async.Future<$39.UpdateConsumerOverrideRequest> request) async { + return updateConsumerOverride(call, await request); + } + + $async.Future<$0.Operation> deleteConsumerOverride_Pre($grpc.ServiceCall call, + $async.Future<$39.DeleteConsumerOverrideRequest> request) async { + return deleteConsumerOverride(call, await request); + } + + $async.Future<$39.ListConsumerOverridesResponse> listConsumerOverrides_Pre( + $grpc.ServiceCall call, + $async.Future<$39.ListConsumerOverridesRequest> request) async { + return listConsumerOverrides(call, await request); + } + + $async.Future<$0.Operation> importConsumerOverrides_Pre( + $grpc.ServiceCall call, + $async.Future<$39.ImportConsumerOverridesRequest> request) async { + return importConsumerOverrides(call, await request); + } + + $async.Future<$0.Operation> generateServiceIdentity_Pre( + $grpc.ServiceCall call, + $async.Future<$39.GenerateServiceIdentityRequest> request) async { + return generateServiceIdentity(call, await request); + } + + $async.Future<$0.Operation> enableService( + $grpc.ServiceCall call, $39.EnableServiceRequest request); + $async.Future<$0.Operation> disableService( + $grpc.ServiceCall call, $39.DisableServiceRequest request); + $async.Future<$40.Service> getService( + $grpc.ServiceCall call, $39.GetServiceRequest request); + $async.Future<$39.ListServicesResponse> listServices( + $grpc.ServiceCall call, $39.ListServicesRequest request); + $async.Future<$0.Operation> batchEnableServices( + $grpc.ServiceCall call, $39.BatchEnableServicesRequest request); + $async.Future<$39.ListConsumerQuotaMetricsResponse> listConsumerQuotaMetrics( + $grpc.ServiceCall call, $39.ListConsumerQuotaMetricsRequest request); + $async.Future<$40.ConsumerQuotaMetric> getConsumerQuotaMetric( + $grpc.ServiceCall call, $39.GetConsumerQuotaMetricRequest request); + $async.Future<$40.ConsumerQuotaLimit> getConsumerQuotaLimit( + $grpc.ServiceCall call, $39.GetConsumerQuotaLimitRequest request); + $async.Future<$0.Operation> createAdminOverride( + $grpc.ServiceCall call, $39.CreateAdminOverrideRequest request); + $async.Future<$0.Operation> updateAdminOverride( + $grpc.ServiceCall call, $39.UpdateAdminOverrideRequest request); + $async.Future<$0.Operation> deleteAdminOverride( + $grpc.ServiceCall call, $39.DeleteAdminOverrideRequest request); + $async.Future<$39.ListAdminOverridesResponse> listAdminOverrides( + $grpc.ServiceCall call, $39.ListAdminOverridesRequest request); + $async.Future<$0.Operation> importAdminOverrides( + $grpc.ServiceCall call, $39.ImportAdminOverridesRequest request); + $async.Future<$0.Operation> createConsumerOverride( + $grpc.ServiceCall call, $39.CreateConsumerOverrideRequest request); + $async.Future<$0.Operation> updateConsumerOverride( + $grpc.ServiceCall call, $39.UpdateConsumerOverrideRequest request); + $async.Future<$0.Operation> deleteConsumerOverride( + $grpc.ServiceCall call, $39.DeleteConsumerOverrideRequest request); + $async.Future<$39.ListConsumerOverridesResponse> listConsumerOverrides( + $grpc.ServiceCall call, $39.ListConsumerOverridesRequest request); + $async.Future<$0.Operation> importConsumerOverrides( + $grpc.ServiceCall call, $39.ImportConsumerOverridesRequest request); + $async.Future<$0.Operation> generateServiceIdentity( + $grpc.ServiceCall call, $39.GenerateServiceIdentityRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbjson.dart new file mode 100644 index 00000000..f9d64ee7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/serviceusage/v1beta1/serviceusage.pbjson.dart @@ -0,0 +1,777 @@ +// +// Generated code. Do not modify. +// source: google/api/serviceusage/v1beta1/serviceusage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use enableServiceRequestDescriptor instead') +const EnableServiceRequest$json = { + '1': 'EnableServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `EnableServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableServiceRequestDescriptor = $convert + .base64Decode('ChRFbmFibGVTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use disableServiceRequestDescriptor instead') +const DisableServiceRequest$json = { + '1': 'DisableServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DisableServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List disableServiceRequestDescriptor = + $convert.base64Decode( + 'ChVEaXNhYmxlU2VydmljZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use getServiceRequestDescriptor instead') +const GetServiceRequest$json = { + '1': 'GetServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceRequestDescriptor = $convert + .base64Decode('ChFHZXRTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use listServicesRequestDescriptor instead') +const ListServicesRequest$json = { + '1': 'ListServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'filter', '3': 4, '4': 1, '5': 9, '10': 'filter'}, + ], +}; + +/// Descriptor for `ListServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0U2VydmljZXNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCXBhZ2Vfc2' + 'l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2VuEhYKBmZp' + 'bHRlchgEIAEoCVIGZmlsdGVy'); + +@$core.Deprecated('Use listServicesResponseDescriptor instead') +const ListServicesResponse$json = { + '1': 'ListServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.Service', + '10': 'services' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0U2VydmljZXNSZXNwb25zZRJECghzZXJ2aWNlcxgBIAMoCzIoLmdvb2dsZS5hcGkuc2' + 'VydmljZXVzYWdlLnYxYmV0YTEuU2VydmljZVIIc2VydmljZXMSJgoPbmV4dF9wYWdlX3Rva2Vu' + 'GAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use batchEnableServicesRequestDescriptor instead') +const BatchEnableServicesRequest$json = { + '1': 'BatchEnableServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'service_ids', '3': 2, '4': 3, '5': 9, '10': 'serviceIds'}, + ], +}; + +/// Descriptor for `BatchEnableServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchEnableServicesRequestDescriptor = + $convert.base64Decode( + 'ChpCYXRjaEVuYWJsZVNlcnZpY2VzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIfCg' + 'tzZXJ2aWNlX2lkcxgCIAMoCVIKc2VydmljZUlkcw=='); + +@$core.Deprecated('Use listConsumerQuotaMetricsRequestDescriptor instead') +const ListConsumerQuotaMetricsRequest$json = { + '1': 'ListConsumerQuotaMetricsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + { + '1': 'view', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `ListConsumerQuotaMetricsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listConsumerQuotaMetricsRequestDescriptor = + $convert.base64Decode( + 'Ch9MaXN0Q29uc3VtZXJRdW90YU1ldHJpY3NSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW' + '50EhsKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFn' + 'ZVRva2VuEj4KBHZpZXcYBCABKA4yKi5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLl' + 'F1b3RhVmlld1IEdmlldw=='); + +@$core.Deprecated('Use listConsumerQuotaMetricsResponseDescriptor instead') +const ListConsumerQuotaMetricsResponse$json = { + '1': 'ListConsumerQuotaMetricsResponse', + '2': [ + { + '1': 'metrics', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.ConsumerQuotaMetric', + '10': 'metrics' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListConsumerQuotaMetricsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listConsumerQuotaMetricsResponseDescriptor = + $convert.base64Decode( + 'CiBMaXN0Q29uc3VtZXJRdW90YU1ldHJpY3NSZXNwb25zZRJOCgdtZXRyaWNzGAEgAygLMjQuZ2' + '9vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRhMS5Db25zdW1lclF1b3RhTWV0cmljUgdtZXRy' + 'aWNzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getConsumerQuotaMetricRequestDescriptor instead') +const GetConsumerQuotaMetricRequest$json = { + '1': 'GetConsumerQuotaMetricRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `GetConsumerQuotaMetricRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getConsumerQuotaMetricRequestDescriptor = + $convert.base64Decode( + 'Ch1HZXRDb25zdW1lclF1b3RhTWV0cmljUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEj4KBH' + 'ZpZXcYAiABKA4yKi5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhVmlld1IE' + 'dmlldw=='); + +@$core.Deprecated('Use getConsumerQuotaLimitRequestDescriptor instead') +const GetConsumerQuotaLimitRequest$json = { + '1': 'GetConsumerQuotaLimitRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `GetConsumerQuotaLimitRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getConsumerQuotaLimitRequestDescriptor = + $convert.base64Decode( + 'ChxHZXRDb25zdW1lclF1b3RhTGltaXRSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUSPgoEdm' + 'lldxgCIAEoDjIqLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFWaWV3UgR2' + 'aWV3'); + +@$core.Deprecated('Use createAdminOverrideRequestDescriptor instead') +const CreateAdminOverrideRequest$json = { + '1': 'CreateAdminOverrideRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'override', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'override' + }, + {'1': 'force', '3': 3, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'force_only', + '3': 4, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], +}; + +/// Descriptor for `CreateAdminOverrideRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createAdminOverrideRequestDescriptor = $convert.base64Decode( + 'ChpDcmVhdGVBZG1pbk92ZXJyaWRlUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBJKCg' + 'hvdmVycmlkZRgCIAEoCzIuLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFP' + 'dmVycmlkZVIIb3ZlcnJpZGUSFAoFZm9yY2UYAyABKAhSBWZvcmNlElAKCmZvcmNlX29ubHkYBC' + 'ADKA4yMS5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhU2FmZXR5Q2hlY2tS' + 'CWZvcmNlT25seQ=='); + +@$core.Deprecated('Use updateAdminOverrideRequestDescriptor instead') +const UpdateAdminOverrideRequest$json = { + '1': 'UpdateAdminOverrideRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'override', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'override' + }, + {'1': 'force', '3': 3, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'update_mask', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + { + '1': 'force_only', + '3': 5, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], +}; + +/// Descriptor for `UpdateAdminOverrideRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateAdminOverrideRequestDescriptor = $convert.base64Decode( + 'ChpVcGRhdGVBZG1pbk92ZXJyaWRlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEkoKCG92ZX' + 'JyaWRlGAIgASgLMi4uZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRhMS5RdW90YU92ZXJy' + 'aWRlUghvdmVycmlkZRIUCgVmb3JjZRgDIAEoCFIFZm9yY2USOwoLdXBkYXRlX21hc2sYBCABKA' + 'syGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgp1cGRhdGVNYXNrElAKCmZvcmNlX29ubHkY' + 'BSADKA4yMS5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhU2FmZXR5Q2hlY2' + 'tSCWZvcmNlT25seQ=='); + +@$core.Deprecated('Use deleteAdminOverrideRequestDescriptor instead') +const DeleteAdminOverrideRequest$json = { + '1': 'DeleteAdminOverrideRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'force', '3': 2, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'force_only', + '3': 3, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], +}; + +/// Descriptor for `DeleteAdminOverrideRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteAdminOverrideRequestDescriptor = + $convert.base64Decode( + 'ChpEZWxldGVBZG1pbk92ZXJyaWRlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEhQKBWZvcm' + 'NlGAIgASgIUgVmb3JjZRJQCgpmb3JjZV9vbmx5GAMgAygOMjEuZ29vZ2xlLmFwaS5zZXJ2aWNl' + 'dXNhZ2UudjFiZXRhMS5RdW90YVNhZmV0eUNoZWNrUglmb3JjZU9ubHk='); + +@$core.Deprecated('Use listAdminOverridesRequestDescriptor instead') +const ListAdminOverridesRequest$json = { + '1': 'ListAdminOverridesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListAdminOverridesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAdminOverridesRequestDescriptor = $convert.base64Decode( + 'ChlMaXN0QWRtaW5PdmVycmlkZXNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCX' + 'BhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listAdminOverridesResponseDescriptor instead') +const ListAdminOverridesResponse$json = { + '1': 'ListAdminOverridesResponse', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListAdminOverridesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAdminOverridesResponseDescriptor = + $convert.base64Decode( + 'ChpMaXN0QWRtaW5PdmVycmlkZXNSZXNwb25zZRJMCglvdmVycmlkZXMYASADKAsyLi5nb29nbG' + 'UuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhT3ZlcnJpZGVSCW92ZXJyaWRlcxImCg9u' + 'ZXh0X3BhZ2VfdG9rZW4YAiABKAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use batchCreateAdminOverridesResponseDescriptor instead') +const BatchCreateAdminOverridesResponse$json = { + '1': 'BatchCreateAdminOverridesResponse', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + ], +}; + +/// Descriptor for `BatchCreateAdminOverridesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchCreateAdminOverridesResponseDescriptor = + $convert.base64Decode( + 'CiFCYXRjaENyZWF0ZUFkbWluT3ZlcnJpZGVzUmVzcG9uc2USTAoJb3ZlcnJpZGVzGAEgAygLMi' + '4uZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRhMS5RdW90YU92ZXJyaWRlUglvdmVycmlk' + 'ZXM='); + +@$core.Deprecated('Use importAdminOverridesRequestDescriptor instead') +const ImportAdminOverridesRequest$json = { + '1': 'ImportAdminOverridesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'inline_source', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.OverrideInlineSource', + '9': 0, + '10': 'inlineSource' + }, + {'1': 'force', '3': 3, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'force_only', + '3': 4, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], + '8': [ + {'1': 'source'}, + ], +}; + +/// Descriptor for `ImportAdminOverridesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importAdminOverridesRequestDescriptor = $convert.base64Decode( + 'ChtJbXBvcnRBZG1pbk92ZXJyaWRlc1JlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYXJlbnQSXA' + 'oNaW5saW5lX3NvdXJjZRgCIAEoCzI1Lmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEu' + 'T3ZlcnJpZGVJbmxpbmVTb3VyY2VIAFIMaW5saW5lU291cmNlEhQKBWZvcmNlGAMgASgIUgVmb3' + 'JjZRJQCgpmb3JjZV9vbmx5GAQgAygOMjEuZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRh' + 'MS5RdW90YVNhZmV0eUNoZWNrUglmb3JjZU9ubHlCCAoGc291cmNl'); + +@$core.Deprecated('Use importAdminOverridesResponseDescriptor instead') +const ImportAdminOverridesResponse$json = { + '1': 'ImportAdminOverridesResponse', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + ], +}; + +/// Descriptor for `ImportAdminOverridesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importAdminOverridesResponseDescriptor = + $convert.base64Decode( + 'ChxJbXBvcnRBZG1pbk92ZXJyaWRlc1Jlc3BvbnNlEkwKCW92ZXJyaWRlcxgBIAMoCzIuLmdvb2' + 'dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFPdmVycmlkZVIJb3ZlcnJpZGVz'); + +@$core.Deprecated('Use importAdminOverridesMetadataDescriptor instead') +const ImportAdminOverridesMetadata$json = { + '1': 'ImportAdminOverridesMetadata', +}; + +/// Descriptor for `ImportAdminOverridesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importAdminOverridesMetadataDescriptor = + $convert.base64Decode('ChxJbXBvcnRBZG1pbk92ZXJyaWRlc01ldGFkYXRh'); + +@$core.Deprecated('Use createConsumerOverrideRequestDescriptor instead') +const CreateConsumerOverrideRequest$json = { + '1': 'CreateConsumerOverrideRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'override', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'override' + }, + {'1': 'force', '3': 3, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'force_only', + '3': 4, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], +}; + +/// Descriptor for `CreateConsumerOverrideRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createConsumerOverrideRequestDescriptor = $convert.base64Decode( + 'Ch1DcmVhdGVDb25zdW1lck92ZXJyaWRlUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudB' + 'JKCghvdmVycmlkZRgCIAEoCzIuLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVv' + 'dGFPdmVycmlkZVIIb3ZlcnJpZGUSFAoFZm9yY2UYAyABKAhSBWZvcmNlElAKCmZvcmNlX29ubH' + 'kYBCADKA4yMS5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhU2FmZXR5Q2hl' + 'Y2tSCWZvcmNlT25seQ=='); + +@$core.Deprecated('Use updateConsumerOverrideRequestDescriptor instead') +const UpdateConsumerOverrideRequest$json = { + '1': 'UpdateConsumerOverrideRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'override', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'override' + }, + {'1': 'force', '3': 3, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'update_mask', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + { + '1': 'force_only', + '3': 5, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], +}; + +/// Descriptor for `UpdateConsumerOverrideRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateConsumerOverrideRequestDescriptor = $convert.base64Decode( + 'Ch1VcGRhdGVDb25zdW1lck92ZXJyaWRlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEkoKCG' + '92ZXJyaWRlGAIgASgLMi4uZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRhMS5RdW90YU92' + 'ZXJyaWRlUghvdmVycmlkZRIUCgVmb3JjZRgDIAEoCFIFZm9yY2USOwoLdXBkYXRlX21hc2sYBC' + 'ABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgp1cGRhdGVNYXNrElAKCmZvcmNlX29u' + 'bHkYBSADKA4yMS5nb29nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhU2FmZXR5Q2' + 'hlY2tSCWZvcmNlT25seQ=='); + +@$core.Deprecated('Use deleteConsumerOverrideRequestDescriptor instead') +const DeleteConsumerOverrideRequest$json = { + '1': 'DeleteConsumerOverrideRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'force', '3': 2, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'force_only', + '3': 3, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], +}; + +/// Descriptor for `DeleteConsumerOverrideRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteConsumerOverrideRequestDescriptor = + $convert.base64Decode( + 'Ch1EZWxldGVDb25zdW1lck92ZXJyaWRlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEhQKBW' + 'ZvcmNlGAIgASgIUgVmb3JjZRJQCgpmb3JjZV9vbmx5GAMgAygOMjEuZ29vZ2xlLmFwaS5zZXJ2' + 'aWNldXNhZ2UudjFiZXRhMS5RdW90YVNhZmV0eUNoZWNrUglmb3JjZU9ubHk='); + +@$core.Deprecated('Use listConsumerOverridesRequestDescriptor instead') +const ListConsumerOverridesRequest$json = { + '1': 'ListConsumerOverridesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListConsumerOverridesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listConsumerOverridesRequestDescriptor = + $convert.base64Decode( + 'ChxMaXN0Q29uc3VtZXJPdmVycmlkZXNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50Eh' + 'sKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRv' + 'a2Vu'); + +@$core.Deprecated('Use listConsumerOverridesResponseDescriptor instead') +const ListConsumerOverridesResponse$json = { + '1': 'ListConsumerOverridesResponse', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListConsumerOverridesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listConsumerOverridesResponseDescriptor = + $convert.base64Decode( + 'Ch1MaXN0Q29uc3VtZXJPdmVycmlkZXNSZXNwb25zZRJMCglvdmVycmlkZXMYASADKAsyLi5nb2' + '9nbGUuYXBpLnNlcnZpY2V1c2FnZS52MWJldGExLlF1b3RhT3ZlcnJpZGVSCW92ZXJyaWRlcxIm' + 'Cg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use batchCreateConsumerOverridesResponseDescriptor instead') +const BatchCreateConsumerOverridesResponse$json = { + '1': 'BatchCreateConsumerOverridesResponse', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + ], +}; + +/// Descriptor for `BatchCreateConsumerOverridesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchCreateConsumerOverridesResponseDescriptor = + $convert.base64Decode( + 'CiRCYXRjaENyZWF0ZUNvbnN1bWVyT3ZlcnJpZGVzUmVzcG9uc2USTAoJb3ZlcnJpZGVzGAEgAy' + 'gLMi4uZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFiZXRhMS5RdW90YU92ZXJyaWRlUglvdmVy' + 'cmlkZXM='); + +@$core.Deprecated('Use importConsumerOverridesRequestDescriptor instead') +const ImportConsumerOverridesRequest$json = { + '1': 'ImportConsumerOverridesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'inline_source', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.OverrideInlineSource', + '9': 0, + '10': 'inlineSource' + }, + {'1': 'force', '3': 3, '4': 1, '5': 8, '10': 'force'}, + { + '1': 'force_only', + '3': 4, + '4': 3, + '5': 14, + '6': '.google.api.serviceusage.v1beta1.QuotaSafetyCheck', + '10': 'forceOnly' + }, + ], + '8': [ + {'1': 'source'}, + ], +}; + +/// Descriptor for `ImportConsumerOverridesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importConsumerOverridesRequestDescriptor = $convert.base64Decode( + 'Ch5JbXBvcnRDb25zdW1lck92ZXJyaWRlc1JlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYXJlbn' + 'QSXAoNaW5saW5lX3NvdXJjZRgCIAEoCzI1Lmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0' + 'YTEuT3ZlcnJpZGVJbmxpbmVTb3VyY2VIAFIMaW5saW5lU291cmNlEhQKBWZvcmNlGAMgASgIUg' + 'Vmb3JjZRJQCgpmb3JjZV9vbmx5GAQgAygOMjEuZ29vZ2xlLmFwaS5zZXJ2aWNldXNhZ2UudjFi' + 'ZXRhMS5RdW90YVNhZmV0eUNoZWNrUglmb3JjZU9ubHlCCAoGc291cmNl'); + +@$core.Deprecated('Use importConsumerOverridesResponseDescriptor instead') +const ImportConsumerOverridesResponse$json = { + '1': 'ImportConsumerOverridesResponse', + '2': [ + { + '1': 'overrides', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.QuotaOverride', + '10': 'overrides' + }, + ], +}; + +/// Descriptor for `ImportConsumerOverridesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importConsumerOverridesResponseDescriptor = + $convert.base64Decode( + 'Ch9JbXBvcnRDb25zdW1lck92ZXJyaWRlc1Jlc3BvbnNlEkwKCW92ZXJyaWRlcxgBIAMoCzIuLm' + 'dvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuUXVvdGFPdmVycmlkZVIJb3ZlcnJpZGVz'); + +@$core.Deprecated('Use importConsumerOverridesMetadataDescriptor instead') +const ImportConsumerOverridesMetadata$json = { + '1': 'ImportConsumerOverridesMetadata', +}; + +/// Descriptor for `ImportConsumerOverridesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importConsumerOverridesMetadataDescriptor = + $convert.base64Decode('Ch9JbXBvcnRDb25zdW1lck92ZXJyaWRlc01ldGFkYXRh'); + +@$core.Deprecated('Use importAdminQuotaPoliciesResponseDescriptor instead') +const ImportAdminQuotaPoliciesResponse$json = { + '1': 'ImportAdminQuotaPoliciesResponse', + '2': [ + { + '1': 'policies', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.AdminQuotaPolicy', + '10': 'policies' + }, + ], +}; + +/// Descriptor for `ImportAdminQuotaPoliciesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importAdminQuotaPoliciesResponseDescriptor = + $convert.base64Decode( + 'CiBJbXBvcnRBZG1pblF1b3RhUG9saWNpZXNSZXNwb25zZRJNCghwb2xpY2llcxgBIAMoCzIxLm' + 'dvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuQWRtaW5RdW90YVBvbGljeVIIcG9saWNp' + 'ZXM='); + +@$core.Deprecated('Use importAdminQuotaPoliciesMetadataDescriptor instead') +const ImportAdminQuotaPoliciesMetadata$json = { + '1': 'ImportAdminQuotaPoliciesMetadata', +}; + +/// Descriptor for `ImportAdminQuotaPoliciesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importAdminQuotaPoliciesMetadataDescriptor = + $convert.base64Decode('CiBJbXBvcnRBZG1pblF1b3RhUG9saWNpZXNNZXRhZGF0YQ=='); + +@$core.Deprecated('Use createAdminQuotaPolicyMetadataDescriptor instead') +const CreateAdminQuotaPolicyMetadata$json = { + '1': 'CreateAdminQuotaPolicyMetadata', +}; + +/// Descriptor for `CreateAdminQuotaPolicyMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createAdminQuotaPolicyMetadataDescriptor = + $convert.base64Decode('Ch5DcmVhdGVBZG1pblF1b3RhUG9saWN5TWV0YWRhdGE='); + +@$core.Deprecated('Use updateAdminQuotaPolicyMetadataDescriptor instead') +const UpdateAdminQuotaPolicyMetadata$json = { + '1': 'UpdateAdminQuotaPolicyMetadata', +}; + +/// Descriptor for `UpdateAdminQuotaPolicyMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateAdminQuotaPolicyMetadataDescriptor = + $convert.base64Decode('Ch5VcGRhdGVBZG1pblF1b3RhUG9saWN5TWV0YWRhdGE='); + +@$core.Deprecated('Use deleteAdminQuotaPolicyMetadataDescriptor instead') +const DeleteAdminQuotaPolicyMetadata$json = { + '1': 'DeleteAdminQuotaPolicyMetadata', +}; + +/// Descriptor for `DeleteAdminQuotaPolicyMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteAdminQuotaPolicyMetadataDescriptor = + $convert.base64Decode('Ch5EZWxldGVBZG1pblF1b3RhUG9saWN5TWV0YWRhdGE='); + +@$core.Deprecated('Use generateServiceIdentityRequestDescriptor instead') +const GenerateServiceIdentityRequest$json = { + '1': 'GenerateServiceIdentityRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + ], +}; + +/// Descriptor for `GenerateServiceIdentityRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateServiceIdentityRequestDescriptor = + $convert.base64Decode( + 'Ch5HZW5lcmF0ZVNlcnZpY2VJZGVudGl0eVJlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYXJlbn' + 'Q='); + +@$core.Deprecated('Use getServiceIdentityResponseDescriptor instead') +const GetServiceIdentityResponse$json = { + '1': 'GetServiceIdentityResponse', + '2': [ + { + '1': 'identity', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.api.serviceusage.v1beta1.ServiceIdentity', + '10': 'identity' + }, + { + '1': 'state', + '3': 2, + '4': 1, + '5': 14, + '6': + '.google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState', + '10': 'state' + }, + ], + '4': [GetServiceIdentityResponse_IdentityState$json], +}; + +@$core.Deprecated('Use getServiceIdentityResponseDescriptor instead') +const GetServiceIdentityResponse_IdentityState$json = { + '1': 'IdentityState', + '2': [ + {'1': 'IDENTITY_STATE_UNSPECIFIED', '2': 0}, + {'1': 'ACTIVE', '2': 1}, + ], +}; + +/// Descriptor for `GetServiceIdentityResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceIdentityResponseDescriptor = $convert.base64Decode( + 'ChpHZXRTZXJ2aWNlSWRlbnRpdHlSZXNwb25zZRJMCghpZGVudGl0eRgBIAEoCzIwLmdvb2dsZS' + '5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuU2VydmljZUlkZW50aXR5UghpZGVudGl0eRJfCgVz' + 'dGF0ZRgCIAEoDjJJLmdvb2dsZS5hcGkuc2VydmljZXVzYWdlLnYxYmV0YTEuR2V0U2VydmljZU' + 'lkZW50aXR5UmVzcG9uc2UuSWRlbnRpdHlTdGF0ZVIFc3RhdGUiOwoNSWRlbnRpdHlTdGF0ZRIe' + 'ChpJREVOVElUWV9TVEFURV9VTlNQRUNJRklFRBAAEgoKBkFDVElWRRAB'); + +@$core.Deprecated('Use getServiceIdentityMetadataDescriptor instead') +const GetServiceIdentityMetadata$json = { + '1': 'GetServiceIdentityMetadata', +}; + +/// Descriptor for `GetServiceIdentityMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceIdentityMetadataDescriptor = + $convert.base64Decode('ChpHZXRTZXJ2aWNlSWRlbnRpdHlNZXRhZGF0YQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pb.dart new file mode 100644 index 00000000..04c852f0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pb.dart @@ -0,0 +1,73 @@ +// +// Generated code. Do not modify. +// source: google/api/source_info.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/any.pb.dart' as $49; + +/// Source information used to create a Service Config +class SourceInfo extends $pb.GeneratedMessage { + factory SourceInfo({ + $core.Iterable<$49.Any>? sourceFiles, + }) { + final $result = create(); + if (sourceFiles != null) { + $result.sourceFiles.addAll(sourceFiles); + } + return $result; + } + SourceInfo._() : super(); + factory SourceInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceInfo', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc<$49.Any>(1, _omitFieldNames ? '' : 'sourceFiles', $pb.PbFieldType.PM, + subBuilder: $49.Any.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceInfo clone() => SourceInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceInfo copyWith(void Function(SourceInfo) updates) => + super.copyWith((message) => updates(message as SourceInfo)) as SourceInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceInfo create() => SourceInfo._(); + SourceInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceInfo? _defaultInstance; + + /// All files used during config generation. + @$pb.TagNumber(1) + $core.List<$49.Any> get sourceFiles => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pbenum.dart new file mode 100644 index 00000000..1edca94d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/source_info.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pbjson.dart new file mode 100644 index 00000000..d72e5cf8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/source_info.pbjson.dart @@ -0,0 +1,34 @@ +// +// Generated code. Do not modify. +// source: google/api/source_info.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use sourceInfoDescriptor instead') +const SourceInfo$json = { + '1': 'SourceInfo', + '2': [ + { + '1': 'source_files', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'sourceFiles' + }, + ], +}; + +/// Descriptor for `SourceInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceInfoDescriptor = $convert.base64Decode( + 'CgpTb3VyY2VJbmZvEjcKDHNvdXJjZV9maWxlcxgBIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5Bbn' + 'lSC3NvdXJjZUZpbGVz'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pb.dart new file mode 100644 index 00000000..0d25cd03 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pb.dart @@ -0,0 +1,293 @@ +// +// Generated code. Do not modify. +// source: google/api/system_parameter.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// ### 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. +class SystemParameters extends $pb.GeneratedMessage { + factory SystemParameters({ + $core.Iterable? rules, + }) { + final $result = create(); + if (rules != null) { + $result.rules.addAll(rules); + } + return $result; + } + SystemParameters._() : super(); + factory SystemParameters.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SystemParameters.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SystemParameters', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: SystemParameterRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SystemParameters clone() => SystemParameters()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SystemParameters copyWith(void Function(SystemParameters) updates) => + super.copyWith((message) => updates(message as SystemParameters)) + as SystemParameters; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SystemParameters create() => SystemParameters._(); + SystemParameters createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SystemParameters getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SystemParameters? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $core.List get rules => $_getList(0); +} + +/// Define a system parameter rule mapping system parameter definitions to +/// methods. +class SystemParameterRule extends $pb.GeneratedMessage { + factory SystemParameterRule({ + $core.String? selector, + $core.Iterable? parameters, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (parameters != null) { + $result.parameters.addAll(parameters); + } + return $result; + } + SystemParameterRule._() : super(); + factory SystemParameterRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SystemParameterRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SystemParameterRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..pc( + 2, _omitFieldNames ? '' : 'parameters', $pb.PbFieldType.PM, + subBuilder: SystemParameter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SystemParameterRule clone() => SystemParameterRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SystemParameterRule copyWith(void Function(SystemParameterRule) updates) => + super.copyWith((message) => updates(message as SystemParameterRule)) + as SystemParameterRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SystemParameterRule create() => SystemParameterRule._(); + SystemParameterRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SystemParameterRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SystemParameterRule? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(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. + @$pb.TagNumber(2) + $core.List get parameters => $_getList(1); +} + +/// 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. +class SystemParameter extends $pb.GeneratedMessage { + factory SystemParameter({ + $core.String? name, + $core.String? httpHeader, + $core.String? urlQueryParameter, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (httpHeader != null) { + $result.httpHeader = httpHeader; + } + if (urlQueryParameter != null) { + $result.urlQueryParameter = urlQueryParameter; + } + return $result; + } + SystemParameter._() : super(); + factory SystemParameter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SystemParameter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SystemParameter', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'httpHeader') + ..aOS(3, _omitFieldNames ? '' : 'urlQueryParameter') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SystemParameter clone() => SystemParameter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SystemParameter copyWith(void Function(SystemParameter) updates) => + super.copyWith((message) => updates(message as SystemParameter)) + as SystemParameter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SystemParameter create() => SystemParameter._(); + SystemParameter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SystemParameter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SystemParameter? _defaultInstance; + + /// Define the name of the parameter, such as "api_key" . It is case sensitive. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Define the HTTP header name to use for the parameter. It is case + /// insensitive. + @$pb.TagNumber(2) + $core.String get httpHeader => $_getSZ(1); + @$pb.TagNumber(2) + set httpHeader($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHttpHeader() => $_has(1); + @$pb.TagNumber(2) + void clearHttpHeader() => clearField(2); + + /// Define the URL query parameter name to use for the parameter. It is case + /// sensitive. + @$pb.TagNumber(3) + $core.String get urlQueryParameter => $_getSZ(2); + @$pb.TagNumber(3) + set urlQueryParameter($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasUrlQueryParameter() => $_has(2); + @$pb.TagNumber(3) + void clearUrlQueryParameter() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pbenum.dart new file mode 100644 index 00000000..9af2ed62 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/system_parameter.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pbjson.dart new file mode 100644 index 00000000..eddccfa8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/system_parameter.pbjson.dart @@ -0,0 +1,77 @@ +// +// Generated code. Do not modify. +// source: google/api/system_parameter.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use systemParametersDescriptor instead') +const SystemParameters$json = { + '1': 'SystemParameters', + '2': [ + { + '1': 'rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.SystemParameterRule', + '10': 'rules' + }, + ], +}; + +/// Descriptor for `SystemParameters`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List systemParametersDescriptor = $convert.base64Decode( + 'ChBTeXN0ZW1QYXJhbWV0ZXJzEjUKBXJ1bGVzGAEgAygLMh8uZ29vZ2xlLmFwaS5TeXN0ZW1QYX' + 'JhbWV0ZXJSdWxlUgVydWxlcw=='); + +@$core.Deprecated('Use systemParameterRuleDescriptor instead') +const SystemParameterRule$json = { + '1': 'SystemParameterRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'parameters', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.api.SystemParameter', + '10': 'parameters' + }, + ], +}; + +/// Descriptor for `SystemParameterRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List systemParameterRuleDescriptor = $convert.base64Decode( + 'ChNTeXN0ZW1QYXJhbWV0ZXJSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchI7CgpwYX' + 'JhbWV0ZXJzGAIgAygLMhsuZ29vZ2xlLmFwaS5TeXN0ZW1QYXJhbWV0ZXJSCnBhcmFtZXRlcnM='); + +@$core.Deprecated('Use systemParameterDescriptor instead') +const SystemParameter$json = { + '1': 'SystemParameter', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'http_header', '3': 2, '4': 1, '5': 9, '10': 'httpHeader'}, + { + '1': 'url_query_parameter', + '3': 3, + '4': 1, + '5': 9, + '10': 'urlQueryParameter' + }, + ], +}; + +/// Descriptor for `SystemParameter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List systemParameterDescriptor = $convert.base64Decode( + 'Cg9TeXN0ZW1QYXJhbWV0ZXISEgoEbmFtZRgBIAEoCVIEbmFtZRIfCgtodHRwX2hlYWRlchgCIA' + 'EoCVIKaHR0cEhlYWRlchIuChN1cmxfcXVlcnlfcGFyYW1ldGVyGAMgASgJUhF1cmxRdWVyeVBh' + 'cmFtZXRlcg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pb.dart new file mode 100644 index 00000000..321f7ce9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pb.dart @@ -0,0 +1,244 @@ +// +// Generated code. Do not modify. +// source: google/api/usage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Configuration controlling usage of a service. +class Usage extends $pb.GeneratedMessage { + factory Usage({ + $core.Iterable<$core.String>? requirements, + $core.Iterable? rules, + $core.String? producerNotificationChannel, + }) { + final $result = create(); + if (requirements != null) { + $result.requirements.addAll(requirements); + } + if (rules != null) { + $result.rules.addAll(rules); + } + if (producerNotificationChannel != null) { + $result.producerNotificationChannel = producerNotificationChannel; + } + return $result; + } + Usage._() : super(); + factory Usage.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Usage.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Usage', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'requirements') + ..pc(6, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: UsageRule.create) + ..aOS(7, _omitFieldNames ? '' : 'producerNotificationChannel') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Usage clone() => Usage()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Usage copyWith(void Function(Usage) updates) => + super.copyWith((message) => updates(message as Usage)) as Usage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Usage create() => Usage._(); + Usage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Usage getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Usage? _defaultInstance; + + /// Requirements that must be satisfied before a consumer project can use the + /// service. Each requirement is of the form /; + /// for example 'serviceusage.googleapis.com/billing-enabled'. + /// + /// For Google APIs, a Terms of Service requirement must be included here. + /// Google Cloud APIs must include "serviceusage.googleapis.com/tos/cloud". + /// Other Google APIs should include + /// "serviceusage.googleapis.com/tos/universal". Additional ToS can be + /// included based on the business needs. + @$pb.TagNumber(1) + $core.List<$core.String> get requirements => $_getList(0); + + /// A list of usage rules that apply to individual API methods. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(6) + $core.List get rules => $_getList(1); + + /// 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. + @$pb.TagNumber(7) + $core.String get producerNotificationChannel => $_getSZ(2); + @$pb.TagNumber(7) + set producerNotificationChannel($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(7) + $core.bool hasProducerNotificationChannel() => $_has(2); + @$pb.TagNumber(7) + void clearProducerNotificationChannel() => clearField(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 +class UsageRule extends $pb.GeneratedMessage { + factory UsageRule({ + $core.String? selector, + $core.bool? allowUnregisteredCalls, + $core.bool? skipServiceControl, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (allowUnregisteredCalls != null) { + $result.allowUnregisteredCalls = allowUnregisteredCalls; + } + if (skipServiceControl != null) { + $result.skipServiceControl = skipServiceControl; + } + return $result; + } + UsageRule._() : super(); + factory UsageRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UsageRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UsageRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOB(2, _omitFieldNames ? '' : 'allowUnregisteredCalls') + ..aOB(3, _omitFieldNames ? '' : 'skipServiceControl') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UsageRule clone() => UsageRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UsageRule copyWith(void Function(UsageRule) updates) => + super.copyWith((message) => updates(message as UsageRule)) as UsageRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UsageRule create() => UsageRule._(); + UsageRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UsageRule getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UsageRule? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// If true, the selected method allows unregistered calls, e.g. calls + /// that don't identify any user or application. + @$pb.TagNumber(2) + $core.bool get allowUnregisteredCalls => $_getBF(1); + @$pb.TagNumber(2) + set allowUnregisteredCalls($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasAllowUnregisteredCalls() => $_has(1); + @$pb.TagNumber(2) + void clearAllowUnregisteredCalls() => clearField(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. + @$pb.TagNumber(3) + $core.bool get skipServiceControl => $_getBF(2); + @$pb.TagNumber(3) + set skipServiceControl($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSkipServiceControl() => $_has(2); + @$pb.TagNumber(3) + void clearSkipServiceControl() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pbenum.dart new file mode 100644 index 00000000..6e106940 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/usage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pbjson.dart new file mode 100644 index 00000000..1156a9a8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/usage.pbjson.dart @@ -0,0 +1,71 @@ +// +// Generated code. Do not modify. +// source: google/api/usage.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use usageDescriptor instead') +const Usage$json = { + '1': 'Usage', + '2': [ + {'1': 'requirements', '3': 1, '4': 3, '5': 9, '10': 'requirements'}, + { + '1': 'rules', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.api.UsageRule', + '10': 'rules' + }, + { + '1': 'producer_notification_channel', + '3': 7, + '4': 1, + '5': 9, + '10': 'producerNotificationChannel' + }, + ], +}; + +/// Descriptor for `Usage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List usageDescriptor = $convert.base64Decode( + 'CgVVc2FnZRIiCgxyZXF1aXJlbWVudHMYASADKAlSDHJlcXVpcmVtZW50cxIrCgVydWxlcxgGIA' + 'MoCzIVLmdvb2dsZS5hcGkuVXNhZ2VSdWxlUgVydWxlcxJCCh1wcm9kdWNlcl9ub3RpZmljYXRp' + 'b25fY2hhbm5lbBgHIAEoCVIbcHJvZHVjZXJOb3RpZmljYXRpb25DaGFubmVs'); + +@$core.Deprecated('Use usageRuleDescriptor instead') +const UsageRule$json = { + '1': 'UsageRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + { + '1': 'allow_unregistered_calls', + '3': 2, + '4': 1, + '5': 8, + '10': 'allowUnregisteredCalls' + }, + { + '1': 'skip_service_control', + '3': 3, + '4': 1, + '5': 8, + '10': 'skipServiceControl' + }, + ], +}; + +/// Descriptor for `UsageRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List usageRuleDescriptor = $convert.base64Decode( + 'CglVc2FnZVJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEjgKGGFsbG93X3VucmVnaX' + 'N0ZXJlZF9jYWxscxgCIAEoCFIWYWxsb3dVbnJlZ2lzdGVyZWRDYWxscxIwChRza2lwX3NlcnZp' + 'Y2VfY29udHJvbBgDIAEoCFISc2tpcFNlcnZpY2VDb250cm9s'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pb.dart new file mode 100644 index 00000000..b9614bd3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pb.dart @@ -0,0 +1,247 @@ +// +// Generated code. Do not modify. +// source: google/api/visibility.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `Visibility` restricts service consumer's access to service elements, +/// such as whether an application can call a visibility-restricted method. +/// The restriction is expressed by applying visibility labels on service +/// elements. The visibility labels are elsewhere linked to service consumers. +/// +/// A service can define multiple visibility labels, but a service consumer +/// should be granted at most one visibility label. Multiple visibility +/// labels for a single service consumer are not supported. +/// +/// If an element and all its parents have no visibility label, its visibility +/// is unconditionally granted. +/// +/// Example: +/// +/// visibility: +/// rules: +/// - selector: google.calendar.Calendar.EnhancedSearch +/// restriction: PREVIEW +/// - selector: google.calendar.Calendar.Delegate +/// restriction: INTERNAL +/// +/// Here, all methods are publicly visible except for the restricted methods +/// EnhancedSearch and Delegate. +class Visibility extends $pb.GeneratedMessage { + factory Visibility({ + $core.Iterable? rules, + }) { + final $result = create(); + if (rules != null) { + $result.rules.addAll(rules); + } + return $result; + } + Visibility._() : super(); + factory Visibility.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Visibility.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Visibility', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: VisibilityRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Visibility clone() => Visibility()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Visibility copyWith(void Function(Visibility) updates) => + super.copyWith((message) => updates(message as Visibility)) as Visibility; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Visibility create() => Visibility._(); + Visibility createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Visibility getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Visibility? _defaultInstance; + + /// A list of visibility rules that apply to individual API elements. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + @$pb.TagNumber(1) + $core.List get rules => $_getList(0); +} + +/// A visibility rule provides visibility configuration for an individual API +/// element. +class VisibilityRule extends $pb.GeneratedMessage { + factory VisibilityRule({ + $core.String? selector, + $core.String? restriction, + }) { + final $result = create(); + if (selector != null) { + $result.selector = selector; + } + if (restriction != null) { + $result.restriction = restriction; + } + return $result; + } + VisibilityRule._() : super(); + factory VisibilityRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory VisibilityRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'VisibilityRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.api'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'selector') + ..aOS(2, _omitFieldNames ? '' : 'restriction') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + VisibilityRule clone() => VisibilityRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VisibilityRule copyWith(void Function(VisibilityRule) updates) => + super.copyWith((message) => updates(message as VisibilityRule)) + as VisibilityRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static VisibilityRule create() => VisibilityRule._(); + VisibilityRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static VisibilityRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static VisibilityRule? _defaultInstance; + + /// Selects methods, messages, fields, enums, etc. to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + @$pb.TagNumber(1) + $core.String get selector => $_getSZ(0); + @$pb.TagNumber(1) + set selector($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSelector() => $_has(0); + @$pb.TagNumber(1) + void clearSelector() => clearField(1); + + /// A comma-separated list of visibility labels that apply to the `selector`. + /// Any of the listed labels can be used to grant the visibility. + /// + /// If a rule has multiple labels, removing one of the labels but not all of + /// them can break clients. + /// + /// Example: + /// + /// visibility: + /// rules: + /// - selector: google.calendar.Calendar.EnhancedSearch + /// restriction: INTERNAL, PREVIEW + /// + /// Removing INTERNAL from this restriction will break clients that rely on + /// this method and only had access to it through INTERNAL. + @$pb.TagNumber(2) + $core.String get restriction => $_getSZ(1); + @$pb.TagNumber(2) + set restriction($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRestriction() => $_has(1); + @$pb.TagNumber(2) + void clearRestriction() => clearField(2); +} + +class VisibilityExt { + static final enumVisibility = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.EnumOptions', + _omitFieldNames ? '' : 'enumVisibility', + 72295727, + $pb.PbFieldType.OM, + defaultOrMaker: VisibilityRule.getDefault, + subBuilder: VisibilityRule.create); + static final valueVisibility = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.EnumValueOptions', + _omitFieldNames ? '' : 'valueVisibility', + 72295727, + $pb.PbFieldType.OM, + defaultOrMaker: VisibilityRule.getDefault, + subBuilder: VisibilityRule.create); + static final fieldVisibility = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.FieldOptions', + _omitFieldNames ? '' : 'fieldVisibility', + 72295727, + $pb.PbFieldType.OM, + defaultOrMaker: VisibilityRule.getDefault, + subBuilder: VisibilityRule.create); + static final messageVisibility = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.MessageOptions', + _omitFieldNames ? '' : 'messageVisibility', + 72295727, + $pb.PbFieldType.OM, + defaultOrMaker: VisibilityRule.getDefault, + subBuilder: VisibilityRule.create); + static final methodVisibility = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.MethodOptions', + _omitFieldNames ? '' : 'methodVisibility', + 72295727, + $pb.PbFieldType.OM, + defaultOrMaker: VisibilityRule.getDefault, + subBuilder: VisibilityRule.create); + static final apiVisibility = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.ServiceOptions', + _omitFieldNames ? '' : 'apiVisibility', + 72295727, + $pb.PbFieldType.OM, + defaultOrMaker: VisibilityRule.getDefault, + subBuilder: VisibilityRule.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(enumVisibility); + registry.add(valueVisibility); + registry.add(fieldVisibility); + registry.add(messageVisibility); + registry.add(methodVisibility); + registry.add(apiVisibility); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pbenum.dart new file mode 100644 index 00000000..c7d8100a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/api/visibility.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pbjson.dart new file mode 100644 index 00000000..8d6198e9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/api/visibility.pbjson.dart @@ -0,0 +1,48 @@ +// +// Generated code. Do not modify. +// source: google/api/visibility.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use visibilityDescriptor instead') +const Visibility$json = { + '1': 'Visibility', + '2': [ + { + '1': 'rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.VisibilityRule', + '10': 'rules' + }, + ], +}; + +/// Descriptor for `Visibility`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List visibilityDescriptor = $convert.base64Decode( + 'CgpWaXNpYmlsaXR5EjAKBXJ1bGVzGAEgAygLMhouZ29vZ2xlLmFwaS5WaXNpYmlsaXR5UnVsZV' + 'IFcnVsZXM='); + +@$core.Deprecated('Use visibilityRuleDescriptor instead') +const VisibilityRule$json = { + '1': 'VisibilityRule', + '2': [ + {'1': 'selector', '3': 1, '4': 1, '5': 9, '10': 'selector'}, + {'1': 'restriction', '3': 2, '4': 1, '5': 9, '10': 'restriction'}, + ], +}; + +/// Descriptor for `VisibilityRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List visibilityRuleDescriptor = $convert.base64Decode( + 'Cg5WaXNpYmlsaXR5UnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISIAoLcmVzdHJpY3' + 'Rpb24YAiABKAlSC3Jlc3RyaWN0aW9u'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pb.dart new file mode 100644 index 00000000..aa57ea26 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pb.dart @@ -0,0 +1,95 @@ +// +// Generated code. Do not modify. +// source: google/appengine/legacy/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Admin Console legacy audit log. +class AuditData extends $pb.GeneratedMessage { + factory AuditData({ + $core.String? eventMessage, + $core.Map<$core.String, $core.String>? eventData, + }) { + final $result = create(); + if (eventMessage != null) { + $result.eventMessage = eventMessage; + } + if (eventData != null) { + $result.eventData.addAll(eventData); + } + return $result; + } + AuditData._() : super(); + factory AuditData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditData', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.legacy'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'eventMessage') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'eventData', + entryClassName: 'AuditData.EventDataEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.legacy')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditData clone() => AuditData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditData copyWith(void Function(AuditData) updates) => + super.copyWith((message) => updates(message as AuditData)) as AuditData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditData create() => AuditData._(); + AuditData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditData getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AuditData? _defaultInstance; + + /// Text description of the admin event. + /// This is the "Event" column in Admin Console's Admin Logs. + @$pb.TagNumber(1) + $core.String get eventMessage => $_getSZ(0); + @$pb.TagNumber(1) + set eventMessage($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasEventMessage() => $_has(0); + @$pb.TagNumber(1) + void clearEventMessage() => clearField(1); + + /// Arbitrary event data. + /// This is the "Result" column in Admin Console's Admin Logs. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get eventData => $_getMap(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pbenum.dart new file mode 100644 index 00000000..9acee5f2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/legacy/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pbjson.dart new file mode 100644 index 00000000..9a60a7e6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/legacy/audit_data.pbjson.dart @@ -0,0 +1,48 @@ +// +// Generated code. Do not modify. +// source: google/appengine/legacy/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData$json = { + '1': 'AuditData', + '2': [ + {'1': 'event_message', '3': 1, '4': 1, '5': 9, '10': 'eventMessage'}, + { + '1': 'event_data', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.appengine.legacy.AuditData.EventDataEntry', + '10': 'eventData' + }, + ], + '3': [AuditData_EventDataEntry$json], +}; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData_EventDataEntry$json = { + '1': 'EventDataEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `AuditData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditDataDescriptor = $convert.base64Decode( + 'CglBdWRpdERhdGESIwoNZXZlbnRfbWVzc2FnZRgBIAEoCVIMZXZlbnRNZXNzYWdlElAKCmV2ZW' + '50X2RhdGEYAiADKAsyMS5nb29nbGUuYXBwZW5naW5lLmxlZ2FjeS5BdWRpdERhdGEuRXZlbnRE' + 'YXRhRW50cnlSCWV2ZW50RGF0YRo8Cg5FdmVudERhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleR' + 'IUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pb.dart new file mode 100644 index 00000000..1ebbeec2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pb.dart @@ -0,0 +1,996 @@ +// +// Generated code. Do not modify. +// source: google/appengine/logging/v1/request_log.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../logging/type/log_severity.pbenum.dart' as $64; +import '../../../protobuf/duration.pb.dart' as $51; +import '../../../protobuf/timestamp.pb.dart' as $50; + +/// Application log line emitted while processing a request. +class LogLine extends $pb.GeneratedMessage { + factory LogLine({ + $50.Timestamp? time, + $64.LogSeverity? severity, + $core.String? logMessage, + SourceLocation? sourceLocation, + }) { + final $result = create(); + if (time != null) { + $result.time = time; + } + if (severity != null) { + $result.severity = severity; + } + if (logMessage != null) { + $result.logMessage = logMessage; + } + if (sourceLocation != null) { + $result.sourceLocation = sourceLocation; + } + return $result; + } + LogLine._() : super(); + factory LogLine.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogLine.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogLine', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.logging.v1'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'time', + subBuilder: $50.Timestamp.create) + ..e<$64.LogSeverity>( + 2, _omitFieldNames ? '' : 'severity', $pb.PbFieldType.OE, + defaultOrMaker: $64.LogSeverity.DEFAULT, + valueOf: $64.LogSeverity.valueOf, + enumValues: $64.LogSeverity.values) + ..aOS(3, _omitFieldNames ? '' : 'logMessage') + ..aOM(4, _omitFieldNames ? '' : 'sourceLocation', + subBuilder: SourceLocation.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogLine clone() => LogLine()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogLine copyWith(void Function(LogLine) updates) => + super.copyWith((message) => updates(message as LogLine)) as LogLine; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogLine create() => LogLine._(); + LogLine createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogLine getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogLine? _defaultInstance; + + /// Approximate time when this log entry was made. + @$pb.TagNumber(1) + $50.Timestamp get time => $_getN(0); + @$pb.TagNumber(1) + set time($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasTime() => $_has(0); + @$pb.TagNumber(1) + void clearTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureTime() => $_ensure(0); + + /// Severity of this log entry. + @$pb.TagNumber(2) + $64.LogSeverity get severity => $_getN(1); + @$pb.TagNumber(2) + set severity($64.LogSeverity v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasSeverity() => $_has(1); + @$pb.TagNumber(2) + void clearSeverity() => clearField(2); + + /// App-provided log message. + @$pb.TagNumber(3) + $core.String get logMessage => $_getSZ(2); + @$pb.TagNumber(3) + set logMessage($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLogMessage() => $_has(2); + @$pb.TagNumber(3) + void clearLogMessage() => clearField(3); + + /// Where in the source code this log message was written. + @$pb.TagNumber(4) + SourceLocation get sourceLocation => $_getN(3); + @$pb.TagNumber(4) + set sourceLocation(SourceLocation v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasSourceLocation() => $_has(3); + @$pb.TagNumber(4) + void clearSourceLocation() => clearField(4); + @$pb.TagNumber(4) + SourceLocation ensureSourceLocation() => $_ensure(3); +} + +/// Specifies a location in a source code file. +class SourceLocation extends $pb.GeneratedMessage { + factory SourceLocation({ + $core.String? file, + $fixnum.Int64? line, + $core.String? functionName, + }) { + final $result = create(); + if (file != null) { + $result.file = file; + } + if (line != null) { + $result.line = line; + } + if (functionName != null) { + $result.functionName = functionName; + } + return $result; + } + SourceLocation._() : super(); + factory SourceLocation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceLocation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceLocation', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.logging.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'file') + ..aInt64(2, _omitFieldNames ? '' : 'line') + ..aOS(3, _omitFieldNames ? '' : 'functionName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceLocation clone() => SourceLocation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceLocation copyWith(void Function(SourceLocation) updates) => + super.copyWith((message) => updates(message as SourceLocation)) + as SourceLocation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceLocation create() => SourceLocation._(); + SourceLocation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceLocation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceLocation? _defaultInstance; + + /// Source file name. Depending on the runtime environment, this might be a + /// simple name or a fully-qualified name. + @$pb.TagNumber(1) + $core.String get file => $_getSZ(0); + @$pb.TagNumber(1) + set file($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFile() => $_has(0); + @$pb.TagNumber(1) + void clearFile() => clearField(1); + + /// Line within the source file. + @$pb.TagNumber(2) + $fixnum.Int64 get line => $_getI64(1); + @$pb.TagNumber(2) + set line($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasLine() => $_has(1); + @$pb.TagNumber(2) + void clearLine() => clearField(2); + + /// Human-readable name of the function or method being invoked, with optional + /// context such as the class or package name. This information is used in + /// contexts such as the logs viewer, where a file and line number are less + /// meaningful. The format can vary by language. For example: + /// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + /// (Python). + @$pb.TagNumber(3) + $core.String get functionName => $_getSZ(2); + @$pb.TagNumber(3) + set functionName($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFunctionName() => $_has(2); + @$pb.TagNumber(3) + void clearFunctionName() => clearField(3); +} + +/// A reference to a particular snapshot of the source tree used to build and +/// deploy an application. +class SourceReference extends $pb.GeneratedMessage { + factory SourceReference({ + $core.String? repository, + $core.String? revisionId, + }) { + final $result = create(); + if (repository != null) { + $result.repository = repository; + } + if (revisionId != null) { + $result.revisionId = revisionId; + } + return $result; + } + SourceReference._() : super(); + factory SourceReference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceReference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceReference', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.logging.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'repository') + ..aOS(2, _omitFieldNames ? '' : 'revisionId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceReference clone() => SourceReference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceReference copyWith(void Function(SourceReference) updates) => + super.copyWith((message) => updates(message as SourceReference)) + as SourceReference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceReference create() => SourceReference._(); + SourceReference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceReference getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceReference? _defaultInstance; + + /// Optional. A URI string identifying the repository. + /// Example: "https://github.com/GoogleCloudPlatform/kubernetes.git" + @$pb.TagNumber(1) + $core.String get repository => $_getSZ(0); + @$pb.TagNumber(1) + set repository($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRepository() => $_has(0); + @$pb.TagNumber(1) + void clearRepository() => clearField(1); + + /// The canonical and persistent identifier of the deployed revision. + /// Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b" + @$pb.TagNumber(2) + $core.String get revisionId => $_getSZ(1); + @$pb.TagNumber(2) + set revisionId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRevisionId() => $_has(1); + @$pb.TagNumber(2) + void clearRevisionId() => clearField(2); +} + +/// Complete log information about a single HTTP request to an App Engine +/// application. +class RequestLog extends $pb.GeneratedMessage { + factory RequestLog({ + $core.String? appId, + $core.String? versionId, + $core.String? requestId, + $core.String? ip, + $50.Timestamp? startTime, + $50.Timestamp? endTime, + $51.Duration? latency, + $fixnum.Int64? megaCycles, + $core.String? method, + $core.String? resource, + $core.String? httpVersion, + $core.int? status, + $fixnum.Int64? responseSize, + $core.String? referrer, + $core.String? userAgent, + $core.String? urlMapEntry, + $core.String? host, + $core.double? cost, + $core.String? taskQueueName, + $core.String? taskName, + $core.bool? wasLoadingRequest, + $51.Duration? pendingTime, + $core.int? instanceIndex, + $core.bool? finished, + $core.String? instanceId, + $core.Iterable? line, + $core.String? moduleId, + $core.String? appEngineRelease, + $core.String? traceId, + $core.String? nickname, + $core.Iterable? sourceReference, + $core.bool? first, + $core.bool? traceSampled, + }) { + final $result = create(); + if (appId != null) { + $result.appId = appId; + } + if (versionId != null) { + $result.versionId = versionId; + } + if (requestId != null) { + $result.requestId = requestId; + } + if (ip != null) { + $result.ip = ip; + } + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (latency != null) { + $result.latency = latency; + } + if (megaCycles != null) { + $result.megaCycles = megaCycles; + } + if (method != null) { + $result.method = method; + } + if (resource != null) { + $result.resource = resource; + } + if (httpVersion != null) { + $result.httpVersion = httpVersion; + } + if (status != null) { + $result.status = status; + } + if (responseSize != null) { + $result.responseSize = responseSize; + } + if (referrer != null) { + $result.referrer = referrer; + } + if (userAgent != null) { + $result.userAgent = userAgent; + } + if (urlMapEntry != null) { + $result.urlMapEntry = urlMapEntry; + } + if (host != null) { + $result.host = host; + } + if (cost != null) { + $result.cost = cost; + } + if (taskQueueName != null) { + $result.taskQueueName = taskQueueName; + } + if (taskName != null) { + $result.taskName = taskName; + } + if (wasLoadingRequest != null) { + $result.wasLoadingRequest = wasLoadingRequest; + } + if (pendingTime != null) { + $result.pendingTime = pendingTime; + } + if (instanceIndex != null) { + $result.instanceIndex = instanceIndex; + } + if (finished != null) { + $result.finished = finished; + } + if (instanceId != null) { + $result.instanceId = instanceId; + } + if (line != null) { + $result.line.addAll(line); + } + if (moduleId != null) { + $result.moduleId = moduleId; + } + if (appEngineRelease != null) { + $result.appEngineRelease = appEngineRelease; + } + if (traceId != null) { + $result.traceId = traceId; + } + if (nickname != null) { + $result.nickname = nickname; + } + if (sourceReference != null) { + $result.sourceReference.addAll(sourceReference); + } + if (first != null) { + $result.first = first; + } + if (traceSampled != null) { + $result.traceSampled = traceSampled; + } + return $result; + } + RequestLog._() : super(); + factory RequestLog.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RequestLog.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RequestLog', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.logging.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'appId') + ..aOS(2, _omitFieldNames ? '' : 'versionId') + ..aOS(3, _omitFieldNames ? '' : 'requestId') + ..aOS(4, _omitFieldNames ? '' : 'ip') + ..aOM<$50.Timestamp>(6, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(7, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..aOM<$51.Duration>(8, _omitFieldNames ? '' : 'latency', + subBuilder: $51.Duration.create) + ..aInt64(9, _omitFieldNames ? '' : 'megaCycles') + ..aOS(10, _omitFieldNames ? '' : 'method') + ..aOS(11, _omitFieldNames ? '' : 'resource') + ..aOS(12, _omitFieldNames ? '' : 'httpVersion') + ..a<$core.int>(13, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3) + ..aInt64(14, _omitFieldNames ? '' : 'responseSize') + ..aOS(15, _omitFieldNames ? '' : 'referrer') + ..aOS(16, _omitFieldNames ? '' : 'userAgent') + ..aOS(17, _omitFieldNames ? '' : 'urlMapEntry') + ..aOS(20, _omitFieldNames ? '' : 'host') + ..a<$core.double>(21, _omitFieldNames ? '' : 'cost', $pb.PbFieldType.OD) + ..aOS(22, _omitFieldNames ? '' : 'taskQueueName') + ..aOS(23, _omitFieldNames ? '' : 'taskName') + ..aOB(24, _omitFieldNames ? '' : 'wasLoadingRequest') + ..aOM<$51.Duration>(25, _omitFieldNames ? '' : 'pendingTime', + subBuilder: $51.Duration.create) + ..a<$core.int>( + 26, _omitFieldNames ? '' : 'instanceIndex', $pb.PbFieldType.O3) + ..aOB(27, _omitFieldNames ? '' : 'finished') + ..aOS(28, _omitFieldNames ? '' : 'instanceId') + ..pc(29, _omitFieldNames ? '' : 'line', $pb.PbFieldType.PM, + subBuilder: LogLine.create) + ..aOS(37, _omitFieldNames ? '' : 'moduleId') + ..aOS(38, _omitFieldNames ? '' : 'appEngineRelease') + ..aOS(39, _omitFieldNames ? '' : 'traceId') + ..aOS(40, _omitFieldNames ? '' : 'nickname') + ..pc( + 41, _omitFieldNames ? '' : 'sourceReference', $pb.PbFieldType.PM, + subBuilder: SourceReference.create) + ..aOB(42, _omitFieldNames ? '' : 'first') + ..aOB(43, _omitFieldNames ? '' : 'traceSampled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RequestLog clone() => RequestLog()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RequestLog copyWith(void Function(RequestLog) updates) => + super.copyWith((message) => updates(message as RequestLog)) as RequestLog; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RequestLog create() => RequestLog._(); + RequestLog createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RequestLog getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RequestLog? _defaultInstance; + + /// Application that handled this request. + @$pb.TagNumber(1) + $core.String get appId => $_getSZ(0); + @$pb.TagNumber(1) + set appId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasAppId() => $_has(0); + @$pb.TagNumber(1) + void clearAppId() => clearField(1); + + /// Version of the application that handled this request. + @$pb.TagNumber(2) + $core.String get versionId => $_getSZ(1); + @$pb.TagNumber(2) + set versionId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersionId() => $_has(1); + @$pb.TagNumber(2) + void clearVersionId() => clearField(2); + + /// Globally unique identifier for a request, which is based on the request + /// start time. Request IDs for requests which started later will compare + /// greater as strings than those for requests which started earlier. + @$pb.TagNumber(3) + $core.String get requestId => $_getSZ(2); + @$pb.TagNumber(3) + set requestId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasRequestId() => $_has(2); + @$pb.TagNumber(3) + void clearRequestId() => clearField(3); + + /// Origin IP address. + @$pb.TagNumber(4) + $core.String get ip => $_getSZ(3); + @$pb.TagNumber(4) + set ip($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasIp() => $_has(3); + @$pb.TagNumber(4) + void clearIp() => clearField(4); + + /// Time when the request started. + @$pb.TagNumber(6) + $50.Timestamp get startTime => $_getN(4); + @$pb.TagNumber(6) + set startTime($50.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasStartTime() => $_has(4); + @$pb.TagNumber(6) + void clearStartTime() => clearField(6); + @$pb.TagNumber(6) + $50.Timestamp ensureStartTime() => $_ensure(4); + + /// Time when the request finished. + @$pb.TagNumber(7) + $50.Timestamp get endTime => $_getN(5); + @$pb.TagNumber(7) + set endTime($50.Timestamp v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasEndTime() => $_has(5); + @$pb.TagNumber(7) + void clearEndTime() => clearField(7); + @$pb.TagNumber(7) + $50.Timestamp ensureEndTime() => $_ensure(5); + + /// Latency of the request. + @$pb.TagNumber(8) + $51.Duration get latency => $_getN(6); + @$pb.TagNumber(8) + set latency($51.Duration v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasLatency() => $_has(6); + @$pb.TagNumber(8) + void clearLatency() => clearField(8); + @$pb.TagNumber(8) + $51.Duration ensureLatency() => $_ensure(6); + + /// Number of CPU megacycles used to process request. + @$pb.TagNumber(9) + $fixnum.Int64 get megaCycles => $_getI64(7); + @$pb.TagNumber(9) + set megaCycles($fixnum.Int64 v) { + $_setInt64(7, v); + } + + @$pb.TagNumber(9) + $core.bool hasMegaCycles() => $_has(7); + @$pb.TagNumber(9) + void clearMegaCycles() => clearField(9); + + /// Request method. Example: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`, `"DELETE"`. + @$pb.TagNumber(10) + $core.String get method => $_getSZ(8); + @$pb.TagNumber(10) + set method($core.String v) { + $_setString(8, v); + } + + @$pb.TagNumber(10) + $core.bool hasMethod() => $_has(8); + @$pb.TagNumber(10) + void clearMethod() => clearField(10); + + /// Contains the path and query portion of the URL that was requested. For + /// example, if the URL was "http://example.com/app?name=val", the resource + /// would be "/app?name=val". The fragment identifier, which is identified by + /// the `#` character, is not included. + @$pb.TagNumber(11) + $core.String get resource => $_getSZ(9); + @$pb.TagNumber(11) + set resource($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(11) + $core.bool hasResource() => $_has(9); + @$pb.TagNumber(11) + void clearResource() => clearField(11); + + /// HTTP version of request. Example: `"HTTP/1.1"`. + @$pb.TagNumber(12) + $core.String get httpVersion => $_getSZ(10); + @$pb.TagNumber(12) + set httpVersion($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(12) + $core.bool hasHttpVersion() => $_has(10); + @$pb.TagNumber(12) + void clearHttpVersion() => clearField(12); + + /// HTTP response status code. Example: 200, 404. + @$pb.TagNumber(13) + $core.int get status => $_getIZ(11); + @$pb.TagNumber(13) + set status($core.int v) { + $_setSignedInt32(11, v); + } + + @$pb.TagNumber(13) + $core.bool hasStatus() => $_has(11); + @$pb.TagNumber(13) + void clearStatus() => clearField(13); + + /// Size in bytes sent back to client by request. + @$pb.TagNumber(14) + $fixnum.Int64 get responseSize => $_getI64(12); + @$pb.TagNumber(14) + set responseSize($fixnum.Int64 v) { + $_setInt64(12, v); + } + + @$pb.TagNumber(14) + $core.bool hasResponseSize() => $_has(12); + @$pb.TagNumber(14) + void clearResponseSize() => clearField(14); + + /// Referrer URL of request. + @$pb.TagNumber(15) + $core.String get referrer => $_getSZ(13); + @$pb.TagNumber(15) + set referrer($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(15) + $core.bool hasReferrer() => $_has(13); + @$pb.TagNumber(15) + void clearReferrer() => clearField(15); + + /// User agent that made the request. + @$pb.TagNumber(16) + $core.String get userAgent => $_getSZ(14); + @$pb.TagNumber(16) + set userAgent($core.String v) { + $_setString(14, v); + } + + @$pb.TagNumber(16) + $core.bool hasUserAgent() => $_has(14); + @$pb.TagNumber(16) + void clearUserAgent() => clearField(16); + + /// File or class that handled the request. + @$pb.TagNumber(17) + $core.String get urlMapEntry => $_getSZ(15); + @$pb.TagNumber(17) + set urlMapEntry($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(17) + $core.bool hasUrlMapEntry() => $_has(15); + @$pb.TagNumber(17) + void clearUrlMapEntry() => clearField(17); + + /// Internet host and port number of the resource being requested. + @$pb.TagNumber(20) + $core.String get host => $_getSZ(16); + @$pb.TagNumber(20) + set host($core.String v) { + $_setString(16, v); + } + + @$pb.TagNumber(20) + $core.bool hasHost() => $_has(16); + @$pb.TagNumber(20) + void clearHost() => clearField(20); + + /// An indication of the relative cost of serving this request. + @$pb.TagNumber(21) + $core.double get cost => $_getN(17); + @$pb.TagNumber(21) + set cost($core.double v) { + $_setDouble(17, v); + } + + @$pb.TagNumber(21) + $core.bool hasCost() => $_has(17); + @$pb.TagNumber(21) + void clearCost() => clearField(21); + + /// Queue name of the request, in the case of an offline request. + @$pb.TagNumber(22) + $core.String get taskQueueName => $_getSZ(18); + @$pb.TagNumber(22) + set taskQueueName($core.String v) { + $_setString(18, v); + } + + @$pb.TagNumber(22) + $core.bool hasTaskQueueName() => $_has(18); + @$pb.TagNumber(22) + void clearTaskQueueName() => clearField(22); + + /// Task name of the request, in the case of an offline request. + @$pb.TagNumber(23) + $core.String get taskName => $_getSZ(19); + @$pb.TagNumber(23) + set taskName($core.String v) { + $_setString(19, v); + } + + @$pb.TagNumber(23) + $core.bool hasTaskName() => $_has(19); + @$pb.TagNumber(23) + void clearTaskName() => clearField(23); + + /// Whether this was a loading request for the instance. + @$pb.TagNumber(24) + $core.bool get wasLoadingRequest => $_getBF(20); + @$pb.TagNumber(24) + set wasLoadingRequest($core.bool v) { + $_setBool(20, v); + } + + @$pb.TagNumber(24) + $core.bool hasWasLoadingRequest() => $_has(20); + @$pb.TagNumber(24) + void clearWasLoadingRequest() => clearField(24); + + /// Time this request spent in the pending request queue. + @$pb.TagNumber(25) + $51.Duration get pendingTime => $_getN(21); + @$pb.TagNumber(25) + set pendingTime($51.Duration v) { + setField(25, v); + } + + @$pb.TagNumber(25) + $core.bool hasPendingTime() => $_has(21); + @$pb.TagNumber(25) + void clearPendingTime() => clearField(25); + @$pb.TagNumber(25) + $51.Duration ensurePendingTime() => $_ensure(21); + + /// If the instance processing this request belongs to a manually scaled + /// module, then this is the 0-based index of the instance. Otherwise, this + /// value is -1. + @$pb.TagNumber(26) + $core.int get instanceIndex => $_getIZ(22); + @$pb.TagNumber(26) + set instanceIndex($core.int v) { + $_setSignedInt32(22, v); + } + + @$pb.TagNumber(26) + $core.bool hasInstanceIndex() => $_has(22); + @$pb.TagNumber(26) + void clearInstanceIndex() => clearField(26); + + /// Whether this request is finished or active. + @$pb.TagNumber(27) + $core.bool get finished => $_getBF(23); + @$pb.TagNumber(27) + set finished($core.bool v) { + $_setBool(23, v); + } + + @$pb.TagNumber(27) + $core.bool hasFinished() => $_has(23); + @$pb.TagNumber(27) + void clearFinished() => clearField(27); + + /// An identifier for the instance that handled the request. + @$pb.TagNumber(28) + $core.String get instanceId => $_getSZ(24); + @$pb.TagNumber(28) + set instanceId($core.String v) { + $_setString(24, v); + } + + @$pb.TagNumber(28) + $core.bool hasInstanceId() => $_has(24); + @$pb.TagNumber(28) + void clearInstanceId() => clearField(28); + + /// A list of log lines emitted by the application while serving this request. + @$pb.TagNumber(29) + $core.List get line => $_getList(25); + + /// Module of the application that handled this request. + @$pb.TagNumber(37) + $core.String get moduleId => $_getSZ(26); + @$pb.TagNumber(37) + set moduleId($core.String v) { + $_setString(26, v); + } + + @$pb.TagNumber(37) + $core.bool hasModuleId() => $_has(26); + @$pb.TagNumber(37) + void clearModuleId() => clearField(37); + + /// App Engine release version. + @$pb.TagNumber(38) + $core.String get appEngineRelease => $_getSZ(27); + @$pb.TagNumber(38) + set appEngineRelease($core.String v) { + $_setString(27, v); + } + + @$pb.TagNumber(38) + $core.bool hasAppEngineRelease() => $_has(27); + @$pb.TagNumber(38) + void clearAppEngineRelease() => clearField(38); + + /// Stackdriver Trace identifier for this request. + @$pb.TagNumber(39) + $core.String get traceId => $_getSZ(28); + @$pb.TagNumber(39) + set traceId($core.String v) { + $_setString(28, v); + } + + @$pb.TagNumber(39) + $core.bool hasTraceId() => $_has(28); + @$pb.TagNumber(39) + void clearTraceId() => clearField(39); + + /// The logged-in user who made the request. + /// + /// Most likely, this is the part of the user's email before the `@` sign. The + /// field value is the same for different requests from the same user, but + /// different users can have similar names. This information is also + /// available to the application via the App Engine Users API. + /// + /// This field will be populated starting with App Engine 1.9.21. + @$pb.TagNumber(40) + $core.String get nickname => $_getSZ(29); + @$pb.TagNumber(40) + set nickname($core.String v) { + $_setString(29, v); + } + + @$pb.TagNumber(40) + $core.bool hasNickname() => $_has(29); + @$pb.TagNumber(40) + void clearNickname() => clearField(40); + + /// Source code for the application that handled this request. There can be + /// more than one source reference per deployed application if source code is + /// distributed among multiple repositories. + @$pb.TagNumber(41) + $core.List get sourceReference => $_getList(30); + + /// Whether this is the first `RequestLog` entry for this request. If an + /// active request has several `RequestLog` entries written to Stackdriver + /// Logging, then this field will be set for one of them. + @$pb.TagNumber(42) + $core.bool get first => $_getBF(31); + @$pb.TagNumber(42) + set first($core.bool v) { + $_setBool(31, v); + } + + @$pb.TagNumber(42) + $core.bool hasFirst() => $_has(31); + @$pb.TagNumber(42) + void clearFirst() => clearField(42); + + /// If true, the value in the 'trace_id' field was sampled for storage in a + /// trace backend. + @$pb.TagNumber(43) + $core.bool get traceSampled => $_getBF(32); + @$pb.TagNumber(43) + set traceSampled($core.bool v) { + $_setBool(32, v); + } + + @$pb.TagNumber(43) + $core.bool hasTraceSampled() => $_has(32); + @$pb.TagNumber(43) + void clearTraceSampled() => clearField(43); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pbenum.dart new file mode 100644 index 00000000..2cbe7ce6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/logging/v1/request_log.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pbjson.dart new file mode 100644 index 00000000..99487171 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/logging/v1/request_log.pbjson.dart @@ -0,0 +1,202 @@ +// +// Generated code. Do not modify. +// source: google/appengine/logging/v1/request_log.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use logLineDescriptor instead') +const LogLine$json = { + '1': 'LogLine', + '2': [ + { + '1': 'time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'time' + }, + { + '1': 'severity', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.logging.type.LogSeverity', + '10': 'severity' + }, + {'1': 'log_message', '3': 3, '4': 1, '5': 9, '10': 'logMessage'}, + { + '1': 'source_location', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.appengine.logging.v1.SourceLocation', + '10': 'sourceLocation' + }, + ], +}; + +/// Descriptor for `LogLine`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logLineDescriptor = $convert.base64Decode( + 'CgdMb2dMaW5lEi4KBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgR0aW' + '1lEjwKCHNldmVyaXR5GAIgASgOMiAuZ29vZ2xlLmxvZ2dpbmcudHlwZS5Mb2dTZXZlcml0eVII' + 'c2V2ZXJpdHkSHwoLbG9nX21lc3NhZ2UYAyABKAlSCmxvZ01lc3NhZ2USVAoPc291cmNlX2xvY2' + 'F0aW9uGAQgASgLMisuZ29vZ2xlLmFwcGVuZ2luZS5sb2dnaW5nLnYxLlNvdXJjZUxvY2F0aW9u' + 'Ug5zb3VyY2VMb2NhdGlvbg=='); + +@$core.Deprecated('Use sourceLocationDescriptor instead') +const SourceLocation$json = { + '1': 'SourceLocation', + '2': [ + {'1': 'file', '3': 1, '4': 1, '5': 9, '10': 'file'}, + {'1': 'line', '3': 2, '4': 1, '5': 3, '10': 'line'}, + {'1': 'function_name', '3': 3, '4': 1, '5': 9, '10': 'functionName'}, + ], +}; + +/// Descriptor for `SourceLocation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceLocationDescriptor = $convert.base64Decode( + 'Cg5Tb3VyY2VMb2NhdGlvbhISCgRmaWxlGAEgASgJUgRmaWxlEhIKBGxpbmUYAiABKANSBGxpbm' + 'USIwoNZnVuY3Rpb25fbmFtZRgDIAEoCVIMZnVuY3Rpb25OYW1l'); + +@$core.Deprecated('Use sourceReferenceDescriptor instead') +const SourceReference$json = { + '1': 'SourceReference', + '2': [ + {'1': 'repository', '3': 1, '4': 1, '5': 9, '10': 'repository'}, + {'1': 'revision_id', '3': 2, '4': 1, '5': 9, '10': 'revisionId'}, + ], +}; + +/// Descriptor for `SourceReference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceReferenceDescriptor = $convert.base64Decode( + 'Cg9Tb3VyY2VSZWZlcmVuY2USHgoKcmVwb3NpdG9yeRgBIAEoCVIKcmVwb3NpdG9yeRIfCgtyZX' + 'Zpc2lvbl9pZBgCIAEoCVIKcmV2aXNpb25JZA=='); + +@$core.Deprecated('Use requestLogDescriptor instead') +const RequestLog$json = { + '1': 'RequestLog', + '2': [ + {'1': 'app_id', '3': 1, '4': 1, '5': 9, '10': 'appId'}, + {'1': 'module_id', '3': 37, '4': 1, '5': 9, '10': 'moduleId'}, + {'1': 'version_id', '3': 2, '4': 1, '5': 9, '10': 'versionId'}, + {'1': 'request_id', '3': 3, '4': 1, '5': 9, '10': 'requestId'}, + {'1': 'ip', '3': 4, '4': 1, '5': 9, '10': 'ip'}, + { + '1': 'start_time', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'latency', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'latency' + }, + {'1': 'mega_cycles', '3': 9, '4': 1, '5': 3, '10': 'megaCycles'}, + {'1': 'method', '3': 10, '4': 1, '5': 9, '10': 'method'}, + {'1': 'resource', '3': 11, '4': 1, '5': 9, '10': 'resource'}, + {'1': 'http_version', '3': 12, '4': 1, '5': 9, '10': 'httpVersion'}, + {'1': 'status', '3': 13, '4': 1, '5': 5, '10': 'status'}, + {'1': 'response_size', '3': 14, '4': 1, '5': 3, '10': 'responseSize'}, + {'1': 'referrer', '3': 15, '4': 1, '5': 9, '10': 'referrer'}, + {'1': 'user_agent', '3': 16, '4': 1, '5': 9, '10': 'userAgent'}, + {'1': 'nickname', '3': 40, '4': 1, '5': 9, '10': 'nickname'}, + {'1': 'url_map_entry', '3': 17, '4': 1, '5': 9, '10': 'urlMapEntry'}, + {'1': 'host', '3': 20, '4': 1, '5': 9, '10': 'host'}, + {'1': 'cost', '3': 21, '4': 1, '5': 1, '10': 'cost'}, + {'1': 'task_queue_name', '3': 22, '4': 1, '5': 9, '10': 'taskQueueName'}, + {'1': 'task_name', '3': 23, '4': 1, '5': 9, '10': 'taskName'}, + { + '1': 'was_loading_request', + '3': 24, + '4': 1, + '5': 8, + '10': 'wasLoadingRequest' + }, + { + '1': 'pending_time', + '3': 25, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'pendingTime' + }, + {'1': 'instance_index', '3': 26, '4': 1, '5': 5, '10': 'instanceIndex'}, + {'1': 'finished', '3': 27, '4': 1, '5': 8, '10': 'finished'}, + {'1': 'first', '3': 42, '4': 1, '5': 8, '10': 'first'}, + {'1': 'instance_id', '3': 28, '4': 1, '5': 9, '10': 'instanceId'}, + { + '1': 'line', + '3': 29, + '4': 3, + '5': 11, + '6': '.google.appengine.logging.v1.LogLine', + '10': 'line' + }, + { + '1': 'app_engine_release', + '3': 38, + '4': 1, + '5': 9, + '10': 'appEngineRelease' + }, + {'1': 'trace_id', '3': 39, '4': 1, '5': 9, '10': 'traceId'}, + {'1': 'trace_sampled', '3': 43, '4': 1, '5': 8, '10': 'traceSampled'}, + { + '1': 'source_reference', + '3': 41, + '4': 3, + '5': 11, + '6': '.google.appengine.logging.v1.SourceReference', + '10': 'sourceReference' + }, + ], +}; + +/// Descriptor for `RequestLog`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List requestLogDescriptor = $convert.base64Decode( + 'CgpSZXF1ZXN0TG9nEhUKBmFwcF9pZBgBIAEoCVIFYXBwSWQSGwoJbW9kdWxlX2lkGCUgASgJUg' + 'htb2R1bGVJZBIdCgp2ZXJzaW9uX2lkGAIgASgJUgl2ZXJzaW9uSWQSHQoKcmVxdWVzdF9pZBgD' + 'IAEoCVIJcmVxdWVzdElkEg4KAmlwGAQgASgJUgJpcBI5CgpzdGFydF90aW1lGAYgASgLMhouZ2' + '9vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAcgASgLMhou' + 'Z29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIHZW5kVGltZRIzCgdsYXRlbmN5GAggASgLMhkuZ2' + '9vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgdsYXRlbmN5Eh8KC21lZ2FfY3ljbGVzGAkgASgDUgpt' + 'ZWdhQ3ljbGVzEhYKBm1ldGhvZBgKIAEoCVIGbWV0aG9kEhoKCHJlc291cmNlGAsgASgJUghyZX' + 'NvdXJjZRIhCgxodHRwX3ZlcnNpb24YDCABKAlSC2h0dHBWZXJzaW9uEhYKBnN0YXR1cxgNIAEo' + 'BVIGc3RhdHVzEiMKDXJlc3BvbnNlX3NpemUYDiABKANSDHJlc3BvbnNlU2l6ZRIaCghyZWZlcn' + 'JlchgPIAEoCVIIcmVmZXJyZXISHQoKdXNlcl9hZ2VudBgQIAEoCVIJdXNlckFnZW50EhoKCG5p' + 'Y2tuYW1lGCggASgJUghuaWNrbmFtZRIiCg11cmxfbWFwX2VudHJ5GBEgASgJUgt1cmxNYXBFbn' + 'RyeRISCgRob3N0GBQgASgJUgRob3N0EhIKBGNvc3QYFSABKAFSBGNvc3QSJgoPdGFza19xdWV1' + 'ZV9uYW1lGBYgASgJUg10YXNrUXVldWVOYW1lEhsKCXRhc2tfbmFtZRgXIAEoCVIIdGFza05hbW' + 'USLgoTd2FzX2xvYWRpbmdfcmVxdWVzdBgYIAEoCFIRd2FzTG9hZGluZ1JlcXVlc3QSPAoMcGVu' + 'ZGluZ190aW1lGBkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgtwZW5kaW5nVGltZR' + 'IlCg5pbnN0YW5jZV9pbmRleBgaIAEoBVINaW5zdGFuY2VJbmRleBIaCghmaW5pc2hlZBgbIAEo' + 'CFIIZmluaXNoZWQSFAoFZmlyc3QYKiABKAhSBWZpcnN0Eh8KC2luc3RhbmNlX2lkGBwgASgJUg' + 'ppbnN0YW5jZUlkEjgKBGxpbmUYHSADKAsyJC5nb29nbGUuYXBwZW5naW5lLmxvZ2dpbmcudjEu' + 'TG9nTGluZVIEbGluZRIsChJhcHBfZW5naW5lX3JlbGVhc2UYJiABKAlSEGFwcEVuZ2luZVJlbG' + 'Vhc2USGQoIdHJhY2VfaWQYJyABKAlSB3RyYWNlSWQSIwoNdHJhY2Vfc2FtcGxlZBgrIAEoCFIM' + 'dHJhY2VTYW1wbGVkElcKEHNvdXJjZV9yZWZlcmVuY2UYKSADKAsyLC5nb29nbGUuYXBwZW5naW' + '5lLmxvZ2dpbmcudjEuU291cmNlUmVmZXJlbmNlUg9zb3VyY2VSZWZlcmVuY2U='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pb.dart new file mode 100644 index 00000000..0e826e78 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pb.dart @@ -0,0 +1,1469 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/app_yaml.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import 'app_yaml.pbenum.dart'; + +export 'app_yaml.pbenum.dart'; + +/// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) +/// configuration for API handlers. +class ApiConfigHandler extends $pb.GeneratedMessage { + factory ApiConfigHandler({ + AuthFailAction? authFailAction, + LoginRequirement? login, + $core.String? script, + SecurityLevel? securityLevel, + $core.String? url, + }) { + final $result = create(); + if (authFailAction != null) { + $result.authFailAction = authFailAction; + } + if (login != null) { + $result.login = login; + } + if (script != null) { + $result.script = script; + } + if (securityLevel != null) { + $result.securityLevel = securityLevel; + } + if (url != null) { + $result.url = url; + } + return $result; + } + ApiConfigHandler._() : super(); + factory ApiConfigHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ApiConfigHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ApiConfigHandler', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'authFailAction', $pb.PbFieldType.OE, + defaultOrMaker: AuthFailAction.AUTH_FAIL_ACTION_UNSPECIFIED, + valueOf: AuthFailAction.valueOf, + enumValues: AuthFailAction.values) + ..e(2, _omitFieldNames ? '' : 'login', $pb.PbFieldType.OE, + defaultOrMaker: LoginRequirement.LOGIN_UNSPECIFIED, + valueOf: LoginRequirement.valueOf, + enumValues: LoginRequirement.values) + ..aOS(3, _omitFieldNames ? '' : 'script') + ..e( + 4, _omitFieldNames ? '' : 'securityLevel', $pb.PbFieldType.OE, + defaultOrMaker: SecurityLevel.SECURE_UNSPECIFIED, + valueOf: SecurityLevel.valueOf, + enumValues: SecurityLevel.values) + ..aOS(5, _omitFieldNames ? '' : 'url') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ApiConfigHandler clone() => ApiConfigHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ApiConfigHandler copyWith(void Function(ApiConfigHandler) updates) => + super.copyWith((message) => updates(message as ApiConfigHandler)) + as ApiConfigHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ApiConfigHandler create() => ApiConfigHandler._(); + ApiConfigHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ApiConfigHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ApiConfigHandler? _defaultInstance; + + /// Action to take when users access resources that require + /// authentication. Defaults to `redirect`. + @$pb.TagNumber(1) + AuthFailAction get authFailAction => $_getN(0); + @$pb.TagNumber(1) + set authFailAction(AuthFailAction v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasAuthFailAction() => $_has(0); + @$pb.TagNumber(1) + void clearAuthFailAction() => clearField(1); + + /// Level of login required to access this resource. Defaults to + /// `optional`. + @$pb.TagNumber(2) + LoginRequirement get login => $_getN(1); + @$pb.TagNumber(2) + set login(LoginRequirement v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasLogin() => $_has(1); + @$pb.TagNumber(2) + void clearLogin() => clearField(2); + + /// Path to the script from the application root directory. + @$pb.TagNumber(3) + $core.String get script => $_getSZ(2); + @$pb.TagNumber(3) + set script($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasScript() => $_has(2); + @$pb.TagNumber(3) + void clearScript() => clearField(3); + + /// Security (HTTPS) enforcement for this URL. + @$pb.TagNumber(4) + SecurityLevel get securityLevel => $_getN(3); + @$pb.TagNumber(4) + set securityLevel(SecurityLevel v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasSecurityLevel() => $_has(3); + @$pb.TagNumber(4) + void clearSecurityLevel() => clearField(4); + + /// URL to serve the endpoint at. + @$pb.TagNumber(5) + $core.String get url => $_getSZ(4); + @$pb.TagNumber(5) + set url($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUrl() => $_has(4); + @$pb.TagNumber(5) + void clearUrl() => clearField(5); +} + +/// Custom static error page to be served when an error occurs. +class ErrorHandler extends $pb.GeneratedMessage { + factory ErrorHandler({ + ErrorHandler_ErrorCode? errorCode, + $core.String? staticFile, + $core.String? mimeType, + }) { + final $result = create(); + if (errorCode != null) { + $result.errorCode = errorCode; + } + if (staticFile != null) { + $result.staticFile = staticFile; + } + if (mimeType != null) { + $result.mimeType = mimeType; + } + return $result; + } + ErrorHandler._() : super(); + factory ErrorHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ErrorHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ErrorHandler', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'errorCode', $pb.PbFieldType.OE, + defaultOrMaker: ErrorHandler_ErrorCode.ERROR_CODE_UNSPECIFIED, + valueOf: ErrorHandler_ErrorCode.valueOf, + enumValues: ErrorHandler_ErrorCode.values) + ..aOS(2, _omitFieldNames ? '' : 'staticFile') + ..aOS(3, _omitFieldNames ? '' : 'mimeType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ErrorHandler clone() => ErrorHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ErrorHandler copyWith(void Function(ErrorHandler) updates) => + super.copyWith((message) => updates(message as ErrorHandler)) + as ErrorHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ErrorHandler create() => ErrorHandler._(); + ErrorHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ErrorHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ErrorHandler? _defaultInstance; + + /// Error condition this handler applies to. + @$pb.TagNumber(1) + ErrorHandler_ErrorCode get errorCode => $_getN(0); + @$pb.TagNumber(1) + set errorCode(ErrorHandler_ErrorCode v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasErrorCode() => $_has(0); + @$pb.TagNumber(1) + void clearErrorCode() => clearField(1); + + /// Static file content to be served for this error. + @$pb.TagNumber(2) + $core.String get staticFile => $_getSZ(1); + @$pb.TagNumber(2) + set staticFile($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasStaticFile() => $_has(1); + @$pb.TagNumber(2) + void clearStaticFile() => clearField(2); + + /// MIME type of file. Defaults to `text/html`. + @$pb.TagNumber(3) + $core.String get mimeType => $_getSZ(2); + @$pb.TagNumber(3) + set mimeType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMimeType() => $_has(2); + @$pb.TagNumber(3) + void clearMimeType() => clearField(3); +} + +enum UrlMap_HandlerType { staticFiles, script, apiEndpoint, notSet } + +/// URL pattern and description of how the URL should be handled. App Engine can +/// handle URLs by executing application code or by serving static files +/// uploaded with the version, such as images, CSS, or JavaScript. +class UrlMap extends $pb.GeneratedMessage { + factory UrlMap({ + $core.String? urlRegex, + StaticFilesHandler? staticFiles, + ScriptHandler? script, + ApiEndpointHandler? apiEndpoint, + SecurityLevel? securityLevel, + LoginRequirement? login, + AuthFailAction? authFailAction, + UrlMap_RedirectHttpResponseCode? redirectHttpResponseCode, + }) { + final $result = create(); + if (urlRegex != null) { + $result.urlRegex = urlRegex; + } + if (staticFiles != null) { + $result.staticFiles = staticFiles; + } + if (script != null) { + $result.script = script; + } + if (apiEndpoint != null) { + $result.apiEndpoint = apiEndpoint; + } + if (securityLevel != null) { + $result.securityLevel = securityLevel; + } + if (login != null) { + $result.login = login; + } + if (authFailAction != null) { + $result.authFailAction = authFailAction; + } + if (redirectHttpResponseCode != null) { + $result.redirectHttpResponseCode = redirectHttpResponseCode; + } + return $result; + } + UrlMap._() : super(); + factory UrlMap.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UrlMap.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, UrlMap_HandlerType> + _UrlMap_HandlerTypeByTag = { + 2: UrlMap_HandlerType.staticFiles, + 3: UrlMap_HandlerType.script, + 4: UrlMap_HandlerType.apiEndpoint, + 0: UrlMap_HandlerType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UrlMap', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..oo(0, [2, 3, 4]) + ..aOS(1, _omitFieldNames ? '' : 'urlRegex') + ..aOM(2, _omitFieldNames ? '' : 'staticFiles', + subBuilder: StaticFilesHandler.create) + ..aOM(3, _omitFieldNames ? '' : 'script', + subBuilder: ScriptHandler.create) + ..aOM(4, _omitFieldNames ? '' : 'apiEndpoint', + subBuilder: ApiEndpointHandler.create) + ..e( + 5, _omitFieldNames ? '' : 'securityLevel', $pb.PbFieldType.OE, + defaultOrMaker: SecurityLevel.SECURE_UNSPECIFIED, + valueOf: SecurityLevel.valueOf, + enumValues: SecurityLevel.values) + ..e(6, _omitFieldNames ? '' : 'login', $pb.PbFieldType.OE, + defaultOrMaker: LoginRequirement.LOGIN_UNSPECIFIED, + valueOf: LoginRequirement.valueOf, + enumValues: LoginRequirement.values) + ..e( + 7, _omitFieldNames ? '' : 'authFailAction', $pb.PbFieldType.OE, + defaultOrMaker: AuthFailAction.AUTH_FAIL_ACTION_UNSPECIFIED, + valueOf: AuthFailAction.valueOf, + enumValues: AuthFailAction.values) + ..e(8, + _omitFieldNames ? '' : 'redirectHttpResponseCode', $pb.PbFieldType.OE, + defaultOrMaker: UrlMap_RedirectHttpResponseCode + .REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED, + valueOf: UrlMap_RedirectHttpResponseCode.valueOf, + enumValues: UrlMap_RedirectHttpResponseCode.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UrlMap clone() => UrlMap()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UrlMap copyWith(void Function(UrlMap) updates) => + super.copyWith((message) => updates(message as UrlMap)) as UrlMap; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UrlMap create() => UrlMap._(); + UrlMap createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UrlMap getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UrlMap? _defaultInstance; + + UrlMap_HandlerType whichHandlerType() => + _UrlMap_HandlerTypeByTag[$_whichOneof(0)]!; + void clearHandlerType() => clearField($_whichOneof(0)); + + /// URL prefix. Uses regular expression syntax, which means regexp + /// special characters must be escaped, but should not contain groupings. + /// All URLs that begin with this prefix are handled by this handler, using the + /// portion of the URL after the prefix as part of the file path. + @$pb.TagNumber(1) + $core.String get urlRegex => $_getSZ(0); + @$pb.TagNumber(1) + set urlRegex($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasUrlRegex() => $_has(0); + @$pb.TagNumber(1) + void clearUrlRegex() => clearField(1); + + /// Returns the contents of a file, such as an image, as the response. + @$pb.TagNumber(2) + StaticFilesHandler get staticFiles => $_getN(1); + @$pb.TagNumber(2) + set staticFiles(StaticFilesHandler v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStaticFiles() => $_has(1); + @$pb.TagNumber(2) + void clearStaticFiles() => clearField(2); + @$pb.TagNumber(2) + StaticFilesHandler ensureStaticFiles() => $_ensure(1); + + /// Executes a script to handle the requests that match this URL + /// pattern. Only the `auto` value is supported for Node.js in the + /// App Engine standard environment, for example `"script": "auto"`. + @$pb.TagNumber(3) + ScriptHandler get script => $_getN(2); + @$pb.TagNumber(3) + set script(ScriptHandler v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasScript() => $_has(2); + @$pb.TagNumber(3) + void clearScript() => clearField(3); + @$pb.TagNumber(3) + ScriptHandler ensureScript() => $_ensure(2); + + /// Uses API Endpoints to handle requests. + @$pb.TagNumber(4) + ApiEndpointHandler get apiEndpoint => $_getN(3); + @$pb.TagNumber(4) + set apiEndpoint(ApiEndpointHandler v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasApiEndpoint() => $_has(3); + @$pb.TagNumber(4) + void clearApiEndpoint() => clearField(4); + @$pb.TagNumber(4) + ApiEndpointHandler ensureApiEndpoint() => $_ensure(3); + + /// Security (HTTPS) enforcement for this URL. + @$pb.TagNumber(5) + SecurityLevel get securityLevel => $_getN(4); + @$pb.TagNumber(5) + set securityLevel(SecurityLevel v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSecurityLevel() => $_has(4); + @$pb.TagNumber(5) + void clearSecurityLevel() => clearField(5); + + /// Level of login required to access this resource. Not supported for Node.js + /// in the App Engine standard environment. + @$pb.TagNumber(6) + LoginRequirement get login => $_getN(5); + @$pb.TagNumber(6) + set login(LoginRequirement v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasLogin() => $_has(5); + @$pb.TagNumber(6) + void clearLogin() => clearField(6); + + /// Action to take when users access resources that require + /// authentication. Defaults to `redirect`. + @$pb.TagNumber(7) + AuthFailAction get authFailAction => $_getN(6); + @$pb.TagNumber(7) + set authFailAction(AuthFailAction v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasAuthFailAction() => $_has(6); + @$pb.TagNumber(7) + void clearAuthFailAction() => clearField(7); + + /// `30x` code to use when performing redirects for the `secure` field. + /// Defaults to `302`. + @$pb.TagNumber(8) + UrlMap_RedirectHttpResponseCode get redirectHttpResponseCode => $_getN(7); + @$pb.TagNumber(8) + set redirectHttpResponseCode(UrlMap_RedirectHttpResponseCode v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasRedirectHttpResponseCode() => $_has(7); + @$pb.TagNumber(8) + void clearRedirectHttpResponseCode() => clearField(8); +} + +/// Files served directly to the user for a given URL, such as images, CSS +/// stylesheets, or JavaScript source files. Static file handlers describe which +/// files in the application directory are static files, and which URLs serve +/// them. +class StaticFilesHandler extends $pb.GeneratedMessage { + factory StaticFilesHandler({ + $core.String? path, + $core.String? uploadPathRegex, + $core.Map<$core.String, $core.String>? httpHeaders, + $core.String? mimeType, + $51.Duration? expiration, + $core.bool? requireMatchingFile, + $core.bool? applicationReadable, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (uploadPathRegex != null) { + $result.uploadPathRegex = uploadPathRegex; + } + if (httpHeaders != null) { + $result.httpHeaders.addAll(httpHeaders); + } + if (mimeType != null) { + $result.mimeType = mimeType; + } + if (expiration != null) { + $result.expiration = expiration; + } + if (requireMatchingFile != null) { + $result.requireMatchingFile = requireMatchingFile; + } + if (applicationReadable != null) { + $result.applicationReadable = applicationReadable; + } + return $result; + } + StaticFilesHandler._() : super(); + factory StaticFilesHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory StaticFilesHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'StaticFilesHandler', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..aOS(2, _omitFieldNames ? '' : 'uploadPathRegex') + ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'httpHeaders', + entryClassName: 'StaticFilesHandler.HttpHeadersEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1')) + ..aOS(4, _omitFieldNames ? '' : 'mimeType') + ..aOM<$51.Duration>(5, _omitFieldNames ? '' : 'expiration', + subBuilder: $51.Duration.create) + ..aOB(6, _omitFieldNames ? '' : 'requireMatchingFile') + ..aOB(7, _omitFieldNames ? '' : 'applicationReadable') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StaticFilesHandler clone() => StaticFilesHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StaticFilesHandler copyWith(void Function(StaticFilesHandler) updates) => + super.copyWith((message) => updates(message as StaticFilesHandler)) + as StaticFilesHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StaticFilesHandler create() => StaticFilesHandler._(); + StaticFilesHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StaticFilesHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static StaticFilesHandler? _defaultInstance; + + /// Path to the static files matched by the URL pattern, from the + /// application root directory. The path can refer to text matched in groupings + /// in the URL pattern. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Regular expression that matches the file paths for all files that should be + /// referenced by this handler. + @$pb.TagNumber(2) + $core.String get uploadPathRegex => $_getSZ(1); + @$pb.TagNumber(2) + set uploadPathRegex($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUploadPathRegex() => $_has(1); + @$pb.TagNumber(2) + void clearUploadPathRegex() => clearField(2); + + /// HTTP headers to use for all responses from these URLs. + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get httpHeaders => $_getMap(2); + + /// MIME type used to serve all files served by this handler. + /// + /// Defaults to file-specific MIME types, which are derived from each file's + /// filename extension. + @$pb.TagNumber(4) + $core.String get mimeType => $_getSZ(3); + @$pb.TagNumber(4) + set mimeType($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMimeType() => $_has(3); + @$pb.TagNumber(4) + void clearMimeType() => clearField(4); + + /// Time a static file served by this handler should be cached + /// by web proxies and browsers. + @$pb.TagNumber(5) + $51.Duration get expiration => $_getN(4); + @$pb.TagNumber(5) + set expiration($51.Duration v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasExpiration() => $_has(4); + @$pb.TagNumber(5) + void clearExpiration() => clearField(5); + @$pb.TagNumber(5) + $51.Duration ensureExpiration() => $_ensure(4); + + /// Whether this handler should match the request if the file + /// referenced by the handler does not exist. + @$pb.TagNumber(6) + $core.bool get requireMatchingFile => $_getBF(5); + @$pb.TagNumber(6) + set requireMatchingFile($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasRequireMatchingFile() => $_has(5); + @$pb.TagNumber(6) + void clearRequireMatchingFile() => clearField(6); + + /// Whether files should also be uploaded as code data. By default, files + /// declared in static file handlers are uploaded as static + /// data and are only served to end users; they cannot be read by the + /// application. If enabled, uploads are charged against both your code and + /// static data storage resource quotas. + @$pb.TagNumber(7) + $core.bool get applicationReadable => $_getBF(6); + @$pb.TagNumber(7) + set applicationReadable($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasApplicationReadable() => $_has(6); + @$pb.TagNumber(7) + void clearApplicationReadable() => clearField(7); +} + +/// Executes a script to handle the request that matches the URL pattern. +class ScriptHandler extends $pb.GeneratedMessage { + factory ScriptHandler({ + $core.String? scriptPath, + }) { + final $result = create(); + if (scriptPath != null) { + $result.scriptPath = scriptPath; + } + return $result; + } + ScriptHandler._() : super(); + factory ScriptHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ScriptHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ScriptHandler', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'scriptPath') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ScriptHandler clone() => ScriptHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ScriptHandler copyWith(void Function(ScriptHandler) updates) => + super.copyWith((message) => updates(message as ScriptHandler)) + as ScriptHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ScriptHandler create() => ScriptHandler._(); + ScriptHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ScriptHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ScriptHandler? _defaultInstance; + + /// Path to the script from the application root directory. + @$pb.TagNumber(1) + $core.String get scriptPath => $_getSZ(0); + @$pb.TagNumber(1) + set scriptPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasScriptPath() => $_has(0); + @$pb.TagNumber(1) + void clearScriptPath() => clearField(1); +} + +/// Uses Google Cloud Endpoints to handle requests. +class ApiEndpointHandler extends $pb.GeneratedMessage { + factory ApiEndpointHandler({ + $core.String? scriptPath, + }) { + final $result = create(); + if (scriptPath != null) { + $result.scriptPath = scriptPath; + } + return $result; + } + ApiEndpointHandler._() : super(); + factory ApiEndpointHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ApiEndpointHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ApiEndpointHandler', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'scriptPath') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ApiEndpointHandler clone() => ApiEndpointHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ApiEndpointHandler copyWith(void Function(ApiEndpointHandler) updates) => + super.copyWith((message) => updates(message as ApiEndpointHandler)) + as ApiEndpointHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ApiEndpointHandler create() => ApiEndpointHandler._(); + ApiEndpointHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ApiEndpointHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ApiEndpointHandler? _defaultInstance; + + /// Path to the script from the application root directory. + @$pb.TagNumber(1) + $core.String get scriptPath => $_getSZ(0); + @$pb.TagNumber(1) + set scriptPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasScriptPath() => $_has(0); + @$pb.TagNumber(1) + void clearScriptPath() => clearField(1); +} + +/// Health checking configuration for VM instances. Unhealthy instances +/// are killed and replaced with new instances. Only applicable for +/// instances in App Engine flexible environment. +class HealthCheck extends $pb.GeneratedMessage { + factory HealthCheck({ + $core.bool? disableHealthCheck, + $core.String? host, + $core.int? healthyThreshold, + $core.int? unhealthyThreshold, + $core.int? restartThreshold, + $51.Duration? checkInterval, + $51.Duration? timeout, + }) { + final $result = create(); + if (disableHealthCheck != null) { + $result.disableHealthCheck = disableHealthCheck; + } + if (host != null) { + $result.host = host; + } + if (healthyThreshold != null) { + $result.healthyThreshold = healthyThreshold; + } + if (unhealthyThreshold != null) { + $result.unhealthyThreshold = unhealthyThreshold; + } + if (restartThreshold != null) { + $result.restartThreshold = restartThreshold; + } + if (checkInterval != null) { + $result.checkInterval = checkInterval; + } + if (timeout != null) { + $result.timeout = timeout; + } + return $result; + } + HealthCheck._() : super(); + factory HealthCheck.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory HealthCheck.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'HealthCheck', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'disableHealthCheck') + ..aOS(2, _omitFieldNames ? '' : 'host') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'healthyThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'unhealthyThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'restartThreshold', $pb.PbFieldType.OU3) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'checkInterval', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HealthCheck clone() => HealthCheck()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HealthCheck copyWith(void Function(HealthCheck) updates) => + super.copyWith((message) => updates(message as HealthCheck)) + as HealthCheck; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HealthCheck create() => HealthCheck._(); + HealthCheck createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HealthCheck getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static HealthCheck? _defaultInstance; + + /// Whether to explicitly disable health checks for this instance. + @$pb.TagNumber(1) + $core.bool get disableHealthCheck => $_getBF(0); + @$pb.TagNumber(1) + set disableHealthCheck($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDisableHealthCheck() => $_has(0); + @$pb.TagNumber(1) + void clearDisableHealthCheck() => clearField(1); + + /// Host header to send when performing an HTTP health check. + /// Example: "myapp.appspot.com" + @$pb.TagNumber(2) + $core.String get host => $_getSZ(1); + @$pb.TagNumber(2) + set host($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHost() => $_has(1); + @$pb.TagNumber(2) + void clearHost() => clearField(2); + + /// Number of consecutive successful health checks required before receiving + /// traffic. + @$pb.TagNumber(3) + $core.int get healthyThreshold => $_getIZ(2); + @$pb.TagNumber(3) + set healthyThreshold($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasHealthyThreshold() => $_has(2); + @$pb.TagNumber(3) + void clearHealthyThreshold() => clearField(3); + + /// Number of consecutive failed health checks required before removing + /// traffic. + @$pb.TagNumber(4) + $core.int get unhealthyThreshold => $_getIZ(3); + @$pb.TagNumber(4) + set unhealthyThreshold($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUnhealthyThreshold() => $_has(3); + @$pb.TagNumber(4) + void clearUnhealthyThreshold() => clearField(4); + + /// Number of consecutive failed health checks required before an instance is + /// restarted. + @$pb.TagNumber(5) + $core.int get restartThreshold => $_getIZ(4); + @$pb.TagNumber(5) + set restartThreshold($core.int v) { + $_setUnsignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasRestartThreshold() => $_has(4); + @$pb.TagNumber(5) + void clearRestartThreshold() => clearField(5); + + /// Interval between health checks. + @$pb.TagNumber(6) + $51.Duration get checkInterval => $_getN(5); + @$pb.TagNumber(6) + set checkInterval($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCheckInterval() => $_has(5); + @$pb.TagNumber(6) + void clearCheckInterval() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureCheckInterval() => $_ensure(5); + + /// Time before the health check is considered failed. + @$pb.TagNumber(7) + $51.Duration get timeout => $_getN(6); + @$pb.TagNumber(7) + set timeout($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasTimeout() => $_has(6); + @$pb.TagNumber(7) + void clearTimeout() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureTimeout() => $_ensure(6); +} + +/// Readiness checking configuration for VM instances. Unhealthy instances +/// are removed from traffic rotation. +class ReadinessCheck extends $pb.GeneratedMessage { + factory ReadinessCheck({ + $core.String? path, + $core.String? host, + $core.int? failureThreshold, + $core.int? successThreshold, + $51.Duration? checkInterval, + $51.Duration? timeout, + $51.Duration? appStartTimeout, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (host != null) { + $result.host = host; + } + if (failureThreshold != null) { + $result.failureThreshold = failureThreshold; + } + if (successThreshold != null) { + $result.successThreshold = successThreshold; + } + if (checkInterval != null) { + $result.checkInterval = checkInterval; + } + if (timeout != null) { + $result.timeout = timeout; + } + if (appStartTimeout != null) { + $result.appStartTimeout = appStartTimeout; + } + return $result; + } + ReadinessCheck._() : super(); + factory ReadinessCheck.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReadinessCheck.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReadinessCheck', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..aOS(2, _omitFieldNames ? '' : 'host') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'failureThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'successThreshold', $pb.PbFieldType.OU3) + ..aOM<$51.Duration>(5, _omitFieldNames ? '' : 'checkInterval', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'appStartTimeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReadinessCheck clone() => ReadinessCheck()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReadinessCheck copyWith(void Function(ReadinessCheck) updates) => + super.copyWith((message) => updates(message as ReadinessCheck)) + as ReadinessCheck; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReadinessCheck create() => ReadinessCheck._(); + ReadinessCheck createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReadinessCheck getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReadinessCheck? _defaultInstance; + + /// The request path. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Host header to send when performing a HTTP Readiness check. + /// Example: "myapp.appspot.com" + @$pb.TagNumber(2) + $core.String get host => $_getSZ(1); + @$pb.TagNumber(2) + set host($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHost() => $_has(1); + @$pb.TagNumber(2) + void clearHost() => clearField(2); + + /// Number of consecutive failed checks required before removing + /// traffic. + @$pb.TagNumber(3) + $core.int get failureThreshold => $_getIZ(2); + @$pb.TagNumber(3) + set failureThreshold($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFailureThreshold() => $_has(2); + @$pb.TagNumber(3) + void clearFailureThreshold() => clearField(3); + + /// Number of consecutive successful checks required before receiving + /// traffic. + @$pb.TagNumber(4) + $core.int get successThreshold => $_getIZ(3); + @$pb.TagNumber(4) + set successThreshold($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSuccessThreshold() => $_has(3); + @$pb.TagNumber(4) + void clearSuccessThreshold() => clearField(4); + + /// Interval between health checks. + @$pb.TagNumber(5) + $51.Duration get checkInterval => $_getN(4); + @$pb.TagNumber(5) + set checkInterval($51.Duration v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCheckInterval() => $_has(4); + @$pb.TagNumber(5) + void clearCheckInterval() => clearField(5); + @$pb.TagNumber(5) + $51.Duration ensureCheckInterval() => $_ensure(4); + + /// Time before the check is considered failed. + @$pb.TagNumber(6) + $51.Duration get timeout => $_getN(5); + @$pb.TagNumber(6) + set timeout($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasTimeout() => $_has(5); + @$pb.TagNumber(6) + void clearTimeout() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureTimeout() => $_ensure(5); + + /// A maximum time limit on application initialization, measured from moment + /// the application successfully replies to a healthcheck until it is ready to + /// serve traffic. + @$pb.TagNumber(7) + $51.Duration get appStartTimeout => $_getN(6); + @$pb.TagNumber(7) + set appStartTimeout($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasAppStartTimeout() => $_has(6); + @$pb.TagNumber(7) + void clearAppStartTimeout() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureAppStartTimeout() => $_ensure(6); +} + +/// Health checking configuration for VM instances. Unhealthy instances +/// are killed and replaced with new instances. +class LivenessCheck extends $pb.GeneratedMessage { + factory LivenessCheck({ + $core.String? path, + $core.String? host, + $core.int? failureThreshold, + $core.int? successThreshold, + $51.Duration? checkInterval, + $51.Duration? timeout, + $51.Duration? initialDelay, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (host != null) { + $result.host = host; + } + if (failureThreshold != null) { + $result.failureThreshold = failureThreshold; + } + if (successThreshold != null) { + $result.successThreshold = successThreshold; + } + if (checkInterval != null) { + $result.checkInterval = checkInterval; + } + if (timeout != null) { + $result.timeout = timeout; + } + if (initialDelay != null) { + $result.initialDelay = initialDelay; + } + return $result; + } + LivenessCheck._() : super(); + factory LivenessCheck.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LivenessCheck.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LivenessCheck', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..aOS(2, _omitFieldNames ? '' : 'host') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'failureThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'successThreshold', $pb.PbFieldType.OU3) + ..aOM<$51.Duration>(5, _omitFieldNames ? '' : 'checkInterval', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'initialDelay', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LivenessCheck clone() => LivenessCheck()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LivenessCheck copyWith(void Function(LivenessCheck) updates) => + super.copyWith((message) => updates(message as LivenessCheck)) + as LivenessCheck; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LivenessCheck create() => LivenessCheck._(); + LivenessCheck createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LivenessCheck getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LivenessCheck? _defaultInstance; + + /// The request path. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Host header to send when performing a HTTP Liveness check. + /// Example: "myapp.appspot.com" + @$pb.TagNumber(2) + $core.String get host => $_getSZ(1); + @$pb.TagNumber(2) + set host($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHost() => $_has(1); + @$pb.TagNumber(2) + void clearHost() => clearField(2); + + /// Number of consecutive failed checks required before considering the + /// VM unhealthy. + @$pb.TagNumber(3) + $core.int get failureThreshold => $_getIZ(2); + @$pb.TagNumber(3) + set failureThreshold($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFailureThreshold() => $_has(2); + @$pb.TagNumber(3) + void clearFailureThreshold() => clearField(3); + + /// Number of consecutive successful checks required before considering + /// the VM healthy. + @$pb.TagNumber(4) + $core.int get successThreshold => $_getIZ(3); + @$pb.TagNumber(4) + set successThreshold($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSuccessThreshold() => $_has(3); + @$pb.TagNumber(4) + void clearSuccessThreshold() => clearField(4); + + /// Interval between health checks. + @$pb.TagNumber(5) + $51.Duration get checkInterval => $_getN(4); + @$pb.TagNumber(5) + set checkInterval($51.Duration v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCheckInterval() => $_has(4); + @$pb.TagNumber(5) + void clearCheckInterval() => clearField(5); + @$pb.TagNumber(5) + $51.Duration ensureCheckInterval() => $_ensure(4); + + /// Time before the check is considered failed. + @$pb.TagNumber(6) + $51.Duration get timeout => $_getN(5); + @$pb.TagNumber(6) + set timeout($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasTimeout() => $_has(5); + @$pb.TagNumber(6) + void clearTimeout() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureTimeout() => $_ensure(5); + + /// The initial delay before starting to execute the checks. + @$pb.TagNumber(7) + $51.Duration get initialDelay => $_getN(6); + @$pb.TagNumber(7) + set initialDelay($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasInitialDelay() => $_has(6); + @$pb.TagNumber(7) + void clearInitialDelay() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureInitialDelay() => $_ensure(6); +} + +/// Third-party Python runtime library that is required by the application. +class Library extends $pb.GeneratedMessage { + factory Library({ + $core.String? name, + $core.String? version, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (version != null) { + $result.version = version; + } + return $result; + } + Library._() : super(); + factory Library.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Library.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Library', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'version') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Library clone() => Library()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Library copyWith(void Function(Library) updates) => + super.copyWith((message) => updates(message as Library)) as Library; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Library create() => Library._(); + Library createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Library getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Library? _defaultInstance; + + /// Name of the library. Example: "django". + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Version of the library to select, or "latest". + @$pb.TagNumber(2) + $core.String get version => $_getSZ(1); + @$pb.TagNumber(2) + set version($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pbenum.dart new file mode 100644 index 00000000..c674770c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pbenum.dart @@ -0,0 +1,159 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/app_yaml.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Actions to take when the user is not logged in. +class AuthFailAction extends $pb.ProtobufEnum { + static const AuthFailAction AUTH_FAIL_ACTION_UNSPECIFIED = + AuthFailAction._(0, _omitEnumNames ? '' : 'AUTH_FAIL_ACTION_UNSPECIFIED'); + static const AuthFailAction AUTH_FAIL_ACTION_REDIRECT = + AuthFailAction._(1, _omitEnumNames ? '' : 'AUTH_FAIL_ACTION_REDIRECT'); + static const AuthFailAction AUTH_FAIL_ACTION_UNAUTHORIZED = AuthFailAction._( + 2, _omitEnumNames ? '' : 'AUTH_FAIL_ACTION_UNAUTHORIZED'); + + static const $core.List values = [ + AUTH_FAIL_ACTION_UNSPECIFIED, + AUTH_FAIL_ACTION_REDIRECT, + AUTH_FAIL_ACTION_UNAUTHORIZED, + ]; + + static final $core.Map<$core.int, AuthFailAction> _byValue = + $pb.ProtobufEnum.initByValue(values); + static AuthFailAction? valueOf($core.int value) => _byValue[value]; + + const AuthFailAction._($core.int v, $core.String n) : super(v, n); +} + +/// Methods to restrict access to a URL based on login status. +class LoginRequirement extends $pb.ProtobufEnum { + static const LoginRequirement LOGIN_UNSPECIFIED = + LoginRequirement._(0, _omitEnumNames ? '' : 'LOGIN_UNSPECIFIED'); + static const LoginRequirement LOGIN_OPTIONAL = + LoginRequirement._(1, _omitEnumNames ? '' : 'LOGIN_OPTIONAL'); + static const LoginRequirement LOGIN_ADMIN = + LoginRequirement._(2, _omitEnumNames ? '' : 'LOGIN_ADMIN'); + static const LoginRequirement LOGIN_REQUIRED = + LoginRequirement._(3, _omitEnumNames ? '' : 'LOGIN_REQUIRED'); + + static const $core.List values = [ + LOGIN_UNSPECIFIED, + LOGIN_OPTIONAL, + LOGIN_ADMIN, + LOGIN_REQUIRED, + ]; + + static final $core.Map<$core.int, LoginRequirement> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LoginRequirement? valueOf($core.int value) => _byValue[value]; + + const LoginRequirement._($core.int v, $core.String n) : super(v, n); +} + +/// Methods to enforce security (HTTPS) on a URL. +class SecurityLevel extends $pb.ProtobufEnum { + static const SecurityLevel SECURE_UNSPECIFIED = + SecurityLevel._(0, _omitEnumNames ? '' : 'SECURE_UNSPECIFIED'); + static const SecurityLevel SECURE_NEVER = + SecurityLevel._(1, _omitEnumNames ? '' : 'SECURE_NEVER'); + static const SecurityLevel SECURE_OPTIONAL = + SecurityLevel._(2, _omitEnumNames ? '' : 'SECURE_OPTIONAL'); + static const SecurityLevel SECURE_ALWAYS = + SecurityLevel._(3, _omitEnumNames ? '' : 'SECURE_ALWAYS'); + + static const SecurityLevel SECURE_DEFAULT = SECURE_UNSPECIFIED; + + static const $core.List values = [ + SECURE_UNSPECIFIED, + SECURE_NEVER, + SECURE_OPTIONAL, + SECURE_ALWAYS, + ]; + + static final $core.Map<$core.int, SecurityLevel> _byValue = + $pb.ProtobufEnum.initByValue(values); + static SecurityLevel? valueOf($core.int value) => _byValue[value]; + + const SecurityLevel._($core.int v, $core.String n) : super(v, n); +} + +/// Error codes. +class ErrorHandler_ErrorCode extends $pb.ProtobufEnum { + static const ErrorHandler_ErrorCode ERROR_CODE_UNSPECIFIED = + ErrorHandler_ErrorCode._( + 0, _omitEnumNames ? '' : 'ERROR_CODE_UNSPECIFIED'); + static const ErrorHandler_ErrorCode ERROR_CODE_OVER_QUOTA = + ErrorHandler_ErrorCode._( + 1, _omitEnumNames ? '' : 'ERROR_CODE_OVER_QUOTA'); + static const ErrorHandler_ErrorCode ERROR_CODE_DOS_API_DENIAL = + ErrorHandler_ErrorCode._( + 2, _omitEnumNames ? '' : 'ERROR_CODE_DOS_API_DENIAL'); + static const ErrorHandler_ErrorCode ERROR_CODE_TIMEOUT = + ErrorHandler_ErrorCode._(3, _omitEnumNames ? '' : 'ERROR_CODE_TIMEOUT'); + + static const ErrorHandler_ErrorCode ERROR_CODE_DEFAULT = + ERROR_CODE_UNSPECIFIED; + + static const $core.List values = + [ + ERROR_CODE_UNSPECIFIED, + ERROR_CODE_OVER_QUOTA, + ERROR_CODE_DOS_API_DENIAL, + ERROR_CODE_TIMEOUT, + ]; + + static final $core.Map<$core.int, ErrorHandler_ErrorCode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ErrorHandler_ErrorCode? valueOf($core.int value) => _byValue[value]; + + const ErrorHandler_ErrorCode._($core.int v, $core.String n) : super(v, n); +} + +/// Redirect codes. +class UrlMap_RedirectHttpResponseCode extends $pb.ProtobufEnum { + static const UrlMap_RedirectHttpResponseCode + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = + UrlMap_RedirectHttpResponseCode._( + 0, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_301 = + UrlMap_RedirectHttpResponseCode._( + 1, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_301'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_302 = + UrlMap_RedirectHttpResponseCode._( + 2, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_302'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_303 = + UrlMap_RedirectHttpResponseCode._( + 3, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_303'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_307 = + UrlMap_RedirectHttpResponseCode._( + 4, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_307'); + + static const $core.List values = + [ + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED, + REDIRECT_HTTP_RESPONSE_CODE_301, + REDIRECT_HTTP_RESPONSE_CODE_302, + REDIRECT_HTTP_RESPONSE_CODE_303, + REDIRECT_HTTP_RESPONSE_CODE_307, + ]; + + static final $core.Map<$core.int, UrlMap_RedirectHttpResponseCode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static UrlMap_RedirectHttpResponseCode? valueOf($core.int value) => + _byValue[value]; + + const UrlMap_RedirectHttpResponseCode._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pbjson.dart new file mode 100644 index 00000000..f4094716 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/app_yaml.pbjson.dart @@ -0,0 +1,522 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/app_yaml.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use authFailActionDescriptor instead') +const AuthFailAction$json = { + '1': 'AuthFailAction', + '2': [ + {'1': 'AUTH_FAIL_ACTION_UNSPECIFIED', '2': 0}, + {'1': 'AUTH_FAIL_ACTION_REDIRECT', '2': 1}, + {'1': 'AUTH_FAIL_ACTION_UNAUTHORIZED', '2': 2}, + ], +}; + +/// Descriptor for `AuthFailAction`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List authFailActionDescriptor = $convert.base64Decode( + 'Cg5BdXRoRmFpbEFjdGlvbhIgChxBVVRIX0ZBSUxfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHQoZQV' + 'VUSF9GQUlMX0FDVElPTl9SRURJUkVDVBABEiEKHUFVVEhfRkFJTF9BQ1RJT05fVU5BVVRIT1JJ' + 'WkVEEAI='); + +@$core.Deprecated('Use loginRequirementDescriptor instead') +const LoginRequirement$json = { + '1': 'LoginRequirement', + '2': [ + {'1': 'LOGIN_UNSPECIFIED', '2': 0}, + {'1': 'LOGIN_OPTIONAL', '2': 1}, + {'1': 'LOGIN_ADMIN', '2': 2}, + {'1': 'LOGIN_REQUIRED', '2': 3}, + ], +}; + +/// Descriptor for `LoginRequirement`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List loginRequirementDescriptor = $convert.base64Decode( + 'ChBMb2dpblJlcXVpcmVtZW50EhUKEUxPR0lOX1VOU1BFQ0lGSUVEEAASEgoOTE9HSU5fT1BUSU' + '9OQUwQARIPCgtMT0dJTl9BRE1JThACEhIKDkxPR0lOX1JFUVVJUkVEEAM='); + +@$core.Deprecated('Use securityLevelDescriptor instead') +const SecurityLevel$json = { + '1': 'SecurityLevel', + '2': [ + {'1': 'SECURE_UNSPECIFIED', '2': 0}, + {'1': 'SECURE_DEFAULT', '2': 0}, + {'1': 'SECURE_NEVER', '2': 1}, + {'1': 'SECURE_OPTIONAL', '2': 2}, + {'1': 'SECURE_ALWAYS', '2': 3}, + ], + '3': {'2': true}, +}; + +/// Descriptor for `SecurityLevel`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List securityLevelDescriptor = $convert.base64Decode( + 'Cg1TZWN1cml0eUxldmVsEhYKElNFQ1VSRV9VTlNQRUNJRklFRBAAEhIKDlNFQ1VSRV9ERUZBVU' + 'xUEAASEAoMU0VDVVJFX05FVkVSEAESEwoPU0VDVVJFX09QVElPTkFMEAISEQoNU0VDVVJFX0FM' + 'V0FZUxADGgIQAQ=='); + +@$core.Deprecated('Use apiConfigHandlerDescriptor instead') +const ApiConfigHandler$json = { + '1': 'ApiConfigHandler', + '2': [ + { + '1': 'auth_fail_action', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.AuthFailAction', + '10': 'authFailAction' + }, + { + '1': 'login', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.LoginRequirement', + '10': 'login' + }, + {'1': 'script', '3': 3, '4': 1, '5': 9, '10': 'script'}, + { + '1': 'security_level', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.SecurityLevel', + '10': 'securityLevel' + }, + {'1': 'url', '3': 5, '4': 1, '5': 9, '10': 'url'}, + ], +}; + +/// Descriptor for `ApiConfigHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List apiConfigHandlerDescriptor = $convert.base64Decode( + 'ChBBcGlDb25maWdIYW5kbGVyEk0KEGF1dGhfZmFpbF9hY3Rpb24YASABKA4yIy5nb29nbGUuYX' + 'BwZW5naW5lLnYxLkF1dGhGYWlsQWN0aW9uUg5hdXRoRmFpbEFjdGlvbhI7CgVsb2dpbhgCIAEo' + 'DjIlLmdvb2dsZS5hcHBlbmdpbmUudjEuTG9naW5SZXF1aXJlbWVudFIFbG9naW4SFgoGc2NyaX' + 'B0GAMgASgJUgZzY3JpcHQSSQoOc2VjdXJpdHlfbGV2ZWwYBCABKA4yIi5nb29nbGUuYXBwZW5n' + 'aW5lLnYxLlNlY3VyaXR5TGV2ZWxSDXNlY3VyaXR5TGV2ZWwSEAoDdXJsGAUgASgJUgN1cmw='); + +@$core.Deprecated('Use errorHandlerDescriptor instead') +const ErrorHandler$json = { + '1': 'ErrorHandler', + '2': [ + { + '1': 'error_code', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.ErrorHandler.ErrorCode', + '10': 'errorCode' + }, + {'1': 'static_file', '3': 2, '4': 1, '5': 9, '10': 'staticFile'}, + {'1': 'mime_type', '3': 3, '4': 1, '5': 9, '10': 'mimeType'}, + ], + '4': [ErrorHandler_ErrorCode$json], +}; + +@$core.Deprecated('Use errorHandlerDescriptor instead') +const ErrorHandler_ErrorCode$json = { + '1': 'ErrorCode', + '2': [ + {'1': 'ERROR_CODE_UNSPECIFIED', '2': 0}, + {'1': 'ERROR_CODE_DEFAULT', '2': 0}, + {'1': 'ERROR_CODE_OVER_QUOTA', '2': 1}, + {'1': 'ERROR_CODE_DOS_API_DENIAL', '2': 2}, + {'1': 'ERROR_CODE_TIMEOUT', '2': 3}, + ], + '3': {'2': true}, +}; + +/// Descriptor for `ErrorHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List errorHandlerDescriptor = $convert.base64Decode( + 'CgxFcnJvckhhbmRsZXISSgoKZXJyb3JfY29kZRgBIAEoDjIrLmdvb2dsZS5hcHBlbmdpbmUudj' + 'EuRXJyb3JIYW5kbGVyLkVycm9yQ29kZVIJZXJyb3JDb2RlEh8KC3N0YXRpY19maWxlGAIgASgJ' + 'UgpzdGF0aWNGaWxlEhsKCW1pbWVfdHlwZRgDIAEoCVIIbWltZVR5cGUilQEKCUVycm9yQ29kZR' + 'IaChZFUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASFgoSRVJST1JfQ09ERV9ERUZBVUxUEAASGQoV' + 'RVJST1JfQ09ERV9PVkVSX1FVT1RBEAESHQoZRVJST1JfQ09ERV9ET1NfQVBJX0RFTklBTBACEh' + 'YKEkVSUk9SX0NPREVfVElNRU9VVBADGgIQAQ=='); + +@$core.Deprecated('Use urlMapDescriptor instead') +const UrlMap$json = { + '1': 'UrlMap', + '2': [ + {'1': 'url_regex', '3': 1, '4': 1, '5': 9, '10': 'urlRegex'}, + { + '1': 'static_files', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.StaticFilesHandler', + '9': 0, + '10': 'staticFiles' + }, + { + '1': 'script', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ScriptHandler', + '9': 0, + '10': 'script' + }, + { + '1': 'api_endpoint', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ApiEndpointHandler', + '9': 0, + '10': 'apiEndpoint' + }, + { + '1': 'security_level', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.SecurityLevel', + '10': 'securityLevel' + }, + { + '1': 'login', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.LoginRequirement', + '10': 'login' + }, + { + '1': 'auth_fail_action', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.AuthFailAction', + '10': 'authFailAction' + }, + { + '1': 'redirect_http_response_code', + '3': 8, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.UrlMap.RedirectHttpResponseCode', + '10': 'redirectHttpResponseCode' + }, + ], + '4': [UrlMap_RedirectHttpResponseCode$json], + '8': [ + {'1': 'handler_type'}, + ], +}; + +@$core.Deprecated('Use urlMapDescriptor instead') +const UrlMap_RedirectHttpResponseCode$json = { + '1': 'RedirectHttpResponseCode', + '2': [ + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED', '2': 0}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_301', '2': 1}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_302', '2': 2}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_303', '2': 3}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_307', '2': 4}, + ], +}; + +/// Descriptor for `UrlMap`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List urlMapDescriptor = $convert.base64Decode( + 'CgZVcmxNYXASGwoJdXJsX3JlZ2V4GAEgASgJUgh1cmxSZWdleBJMCgxzdGF0aWNfZmlsZXMYAi' + 'ABKAsyJy5nb29nbGUuYXBwZW5naW5lLnYxLlN0YXRpY0ZpbGVzSGFuZGxlckgAUgtzdGF0aWNG' + 'aWxlcxI8CgZzY3JpcHQYAyABKAsyIi5nb29nbGUuYXBwZW5naW5lLnYxLlNjcmlwdEhhbmRsZX' + 'JIAFIGc2NyaXB0EkwKDGFwaV9lbmRwb2ludBgEIAEoCzInLmdvb2dsZS5hcHBlbmdpbmUudjEu' + 'QXBpRW5kcG9pbnRIYW5kbGVySABSC2FwaUVuZHBvaW50EkkKDnNlY3VyaXR5X2xldmVsGAUgAS' + 'gOMiIuZ29vZ2xlLmFwcGVuZ2luZS52MS5TZWN1cml0eUxldmVsUg1zZWN1cml0eUxldmVsEjsK' + 'BWxvZ2luGAYgASgOMiUuZ29vZ2xlLmFwcGVuZ2luZS52MS5Mb2dpblJlcXVpcmVtZW50UgVsb2' + 'dpbhJNChBhdXRoX2ZhaWxfYWN0aW9uGAcgASgOMiMuZ29vZ2xlLmFwcGVuZ2luZS52MS5BdXRo' + 'RmFpbEFjdGlvblIOYXV0aEZhaWxBY3Rpb24ScwobcmVkaXJlY3RfaHR0cF9yZXNwb25zZV9jb2' + 'RlGAggASgOMjQuZ29vZ2xlLmFwcGVuZ2luZS52MS5VcmxNYXAuUmVkaXJlY3RIdHRwUmVzcG9u' + 'c2VDb2RlUhhyZWRpcmVjdEh0dHBSZXNwb25zZUNvZGUi2wEKGFJlZGlyZWN0SHR0cFJlc3Bvbn' + 'NlQ29kZRIrCidSRURJUkVDVF9IVFRQX1JFU1BPTlNFX0NPREVfVU5TUEVDSUZJRUQQABIjCh9S' + 'RURJUkVDVF9IVFRQX1JFU1BPTlNFX0NPREVfMzAxEAESIwofUkVESVJFQ1RfSFRUUF9SRVNQT0' + '5TRV9DT0RFXzMwMhACEiMKH1JFRElSRUNUX0hUVFBfUkVTUE9OU0VfQ09ERV8zMDMQAxIjCh9S' + 'RURJUkVDVF9IVFRQX1JFU1BPTlNFX0NPREVfMzA3EARCDgoMaGFuZGxlcl90eXBl'); + +@$core.Deprecated('Use staticFilesHandlerDescriptor instead') +const StaticFilesHandler$json = { + '1': 'StaticFilesHandler', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'upload_path_regex', '3': 2, '4': 1, '5': 9, '10': 'uploadPathRegex'}, + { + '1': 'http_headers', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.StaticFilesHandler.HttpHeadersEntry', + '10': 'httpHeaders' + }, + {'1': 'mime_type', '3': 4, '4': 1, '5': 9, '10': 'mimeType'}, + { + '1': 'expiration', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'expiration' + }, + { + '1': 'require_matching_file', + '3': 6, + '4': 1, + '5': 8, + '10': 'requireMatchingFile' + }, + { + '1': 'application_readable', + '3': 7, + '4': 1, + '5': 8, + '10': 'applicationReadable' + }, + ], + '3': [StaticFilesHandler_HttpHeadersEntry$json], +}; + +@$core.Deprecated('Use staticFilesHandlerDescriptor instead') +const StaticFilesHandler_HttpHeadersEntry$json = { + '1': 'HttpHeadersEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `StaticFilesHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List staticFilesHandlerDescriptor = $convert.base64Decode( + 'ChJTdGF0aWNGaWxlc0hhbmRsZXISEgoEcGF0aBgBIAEoCVIEcGF0aBIqChF1cGxvYWRfcGF0aF' + '9yZWdleBgCIAEoCVIPdXBsb2FkUGF0aFJlZ2V4ElsKDGh0dHBfaGVhZGVycxgDIAMoCzI4Lmdv' + 'b2dsZS5hcHBlbmdpbmUudjEuU3RhdGljRmlsZXNIYW5kbGVyLkh0dHBIZWFkZXJzRW50cnlSC2' + 'h0dHBIZWFkZXJzEhsKCW1pbWVfdHlwZRgEIAEoCVIIbWltZVR5cGUSOQoKZXhwaXJhdGlvbhgF' + 'IAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIKZXhwaXJhdGlvbhIyChVyZXF1aXJlX2' + '1hdGNoaW5nX2ZpbGUYBiABKAhSE3JlcXVpcmVNYXRjaGluZ0ZpbGUSMQoUYXBwbGljYXRpb25f' + 'cmVhZGFibGUYByABKAhSE2FwcGxpY2F0aW9uUmVhZGFibGUaPgoQSHR0cEhlYWRlcnNFbnRyeR' + 'IQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use scriptHandlerDescriptor instead') +const ScriptHandler$json = { + '1': 'ScriptHandler', + '2': [ + {'1': 'script_path', '3': 1, '4': 1, '5': 9, '10': 'scriptPath'}, + ], +}; + +/// Descriptor for `ScriptHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List scriptHandlerDescriptor = $convert.base64Decode( + 'Cg1TY3JpcHRIYW5kbGVyEh8KC3NjcmlwdF9wYXRoGAEgASgJUgpzY3JpcHRQYXRo'); + +@$core.Deprecated('Use apiEndpointHandlerDescriptor instead') +const ApiEndpointHandler$json = { + '1': 'ApiEndpointHandler', + '2': [ + {'1': 'script_path', '3': 1, '4': 1, '5': 9, '10': 'scriptPath'}, + ], +}; + +/// Descriptor for `ApiEndpointHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List apiEndpointHandlerDescriptor = $convert.base64Decode( + 'ChJBcGlFbmRwb2ludEhhbmRsZXISHwoLc2NyaXB0X3BhdGgYASABKAlSCnNjcmlwdFBhdGg='); + +@$core.Deprecated('Use healthCheckDescriptor instead') +const HealthCheck$json = { + '1': 'HealthCheck', + '2': [ + { + '1': 'disable_health_check', + '3': 1, + '4': 1, + '5': 8, + '10': 'disableHealthCheck' + }, + {'1': 'host', '3': 2, '4': 1, '5': 9, '10': 'host'}, + { + '1': 'healthy_threshold', + '3': 3, + '4': 1, + '5': 13, + '10': 'healthyThreshold' + }, + { + '1': 'unhealthy_threshold', + '3': 4, + '4': 1, + '5': 13, + '10': 'unhealthyThreshold' + }, + { + '1': 'restart_threshold', + '3': 5, + '4': 1, + '5': 13, + '10': 'restartThreshold' + }, + { + '1': 'check_interval', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'checkInterval' + }, + { + '1': 'timeout', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + ], +}; + +/// Descriptor for `HealthCheck`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List healthCheckDescriptor = $convert.base64Decode( + 'CgtIZWFsdGhDaGVjaxIwChRkaXNhYmxlX2hlYWx0aF9jaGVjaxgBIAEoCFISZGlzYWJsZUhlYW' + 'x0aENoZWNrEhIKBGhvc3QYAiABKAlSBGhvc3QSKwoRaGVhbHRoeV90aHJlc2hvbGQYAyABKA1S' + 'EGhlYWx0aHlUaHJlc2hvbGQSLwoTdW5oZWFsdGh5X3RocmVzaG9sZBgEIAEoDVISdW5oZWFsdG' + 'h5VGhyZXNob2xkEisKEXJlc3RhcnRfdGhyZXNob2xkGAUgASgNUhByZXN0YXJ0VGhyZXNob2xk' + 'EkAKDmNoZWNrX2ludGVydmFsGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUg1jaG' + 'Vja0ludGVydmFsEjMKB3RpbWVvdXQYByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25S' + 'B3RpbWVvdXQ='); + +@$core.Deprecated('Use readinessCheckDescriptor instead') +const ReadinessCheck$json = { + '1': 'ReadinessCheck', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'host', '3': 2, '4': 1, '5': 9, '10': 'host'}, + { + '1': 'failure_threshold', + '3': 3, + '4': 1, + '5': 13, + '10': 'failureThreshold' + }, + { + '1': 'success_threshold', + '3': 4, + '4': 1, + '5': 13, + '10': 'successThreshold' + }, + { + '1': 'check_interval', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'checkInterval' + }, + { + '1': 'timeout', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + { + '1': 'app_start_timeout', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'appStartTimeout' + }, + ], +}; + +/// Descriptor for `ReadinessCheck`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List readinessCheckDescriptor = $convert.base64Decode( + 'Cg5SZWFkaW5lc3NDaGVjaxISCgRwYXRoGAEgASgJUgRwYXRoEhIKBGhvc3QYAiABKAlSBGhvc3' + 'QSKwoRZmFpbHVyZV90aHJlc2hvbGQYAyABKA1SEGZhaWx1cmVUaHJlc2hvbGQSKwoRc3VjY2Vz' + 'c190aHJlc2hvbGQYBCABKA1SEHN1Y2Nlc3NUaHJlc2hvbGQSQAoOY2hlY2tfaW50ZXJ2YWwYBS' + 'ABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SDWNoZWNrSW50ZXJ2YWwSMwoHdGltZW91' + 'dBgGIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIHdGltZW91dBJFChFhcHBfc3Rhcn' + 'RfdGltZW91dBgHIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIPYXBwU3RhcnRUaW1l' + 'b3V0'); + +@$core.Deprecated('Use livenessCheckDescriptor instead') +const LivenessCheck$json = { + '1': 'LivenessCheck', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'host', '3': 2, '4': 1, '5': 9, '10': 'host'}, + { + '1': 'failure_threshold', + '3': 3, + '4': 1, + '5': 13, + '10': 'failureThreshold' + }, + { + '1': 'success_threshold', + '3': 4, + '4': 1, + '5': 13, + '10': 'successThreshold' + }, + { + '1': 'check_interval', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'checkInterval' + }, + { + '1': 'timeout', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + { + '1': 'initial_delay', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'initialDelay' + }, + ], +}; + +/// Descriptor for `LivenessCheck`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List livenessCheckDescriptor = $convert.base64Decode( + 'Cg1MaXZlbmVzc0NoZWNrEhIKBHBhdGgYASABKAlSBHBhdGgSEgoEaG9zdBgCIAEoCVIEaG9zdB' + 'IrChFmYWlsdXJlX3RocmVzaG9sZBgDIAEoDVIQZmFpbHVyZVRocmVzaG9sZBIrChFzdWNjZXNz' + 'X3RocmVzaG9sZBgEIAEoDVIQc3VjY2Vzc1RocmVzaG9sZBJACg5jaGVja19pbnRlcnZhbBgFIA' + 'EoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblINY2hlY2tJbnRlcnZhbBIzCgd0aW1lb3V0' + 'GAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgd0aW1lb3V0Ej4KDWluaXRpYWxfZG' + 'VsYXkYByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SDGluaXRpYWxEZWxheQ=='); + +@$core.Deprecated('Use libraryDescriptor instead') +const Library$json = { + '1': 'Library', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'version', '3': 2, '4': 1, '5': 9, '10': 'version'}, + ], +}; + +/// Descriptor for `Library`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List libraryDescriptor = $convert.base64Decode( + 'CgdMaWJyYXJ5EhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbg' + '=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pb.dart new file mode 100644 index 00000000..0d571e78 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pb.dart @@ -0,0 +1,3703 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/field_mask.pb.dart' as $58; +import 'appengine.pbenum.dart'; +import 'application.pb.dart' as $11; +import 'certificate.pb.dart' as $16; +import 'domain.pb.dart' as $63; +import 'domain_mapping.pb.dart' as $17; +import 'firewall.pb.dart' as $15; +import 'instance.pb.dart' as $14; +import 'service.pb.dart' as $12; +import 'version.pb.dart' as $13; + +export 'appengine.pbenum.dart'; + +/// Request message for `Applications.GetApplication`. +class GetApplicationRequest extends $pb.GeneratedMessage { + factory GetApplicationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetApplicationRequest._() : super(); + factory GetApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetApplicationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetApplicationRequest clone() => + GetApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetApplicationRequest copyWith( + void Function(GetApplicationRequest) updates) => + super.copyWith((message) => updates(message as GetApplicationRequest)) + as GetApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetApplicationRequest create() => GetApplicationRequest._(); + GetApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetApplicationRequest? _defaultInstance; + + /// Name of the Application resource to get. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Applications.CreateApplication`. +class CreateApplicationRequest extends $pb.GeneratedMessage { + factory CreateApplicationRequest({ + $11.Application? application, + }) { + final $result = create(); + if (application != null) { + $result.application = application; + } + return $result; + } + CreateApplicationRequest._() : super(); + factory CreateApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateApplicationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$11.Application>(2, _omitFieldNames ? '' : 'application', + subBuilder: $11.Application.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateApplicationRequest clone() => + CreateApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateApplicationRequest copyWith( + void Function(CreateApplicationRequest) updates) => + super.copyWith((message) => updates(message as CreateApplicationRequest)) + as CreateApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateApplicationRequest create() => CreateApplicationRequest._(); + CreateApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateApplicationRequest? _defaultInstance; + + /// Application configuration. + @$pb.TagNumber(2) + $11.Application get application => $_getN(0); + @$pb.TagNumber(2) + set application($11.Application v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasApplication() => $_has(0); + @$pb.TagNumber(2) + void clearApplication() => clearField(2); + @$pb.TagNumber(2) + $11.Application ensureApplication() => $_ensure(0); +} + +/// Request message for `Applications.UpdateApplication`. +class UpdateApplicationRequest extends $pb.GeneratedMessage { + factory UpdateApplicationRequest({ + $core.String? name, + $11.Application? application, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (application != null) { + $result.application = application; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateApplicationRequest._() : super(); + factory UpdateApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateApplicationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$11.Application>(2, _omitFieldNames ? '' : 'application', + subBuilder: $11.Application.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateApplicationRequest clone() => + UpdateApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateApplicationRequest copyWith( + void Function(UpdateApplicationRequest) updates) => + super.copyWith((message) => updates(message as UpdateApplicationRequest)) + as UpdateApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateApplicationRequest create() => UpdateApplicationRequest._(); + UpdateApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateApplicationRequest? _defaultInstance; + + /// Name of the Application resource to update. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// An Application containing the updated resource. + @$pb.TagNumber(2) + $11.Application get application => $_getN(1); + @$pb.TagNumber(2) + set application($11.Application v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasApplication() => $_has(1); + @$pb.TagNumber(2) + void clearApplication() => clearField(2); + @$pb.TagNumber(2) + $11.Application ensureApplication() => $_ensure(1); + + /// Required. Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for 'Applications.RepairApplication'. +class RepairApplicationRequest extends $pb.GeneratedMessage { + factory RepairApplicationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + RepairApplicationRequest._() : super(); + factory RepairApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RepairApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RepairApplicationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RepairApplicationRequest clone() => + RepairApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RepairApplicationRequest copyWith( + void Function(RepairApplicationRequest) updates) => + super.copyWith((message) => updates(message as RepairApplicationRequest)) + as RepairApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RepairApplicationRequest create() => RepairApplicationRequest._(); + RepairApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RepairApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RepairApplicationRequest? _defaultInstance; + + /// Name of the application to repair. Example: `apps/myapp` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Services.ListServices`. +class ListServicesRequest extends $pb.GeneratedMessage { + factory ListServicesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListServicesRequest._() : super(); + factory ListServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesRequest clone() => ListServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesRequest copyWith(void Function(ListServicesRequest) updates) => + super.copyWith((message) => updates(message as ListServicesRequest)) + as ListServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesRequest create() => ListServicesRequest._(); + ListServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `Services.ListServices`. +class ListServicesResponse extends $pb.GeneratedMessage { + factory ListServicesResponse({ + $core.Iterable<$12.Service>? services, + $core.String? nextPageToken, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServicesResponse._() : super(); + factory ListServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$12.Service>(1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $12.Service.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesResponse clone() => + ListServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesResponse copyWith(void Function(ListServicesResponse) updates) => + super.copyWith((message) => updates(message as ListServicesResponse)) + as ListServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesResponse create() => ListServicesResponse._(); + ListServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesResponse? _defaultInstance; + + /// The services belonging to the requested application. + @$pb.TagNumber(1) + $core.List<$12.Service> get services => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Services.GetService`. +class GetServiceRequest extends $pb.GeneratedMessage { + factory GetServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetServiceRequest._() : super(); + factory GetServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceRequest clone() => GetServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceRequest copyWith(void Function(GetServiceRequest) updates) => + super.copyWith((message) => updates(message as GetServiceRequest)) + as GetServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceRequest create() => GetServiceRequest._(); + GetServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceRequest? _defaultInstance; + + /// Name of the resource requested. Example: `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Services.UpdateService`. +class UpdateServiceRequest extends $pb.GeneratedMessage { + factory UpdateServiceRequest({ + $core.String? name, + $12.Service? service, + $58.FieldMask? updateMask, + $core.bool? migrateTraffic, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (service != null) { + $result.service = service; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + if (migrateTraffic != null) { + $result.migrateTraffic = migrateTraffic; + } + return $result; + } + UpdateServiceRequest._() : super(); + factory UpdateServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateServiceRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$12.Service>(2, _omitFieldNames ? '' : 'service', + subBuilder: $12.Service.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..aOB(4, _omitFieldNames ? '' : 'migrateTraffic') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateServiceRequest clone() => + UpdateServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateServiceRequest copyWith(void Function(UpdateServiceRequest) updates) => + super.copyWith((message) => updates(message as UpdateServiceRequest)) + as UpdateServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateServiceRequest create() => UpdateServiceRequest._(); + UpdateServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateServiceRequest? _defaultInstance; + + /// Name of the resource to update. Example: `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A Service resource containing the updated service. Only fields set in the + /// field mask will be updated. + @$pb.TagNumber(2) + $12.Service get service => $_getN(1); + @$pb.TagNumber(2) + set service($12.Service v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasService() => $_has(1); + @$pb.TagNumber(2) + void clearService() => clearField(2); + @$pb.TagNumber(2) + $12.Service ensureService() => $_ensure(1); + + /// Required. Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); + + /// Set to `true` to gradually shift traffic to one or more versions that you + /// specify. By default, traffic is shifted immediately. + /// For gradual traffic migration, the target versions + /// must be located within instances that are configured for both + /// [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) + /// and + /// [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). + /// You must specify the + /// [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) + /// field in the Service resource. Gradual traffic migration is not + /// supported in the App Engine flexible environment. For examples, see + /// [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + @$pb.TagNumber(4) + $core.bool get migrateTraffic => $_getBF(3); + @$pb.TagNumber(4) + set migrateTraffic($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMigrateTraffic() => $_has(3); + @$pb.TagNumber(4) + void clearMigrateTraffic() => clearField(4); +} + +/// Request message for `Services.DeleteService`. +class DeleteServiceRequest extends $pb.GeneratedMessage { + factory DeleteServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteServiceRequest._() : super(); + factory DeleteServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteServiceRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteServiceRequest clone() => + DeleteServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteServiceRequest copyWith(void Function(DeleteServiceRequest) updates) => + super.copyWith((message) => updates(message as DeleteServiceRequest)) + as DeleteServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteServiceRequest create() => DeleteServiceRequest._(); + DeleteServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteServiceRequest? _defaultInstance; + + /// Name of the resource requested. Example: `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Versions.ListVersions`. +class ListVersionsRequest extends $pb.GeneratedMessage { + factory ListVersionsRequest({ + $core.String? parent, + VersionView? view, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (view != null) { + $result.view = view; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListVersionsRequest._() : super(); + factory ListVersionsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListVersionsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListVersionsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..e(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: VersionView.BASIC, + valueOf: VersionView.valueOf, + enumValues: VersionView.values) + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(4, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListVersionsRequest clone() => ListVersionsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListVersionsRequest copyWith(void Function(ListVersionsRequest) updates) => + super.copyWith((message) => updates(message as ListVersionsRequest)) + as ListVersionsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListVersionsRequest create() => ListVersionsRequest._(); + ListVersionsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListVersionsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListVersionsRequest? _defaultInstance; + + /// Name of the parent Service resource. Example: + /// `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Controls the set of fields returned in the `List` response. + @$pb.TagNumber(2) + VersionView get view => $_getN(1); + @$pb.TagNumber(2) + set view(VersionView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); + + /// Maximum results to return per page. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(4) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(4) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(4) + void clearPageToken() => clearField(4); +} + +/// Response message for `Versions.ListVersions`. +class ListVersionsResponse extends $pb.GeneratedMessage { + factory ListVersionsResponse({ + $core.Iterable<$13.Version>? versions, + $core.String? nextPageToken, + }) { + final $result = create(); + if (versions != null) { + $result.versions.addAll(versions); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListVersionsResponse._() : super(); + factory ListVersionsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListVersionsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListVersionsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$13.Version>(1, _omitFieldNames ? '' : 'versions', $pb.PbFieldType.PM, + subBuilder: $13.Version.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListVersionsResponse clone() => + ListVersionsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListVersionsResponse copyWith(void Function(ListVersionsResponse) updates) => + super.copyWith((message) => updates(message as ListVersionsResponse)) + as ListVersionsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListVersionsResponse create() => ListVersionsResponse._(); + ListVersionsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListVersionsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListVersionsResponse? _defaultInstance; + + /// The versions belonging to the requested service. + @$pb.TagNumber(1) + $core.List<$13.Version> get versions => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Versions.GetVersion`. +class GetVersionRequest extends $pb.GeneratedMessage { + factory GetVersionRequest({ + $core.String? name, + VersionView? view, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetVersionRequest._() : super(); + factory GetVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetVersionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: VersionView.BASIC, + valueOf: VersionView.valueOf, + enumValues: VersionView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetVersionRequest clone() => GetVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetVersionRequest copyWith(void Function(GetVersionRequest) updates) => + super.copyWith((message) => updates(message as GetVersionRequest)) + as GetVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetVersionRequest create() => GetVersionRequest._(); + GetVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetVersionRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Controls the set of fields returned in the `Get` response. + @$pb.TagNumber(2) + VersionView get view => $_getN(1); + @$pb.TagNumber(2) + set view(VersionView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); +} + +/// Request message for `Versions.CreateVersion`. +class CreateVersionRequest extends $pb.GeneratedMessage { + factory CreateVersionRequest({ + $core.String? parent, + $13.Version? version, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (version != null) { + $result.version = version; + } + return $result; + } + CreateVersionRequest._() : super(); + factory CreateVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateVersionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$13.Version>(2, _omitFieldNames ? '' : 'version', + subBuilder: $13.Version.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateVersionRequest clone() => + CreateVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateVersionRequest copyWith(void Function(CreateVersionRequest) updates) => + super.copyWith((message) => updates(message as CreateVersionRequest)) + as CreateVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateVersionRequest create() => CreateVersionRequest._(); + CreateVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateVersionRequest? _defaultInstance; + + /// Name of the parent resource to create this version under. Example: + /// `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Application deployment configuration. + @$pb.TagNumber(2) + $13.Version get version => $_getN(1); + @$pb.TagNumber(2) + set version($13.Version v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); + @$pb.TagNumber(2) + $13.Version ensureVersion() => $_ensure(1); +} + +/// Request message for `Versions.UpdateVersion`. +class UpdateVersionRequest extends $pb.GeneratedMessage { + factory UpdateVersionRequest({ + $core.String? name, + $13.Version? version, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (version != null) { + $result.version = version; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateVersionRequest._() : super(); + factory UpdateVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateVersionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$13.Version>(2, _omitFieldNames ? '' : 'version', + subBuilder: $13.Version.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateVersionRequest clone() => + UpdateVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateVersionRequest copyWith(void Function(UpdateVersionRequest) updates) => + super.copyWith((message) => updates(message as UpdateVersionRequest)) + as UpdateVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateVersionRequest create() => UpdateVersionRequest._(); + UpdateVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateVersionRequest? _defaultInstance; + + /// Name of the resource to update. Example: + /// `apps/myapp/services/default/versions/1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A Version containing the updated resource. Only fields set in the field + /// mask will be updated. + @$pb.TagNumber(2) + $13.Version get version => $_getN(1); + @$pb.TagNumber(2) + set version($13.Version v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); + @$pb.TagNumber(2) + $13.Version ensureVersion() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `Versions.DeleteVersion`. +class DeleteVersionRequest extends $pb.GeneratedMessage { + factory DeleteVersionRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteVersionRequest._() : super(); + factory DeleteVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteVersionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteVersionRequest clone() => + DeleteVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteVersionRequest copyWith(void Function(DeleteVersionRequest) updates) => + super.copyWith((message) => updates(message as DeleteVersionRequest)) + as DeleteVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteVersionRequest create() => DeleteVersionRequest._(); + DeleteVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteVersionRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Instances.ListInstances`. +class ListInstancesRequest extends $pb.GeneratedMessage { + factory ListInstancesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListInstancesRequest._() : super(); + factory ListInstancesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListInstancesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListInstancesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListInstancesRequest clone() => + ListInstancesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListInstancesRequest copyWith(void Function(ListInstancesRequest) updates) => + super.copyWith((message) => updates(message as ListInstancesRequest)) + as ListInstancesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListInstancesRequest create() => ListInstancesRequest._(); + ListInstancesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListInstancesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListInstancesRequest? _defaultInstance; + + /// Name of the parent Version resource. Example: + /// `apps/myapp/services/default/versions/v1`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `Instances.ListInstances`. +class ListInstancesResponse extends $pb.GeneratedMessage { + factory ListInstancesResponse({ + $core.Iterable<$14.Instance>? instances, + $core.String? nextPageToken, + }) { + final $result = create(); + if (instances != null) { + $result.instances.addAll(instances); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListInstancesResponse._() : super(); + factory ListInstancesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListInstancesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListInstancesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$14.Instance>( + 1, _omitFieldNames ? '' : 'instances', $pb.PbFieldType.PM, + subBuilder: $14.Instance.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListInstancesResponse clone() => + ListInstancesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListInstancesResponse copyWith( + void Function(ListInstancesResponse) updates) => + super.copyWith((message) => updates(message as ListInstancesResponse)) + as ListInstancesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListInstancesResponse create() => ListInstancesResponse._(); + ListInstancesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListInstancesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListInstancesResponse? _defaultInstance; + + /// The instances belonging to the requested version. + @$pb.TagNumber(1) + $core.List<$14.Instance> get instances => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Instances.GetInstance`. +class GetInstanceRequest extends $pb.GeneratedMessage { + factory GetInstanceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetInstanceRequest._() : super(); + factory GetInstanceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetInstanceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetInstanceRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetInstanceRequest clone() => GetInstanceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetInstanceRequest copyWith(void Function(GetInstanceRequest) updates) => + super.copyWith((message) => updates(message as GetInstanceRequest)) + as GetInstanceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetInstanceRequest create() => GetInstanceRequest._(); + GetInstanceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetInstanceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetInstanceRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Instances.DeleteInstance`. +class DeleteInstanceRequest extends $pb.GeneratedMessage { + factory DeleteInstanceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteInstanceRequest._() : super(); + factory DeleteInstanceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteInstanceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteInstanceRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteInstanceRequest clone() => + DeleteInstanceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteInstanceRequest copyWith( + void Function(DeleteInstanceRequest) updates) => + super.copyWith((message) => updates(message as DeleteInstanceRequest)) + as DeleteInstanceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteInstanceRequest create() => DeleteInstanceRequest._(); + DeleteInstanceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteInstanceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteInstanceRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Instances.DebugInstance`. +class DebugInstanceRequest extends $pb.GeneratedMessage { + factory DebugInstanceRequest({ + $core.String? name, + $core.String? sshKey, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (sshKey != null) { + $result.sshKey = sshKey; + } + return $result; + } + DebugInstanceRequest._() : super(); + factory DebugInstanceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DebugInstanceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DebugInstanceRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'sshKey') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DebugInstanceRequest clone() => + DebugInstanceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DebugInstanceRequest copyWith(void Function(DebugInstanceRequest) updates) => + super.copyWith((message) => updates(message as DebugInstanceRequest)) + as DebugInstanceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DebugInstanceRequest create() => DebugInstanceRequest._(); + DebugInstanceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DebugInstanceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DebugInstanceRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Public SSH key to add to the instance. Examples: + /// + /// * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]` + /// * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}` + /// + /// For more information, see + /// [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + @$pb.TagNumber(2) + $core.String get sshKey => $_getSZ(1); + @$pb.TagNumber(2) + set sshKey($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSshKey() => $_has(1); + @$pb.TagNumber(2) + void clearSshKey() => clearField(2); +} + +/// Request message for `Firewall.ListIngressRules`. +class ListIngressRulesRequest extends $pb.GeneratedMessage { + factory ListIngressRulesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.String? matchingAddress, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (matchingAddress != null) { + $result.matchingAddress = matchingAddress; + } + return $result; + } + ListIngressRulesRequest._() : super(); + factory ListIngressRulesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListIngressRulesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListIngressRulesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOS(4, _omitFieldNames ? '' : 'matchingAddress') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListIngressRulesRequest clone() => + ListIngressRulesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListIngressRulesRequest copyWith( + void Function(ListIngressRulesRequest) updates) => + super.copyWith((message) => updates(message as ListIngressRulesRequest)) + as ListIngressRulesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListIngressRulesRequest create() => ListIngressRulesRequest._(); + ListIngressRulesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListIngressRulesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListIngressRulesRequest? _defaultInstance; + + /// Name of the Firewall collection to retrieve. + /// Example: `apps/myapp/firewall/ingressRules`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// A valid IP Address. If set, only rules matching this address will be + /// returned. The first returned rule will be the rule that fires on requests + /// from this IP. + @$pb.TagNumber(4) + $core.String get matchingAddress => $_getSZ(3); + @$pb.TagNumber(4) + set matchingAddress($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMatchingAddress() => $_has(3); + @$pb.TagNumber(4) + void clearMatchingAddress() => clearField(4); +} + +/// Response message for `Firewall.ListIngressRules`. +class ListIngressRulesResponse extends $pb.GeneratedMessage { + factory ListIngressRulesResponse({ + $core.Iterable<$15.FirewallRule>? ingressRules, + $core.String? nextPageToken, + }) { + final $result = create(); + if (ingressRules != null) { + $result.ingressRules.addAll(ingressRules); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListIngressRulesResponse._() : super(); + factory ListIngressRulesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListIngressRulesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListIngressRulesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$15.FirewallRule>( + 1, _omitFieldNames ? '' : 'ingressRules', $pb.PbFieldType.PM, + subBuilder: $15.FirewallRule.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListIngressRulesResponse clone() => + ListIngressRulesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListIngressRulesResponse copyWith( + void Function(ListIngressRulesResponse) updates) => + super.copyWith((message) => updates(message as ListIngressRulesResponse)) + as ListIngressRulesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListIngressRulesResponse create() => ListIngressRulesResponse._(); + ListIngressRulesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListIngressRulesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListIngressRulesResponse? _defaultInstance; + + /// The ingress FirewallRules for this application. + @$pb.TagNumber(1) + $core.List<$15.FirewallRule> get ingressRules => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Firewall.BatchUpdateIngressRules`. +class BatchUpdateIngressRulesRequest extends $pb.GeneratedMessage { + factory BatchUpdateIngressRulesRequest({ + $core.String? name, + $core.Iterable<$15.FirewallRule>? ingressRules, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (ingressRules != null) { + $result.ingressRules.addAll(ingressRules); + } + return $result; + } + BatchUpdateIngressRulesRequest._() : super(); + factory BatchUpdateIngressRulesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchUpdateIngressRulesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchUpdateIngressRulesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc<$15.FirewallRule>( + 2, _omitFieldNames ? '' : 'ingressRules', $pb.PbFieldType.PM, + subBuilder: $15.FirewallRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesRequest clone() => + BatchUpdateIngressRulesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesRequest copyWith( + void Function(BatchUpdateIngressRulesRequest) updates) => + super.copyWith( + (message) => updates(message as BatchUpdateIngressRulesRequest)) + as BatchUpdateIngressRulesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesRequest create() => + BatchUpdateIngressRulesRequest._(); + BatchUpdateIngressRulesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchUpdateIngressRulesRequest? _defaultInstance; + + /// Name of the Firewall collection to set. + /// Example: `apps/myapp/firewall/ingressRules`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A list of FirewallRules to replace the existing set. + @$pb.TagNumber(2) + $core.List<$15.FirewallRule> get ingressRules => $_getList(1); +} + +/// Response message for `Firewall.UpdateAllIngressRules`. +class BatchUpdateIngressRulesResponse extends $pb.GeneratedMessage { + factory BatchUpdateIngressRulesResponse({ + $core.Iterable<$15.FirewallRule>? ingressRules, + }) { + final $result = create(); + if (ingressRules != null) { + $result.ingressRules.addAll(ingressRules); + } + return $result; + } + BatchUpdateIngressRulesResponse._() : super(); + factory BatchUpdateIngressRulesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchUpdateIngressRulesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchUpdateIngressRulesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$15.FirewallRule>( + 1, _omitFieldNames ? '' : 'ingressRules', $pb.PbFieldType.PM, + subBuilder: $15.FirewallRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesResponse clone() => + BatchUpdateIngressRulesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesResponse copyWith( + void Function(BatchUpdateIngressRulesResponse) updates) => + super.copyWith( + (message) => updates(message as BatchUpdateIngressRulesResponse)) + as BatchUpdateIngressRulesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesResponse create() => + BatchUpdateIngressRulesResponse._(); + BatchUpdateIngressRulesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static BatchUpdateIngressRulesResponse? _defaultInstance; + + /// The full list of ingress FirewallRules for this application. + @$pb.TagNumber(1) + $core.List<$15.FirewallRule> get ingressRules => $_getList(0); +} + +/// Request message for `Firewall.CreateIngressRule`. +class CreateIngressRuleRequest extends $pb.GeneratedMessage { + factory CreateIngressRuleRequest({ + $core.String? parent, + $15.FirewallRule? rule, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (rule != null) { + $result.rule = rule; + } + return $result; + } + CreateIngressRuleRequest._() : super(); + factory CreateIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateIngressRuleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$15.FirewallRule>(2, _omitFieldNames ? '' : 'rule', + subBuilder: $15.FirewallRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateIngressRuleRequest clone() => + CreateIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateIngressRuleRequest copyWith( + void Function(CreateIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as CreateIngressRuleRequest)) + as CreateIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateIngressRuleRequest create() => CreateIngressRuleRequest._(); + CreateIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateIngressRuleRequest? _defaultInstance; + + /// Name of the parent Firewall collection in which to create a new rule. + /// Example: `apps/myapp/firewall/ingressRules`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// A FirewallRule containing the new resource. + /// + /// The user may optionally provide a position at which the new rule will be + /// placed. The positions define a sequential list starting at 1. If a rule + /// already exists at the given position, rules greater than the provided + /// position will be moved forward by one. + /// + /// If no position is provided, the server will place the rule as the second to + /// last rule in the sequence before the required default allow-all or deny-all + /// rule. + @$pb.TagNumber(2) + $15.FirewallRule get rule => $_getN(1); + @$pb.TagNumber(2) + set rule($15.FirewallRule v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasRule() => $_has(1); + @$pb.TagNumber(2) + void clearRule() => clearField(2); + @$pb.TagNumber(2) + $15.FirewallRule ensureRule() => $_ensure(1); +} + +/// Request message for `Firewall.GetIngressRule`. +class GetIngressRuleRequest extends $pb.GeneratedMessage { + factory GetIngressRuleRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetIngressRuleRequest._() : super(); + factory GetIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetIngressRuleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetIngressRuleRequest clone() => + GetIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetIngressRuleRequest copyWith( + void Function(GetIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as GetIngressRuleRequest)) + as GetIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetIngressRuleRequest create() => GetIngressRuleRequest._(); + GetIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetIngressRuleRequest? _defaultInstance; + + /// Name of the Firewall resource to retrieve. + /// Example: `apps/myapp/firewall/ingressRules/100`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Firewall.UpdateIngressRule`. +class UpdateIngressRuleRequest extends $pb.GeneratedMessage { + factory UpdateIngressRuleRequest({ + $core.String? name, + $15.FirewallRule? rule, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (rule != null) { + $result.rule = rule; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateIngressRuleRequest._() : super(); + factory UpdateIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateIngressRuleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$15.FirewallRule>(2, _omitFieldNames ? '' : 'rule', + subBuilder: $15.FirewallRule.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateIngressRuleRequest clone() => + UpdateIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateIngressRuleRequest copyWith( + void Function(UpdateIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as UpdateIngressRuleRequest)) + as UpdateIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateIngressRuleRequest create() => UpdateIngressRuleRequest._(); + UpdateIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateIngressRuleRequest? _defaultInstance; + + /// Name of the Firewall resource to update. + /// Example: `apps/myapp/firewall/ingressRules/100`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A FirewallRule containing the updated resource + @$pb.TagNumber(2) + $15.FirewallRule get rule => $_getN(1); + @$pb.TagNumber(2) + set rule($15.FirewallRule v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasRule() => $_has(1); + @$pb.TagNumber(2) + void clearRule() => clearField(2); + @$pb.TagNumber(2) + $15.FirewallRule ensureRule() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `Firewall.DeleteIngressRule`. +class DeleteIngressRuleRequest extends $pb.GeneratedMessage { + factory DeleteIngressRuleRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteIngressRuleRequest._() : super(); + factory DeleteIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteIngressRuleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteIngressRuleRequest clone() => + DeleteIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteIngressRuleRequest copyWith( + void Function(DeleteIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as DeleteIngressRuleRequest)) + as DeleteIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteIngressRuleRequest create() => DeleteIngressRuleRequest._(); + DeleteIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteIngressRuleRequest? _defaultInstance; + + /// Name of the Firewall resource to delete. + /// Example: `apps/myapp/firewall/ingressRules/100`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `AuthorizedDomains.ListAuthorizedDomains`. +class ListAuthorizedDomainsRequest extends $pb.GeneratedMessage { + factory ListAuthorizedDomainsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListAuthorizedDomainsRequest._() : super(); + factory ListAuthorizedDomainsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedDomainsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedDomainsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsRequest clone() => + ListAuthorizedDomainsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsRequest copyWith( + void Function(ListAuthorizedDomainsRequest) updates) => + super.copyWith( + (message) => updates(message as ListAuthorizedDomainsRequest)) + as ListAuthorizedDomainsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsRequest create() => + ListAuthorizedDomainsRequest._(); + ListAuthorizedDomainsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListAuthorizedDomainsRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `AuthorizedDomains.ListAuthorizedDomains`. +class ListAuthorizedDomainsResponse extends $pb.GeneratedMessage { + factory ListAuthorizedDomainsResponse({ + $core.Iterable<$63.AuthorizedDomain>? domains, + $core.String? nextPageToken, + }) { + final $result = create(); + if (domains != null) { + $result.domains.addAll(domains); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListAuthorizedDomainsResponse._() : super(); + factory ListAuthorizedDomainsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedDomainsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedDomainsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$63.AuthorizedDomain>( + 1, _omitFieldNames ? '' : 'domains', $pb.PbFieldType.PM, + subBuilder: $63.AuthorizedDomain.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsResponse clone() => + ListAuthorizedDomainsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsResponse copyWith( + void Function(ListAuthorizedDomainsResponse) updates) => + super.copyWith( + (message) => updates(message as ListAuthorizedDomainsResponse)) + as ListAuthorizedDomainsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsResponse create() => + ListAuthorizedDomainsResponse._(); + ListAuthorizedDomainsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListAuthorizedDomainsResponse? _defaultInstance; + + /// The authorized domains belonging to the user. + @$pb.TagNumber(1) + $core.List<$63.AuthorizedDomain> get domains => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`. +class ListAuthorizedCertificatesRequest extends $pb.GeneratedMessage { + factory ListAuthorizedCertificatesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + AuthorizedCertificateView? view, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (view != null) { + $result.view = view; + } + return $result; + } + ListAuthorizedCertificatesRequest._() : super(); + factory ListAuthorizedCertificatesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedCertificatesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedCertificatesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..e( + 4, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: AuthorizedCertificateView.BASIC_CERTIFICATE, + valueOf: AuthorizedCertificateView.valueOf, + enumValues: AuthorizedCertificateView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesRequest clone() => + ListAuthorizedCertificatesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesRequest copyWith( + void Function(ListAuthorizedCertificatesRequest) updates) => + super.copyWith((message) => + updates(message as ListAuthorizedCertificatesRequest)) + as ListAuthorizedCertificatesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesRequest create() => + ListAuthorizedCertificatesRequest._(); + ListAuthorizedCertificatesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListAuthorizedCertificatesRequest? _defaultInstance; + + /// Name of the parent `Application` resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Controls the set of fields returned in the `LIST` response. + @$pb.TagNumber(4) + AuthorizedCertificateView get view => $_getN(3); + @$pb.TagNumber(4) + set view(AuthorizedCertificateView v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasView() => $_has(3); + @$pb.TagNumber(4) + void clearView() => clearField(4); +} + +/// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`. +class ListAuthorizedCertificatesResponse extends $pb.GeneratedMessage { + factory ListAuthorizedCertificatesResponse({ + $core.Iterable<$16.AuthorizedCertificate>? certificates, + $core.String? nextPageToken, + }) { + final $result = create(); + if (certificates != null) { + $result.certificates.addAll(certificates); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListAuthorizedCertificatesResponse._() : super(); + factory ListAuthorizedCertificatesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedCertificatesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedCertificatesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$16.AuthorizedCertificate>( + 1, _omitFieldNames ? '' : 'certificates', $pb.PbFieldType.PM, + subBuilder: $16.AuthorizedCertificate.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesResponse clone() => + ListAuthorizedCertificatesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesResponse copyWith( + void Function(ListAuthorizedCertificatesResponse) updates) => + super.copyWith((message) => + updates(message as ListAuthorizedCertificatesResponse)) + as ListAuthorizedCertificatesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesResponse create() => + ListAuthorizedCertificatesResponse._(); + ListAuthorizedCertificatesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListAuthorizedCertificatesResponse? _defaultInstance; + + /// The SSL certificates the user is authorized to administer. + @$pb.TagNumber(1) + $core.List<$16.AuthorizedCertificate> get certificates => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`. +class GetAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory GetAuthorizedCertificateRequest({ + $core.String? name, + AuthorizedCertificateView? view, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetAuthorizedCertificateRequest._() : super(); + factory GetAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetAuthorizedCertificateRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: AuthorizedCertificateView.BASIC_CERTIFICATE, + valueOf: AuthorizedCertificateView.valueOf, + enumValues: AuthorizedCertificateView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetAuthorizedCertificateRequest clone() => + GetAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetAuthorizedCertificateRequest copyWith( + void Function(GetAuthorizedCertificateRequest) updates) => + super.copyWith( + (message) => updates(message as GetAuthorizedCertificateRequest)) + as GetAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetAuthorizedCertificateRequest create() => + GetAuthorizedCertificateRequest._(); + GetAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static GetAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/authorizedCertificates/12345`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Controls the set of fields returned in the `GET` response. + @$pb.TagNumber(2) + AuthorizedCertificateView get view => $_getN(1); + @$pb.TagNumber(2) + set view(AuthorizedCertificateView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); +} + +/// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`. +class CreateAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory CreateAuthorizedCertificateRequest({ + $core.String? parent, + $16.AuthorizedCertificate? certificate, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (certificate != null) { + $result.certificate = certificate; + } + return $result; + } + CreateAuthorizedCertificateRequest._() : super(); + factory CreateAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateAuthorizedCertificateRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$16.AuthorizedCertificate>(2, _omitFieldNames ? '' : 'certificate', + subBuilder: $16.AuthorizedCertificate.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateAuthorizedCertificateRequest clone() => + CreateAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateAuthorizedCertificateRequest copyWith( + void Function(CreateAuthorizedCertificateRequest) updates) => + super.copyWith((message) => + updates(message as CreateAuthorizedCertificateRequest)) + as CreateAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateAuthorizedCertificateRequest create() => + CreateAuthorizedCertificateRequest._(); + CreateAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static CreateAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the parent `Application` resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// SSL certificate data. + @$pb.TagNumber(2) + $16.AuthorizedCertificate get certificate => $_getN(1); + @$pb.TagNumber(2) + set certificate($16.AuthorizedCertificate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCertificate() => $_has(1); + @$pb.TagNumber(2) + void clearCertificate() => clearField(2); + @$pb.TagNumber(2) + $16.AuthorizedCertificate ensureCertificate() => $_ensure(1); +} + +/// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`. +class UpdateAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory UpdateAuthorizedCertificateRequest({ + $core.String? name, + $16.AuthorizedCertificate? certificate, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (certificate != null) { + $result.certificate = certificate; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateAuthorizedCertificateRequest._() : super(); + factory UpdateAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateAuthorizedCertificateRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$16.AuthorizedCertificate>(2, _omitFieldNames ? '' : 'certificate', + subBuilder: $16.AuthorizedCertificate.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateAuthorizedCertificateRequest clone() => + UpdateAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateAuthorizedCertificateRequest copyWith( + void Function(UpdateAuthorizedCertificateRequest) updates) => + super.copyWith((message) => + updates(message as UpdateAuthorizedCertificateRequest)) + as UpdateAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateAuthorizedCertificateRequest create() => + UpdateAuthorizedCertificateRequest._(); + UpdateAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static UpdateAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the resource to update. Example: + /// `apps/myapp/authorizedCertificates/12345`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// An `AuthorizedCertificate` containing the updated resource. Only fields set + /// in the field mask will be updated. + @$pb.TagNumber(2) + $16.AuthorizedCertificate get certificate => $_getN(1); + @$pb.TagNumber(2) + set certificate($16.AuthorizedCertificate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCertificate() => $_has(1); + @$pb.TagNumber(2) + void clearCertificate() => clearField(2); + @$pb.TagNumber(2) + $16.AuthorizedCertificate ensureCertificate() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. Updates are only + /// supported on the `certificate_raw_data` and `display_name` fields. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`. +class DeleteAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory DeleteAuthorizedCertificateRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteAuthorizedCertificateRequest._() : super(); + factory DeleteAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteAuthorizedCertificateRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteAuthorizedCertificateRequest clone() => + DeleteAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteAuthorizedCertificateRequest copyWith( + void Function(DeleteAuthorizedCertificateRequest) updates) => + super.copyWith((message) => + updates(message as DeleteAuthorizedCertificateRequest)) + as DeleteAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteAuthorizedCertificateRequest create() => + DeleteAuthorizedCertificateRequest._(); + DeleteAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static DeleteAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the resource to delete. Example: + /// `apps/myapp/authorizedCertificates/12345`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `DomainMappings.ListDomainMappings`. +class ListDomainMappingsRequest extends $pb.GeneratedMessage { + factory ListDomainMappingsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListDomainMappingsRequest._() : super(); + factory ListDomainMappingsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListDomainMappingsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListDomainMappingsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListDomainMappingsRequest clone() => + ListDomainMappingsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListDomainMappingsRequest copyWith( + void Function(ListDomainMappingsRequest) updates) => + super.copyWith((message) => updates(message as ListDomainMappingsRequest)) + as ListDomainMappingsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListDomainMappingsRequest create() => ListDomainMappingsRequest._(); + ListDomainMappingsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListDomainMappingsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListDomainMappingsRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `DomainMappings.ListDomainMappings`. +class ListDomainMappingsResponse extends $pb.GeneratedMessage { + factory ListDomainMappingsResponse({ + $core.Iterable<$17.DomainMapping>? domainMappings, + $core.String? nextPageToken, + }) { + final $result = create(); + if (domainMappings != null) { + $result.domainMappings.addAll(domainMappings); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListDomainMappingsResponse._() : super(); + factory ListDomainMappingsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListDomainMappingsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListDomainMappingsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pc<$17.DomainMapping>( + 1, _omitFieldNames ? '' : 'domainMappings', $pb.PbFieldType.PM, + subBuilder: $17.DomainMapping.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListDomainMappingsResponse clone() => + ListDomainMappingsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListDomainMappingsResponse copyWith( + void Function(ListDomainMappingsResponse) updates) => + super.copyWith( + (message) => updates(message as ListDomainMappingsResponse)) + as ListDomainMappingsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListDomainMappingsResponse create() => ListDomainMappingsResponse._(); + ListDomainMappingsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListDomainMappingsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListDomainMappingsResponse? _defaultInstance; + + /// The domain mappings for the application. + @$pb.TagNumber(1) + $core.List<$17.DomainMapping> get domainMappings => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `DomainMappings.GetDomainMapping`. +class GetDomainMappingRequest extends $pb.GeneratedMessage { + factory GetDomainMappingRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetDomainMappingRequest._() : super(); + factory GetDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetDomainMappingRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetDomainMappingRequest clone() => + GetDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetDomainMappingRequest copyWith( + void Function(GetDomainMappingRequest) updates) => + super.copyWith((message) => updates(message as GetDomainMappingRequest)) + as GetDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetDomainMappingRequest create() => GetDomainMappingRequest._(); + GetDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetDomainMappingRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/domainMappings/example.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `DomainMappings.CreateDomainMapping`. +class CreateDomainMappingRequest extends $pb.GeneratedMessage { + factory CreateDomainMappingRequest({ + $core.String? parent, + $17.DomainMapping? domainMapping, + DomainOverrideStrategy? overrideStrategy, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (domainMapping != null) { + $result.domainMapping = domainMapping; + } + if (overrideStrategy != null) { + $result.overrideStrategy = overrideStrategy; + } + return $result; + } + CreateDomainMappingRequest._() : super(); + factory CreateDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateDomainMappingRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$17.DomainMapping>(2, _omitFieldNames ? '' : 'domainMapping', + subBuilder: $17.DomainMapping.create) + ..e( + 4, _omitFieldNames ? '' : 'overrideStrategy', $pb.PbFieldType.OE, + defaultOrMaker: + DomainOverrideStrategy.UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY, + valueOf: DomainOverrideStrategy.valueOf, + enumValues: DomainOverrideStrategy.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateDomainMappingRequest clone() => + CreateDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateDomainMappingRequest copyWith( + void Function(CreateDomainMappingRequest) updates) => + super.copyWith( + (message) => updates(message as CreateDomainMappingRequest)) + as CreateDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateDomainMappingRequest create() => CreateDomainMappingRequest._(); + CreateDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateDomainMappingRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Domain mapping configuration. + @$pb.TagNumber(2) + $17.DomainMapping get domainMapping => $_getN(1); + @$pb.TagNumber(2) + set domainMapping($17.DomainMapping v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDomainMapping() => $_has(1); + @$pb.TagNumber(2) + void clearDomainMapping() => clearField(2); + @$pb.TagNumber(2) + $17.DomainMapping ensureDomainMapping() => $_ensure(1); + + /// Whether the domain creation should override any existing mappings for this + /// domain. By default, overrides are rejected. + @$pb.TagNumber(4) + DomainOverrideStrategy get overrideStrategy => $_getN(2); + @$pb.TagNumber(4) + set overrideStrategy(DomainOverrideStrategy v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasOverrideStrategy() => $_has(2); + @$pb.TagNumber(4) + void clearOverrideStrategy() => clearField(4); +} + +/// Request message for `DomainMappings.UpdateDomainMapping`. +class UpdateDomainMappingRequest extends $pb.GeneratedMessage { + factory UpdateDomainMappingRequest({ + $core.String? name, + $17.DomainMapping? domainMapping, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (domainMapping != null) { + $result.domainMapping = domainMapping; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateDomainMappingRequest._() : super(); + factory UpdateDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateDomainMappingRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$17.DomainMapping>(2, _omitFieldNames ? '' : 'domainMapping', + subBuilder: $17.DomainMapping.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateDomainMappingRequest clone() => + UpdateDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateDomainMappingRequest copyWith( + void Function(UpdateDomainMappingRequest) updates) => + super.copyWith( + (message) => updates(message as UpdateDomainMappingRequest)) + as UpdateDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateDomainMappingRequest create() => UpdateDomainMappingRequest._(); + UpdateDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateDomainMappingRequest? _defaultInstance; + + /// Name of the resource to update. Example: + /// `apps/myapp/domainMappings/example.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A domain mapping containing the updated resource. Only fields set + /// in the field mask will be updated. + @$pb.TagNumber(2) + $17.DomainMapping get domainMapping => $_getN(1); + @$pb.TagNumber(2) + set domainMapping($17.DomainMapping v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDomainMapping() => $_has(1); + @$pb.TagNumber(2) + void clearDomainMapping() => clearField(2); + @$pb.TagNumber(2) + $17.DomainMapping ensureDomainMapping() => $_ensure(1); + + /// Required. Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `DomainMappings.DeleteDomainMapping`. +class DeleteDomainMappingRequest extends $pb.GeneratedMessage { + factory DeleteDomainMappingRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteDomainMappingRequest._() : super(); + factory DeleteDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteDomainMappingRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteDomainMappingRequest clone() => + DeleteDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteDomainMappingRequest copyWith( + void Function(DeleteDomainMappingRequest) updates) => + super.copyWith( + (message) => updates(message as DeleteDomainMappingRequest)) + as DeleteDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteDomainMappingRequest create() => DeleteDomainMappingRequest._(); + DeleteDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteDomainMappingRequest? _defaultInstance; + + /// Name of the resource to delete. Example: + /// `apps/myapp/domainMappings/example.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbenum.dart new file mode 100644 index 00000000..6c9f6f64 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbenum.dart @@ -0,0 +1,81 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Fields that should be returned when [Version][google.appengine.v1.Version] resources +/// are retrieved. +class VersionView extends $pb.ProtobufEnum { + static const VersionView BASIC = + VersionView._(0, _omitEnumNames ? '' : 'BASIC'); + static const VersionView FULL = + VersionView._(1, _omitEnumNames ? '' : 'FULL'); + + static const $core.List values = [ + BASIC, + FULL, + ]; + + static final $core.Map<$core.int, VersionView> _byValue = + $pb.ProtobufEnum.initByValue(values); + static VersionView? valueOf($core.int value) => _byValue[value]; + + const VersionView._($core.int v, $core.String n) : super(v, n); +} + +/// Fields that should be returned when an AuthorizedCertificate resource is +/// retrieved. +class AuthorizedCertificateView extends $pb.ProtobufEnum { + static const AuthorizedCertificateView BASIC_CERTIFICATE = + AuthorizedCertificateView._(0, _omitEnumNames ? '' : 'BASIC_CERTIFICATE'); + static const AuthorizedCertificateView FULL_CERTIFICATE = + AuthorizedCertificateView._(1, _omitEnumNames ? '' : 'FULL_CERTIFICATE'); + + static const $core.List values = + [ + BASIC_CERTIFICATE, + FULL_CERTIFICATE, + ]; + + static final $core.Map<$core.int, AuthorizedCertificateView> _byValue = + $pb.ProtobufEnum.initByValue(values); + static AuthorizedCertificateView? valueOf($core.int value) => _byValue[value]; + + const AuthorizedCertificateView._($core.int v, $core.String n) : super(v, n); +} + +/// Override strategy for mutating an existing mapping. +class DomainOverrideStrategy extends $pb.ProtobufEnum { + static const DomainOverrideStrategy UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = + DomainOverrideStrategy._( + 0, _omitEnumNames ? '' : 'UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY'); + static const DomainOverrideStrategy STRICT = + DomainOverrideStrategy._(1, _omitEnumNames ? '' : 'STRICT'); + static const DomainOverrideStrategy OVERRIDE = + DomainOverrideStrategy._(2, _omitEnumNames ? '' : 'OVERRIDE'); + + static const $core.List values = + [ + UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY, + STRICT, + OVERRIDE, + ]; + + static final $core.Map<$core.int, DomainOverrideStrategy> _byValue = + $pb.ProtobufEnum.initByValue(values); + static DomainOverrideStrategy? valueOf($core.int value) => _byValue[value]; + + const DomainOverrideStrategy._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbgrpc.dart new file mode 100644 index 00000000..dc8d581c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbgrpc.dart @@ -0,0 +1,1105 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../longrunning/operations.pb.dart' as $0; +import '../../protobuf/empty.pb.dart' as $1; +import 'appengine.pb.dart' as $10; +import 'application.pb.dart' as $11; +import 'certificate.pb.dart' as $16; +import 'domain_mapping.pb.dart' as $17; +import 'firewall.pb.dart' as $15; +import 'instance.pb.dart' as $14; +import 'service.pb.dart' as $12; +import 'version.pb.dart' as $13; + +export 'appengine.pb.dart'; + +@$pb.GrpcServiceName('google.appengine.v1.Applications') +class ApplicationsClient extends $grpc.Client { + static final _$getApplication = + $grpc.ClientMethod<$10.GetApplicationRequest, $11.Application>( + '/google.appengine.v1.Applications/GetApplication', + ($10.GetApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $11.Application.fromBuffer(value)); + static final _$createApplication = + $grpc.ClientMethod<$10.CreateApplicationRequest, $0.Operation>( + '/google.appengine.v1.Applications/CreateApplication', + ($10.CreateApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateApplication = + $grpc.ClientMethod<$10.UpdateApplicationRequest, $0.Operation>( + '/google.appengine.v1.Applications/UpdateApplication', + ($10.UpdateApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$repairApplication = + $grpc.ClientMethod<$10.RepairApplicationRequest, $0.Operation>( + '/google.appengine.v1.Applications/RepairApplication', + ($10.RepairApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + ApplicationsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$11.Application> getApplication( + $10.GetApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getApplication, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createApplication( + $10.CreateApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createApplication, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateApplication( + $10.UpdateApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateApplication, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> repairApplication( + $10.RepairApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$repairApplication, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.Applications') +abstract class ApplicationsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.Applications'; + + ApplicationsServiceBase() { + $addMethod($grpc.ServiceMethod<$10.GetApplicationRequest, $11.Application>( + 'GetApplication', + getApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetApplicationRequest.fromBuffer(value), + ($11.Application value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.CreateApplicationRequest, $0.Operation>( + 'CreateApplication', + createApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.CreateApplicationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.UpdateApplicationRequest, $0.Operation>( + 'UpdateApplication', + updateApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.UpdateApplicationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.RepairApplicationRequest, $0.Operation>( + 'RepairApplication', + repairApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.RepairApplicationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$11.Application> getApplication_Pre($grpc.ServiceCall call, + $async.Future<$10.GetApplicationRequest> request) async { + return getApplication(call, await request); + } + + $async.Future<$0.Operation> createApplication_Pre($grpc.ServiceCall call, + $async.Future<$10.CreateApplicationRequest> request) async { + return createApplication(call, await request); + } + + $async.Future<$0.Operation> updateApplication_Pre($grpc.ServiceCall call, + $async.Future<$10.UpdateApplicationRequest> request) async { + return updateApplication(call, await request); + } + + $async.Future<$0.Operation> repairApplication_Pre($grpc.ServiceCall call, + $async.Future<$10.RepairApplicationRequest> request) async { + return repairApplication(call, await request); + } + + $async.Future<$11.Application> getApplication( + $grpc.ServiceCall call, $10.GetApplicationRequest request); + $async.Future<$0.Operation> createApplication( + $grpc.ServiceCall call, $10.CreateApplicationRequest request); + $async.Future<$0.Operation> updateApplication( + $grpc.ServiceCall call, $10.UpdateApplicationRequest request); + $async.Future<$0.Operation> repairApplication( + $grpc.ServiceCall call, $10.RepairApplicationRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.Services') +class ServicesClient extends $grpc.Client { + static final _$listServices = + $grpc.ClientMethod<$10.ListServicesRequest, $10.ListServicesResponse>( + '/google.appengine.v1.Services/ListServices', + ($10.ListServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListServicesResponse.fromBuffer(value)); + static final _$getService = + $grpc.ClientMethod<$10.GetServiceRequest, $12.Service>( + '/google.appengine.v1.Services/GetService', + ($10.GetServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $12.Service.fromBuffer(value)); + static final _$updateService = + $grpc.ClientMethod<$10.UpdateServiceRequest, $0.Operation>( + '/google.appengine.v1.Services/UpdateService', + ($10.UpdateServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteService = + $grpc.ClientMethod<$10.DeleteServiceRequest, $0.Operation>( + '/google.appengine.v1.Services/DeleteService', + ($10.DeleteServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + ServicesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListServicesResponse> listServices( + $10.ListServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServices, request, options: options); + } + + $grpc.ResponseFuture<$12.Service> getService($10.GetServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateService( + $10.UpdateServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteService( + $10.DeleteServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteService, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.Services') +abstract class ServicesServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.Services'; + + ServicesServiceBase() { + $addMethod( + $grpc.ServiceMethod<$10.ListServicesRequest, $10.ListServicesResponse>( + 'ListServices', + listServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListServicesRequest.fromBuffer(value), + ($10.ListServicesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.GetServiceRequest, $12.Service>( + 'GetService', + getService_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetServiceRequest.fromBuffer(value), + ($12.Service value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.UpdateServiceRequest, $0.Operation>( + 'UpdateService', + updateService_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.UpdateServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.DeleteServiceRequest, $0.Operation>( + 'DeleteService', + deleteService_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DeleteServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$10.ListServicesResponse> listServices_Pre( + $grpc.ServiceCall call, + $async.Future<$10.ListServicesRequest> request) async { + return listServices(call, await request); + } + + $async.Future<$12.Service> getService_Pre($grpc.ServiceCall call, + $async.Future<$10.GetServiceRequest> request) async { + return getService(call, await request); + } + + $async.Future<$0.Operation> updateService_Pre($grpc.ServiceCall call, + $async.Future<$10.UpdateServiceRequest> request) async { + return updateService(call, await request); + } + + $async.Future<$0.Operation> deleteService_Pre($grpc.ServiceCall call, + $async.Future<$10.DeleteServiceRequest> request) async { + return deleteService(call, await request); + } + + $async.Future<$10.ListServicesResponse> listServices( + $grpc.ServiceCall call, $10.ListServicesRequest request); + $async.Future<$12.Service> getService( + $grpc.ServiceCall call, $10.GetServiceRequest request); + $async.Future<$0.Operation> updateService( + $grpc.ServiceCall call, $10.UpdateServiceRequest request); + $async.Future<$0.Operation> deleteService( + $grpc.ServiceCall call, $10.DeleteServiceRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.Versions') +class VersionsClient extends $grpc.Client { + static final _$listVersions = + $grpc.ClientMethod<$10.ListVersionsRequest, $10.ListVersionsResponse>( + '/google.appengine.v1.Versions/ListVersions', + ($10.ListVersionsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListVersionsResponse.fromBuffer(value)); + static final _$getVersion = + $grpc.ClientMethod<$10.GetVersionRequest, $13.Version>( + '/google.appengine.v1.Versions/GetVersion', + ($10.GetVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $13.Version.fromBuffer(value)); + static final _$createVersion = + $grpc.ClientMethod<$10.CreateVersionRequest, $0.Operation>( + '/google.appengine.v1.Versions/CreateVersion', + ($10.CreateVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateVersion = + $grpc.ClientMethod<$10.UpdateVersionRequest, $0.Operation>( + '/google.appengine.v1.Versions/UpdateVersion', + ($10.UpdateVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteVersion = + $grpc.ClientMethod<$10.DeleteVersionRequest, $0.Operation>( + '/google.appengine.v1.Versions/DeleteVersion', + ($10.DeleteVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + VersionsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListVersionsResponse> listVersions( + $10.ListVersionsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listVersions, request, options: options); + } + + $grpc.ResponseFuture<$13.Version> getVersion($10.GetVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getVersion, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createVersion( + $10.CreateVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createVersion, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateVersion( + $10.UpdateVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateVersion, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteVersion( + $10.DeleteVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteVersion, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.Versions') +abstract class VersionsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.Versions'; + + VersionsServiceBase() { + $addMethod( + $grpc.ServiceMethod<$10.ListVersionsRequest, $10.ListVersionsResponse>( + 'ListVersions', + listVersions_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListVersionsRequest.fromBuffer(value), + ($10.ListVersionsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.GetVersionRequest, $13.Version>( + 'GetVersion', + getVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetVersionRequest.fromBuffer(value), + ($13.Version value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.CreateVersionRequest, $0.Operation>( + 'CreateVersion', + createVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.CreateVersionRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.UpdateVersionRequest, $0.Operation>( + 'UpdateVersion', + updateVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.UpdateVersionRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.DeleteVersionRequest, $0.Operation>( + 'DeleteVersion', + deleteVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DeleteVersionRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$10.ListVersionsResponse> listVersions_Pre( + $grpc.ServiceCall call, + $async.Future<$10.ListVersionsRequest> request) async { + return listVersions(call, await request); + } + + $async.Future<$13.Version> getVersion_Pre($grpc.ServiceCall call, + $async.Future<$10.GetVersionRequest> request) async { + return getVersion(call, await request); + } + + $async.Future<$0.Operation> createVersion_Pre($grpc.ServiceCall call, + $async.Future<$10.CreateVersionRequest> request) async { + return createVersion(call, await request); + } + + $async.Future<$0.Operation> updateVersion_Pre($grpc.ServiceCall call, + $async.Future<$10.UpdateVersionRequest> request) async { + return updateVersion(call, await request); + } + + $async.Future<$0.Operation> deleteVersion_Pre($grpc.ServiceCall call, + $async.Future<$10.DeleteVersionRequest> request) async { + return deleteVersion(call, await request); + } + + $async.Future<$10.ListVersionsResponse> listVersions( + $grpc.ServiceCall call, $10.ListVersionsRequest request); + $async.Future<$13.Version> getVersion( + $grpc.ServiceCall call, $10.GetVersionRequest request); + $async.Future<$0.Operation> createVersion( + $grpc.ServiceCall call, $10.CreateVersionRequest request); + $async.Future<$0.Operation> updateVersion( + $grpc.ServiceCall call, $10.UpdateVersionRequest request); + $async.Future<$0.Operation> deleteVersion( + $grpc.ServiceCall call, $10.DeleteVersionRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.Instances') +class InstancesClient extends $grpc.Client { + static final _$listInstances = + $grpc.ClientMethod<$10.ListInstancesRequest, $10.ListInstancesResponse>( + '/google.appengine.v1.Instances/ListInstances', + ($10.ListInstancesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListInstancesResponse.fromBuffer(value)); + static final _$getInstance = + $grpc.ClientMethod<$10.GetInstanceRequest, $14.Instance>( + '/google.appengine.v1.Instances/GetInstance', + ($10.GetInstanceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $14.Instance.fromBuffer(value)); + static final _$deleteInstance = + $grpc.ClientMethod<$10.DeleteInstanceRequest, $0.Operation>( + '/google.appengine.v1.Instances/DeleteInstance', + ($10.DeleteInstanceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$debugInstance = + $grpc.ClientMethod<$10.DebugInstanceRequest, $0.Operation>( + '/google.appengine.v1.Instances/DebugInstance', + ($10.DebugInstanceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + InstancesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListInstancesResponse> listInstances( + $10.ListInstancesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listInstances, request, options: options); + } + + $grpc.ResponseFuture<$14.Instance> getInstance($10.GetInstanceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getInstance, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteInstance( + $10.DeleteInstanceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteInstance, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> debugInstance( + $10.DebugInstanceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$debugInstance, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.Instances') +abstract class InstancesServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.Instances'; + + InstancesServiceBase() { + $addMethod($grpc.ServiceMethod<$10.ListInstancesRequest, + $10.ListInstancesResponse>( + 'ListInstances', + listInstances_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListInstancesRequest.fromBuffer(value), + ($10.ListInstancesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.GetInstanceRequest, $14.Instance>( + 'GetInstance', + getInstance_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetInstanceRequest.fromBuffer(value), + ($14.Instance value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.DeleteInstanceRequest, $0.Operation>( + 'DeleteInstance', + deleteInstance_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DeleteInstanceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.DebugInstanceRequest, $0.Operation>( + 'DebugInstance', + debugInstance_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DebugInstanceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$10.ListInstancesResponse> listInstances_Pre( + $grpc.ServiceCall call, + $async.Future<$10.ListInstancesRequest> request) async { + return listInstances(call, await request); + } + + $async.Future<$14.Instance> getInstance_Pre($grpc.ServiceCall call, + $async.Future<$10.GetInstanceRequest> request) async { + return getInstance(call, await request); + } + + $async.Future<$0.Operation> deleteInstance_Pre($grpc.ServiceCall call, + $async.Future<$10.DeleteInstanceRequest> request) async { + return deleteInstance(call, await request); + } + + $async.Future<$0.Operation> debugInstance_Pre($grpc.ServiceCall call, + $async.Future<$10.DebugInstanceRequest> request) async { + return debugInstance(call, await request); + } + + $async.Future<$10.ListInstancesResponse> listInstances( + $grpc.ServiceCall call, $10.ListInstancesRequest request); + $async.Future<$14.Instance> getInstance( + $grpc.ServiceCall call, $10.GetInstanceRequest request); + $async.Future<$0.Operation> deleteInstance( + $grpc.ServiceCall call, $10.DeleteInstanceRequest request); + $async.Future<$0.Operation> debugInstance( + $grpc.ServiceCall call, $10.DebugInstanceRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.Firewall') +class FirewallClient extends $grpc.Client { + static final _$listIngressRules = $grpc.ClientMethod< + $10.ListIngressRulesRequest, $10.ListIngressRulesResponse>( + '/google.appengine.v1.Firewall/ListIngressRules', + ($10.ListIngressRulesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListIngressRulesResponse.fromBuffer(value)); + static final _$batchUpdateIngressRules = $grpc.ClientMethod< + $10.BatchUpdateIngressRulesRequest, + $10.BatchUpdateIngressRulesResponse>( + '/google.appengine.v1.Firewall/BatchUpdateIngressRules', + ($10.BatchUpdateIngressRulesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.BatchUpdateIngressRulesResponse.fromBuffer(value)); + static final _$createIngressRule = + $grpc.ClientMethod<$10.CreateIngressRuleRequest, $15.FirewallRule>( + '/google.appengine.v1.Firewall/CreateIngressRule', + ($10.CreateIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $15.FirewallRule.fromBuffer(value)); + static final _$getIngressRule = + $grpc.ClientMethod<$10.GetIngressRuleRequest, $15.FirewallRule>( + '/google.appengine.v1.Firewall/GetIngressRule', + ($10.GetIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $15.FirewallRule.fromBuffer(value)); + static final _$updateIngressRule = + $grpc.ClientMethod<$10.UpdateIngressRuleRequest, $15.FirewallRule>( + '/google.appengine.v1.Firewall/UpdateIngressRule', + ($10.UpdateIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $15.FirewallRule.fromBuffer(value)); + static final _$deleteIngressRule = + $grpc.ClientMethod<$10.DeleteIngressRuleRequest, $1.Empty>( + '/google.appengine.v1.Firewall/DeleteIngressRule', + ($10.DeleteIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + + FirewallClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListIngressRulesResponse> listIngressRules( + $10.ListIngressRulesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listIngressRules, request, options: options); + } + + $grpc.ResponseFuture<$10.BatchUpdateIngressRulesResponse> + batchUpdateIngressRules($10.BatchUpdateIngressRulesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$batchUpdateIngressRules, request, + options: options); + } + + $grpc.ResponseFuture<$15.FirewallRule> createIngressRule( + $10.CreateIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createIngressRule, request, options: options); + } + + $grpc.ResponseFuture<$15.FirewallRule> getIngressRule( + $10.GetIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getIngressRule, request, options: options); + } + + $grpc.ResponseFuture<$15.FirewallRule> updateIngressRule( + $10.UpdateIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateIngressRule, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteIngressRule( + $10.DeleteIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteIngressRule, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.Firewall') +abstract class FirewallServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.Firewall'; + + FirewallServiceBase() { + $addMethod($grpc.ServiceMethod<$10.ListIngressRulesRequest, + $10.ListIngressRulesResponse>( + 'ListIngressRules', + listIngressRules_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListIngressRulesRequest.fromBuffer(value), + ($10.ListIngressRulesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.BatchUpdateIngressRulesRequest, + $10.BatchUpdateIngressRulesResponse>( + 'BatchUpdateIngressRules', + batchUpdateIngressRules_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.BatchUpdateIngressRulesRequest.fromBuffer(value), + ($10.BatchUpdateIngressRulesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.CreateIngressRuleRequest, $15.FirewallRule>( + 'CreateIngressRule', + createIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.CreateIngressRuleRequest.fromBuffer(value), + ($15.FirewallRule value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.GetIngressRuleRequest, $15.FirewallRule>( + 'GetIngressRule', + getIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetIngressRuleRequest.fromBuffer(value), + ($15.FirewallRule value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.UpdateIngressRuleRequest, $15.FirewallRule>( + 'UpdateIngressRule', + updateIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.UpdateIngressRuleRequest.fromBuffer(value), + ($15.FirewallRule value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.DeleteIngressRuleRequest, $1.Empty>( + 'DeleteIngressRule', + deleteIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DeleteIngressRuleRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + } + + $async.Future<$10.ListIngressRulesResponse> listIngressRules_Pre( + $grpc.ServiceCall call, + $async.Future<$10.ListIngressRulesRequest> request) async { + return listIngressRules(call, await request); + } + + $async.Future<$10.BatchUpdateIngressRulesResponse> + batchUpdateIngressRules_Pre($grpc.ServiceCall call, + $async.Future<$10.BatchUpdateIngressRulesRequest> request) async { + return batchUpdateIngressRules(call, await request); + } + + $async.Future<$15.FirewallRule> createIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$10.CreateIngressRuleRequest> request) async { + return createIngressRule(call, await request); + } + + $async.Future<$15.FirewallRule> getIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$10.GetIngressRuleRequest> request) async { + return getIngressRule(call, await request); + } + + $async.Future<$15.FirewallRule> updateIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$10.UpdateIngressRuleRequest> request) async { + return updateIngressRule(call, await request); + } + + $async.Future<$1.Empty> deleteIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$10.DeleteIngressRuleRequest> request) async { + return deleteIngressRule(call, await request); + } + + $async.Future<$10.ListIngressRulesResponse> listIngressRules( + $grpc.ServiceCall call, $10.ListIngressRulesRequest request); + $async.Future<$10.BatchUpdateIngressRulesResponse> batchUpdateIngressRules( + $grpc.ServiceCall call, $10.BatchUpdateIngressRulesRequest request); + $async.Future<$15.FirewallRule> createIngressRule( + $grpc.ServiceCall call, $10.CreateIngressRuleRequest request); + $async.Future<$15.FirewallRule> getIngressRule( + $grpc.ServiceCall call, $10.GetIngressRuleRequest request); + $async.Future<$15.FirewallRule> updateIngressRule( + $grpc.ServiceCall call, $10.UpdateIngressRuleRequest request); + $async.Future<$1.Empty> deleteIngressRule( + $grpc.ServiceCall call, $10.DeleteIngressRuleRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.AuthorizedDomains') +class AuthorizedDomainsClient extends $grpc.Client { + static final _$listAuthorizedDomains = $grpc.ClientMethod< + $10.ListAuthorizedDomainsRequest, $10.ListAuthorizedDomainsResponse>( + '/google.appengine.v1.AuthorizedDomains/ListAuthorizedDomains', + ($10.ListAuthorizedDomainsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListAuthorizedDomainsResponse.fromBuffer(value)); + + AuthorizedDomainsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListAuthorizedDomainsResponse> listAuthorizedDomains( + $10.ListAuthorizedDomainsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listAuthorizedDomains, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.AuthorizedDomains') +abstract class AuthorizedDomainsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.AuthorizedDomains'; + + AuthorizedDomainsServiceBase() { + $addMethod($grpc.ServiceMethod<$10.ListAuthorizedDomainsRequest, + $10.ListAuthorizedDomainsResponse>( + 'ListAuthorizedDomains', + listAuthorizedDomains_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListAuthorizedDomainsRequest.fromBuffer(value), + ($10.ListAuthorizedDomainsResponse value) => value.writeToBuffer())); + } + + $async.Future<$10.ListAuthorizedDomainsResponse> listAuthorizedDomains_Pre( + $grpc.ServiceCall call, + $async.Future<$10.ListAuthorizedDomainsRequest> request) async { + return listAuthorizedDomains(call, await request); + } + + $async.Future<$10.ListAuthorizedDomainsResponse> listAuthorizedDomains( + $grpc.ServiceCall call, $10.ListAuthorizedDomainsRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.AuthorizedCertificates') +class AuthorizedCertificatesClient extends $grpc.Client { + static final _$listAuthorizedCertificates = $grpc.ClientMethod< + $10.ListAuthorizedCertificatesRequest, + $10.ListAuthorizedCertificatesResponse>( + '/google.appengine.v1.AuthorizedCertificates/ListAuthorizedCertificates', + ($10.ListAuthorizedCertificatesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListAuthorizedCertificatesResponse.fromBuffer(value)); + static final _$getAuthorizedCertificate = $grpc.ClientMethod< + $10.GetAuthorizedCertificateRequest, $16.AuthorizedCertificate>( + '/google.appengine.v1.AuthorizedCertificates/GetAuthorizedCertificate', + ($10.GetAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $16.AuthorizedCertificate.fromBuffer(value)); + static final _$createAuthorizedCertificate = $grpc.ClientMethod< + $10.CreateAuthorizedCertificateRequest, $16.AuthorizedCertificate>( + '/google.appengine.v1.AuthorizedCertificates/CreateAuthorizedCertificate', + ($10.CreateAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $16.AuthorizedCertificate.fromBuffer(value)); + static final _$updateAuthorizedCertificate = $grpc.ClientMethod< + $10.UpdateAuthorizedCertificateRequest, $16.AuthorizedCertificate>( + '/google.appengine.v1.AuthorizedCertificates/UpdateAuthorizedCertificate', + ($10.UpdateAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $16.AuthorizedCertificate.fromBuffer(value)); + static final _$deleteAuthorizedCertificate = $grpc.ClientMethod< + $10.DeleteAuthorizedCertificateRequest, $1.Empty>( + '/google.appengine.v1.AuthorizedCertificates/DeleteAuthorizedCertificate', + ($10.DeleteAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + + AuthorizedCertificatesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListAuthorizedCertificatesResponse> + listAuthorizedCertificates($10.ListAuthorizedCertificatesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listAuthorizedCertificates, request, + options: options); + } + + $grpc.ResponseFuture<$16.AuthorizedCertificate> getAuthorizedCertificate( + $10.GetAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getAuthorizedCertificate, request, + options: options); + } + + $grpc.ResponseFuture<$16.AuthorizedCertificate> createAuthorizedCertificate( + $10.CreateAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createAuthorizedCertificate, request, + options: options); + } + + $grpc.ResponseFuture<$16.AuthorizedCertificate> updateAuthorizedCertificate( + $10.UpdateAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateAuthorizedCertificate, request, + options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteAuthorizedCertificate( + $10.DeleteAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteAuthorizedCertificate, request, + options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.AuthorizedCertificates') +abstract class AuthorizedCertificatesServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.AuthorizedCertificates'; + + AuthorizedCertificatesServiceBase() { + $addMethod($grpc.ServiceMethod<$10.ListAuthorizedCertificatesRequest, + $10.ListAuthorizedCertificatesResponse>( + 'ListAuthorizedCertificates', + listAuthorizedCertificates_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListAuthorizedCertificatesRequest.fromBuffer(value), + ($10.ListAuthorizedCertificatesResponse value) => + value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.GetAuthorizedCertificateRequest, + $16.AuthorizedCertificate>( + 'GetAuthorizedCertificate', + getAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetAuthorizedCertificateRequest.fromBuffer(value), + ($16.AuthorizedCertificate value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.CreateAuthorizedCertificateRequest, + $16.AuthorizedCertificate>( + 'CreateAuthorizedCertificate', + createAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.CreateAuthorizedCertificateRequest.fromBuffer(value), + ($16.AuthorizedCertificate value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$10.UpdateAuthorizedCertificateRequest, + $16.AuthorizedCertificate>( + 'UpdateAuthorizedCertificate', + updateAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.UpdateAuthorizedCertificateRequest.fromBuffer(value), + ($16.AuthorizedCertificate value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.DeleteAuthorizedCertificateRequest, $1.Empty>( + 'DeleteAuthorizedCertificate', + deleteAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DeleteAuthorizedCertificateRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + } + + $async.Future<$10.ListAuthorizedCertificatesResponse> + listAuthorizedCertificates_Pre($grpc.ServiceCall call, + $async.Future<$10.ListAuthorizedCertificatesRequest> request) async { + return listAuthorizedCertificates(call, await request); + } + + $async.Future<$16.AuthorizedCertificate> getAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$10.GetAuthorizedCertificateRequest> request) async { + return getAuthorizedCertificate(call, await request); + } + + $async.Future<$16.AuthorizedCertificate> createAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$10.CreateAuthorizedCertificateRequest> request) async { + return createAuthorizedCertificate(call, await request); + } + + $async.Future<$16.AuthorizedCertificate> updateAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$10.UpdateAuthorizedCertificateRequest> request) async { + return updateAuthorizedCertificate(call, await request); + } + + $async.Future<$1.Empty> deleteAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$10.DeleteAuthorizedCertificateRequest> request) async { + return deleteAuthorizedCertificate(call, await request); + } + + $async.Future<$10.ListAuthorizedCertificatesResponse> + listAuthorizedCertificates($grpc.ServiceCall call, + $10.ListAuthorizedCertificatesRequest request); + $async.Future<$16.AuthorizedCertificate> getAuthorizedCertificate( + $grpc.ServiceCall call, $10.GetAuthorizedCertificateRequest request); + $async.Future<$16.AuthorizedCertificate> createAuthorizedCertificate( + $grpc.ServiceCall call, $10.CreateAuthorizedCertificateRequest request); + $async.Future<$16.AuthorizedCertificate> updateAuthorizedCertificate( + $grpc.ServiceCall call, $10.UpdateAuthorizedCertificateRequest request); + $async.Future<$1.Empty> deleteAuthorizedCertificate( + $grpc.ServiceCall call, $10.DeleteAuthorizedCertificateRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1.DomainMappings') +class DomainMappingsClient extends $grpc.Client { + static final _$listDomainMappings = $grpc.ClientMethod< + $10.ListDomainMappingsRequest, $10.ListDomainMappingsResponse>( + '/google.appengine.v1.DomainMappings/ListDomainMappings', + ($10.ListDomainMappingsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $10.ListDomainMappingsResponse.fromBuffer(value)); + static final _$getDomainMapping = + $grpc.ClientMethod<$10.GetDomainMappingRequest, $17.DomainMapping>( + '/google.appengine.v1.DomainMappings/GetDomainMapping', + ($10.GetDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $17.DomainMapping.fromBuffer(value)); + static final _$createDomainMapping = + $grpc.ClientMethod<$10.CreateDomainMappingRequest, $0.Operation>( + '/google.appengine.v1.DomainMappings/CreateDomainMapping', + ($10.CreateDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateDomainMapping = + $grpc.ClientMethod<$10.UpdateDomainMappingRequest, $0.Operation>( + '/google.appengine.v1.DomainMappings/UpdateDomainMapping', + ($10.UpdateDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteDomainMapping = + $grpc.ClientMethod<$10.DeleteDomainMappingRequest, $0.Operation>( + '/google.appengine.v1.DomainMappings/DeleteDomainMapping', + ($10.DeleteDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + DomainMappingsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$10.ListDomainMappingsResponse> listDomainMappings( + $10.ListDomainMappingsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listDomainMappings, request, options: options); + } + + $grpc.ResponseFuture<$17.DomainMapping> getDomainMapping( + $10.GetDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getDomainMapping, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createDomainMapping( + $10.CreateDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createDomainMapping, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateDomainMapping( + $10.UpdateDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateDomainMapping, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteDomainMapping( + $10.DeleteDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteDomainMapping, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1.DomainMappings') +abstract class DomainMappingsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1.DomainMappings'; + + DomainMappingsServiceBase() { + $addMethod($grpc.ServiceMethod<$10.ListDomainMappingsRequest, + $10.ListDomainMappingsResponse>( + 'ListDomainMappings', + listDomainMappings_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.ListDomainMappingsRequest.fromBuffer(value), + ($10.ListDomainMappingsResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.GetDomainMappingRequest, $17.DomainMapping>( + 'GetDomainMapping', + getDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.GetDomainMappingRequest.fromBuffer(value), + ($17.DomainMapping value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.CreateDomainMappingRequest, $0.Operation>( + 'CreateDomainMapping', + createDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.CreateDomainMappingRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.UpdateDomainMappingRequest, $0.Operation>( + 'UpdateDomainMapping', + updateDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.UpdateDomainMappingRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$10.DeleteDomainMappingRequest, $0.Operation>( + 'DeleteDomainMapping', + deleteDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $10.DeleteDomainMappingRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$10.ListDomainMappingsResponse> listDomainMappings_Pre( + $grpc.ServiceCall call, + $async.Future<$10.ListDomainMappingsRequest> request) async { + return listDomainMappings(call, await request); + } + + $async.Future<$17.DomainMapping> getDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$10.GetDomainMappingRequest> request) async { + return getDomainMapping(call, await request); + } + + $async.Future<$0.Operation> createDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$10.CreateDomainMappingRequest> request) async { + return createDomainMapping(call, await request); + } + + $async.Future<$0.Operation> updateDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$10.UpdateDomainMappingRequest> request) async { + return updateDomainMapping(call, await request); + } + + $async.Future<$0.Operation> deleteDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$10.DeleteDomainMappingRequest> request) async { + return deleteDomainMapping(call, await request); + } + + $async.Future<$10.ListDomainMappingsResponse> listDomainMappings( + $grpc.ServiceCall call, $10.ListDomainMappingsRequest request); + $async.Future<$17.DomainMapping> getDomainMapping( + $grpc.ServiceCall call, $10.GetDomainMappingRequest request); + $async.Future<$0.Operation> createDomainMapping( + $grpc.ServiceCall call, $10.CreateDomainMappingRequest request); + $async.Future<$0.Operation> updateDomainMapping( + $grpc.ServiceCall call, $10.UpdateDomainMappingRequest request); + $async.Future<$0.Operation> deleteDomainMapping( + $grpc.ServiceCall call, $10.DeleteDomainMappingRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbjson.dart new file mode 100644 index 00000000..79c3b948 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/appengine.pbjson.dart @@ -0,0 +1,903 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use versionViewDescriptor instead') +const VersionView$json = { + '1': 'VersionView', + '2': [ + {'1': 'BASIC', '2': 0}, + {'1': 'FULL', '2': 1}, + ], +}; + +/// Descriptor for `VersionView`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List versionViewDescriptor = + $convert.base64Decode('CgtWZXJzaW9uVmlldxIJCgVCQVNJQxAAEggKBEZVTEwQAQ=='); + +@$core.Deprecated('Use authorizedCertificateViewDescriptor instead') +const AuthorizedCertificateView$json = { + '1': 'AuthorizedCertificateView', + '2': [ + {'1': 'BASIC_CERTIFICATE', '2': 0}, + {'1': 'FULL_CERTIFICATE', '2': 1}, + ], +}; + +/// Descriptor for `AuthorizedCertificateView`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List authorizedCertificateViewDescriptor = + $convert.base64Decode( + 'ChlBdXRob3JpemVkQ2VydGlmaWNhdGVWaWV3EhUKEUJBU0lDX0NFUlRJRklDQVRFEAASFAoQRl' + 'VMTF9DRVJUSUZJQ0FURRAB'); + +@$core.Deprecated('Use domainOverrideStrategyDescriptor instead') +const DomainOverrideStrategy$json = { + '1': 'DomainOverrideStrategy', + '2': [ + {'1': 'UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY', '2': 0}, + {'1': 'STRICT', '2': 1}, + {'1': 'OVERRIDE', '2': 2}, + ], +}; + +/// Descriptor for `DomainOverrideStrategy`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List domainOverrideStrategyDescriptor = + $convert.base64Decode( + 'ChZEb21haW5PdmVycmlkZVN0cmF0ZWd5EigKJFVOU1BFQ0lGSUVEX0RPTUFJTl9PVkVSUklERV' + '9TVFJBVEVHWRAAEgoKBlNUUklDVBABEgwKCE9WRVJSSURFEAI='); + +@$core.Deprecated('Use getApplicationRequestDescriptor instead') +const GetApplicationRequest$json = { + '1': 'GetApplicationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getApplicationRequestDescriptor = + $convert.base64Decode( + 'ChVHZXRBcHBsaWNhdGlvblJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use createApplicationRequestDescriptor instead') +const CreateApplicationRequest$json = { + '1': 'CreateApplicationRequest', + '2': [ + { + '1': 'application', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Application', + '10': 'application' + }, + ], +}; + +/// Descriptor for `CreateApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createApplicationRequestDescriptor = + $convert.base64Decode( + 'ChhDcmVhdGVBcHBsaWNhdGlvblJlcXVlc3QSQgoLYXBwbGljYXRpb24YAiABKAsyIC5nb29nbG' + 'UuYXBwZW5naW5lLnYxLkFwcGxpY2F0aW9uUgthcHBsaWNhdGlvbg=='); + +@$core.Deprecated('Use updateApplicationRequestDescriptor instead') +const UpdateApplicationRequest$json = { + '1': 'UpdateApplicationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'application', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Application', + '10': 'application' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateApplicationRequestDescriptor = $convert.base64Decode( + 'ChhVcGRhdGVBcHBsaWNhdGlvblJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRJCCgthcHBsaW' + 'NhdGlvbhgCIAEoCzIgLmdvb2dsZS5hcHBlbmdpbmUudjEuQXBwbGljYXRpb25SC2FwcGxpY2F0' + 'aW9uEjsKC3VwZGF0ZV9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IKdX' + 'BkYXRlTWFzaw=='); + +@$core.Deprecated('Use repairApplicationRequestDescriptor instead') +const RepairApplicationRequest$json = { + '1': 'RepairApplicationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `RepairApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List repairApplicationRequestDescriptor = + $convert.base64Decode( + 'ChhSZXBhaXJBcHBsaWNhdGlvblJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use listServicesRequestDescriptor instead') +const ListServicesRequest$json = { + '1': 'ListServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0U2VydmljZXNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCXBhZ2Vfc2' + 'l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listServicesResponseDescriptor instead') +const ListServicesResponse$json = { + '1': 'ListServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Service', + '10': 'services' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0U2VydmljZXNSZXNwb25zZRI4CghzZXJ2aWNlcxgBIAMoCzIcLmdvb2dsZS5hcHBlbm' + 'dpbmUudjEuU2VydmljZVIIc2VydmljZXMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0' + 'UGFnZVRva2Vu'); + +@$core.Deprecated('Use getServiceRequestDescriptor instead') +const GetServiceRequest$json = { + '1': 'GetServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceRequestDescriptor = $convert + .base64Decode('ChFHZXRTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use updateServiceRequestDescriptor instead') +const UpdateServiceRequest$json = { + '1': 'UpdateServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'service', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Service', + '10': 'service' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + {'1': 'migrate_traffic', '3': 4, '4': 1, '5': 8, '10': 'migrateTraffic'}, + ], +}; + +/// Descriptor for `UpdateServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateServiceRequestDescriptor = $convert.base64Decode( + 'ChRVcGRhdGVTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjYKB3NlcnZpY2UYAi' + 'ABKAsyHC5nb29nbGUuYXBwZW5naW5lLnYxLlNlcnZpY2VSB3NlcnZpY2USOwoLdXBkYXRlX21h' + 'c2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgp1cGRhdGVNYXNrEicKD21pZ3' + 'JhdGVfdHJhZmZpYxgEIAEoCFIObWlncmF0ZVRyYWZmaWM='); + +@$core.Deprecated('Use deleteServiceRequestDescriptor instead') +const DeleteServiceRequest$json = { + '1': 'DeleteServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteServiceRequestDescriptor = $convert + .base64Decode('ChREZWxldGVTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use listVersionsRequestDescriptor instead') +const ListVersionsRequest$json = { + '1': 'ListVersionsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.VersionView', + '10': 'view' + }, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 4, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListVersionsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listVersionsRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0VmVyc2lvbnNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EjQKBHZpZXcYAi' + 'ABKA4yIC5nb29nbGUuYXBwZW5naW5lLnYxLlZlcnNpb25WaWV3UgR2aWV3EhsKCXBhZ2Vfc2l6' + 'ZRgDIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgEIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listVersionsResponseDescriptor instead') +const ListVersionsResponse$json = { + '1': 'ListVersionsResponse', + '2': [ + { + '1': 'versions', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Version', + '10': 'versions' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListVersionsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listVersionsResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0VmVyc2lvbnNSZXNwb25zZRI4Cgh2ZXJzaW9ucxgBIAMoCzIcLmdvb2dsZS5hcHBlbm' + 'dpbmUudjEuVmVyc2lvblIIdmVyc2lvbnMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0' + 'UGFnZVRva2Vu'); + +@$core.Deprecated('Use getVersionRequestDescriptor instead') +const GetVersionRequest$json = { + '1': 'GetVersionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.VersionView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `GetVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getVersionRequestDescriptor = $convert.base64Decode( + 'ChFHZXRWZXJzaW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjQKBHZpZXcYAiABKA4yIC' + '5nb29nbGUuYXBwZW5naW5lLnYxLlZlcnNpb25WaWV3UgR2aWV3'); + +@$core.Deprecated('Use createVersionRequestDescriptor instead') +const CreateVersionRequest$json = { + '1': 'CreateVersionRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'version', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Version', + '10': 'version' + }, + ], +}; + +/// Descriptor for `CreateVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createVersionRequestDescriptor = $convert.base64Decode( + 'ChRDcmVhdGVWZXJzaW9uUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBI2Cgd2ZXJzaW' + '9uGAIgASgLMhwuZ29vZ2xlLmFwcGVuZ2luZS52MS5WZXJzaW9uUgd2ZXJzaW9u'); + +@$core.Deprecated('Use updateVersionRequestDescriptor instead') +const UpdateVersionRequest$json = { + '1': 'UpdateVersionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'version', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Version', + '10': 'version' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateVersionRequestDescriptor = $convert.base64Decode( + 'ChRVcGRhdGVWZXJzaW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjYKB3ZlcnNpb24YAi' + 'ABKAsyHC5nb29nbGUuYXBwZW5naW5lLnYxLlZlcnNpb25SB3ZlcnNpb24SOwoLdXBkYXRlX21h' + 'c2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgp1cGRhdGVNYXNr'); + +@$core.Deprecated('Use deleteVersionRequestDescriptor instead') +const DeleteVersionRequest$json = { + '1': 'DeleteVersionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteVersionRequestDescriptor = $convert + .base64Decode('ChREZWxldGVWZXJzaW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use listInstancesRequestDescriptor instead') +const ListInstancesRequest$json = { + '1': 'ListInstancesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListInstancesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listInstancesRequestDescriptor = $convert.base64Decode( + 'ChRMaXN0SW5zdGFuY2VzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIbCglwYWdlX3' + 'NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YAyABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listInstancesResponseDescriptor instead') +const ListInstancesResponse$json = { + '1': 'ListInstancesResponse', + '2': [ + { + '1': 'instances', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Instance', + '10': 'instances' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListInstancesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listInstancesResponseDescriptor = $convert.base64Decode( + 'ChVMaXN0SW5zdGFuY2VzUmVzcG9uc2USOwoJaW5zdGFuY2VzGAEgAygLMh0uZ29vZ2xlLmFwcG' + 'VuZ2luZS52MS5JbnN0YW5jZVIJaW5zdGFuY2VzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVIN' + 'bmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getInstanceRequestDescriptor instead') +const GetInstanceRequest$json = { + '1': 'GetInstanceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetInstanceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getInstanceRequestDescriptor = $convert + .base64Decode('ChJHZXRJbnN0YW5jZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use deleteInstanceRequestDescriptor instead') +const DeleteInstanceRequest$json = { + '1': 'DeleteInstanceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteInstanceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteInstanceRequestDescriptor = + $convert.base64Decode( + 'ChVEZWxldGVJbnN0YW5jZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use debugInstanceRequestDescriptor instead') +const DebugInstanceRequest$json = { + '1': 'DebugInstanceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'ssh_key', '3': 2, '4': 1, '5': 9, '10': 'sshKey'}, + ], +}; + +/// Descriptor for `DebugInstanceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List debugInstanceRequestDescriptor = $convert.base64Decode( + 'ChREZWJ1Z0luc3RhbmNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEhcKB3NzaF9rZXkYAi' + 'ABKAlSBnNzaEtleQ=='); + +@$core.Deprecated('Use listIngressRulesRequestDescriptor instead') +const ListIngressRulesRequest$json = { + '1': 'ListIngressRulesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'matching_address', '3': 4, '4': 1, '5': 9, '10': 'matchingAddress'}, + ], +}; + +/// Descriptor for `ListIngressRulesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listIngressRulesRequestDescriptor = $convert.base64Decode( + 'ChdMaXN0SW5ncmVzc1J1bGVzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIbCglwYW' + 'dlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YAyABKAlSCXBhZ2VUb2tlbhIp' + 'ChBtYXRjaGluZ19hZGRyZXNzGAQgASgJUg9tYXRjaGluZ0FkZHJlc3M='); + +@$core.Deprecated('Use listIngressRulesResponseDescriptor instead') +const ListIngressRulesResponse$json = { + '1': 'ListIngressRulesResponse', + '2': [ + { + '1': 'ingress_rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.FirewallRule', + '10': 'ingressRules' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListIngressRulesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listIngressRulesResponseDescriptor = $convert.base64Decode( + 'ChhMaXN0SW5ncmVzc1J1bGVzUmVzcG9uc2USRgoNaW5ncmVzc19ydWxlcxgBIAMoCzIhLmdvb2' + 'dsZS5hcHBlbmdpbmUudjEuRmlyZXdhbGxSdWxlUgxpbmdyZXNzUnVsZXMSJgoPbmV4dF9wYWdl' + 'X3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use batchUpdateIngressRulesRequestDescriptor instead') +const BatchUpdateIngressRulesRequest$json = { + '1': 'BatchUpdateIngressRulesRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'ingress_rules', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.FirewallRule', + '10': 'ingressRules' + }, + ], +}; + +/// Descriptor for `BatchUpdateIngressRulesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchUpdateIngressRulesRequestDescriptor = + $convert.base64Decode( + 'Ch5CYXRjaFVwZGF0ZUluZ3Jlc3NSdWxlc1JlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRJGCg' + '1pbmdyZXNzX3J1bGVzGAIgAygLMiEuZ29vZ2xlLmFwcGVuZ2luZS52MS5GaXJld2FsbFJ1bGVS' + 'DGluZ3Jlc3NSdWxlcw=='); + +@$core.Deprecated('Use batchUpdateIngressRulesResponseDescriptor instead') +const BatchUpdateIngressRulesResponse$json = { + '1': 'BatchUpdateIngressRulesResponse', + '2': [ + { + '1': 'ingress_rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.FirewallRule', + '10': 'ingressRules' + }, + ], +}; + +/// Descriptor for `BatchUpdateIngressRulesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchUpdateIngressRulesResponseDescriptor = + $convert.base64Decode( + 'Ch9CYXRjaFVwZGF0ZUluZ3Jlc3NSdWxlc1Jlc3BvbnNlEkYKDWluZ3Jlc3NfcnVsZXMYASADKA' + 'syIS5nb29nbGUuYXBwZW5naW5lLnYxLkZpcmV3YWxsUnVsZVIMaW5ncmVzc1J1bGVz'); + +@$core.Deprecated('Use createIngressRuleRequestDescriptor instead') +const CreateIngressRuleRequest$json = { + '1': 'CreateIngressRuleRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'rule', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.FirewallRule', + '10': 'rule' + }, + ], +}; + +/// Descriptor for `CreateIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createIngressRuleRequestDescriptor = + $convert.base64Decode( + 'ChhDcmVhdGVJbmdyZXNzUnVsZVJlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYXJlbnQSNQoEcn' + 'VsZRgCIAEoCzIhLmdvb2dsZS5hcHBlbmdpbmUudjEuRmlyZXdhbGxSdWxlUgRydWxl'); + +@$core.Deprecated('Use getIngressRuleRequestDescriptor instead') +const GetIngressRuleRequest$json = { + '1': 'GetIngressRuleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getIngressRuleRequestDescriptor = + $convert.base64Decode( + 'ChVHZXRJbmdyZXNzUnVsZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use updateIngressRuleRequestDescriptor instead') +const UpdateIngressRuleRequest$json = { + '1': 'UpdateIngressRuleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'rule', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.FirewallRule', + '10': 'rule' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateIngressRuleRequestDescriptor = $convert.base64Decode( + 'ChhVcGRhdGVJbmdyZXNzUnVsZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRI1CgRydWxlGA' + 'IgASgLMiEuZ29vZ2xlLmFwcGVuZ2luZS52MS5GaXJld2FsbFJ1bGVSBHJ1bGUSOwoLdXBkYXRl' + 'X21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUgp1cGRhdGVNYXNr'); + +@$core.Deprecated('Use deleteIngressRuleRequestDescriptor instead') +const DeleteIngressRuleRequest$json = { + '1': 'DeleteIngressRuleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteIngressRuleRequestDescriptor = + $convert.base64Decode( + 'ChhEZWxldGVJbmdyZXNzUnVsZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use listAuthorizedDomainsRequestDescriptor instead') +const ListAuthorizedDomainsRequest$json = { + '1': 'ListAuthorizedDomainsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedDomainsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedDomainsRequestDescriptor = + $convert.base64Decode( + 'ChxMaXN0QXV0aG9yaXplZERvbWFpbnNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50Eh' + 'sKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRv' + 'a2Vu'); + +@$core.Deprecated('Use listAuthorizedDomainsResponseDescriptor instead') +const ListAuthorizedDomainsResponse$json = { + '1': 'ListAuthorizedDomainsResponse', + '2': [ + { + '1': 'domains', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.AuthorizedDomain', + '10': 'domains' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedDomainsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedDomainsResponseDescriptor = + $convert.base64Decode( + 'Ch1MaXN0QXV0aG9yaXplZERvbWFpbnNSZXNwb25zZRI/Cgdkb21haW5zGAEgAygLMiUuZ29vZ2' + 'xlLmFwcGVuZ2luZS52MS5BdXRob3JpemVkRG9tYWluUgdkb21haW5zEiYKD25leHRfcGFnZV90' + 'b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listAuthorizedCertificatesRequestDescriptor instead') +const ListAuthorizedCertificatesRequest$json = { + '1': 'ListAuthorizedCertificatesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'view', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.AuthorizedCertificateView', + '10': 'view' + }, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedCertificatesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedCertificatesRequestDescriptor = + $convert.base64Decode( + 'CiFMaXN0QXV0aG9yaXplZENlcnRpZmljYXRlc1JlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYX' + 'JlbnQSQgoEdmlldxgEIAEoDjIuLmdvb2dsZS5hcHBlbmdpbmUudjEuQXV0aG9yaXplZENlcnRp' + 'ZmljYXRlVmlld1IEdmlldxIbCglwYWdlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG' + '9rZW4YAyABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listAuthorizedCertificatesResponseDescriptor instead') +const ListAuthorizedCertificatesResponse$json = { + '1': 'ListAuthorizedCertificatesResponse', + '2': [ + { + '1': 'certificates', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.AuthorizedCertificate', + '10': 'certificates' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedCertificatesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedCertificatesResponseDescriptor = + $convert.base64Decode( + 'CiJMaXN0QXV0aG9yaXplZENlcnRpZmljYXRlc1Jlc3BvbnNlEk4KDGNlcnRpZmljYXRlcxgBIA' + 'MoCzIqLmdvb2dsZS5hcHBlbmdpbmUudjEuQXV0aG9yaXplZENlcnRpZmljYXRlUgxjZXJ0aWZp' + 'Y2F0ZXMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use getAuthorizedCertificateRequestDescriptor instead') +const GetAuthorizedCertificateRequest$json = { + '1': 'GetAuthorizedCertificateRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.AuthorizedCertificateView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `GetAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'Ch9HZXRBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUSQg' + 'oEdmlldxgCIAEoDjIuLmdvb2dsZS5hcHBlbmdpbmUudjEuQXV0aG9yaXplZENlcnRpZmljYXRl' + 'Vmlld1IEdmlldw=='); + +@$core.Deprecated('Use createAuthorizedCertificateRequestDescriptor instead') +const CreateAuthorizedCertificateRequest$json = { + '1': 'CreateAuthorizedCertificateRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'certificate', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.AuthorizedCertificate', + '10': 'certificate' + }, + ], +}; + +/// Descriptor for `CreateAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'CiJDcmVhdGVBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcG' + 'FyZW50EkwKC2NlcnRpZmljYXRlGAIgASgLMiouZ29vZ2xlLmFwcGVuZ2luZS52MS5BdXRob3Jp' + 'emVkQ2VydGlmaWNhdGVSC2NlcnRpZmljYXRl'); + +@$core.Deprecated('Use updateAuthorizedCertificateRequestDescriptor instead') +const UpdateAuthorizedCertificateRequest$json = { + '1': 'UpdateAuthorizedCertificateRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'certificate', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.AuthorizedCertificate', + '10': 'certificate' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'CiJVcGRhdGVBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbW' + 'USTAoLY2VydGlmaWNhdGUYAiABKAsyKi5nb29nbGUuYXBwZW5naW5lLnYxLkF1dGhvcml6ZWRD' + 'ZXJ0aWZpY2F0ZVILY2VydGlmaWNhdGUSOwoLdXBkYXRlX21hc2sYAyABKAsyGi5nb29nbGUucH' + 'JvdG9idWYuRmllbGRNYXNrUgp1cGRhdGVNYXNr'); + +@$core.Deprecated('Use deleteAuthorizedCertificateRequestDescriptor instead') +const DeleteAuthorizedCertificateRequest$json = { + '1': 'DeleteAuthorizedCertificateRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'CiJEZWxldGVBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbW' + 'U='); + +@$core.Deprecated('Use listDomainMappingsRequestDescriptor instead') +const ListDomainMappingsRequest$json = { + '1': 'ListDomainMappingsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListDomainMappingsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listDomainMappingsRequestDescriptor = $convert.base64Decode( + 'ChlMaXN0RG9tYWluTWFwcGluZ3NSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCX' + 'BhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listDomainMappingsResponseDescriptor instead') +const ListDomainMappingsResponse$json = { + '1': 'ListDomainMappingsResponse', + '2': [ + { + '1': 'domain_mappings', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.DomainMapping', + '10': 'domainMappings' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListDomainMappingsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listDomainMappingsResponseDescriptor = + $convert.base64Decode( + 'ChpMaXN0RG9tYWluTWFwcGluZ3NSZXNwb25zZRJLCg9kb21haW5fbWFwcGluZ3MYASADKAsyIi' + '5nb29nbGUuYXBwZW5naW5lLnYxLkRvbWFpbk1hcHBpbmdSDmRvbWFpbk1hcHBpbmdzEiYKD25l' + 'eHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getDomainMappingRequestDescriptor instead') +const GetDomainMappingRequest$json = { + '1': 'GetDomainMappingRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getDomainMappingRequestDescriptor = + $convert.base64Decode( + 'ChdHZXREb21haW5NYXBwaW5nUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use createDomainMappingRequestDescriptor instead') +const CreateDomainMappingRequest$json = { + '1': 'CreateDomainMappingRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'domain_mapping', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.DomainMapping', + '10': 'domainMapping' + }, + { + '1': 'override_strategy', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.DomainOverrideStrategy', + '10': 'overrideStrategy' + }, + ], +}; + +/// Descriptor for `CreateDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createDomainMappingRequestDescriptor = $convert.base64Decode( + 'ChpDcmVhdGVEb21haW5NYXBwaW5nUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBJJCg' + '5kb21haW5fbWFwcGluZxgCIAEoCzIiLmdvb2dsZS5hcHBlbmdpbmUudjEuRG9tYWluTWFwcGlu' + 'Z1INZG9tYWluTWFwcGluZxJYChFvdmVycmlkZV9zdHJhdGVneRgEIAEoDjIrLmdvb2dsZS5hcH' + 'BlbmdpbmUudjEuRG9tYWluT3ZlcnJpZGVTdHJhdGVneVIQb3ZlcnJpZGVTdHJhdGVneQ=='); + +@$core.Deprecated('Use updateDomainMappingRequestDescriptor instead') +const UpdateDomainMappingRequest$json = { + '1': 'UpdateDomainMappingRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'domain_mapping', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.DomainMapping', + '10': 'domainMapping' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateDomainMappingRequestDescriptor = $convert.base64Decode( + 'ChpVcGRhdGVEb21haW5NYXBwaW5nUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEkkKDmRvbW' + 'Fpbl9tYXBwaW5nGAIgASgLMiIuZ29vZ2xlLmFwcGVuZ2luZS52MS5Eb21haW5NYXBwaW5nUg1k' + 'b21haW5NYXBwaW5nEjsKC3VwZGF0ZV9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZW' + 'xkTWFza1IKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use deleteDomainMappingRequestDescriptor instead') +const DeleteDomainMappingRequest$json = { + '1': 'DeleteDomainMappingRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteDomainMappingRequestDescriptor = + $convert.base64Decode( + 'ChpEZWxldGVEb21haW5NYXBwaW5nUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pb.dart new file mode 100644 index 00000000..69c97a2b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pb.dart @@ -0,0 +1,716 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/application.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import 'application.pbenum.dart'; + +export 'application.pbenum.dart'; + +/// Identity-Aware Proxy +class Application_IdentityAwareProxy extends $pb.GeneratedMessage { + factory Application_IdentityAwareProxy({ + $core.bool? enabled, + $core.String? oauth2ClientId, + $core.String? oauth2ClientSecret, + $core.String? oauth2ClientSecretSha256, + }) { + final $result = create(); + if (enabled != null) { + $result.enabled = enabled; + } + if (oauth2ClientId != null) { + $result.oauth2ClientId = oauth2ClientId; + } + if (oauth2ClientSecret != null) { + $result.oauth2ClientSecret = oauth2ClientSecret; + } + if (oauth2ClientSecretSha256 != null) { + $result.oauth2ClientSecretSha256 = oauth2ClientSecretSha256; + } + return $result; + } + Application_IdentityAwareProxy._() : super(); + factory Application_IdentityAwareProxy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Application_IdentityAwareProxy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Application.IdentityAwareProxy', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'enabled') + ..aOS(2, _omitFieldNames ? '' : 'oauth2ClientId') + ..aOS(3, _omitFieldNames ? '' : 'oauth2ClientSecret') + ..aOS(4, _omitFieldNames ? '' : 'oauth2ClientSecretSha256') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Application_IdentityAwareProxy clone() => + Application_IdentityAwareProxy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Application_IdentityAwareProxy copyWith( + void Function(Application_IdentityAwareProxy) updates) => + super.copyWith( + (message) => updates(message as Application_IdentityAwareProxy)) + as Application_IdentityAwareProxy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Application_IdentityAwareProxy create() => + Application_IdentityAwareProxy._(); + Application_IdentityAwareProxy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Application_IdentityAwareProxy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Application_IdentityAwareProxy? _defaultInstance; + + /// Whether the serving infrastructure will authenticate and + /// authorize all incoming requests. + /// + /// If true, the `oauth2_client_id` and `oauth2_client_secret` + /// fields must be non-empty. + @$pb.TagNumber(1) + $core.bool get enabled => $_getBF(0); + @$pb.TagNumber(1) + set enabled($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearEnabled() => clearField(1); + + /// OAuth2 client ID to use for the authentication flow. + @$pb.TagNumber(2) + $core.String get oauth2ClientId => $_getSZ(1); + @$pb.TagNumber(2) + set oauth2ClientId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOauth2ClientId() => $_has(1); + @$pb.TagNumber(2) + void clearOauth2ClientId() => clearField(2); + + /// OAuth2 client secret to use for the authentication flow. + /// + /// For security reasons, this value cannot be retrieved via the API. + /// Instead, the SHA-256 hash of the value is returned in the + /// `oauth2_client_secret_sha256` field. + /// + /// @InputOnly + @$pb.TagNumber(3) + $core.String get oauth2ClientSecret => $_getSZ(2); + @$pb.TagNumber(3) + set oauth2ClientSecret($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOauth2ClientSecret() => $_has(2); + @$pb.TagNumber(3) + void clearOauth2ClientSecret() => clearField(3); + + /// Hex-encoded SHA-256 hash of the client secret. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.String get oauth2ClientSecretSha256 => $_getSZ(3); + @$pb.TagNumber(4) + set oauth2ClientSecretSha256($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasOauth2ClientSecretSha256() => $_has(3); + @$pb.TagNumber(4) + void clearOauth2ClientSecretSha256() => clearField(4); +} + +/// The feature specific settings to be used in the application. These define +/// behaviors that are user configurable. +class Application_FeatureSettings extends $pb.GeneratedMessage { + factory Application_FeatureSettings({ + $core.bool? splitHealthChecks, + $core.bool? useContainerOptimizedOs, + }) { + final $result = create(); + if (splitHealthChecks != null) { + $result.splitHealthChecks = splitHealthChecks; + } + if (useContainerOptimizedOs != null) { + $result.useContainerOptimizedOs = useContainerOptimizedOs; + } + return $result; + } + Application_FeatureSettings._() : super(); + factory Application_FeatureSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Application_FeatureSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Application.FeatureSettings', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'splitHealthChecks') + ..aOB(2, _omitFieldNames ? '' : 'useContainerOptimizedOs') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Application_FeatureSettings clone() => + Application_FeatureSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Application_FeatureSettings copyWith( + void Function(Application_FeatureSettings) updates) => + super.copyWith( + (message) => updates(message as Application_FeatureSettings)) + as Application_FeatureSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Application_FeatureSettings create() => + Application_FeatureSettings._(); + Application_FeatureSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Application_FeatureSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Application_FeatureSettings? _defaultInstance; + + /// Boolean value indicating if split health checks should be used instead + /// of the legacy health checks. At an app.yaml level, this means defaulting + /// to 'readiness_check' and 'liveness_check' values instead of + /// 'health_check' ones. Once the legacy 'health_check' behavior is + /// deprecated, and this value is always true, this setting can + /// be removed. + @$pb.TagNumber(1) + $core.bool get splitHealthChecks => $_getBF(0); + @$pb.TagNumber(1) + set splitHealthChecks($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSplitHealthChecks() => $_has(0); + @$pb.TagNumber(1) + void clearSplitHealthChecks() => clearField(1); + + /// If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) + /// base image for VMs, rather than a base Debian image. + @$pb.TagNumber(2) + $core.bool get useContainerOptimizedOs => $_getBF(1); + @$pb.TagNumber(2) + set useContainerOptimizedOs($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUseContainerOptimizedOs() => $_has(1); + @$pb.TagNumber(2) + void clearUseContainerOptimizedOs() => clearField(2); +} + +/// An Application resource contains the top-level configuration of an App +/// Engine application. +class Application extends $pb.GeneratedMessage { + factory Application({ + $core.String? name, + $core.String? id, + $core.Iterable? dispatchRules, + $core.String? authDomain, + $core.String? locationId, + $core.String? codeBucket, + $51.Duration? defaultCookieExpiration, + Application_ServingStatus? servingStatus, + $core.String? defaultHostname, + $core.String? defaultBucket, + $core.String? serviceAccount, + Application_IdentityAwareProxy? iap, + $core.String? gcrDomain, + Application_DatabaseType? databaseType, + Application_FeatureSettings? featureSettings, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (dispatchRules != null) { + $result.dispatchRules.addAll(dispatchRules); + } + if (authDomain != null) { + $result.authDomain = authDomain; + } + if (locationId != null) { + $result.locationId = locationId; + } + if (codeBucket != null) { + $result.codeBucket = codeBucket; + } + if (defaultCookieExpiration != null) { + $result.defaultCookieExpiration = defaultCookieExpiration; + } + if (servingStatus != null) { + $result.servingStatus = servingStatus; + } + if (defaultHostname != null) { + $result.defaultHostname = defaultHostname; + } + if (defaultBucket != null) { + $result.defaultBucket = defaultBucket; + } + if (serviceAccount != null) { + $result.serviceAccount = serviceAccount; + } + if (iap != null) { + $result.iap = iap; + } + if (gcrDomain != null) { + $result.gcrDomain = gcrDomain; + } + if (databaseType != null) { + $result.databaseType = databaseType; + } + if (featureSettings != null) { + $result.featureSettings = featureSettings; + } + return $result; + } + Application._() : super(); + factory Application.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Application.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Application', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..pc( + 3, _omitFieldNames ? '' : 'dispatchRules', $pb.PbFieldType.PM, + subBuilder: UrlDispatchRule.create) + ..aOS(6, _omitFieldNames ? '' : 'authDomain') + ..aOS(7, _omitFieldNames ? '' : 'locationId') + ..aOS(8, _omitFieldNames ? '' : 'codeBucket') + ..aOM<$51.Duration>(9, _omitFieldNames ? '' : 'defaultCookieExpiration', + subBuilder: $51.Duration.create) + ..e( + 10, _omitFieldNames ? '' : 'servingStatus', $pb.PbFieldType.OE, + defaultOrMaker: Application_ServingStatus.UNSPECIFIED, + valueOf: Application_ServingStatus.valueOf, + enumValues: Application_ServingStatus.values) + ..aOS(11, _omitFieldNames ? '' : 'defaultHostname') + ..aOS(12, _omitFieldNames ? '' : 'defaultBucket') + ..aOS(13, _omitFieldNames ? '' : 'serviceAccount') + ..aOM(14, _omitFieldNames ? '' : 'iap', + subBuilder: Application_IdentityAwareProxy.create) + ..aOS(16, _omitFieldNames ? '' : 'gcrDomain') + ..e( + 17, _omitFieldNames ? '' : 'databaseType', $pb.PbFieldType.OE, + defaultOrMaker: Application_DatabaseType.DATABASE_TYPE_UNSPECIFIED, + valueOf: Application_DatabaseType.valueOf, + enumValues: Application_DatabaseType.values) + ..aOM( + 18, _omitFieldNames ? '' : 'featureSettings', + subBuilder: Application_FeatureSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Application clone() => Application()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Application copyWith(void Function(Application) updates) => + super.copyWith((message) => updates(message as Application)) + as Application; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Application create() => Application._(); + Application createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Application getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Application? _defaultInstance; + + /// Full path to the Application resource in the API. + /// Example: `apps/myapp`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Identifier of the Application resource. This identifier is equivalent + /// to the project ID of the Google Cloud Platform project where you want to + /// deploy your application. + /// Example: `myapp`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// HTTP path dispatch rules for requests to the application that do not + /// explicitly target a service or version. Rules are order-dependent. + /// Up to 20 dispatch rules can be supported. + @$pb.TagNumber(3) + $core.List get dispatchRules => $_getList(2); + + /// Google Apps authentication domain that controls which users can access + /// this application. + /// + /// Defaults to open access for any Google Account. + @$pb.TagNumber(6) + $core.String get authDomain => $_getSZ(3); + @$pb.TagNumber(6) + set authDomain($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(6) + $core.bool hasAuthDomain() => $_has(3); + @$pb.TagNumber(6) + void clearAuthDomain() => clearField(6); + + /// Location from which this application runs. Application instances + /// run out of the data centers in the specified location, which is also where + /// all of the application's end user content is stored. + /// + /// Defaults to `us-central`. + /// + /// View the list of + /// [supported locations](https://cloud.google.com/appengine/docs/locations). + @$pb.TagNumber(7) + $core.String get locationId => $_getSZ(4); + @$pb.TagNumber(7) + set locationId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(7) + $core.bool hasLocationId() => $_has(4); + @$pb.TagNumber(7) + void clearLocationId() => clearField(7); + + /// Google Cloud Storage bucket that can be used for storing files + /// associated with this application. This bucket is associated with the + /// application and can be used by the gcloud deployment commands. + /// + /// @OutputOnly + @$pb.TagNumber(8) + $core.String get codeBucket => $_getSZ(5); + @$pb.TagNumber(8) + set codeBucket($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(8) + $core.bool hasCodeBucket() => $_has(5); + @$pb.TagNumber(8) + void clearCodeBucket() => clearField(8); + + /// Cookie expiration policy for this application. + @$pb.TagNumber(9) + $51.Duration get defaultCookieExpiration => $_getN(6); + @$pb.TagNumber(9) + set defaultCookieExpiration($51.Duration v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasDefaultCookieExpiration() => $_has(6); + @$pb.TagNumber(9) + void clearDefaultCookieExpiration() => clearField(9); + @$pb.TagNumber(9) + $51.Duration ensureDefaultCookieExpiration() => $_ensure(6); + + /// Serving status of this application. + @$pb.TagNumber(10) + Application_ServingStatus get servingStatus => $_getN(7); + @$pb.TagNumber(10) + set servingStatus(Application_ServingStatus v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasServingStatus() => $_has(7); + @$pb.TagNumber(10) + void clearServingStatus() => clearField(10); + + /// Hostname used to reach this application, as resolved by App Engine. + /// + /// @OutputOnly + @$pb.TagNumber(11) + $core.String get defaultHostname => $_getSZ(8); + @$pb.TagNumber(11) + set defaultHostname($core.String v) { + $_setString(8, v); + } + + @$pb.TagNumber(11) + $core.bool hasDefaultHostname() => $_has(8); + @$pb.TagNumber(11) + void clearDefaultHostname() => clearField(11); + + /// Google Cloud Storage bucket that can be used by this application to store + /// content. + /// + /// @OutputOnly + @$pb.TagNumber(12) + $core.String get defaultBucket => $_getSZ(9); + @$pb.TagNumber(12) + set defaultBucket($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(12) + $core.bool hasDefaultBucket() => $_has(9); + @$pb.TagNumber(12) + void clearDefaultBucket() => clearField(12); + + /// The service account associated with the application. + /// This is the app-level default identity. If no identity provided during + /// create version, Admin API will fallback to this one. + @$pb.TagNumber(13) + $core.String get serviceAccount => $_getSZ(10); + @$pb.TagNumber(13) + set serviceAccount($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(13) + $core.bool hasServiceAccount() => $_has(10); + @$pb.TagNumber(13) + void clearServiceAccount() => clearField(13); + + @$pb.TagNumber(14) + Application_IdentityAwareProxy get iap => $_getN(11); + @$pb.TagNumber(14) + set iap(Application_IdentityAwareProxy v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasIap() => $_has(11); + @$pb.TagNumber(14) + void clearIap() => clearField(14); + @$pb.TagNumber(14) + Application_IdentityAwareProxy ensureIap() => $_ensure(11); + + /// The Google Container Registry domain used for storing managed build docker + /// images for this application. + @$pb.TagNumber(16) + $core.String get gcrDomain => $_getSZ(12); + @$pb.TagNumber(16) + set gcrDomain($core.String v) { + $_setString(12, v); + } + + @$pb.TagNumber(16) + $core.bool hasGcrDomain() => $_has(12); + @$pb.TagNumber(16) + void clearGcrDomain() => clearField(16); + + /// The type of the Cloud Firestore or Cloud Datastore database associated with + /// this application. + @$pb.TagNumber(17) + Application_DatabaseType get databaseType => $_getN(13); + @$pb.TagNumber(17) + set databaseType(Application_DatabaseType v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasDatabaseType() => $_has(13); + @$pb.TagNumber(17) + void clearDatabaseType() => clearField(17); + + /// The feature specific settings to be used in the application. + @$pb.TagNumber(18) + Application_FeatureSettings get featureSettings => $_getN(14); + @$pb.TagNumber(18) + set featureSettings(Application_FeatureSettings v) { + setField(18, v); + } + + @$pb.TagNumber(18) + $core.bool hasFeatureSettings() => $_has(14); + @$pb.TagNumber(18) + void clearFeatureSettings() => clearField(18); + @$pb.TagNumber(18) + Application_FeatureSettings ensureFeatureSettings() => $_ensure(14); +} + +/// Rules to match an HTTP request and dispatch that request to a service. +class UrlDispatchRule extends $pb.GeneratedMessage { + factory UrlDispatchRule({ + $core.String? domain, + $core.String? path, + $core.String? service, + }) { + final $result = create(); + if (domain != null) { + $result.domain = domain; + } + if (path != null) { + $result.path = path; + } + if (service != null) { + $result.service = service; + } + return $result; + } + UrlDispatchRule._() : super(); + factory UrlDispatchRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UrlDispatchRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UrlDispatchRule', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'domain') + ..aOS(2, _omitFieldNames ? '' : 'path') + ..aOS(3, _omitFieldNames ? '' : 'service') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UrlDispatchRule clone() => UrlDispatchRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UrlDispatchRule copyWith(void Function(UrlDispatchRule) updates) => + super.copyWith((message) => updates(message as UrlDispatchRule)) + as UrlDispatchRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UrlDispatchRule create() => UrlDispatchRule._(); + UrlDispatchRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UrlDispatchRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UrlDispatchRule? _defaultInstance; + + /// Domain name to match against. The wildcard "`*`" is supported if + /// specified before a period: "`*.`". + /// + /// Defaults to matching all domains: "`*`". + @$pb.TagNumber(1) + $core.String get domain => $_getSZ(0); + @$pb.TagNumber(1) + set domain($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDomain() => $_has(0); + @$pb.TagNumber(1) + void clearDomain() => clearField(1); + + /// Pathname within the host. Must start with a "`/`". A + /// single "`*`" can be included at the end of the path. + /// + /// The sum of the lengths of the domain and path may not + /// exceed 100 characters. + @$pb.TagNumber(2) + $core.String get path => $_getSZ(1); + @$pb.TagNumber(2) + set path($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPath() => $_has(1); + @$pb.TagNumber(2) + void clearPath() => clearField(2); + + /// Resource ID of a service in this application that should + /// serve the matched request. The service must already + /// exist. Example: `default`. + @$pb.TagNumber(3) + $core.String get service => $_getSZ(2); + @$pb.TagNumber(3) + set service($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasService() => $_has(2); + @$pb.TagNumber(3) + void clearService() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pbenum.dart new file mode 100644 index 00000000..9dc369ea --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pbenum.dart @@ -0,0 +1,68 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/application.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class Application_ServingStatus extends $pb.ProtobufEnum { + static const Application_ServingStatus UNSPECIFIED = + Application_ServingStatus._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const Application_ServingStatus SERVING = + Application_ServingStatus._(1, _omitEnumNames ? '' : 'SERVING'); + static const Application_ServingStatus USER_DISABLED = + Application_ServingStatus._(2, _omitEnumNames ? '' : 'USER_DISABLED'); + static const Application_ServingStatus SYSTEM_DISABLED = + Application_ServingStatus._(3, _omitEnumNames ? '' : 'SYSTEM_DISABLED'); + + static const $core.List values = + [ + UNSPECIFIED, + SERVING, + USER_DISABLED, + SYSTEM_DISABLED, + ]; + + static final $core.Map<$core.int, Application_ServingStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Application_ServingStatus? valueOf($core.int value) => _byValue[value]; + + const Application_ServingStatus._($core.int v, $core.String n) : super(v, n); +} + +class Application_DatabaseType extends $pb.ProtobufEnum { + static const Application_DatabaseType DATABASE_TYPE_UNSPECIFIED = + Application_DatabaseType._( + 0, _omitEnumNames ? '' : 'DATABASE_TYPE_UNSPECIFIED'); + static const Application_DatabaseType CLOUD_DATASTORE = + Application_DatabaseType._(1, _omitEnumNames ? '' : 'CLOUD_DATASTORE'); + static const Application_DatabaseType CLOUD_FIRESTORE = + Application_DatabaseType._(2, _omitEnumNames ? '' : 'CLOUD_FIRESTORE'); + static const Application_DatabaseType CLOUD_DATASTORE_COMPATIBILITY = + Application_DatabaseType._( + 3, _omitEnumNames ? '' : 'CLOUD_DATASTORE_COMPATIBILITY'); + + static const $core.List values = + [ + DATABASE_TYPE_UNSPECIFIED, + CLOUD_DATASTORE, + CLOUD_FIRESTORE, + CLOUD_DATASTORE_COMPATIBILITY, + ]; + + static final $core.Map<$core.int, Application_DatabaseType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Application_DatabaseType? valueOf($core.int value) => _byValue[value]; + + const Application_DatabaseType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pbjson.dart new file mode 100644 index 00000000..47817231 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/application.pbjson.dart @@ -0,0 +1,189 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/application.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application$json = { + '1': 'Application', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'dispatch_rules', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.UrlDispatchRule', + '10': 'dispatchRules' + }, + {'1': 'auth_domain', '3': 6, '4': 1, '5': 9, '10': 'authDomain'}, + {'1': 'location_id', '3': 7, '4': 1, '5': 9, '10': 'locationId'}, + {'1': 'code_bucket', '3': 8, '4': 1, '5': 9, '10': 'codeBucket'}, + { + '1': 'default_cookie_expiration', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'defaultCookieExpiration' + }, + { + '1': 'serving_status', + '3': 10, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.Application.ServingStatus', + '10': 'servingStatus' + }, + {'1': 'default_hostname', '3': 11, '4': 1, '5': 9, '10': 'defaultHostname'}, + {'1': 'default_bucket', '3': 12, '4': 1, '5': 9, '10': 'defaultBucket'}, + {'1': 'service_account', '3': 13, '4': 1, '5': 9, '10': 'serviceAccount'}, + { + '1': 'iap', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Application.IdentityAwareProxy', + '10': 'iap' + }, + {'1': 'gcr_domain', '3': 16, '4': 1, '5': 9, '10': 'gcrDomain'}, + { + '1': 'database_type', + '3': 17, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.Application.DatabaseType', + '10': 'databaseType' + }, + { + '1': 'feature_settings', + '3': 18, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Application.FeatureSettings', + '10': 'featureSettings' + }, + ], + '3': [Application_IdentityAwareProxy$json, Application_FeatureSettings$json], + '4': [Application_ServingStatus$json, Application_DatabaseType$json], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_IdentityAwareProxy$json = { + '1': 'IdentityAwareProxy', + '2': [ + {'1': 'enabled', '3': 1, '4': 1, '5': 8, '10': 'enabled'}, + {'1': 'oauth2_client_id', '3': 2, '4': 1, '5': 9, '10': 'oauth2ClientId'}, + { + '1': 'oauth2_client_secret', + '3': 3, + '4': 1, + '5': 9, + '10': 'oauth2ClientSecret' + }, + { + '1': 'oauth2_client_secret_sha256', + '3': 4, + '4': 1, + '5': 9, + '10': 'oauth2ClientSecretSha256' + }, + ], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_FeatureSettings$json = { + '1': 'FeatureSettings', + '2': [ + { + '1': 'split_health_checks', + '3': 1, + '4': 1, + '5': 8, + '10': 'splitHealthChecks' + }, + { + '1': 'use_container_optimized_os', + '3': 2, + '4': 1, + '5': 8, + '10': 'useContainerOptimizedOs' + }, + ], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_ServingStatus$json = { + '1': 'ServingStatus', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'SERVING', '2': 1}, + {'1': 'USER_DISABLED', '2': 2}, + {'1': 'SYSTEM_DISABLED', '2': 3}, + ], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_DatabaseType$json = { + '1': 'DatabaseType', + '2': [ + {'1': 'DATABASE_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'CLOUD_DATASTORE', '2': 1}, + {'1': 'CLOUD_FIRESTORE', '2': 2}, + {'1': 'CLOUD_DATASTORE_COMPATIBILITY', '2': 3}, + ], +}; + +/// Descriptor for `Application`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List applicationDescriptor = $convert.base64Decode( + 'CgtBcHBsaWNhdGlvbhISCgRuYW1lGAEgASgJUgRuYW1lEg4KAmlkGAIgASgJUgJpZBJLCg5kaX' + 'NwYXRjaF9ydWxlcxgDIAMoCzIkLmdvb2dsZS5hcHBlbmdpbmUudjEuVXJsRGlzcGF0Y2hSdWxl' + 'Ug1kaXNwYXRjaFJ1bGVzEh8KC2F1dGhfZG9tYWluGAYgASgJUgphdXRoRG9tYWluEh8KC2xvY2' + 'F0aW9uX2lkGAcgASgJUgpsb2NhdGlvbklkEh8KC2NvZGVfYnVja2V0GAggASgJUgpjb2RlQnVj' + 'a2V0ElUKGWRlZmF1bHRfY29va2llX2V4cGlyYXRpb24YCSABKAsyGS5nb29nbGUucHJvdG9idW' + 'YuRHVyYXRpb25SF2RlZmF1bHRDb29raWVFeHBpcmF0aW9uElUKDnNlcnZpbmdfc3RhdHVzGAog' + 'ASgOMi4uZ29vZ2xlLmFwcGVuZ2luZS52MS5BcHBsaWNhdGlvbi5TZXJ2aW5nU3RhdHVzUg1zZX' + 'J2aW5nU3RhdHVzEikKEGRlZmF1bHRfaG9zdG5hbWUYCyABKAlSD2RlZmF1bHRIb3N0bmFtZRIl' + 'Cg5kZWZhdWx0X2J1Y2tldBgMIAEoCVINZGVmYXVsdEJ1Y2tldBInCg9zZXJ2aWNlX2FjY291bn' + 'QYDSABKAlSDnNlcnZpY2VBY2NvdW50EkUKA2lhcBgOIAEoCzIzLmdvb2dsZS5hcHBlbmdpbmUu' + 'djEuQXBwbGljYXRpb24uSWRlbnRpdHlBd2FyZVByb3h5UgNpYXASHQoKZ2NyX2RvbWFpbhgQIA' + 'EoCVIJZ2NyRG9tYWluElIKDWRhdGFiYXNlX3R5cGUYESABKA4yLS5nb29nbGUuYXBwZW5naW5l' + 'LnYxLkFwcGxpY2F0aW9uLkRhdGFiYXNlVHlwZVIMZGF0YWJhc2VUeXBlElsKEGZlYXR1cmVfc2' + 'V0dGluZ3MYEiABKAsyMC5nb29nbGUuYXBwZW5naW5lLnYxLkFwcGxpY2F0aW9uLkZlYXR1cmVT' + 'ZXR0aW5nc1IPZmVhdHVyZVNldHRpbmdzGskBChJJZGVudGl0eUF3YXJlUHJveHkSGAoHZW5hYm' + 'xlZBgBIAEoCFIHZW5hYmxlZBIoChBvYXV0aDJfY2xpZW50X2lkGAIgASgJUg5vYXV0aDJDbGll' + 'bnRJZBIwChRvYXV0aDJfY2xpZW50X3NlY3JldBgDIAEoCVISb2F1dGgyQ2xpZW50U2VjcmV0Ej' + '0KG29hdXRoMl9jbGllbnRfc2VjcmV0X3NoYTI1NhgEIAEoCVIYb2F1dGgyQ2xpZW50U2VjcmV0' + 'U2hhMjU2Gn4KD0ZlYXR1cmVTZXR0aW5ncxIuChNzcGxpdF9oZWFsdGhfY2hlY2tzGAEgASgIUh' + 'FzcGxpdEhlYWx0aENoZWNrcxI7Chp1c2VfY29udGFpbmVyX29wdGltaXplZF9vcxgCIAEoCFIX' + 'dXNlQ29udGFpbmVyT3B0aW1pemVkT3MiVQoNU2VydmluZ1N0YXR1cxIPCgtVTlNQRUNJRklFRB' + 'AAEgsKB1NFUlZJTkcQARIRCg1VU0VSX0RJU0FCTEVEEAISEwoPU1lTVEVNX0RJU0FCTEVEEAMi' + 'egoMRGF0YWJhc2VUeXBlEh0KGURBVEFCQVNFX1RZUEVfVU5TUEVDSUZJRUQQABITCg9DTE9VRF' + '9EQVRBU1RPUkUQARITCg9DTE9VRF9GSVJFU1RPUkUQAhIhCh1DTE9VRF9EQVRBU1RPUkVfQ09N' + 'UEFUSUJJTElUWRAD'); + +@$core.Deprecated('Use urlDispatchRuleDescriptor instead') +const UrlDispatchRule$json = { + '1': 'UrlDispatchRule', + '2': [ + {'1': 'domain', '3': 1, '4': 1, '5': 9, '10': 'domain'}, + {'1': 'path', '3': 2, '4': 1, '5': 9, '10': 'path'}, + {'1': 'service', '3': 3, '4': 1, '5': 9, '10': 'service'}, + ], +}; + +/// Descriptor for `UrlDispatchRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List urlDispatchRuleDescriptor = $convert.base64Decode( + 'Cg9VcmxEaXNwYXRjaFJ1bGUSFgoGZG9tYWluGAEgASgJUgZkb21haW4SEgoEcGF0aBgCIAEoCV' + 'IEcGF0aBIYCgdzZXJ2aWNlGAMgASgJUgdzZXJ2aWNl'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pb.dart new file mode 100644 index 00000000..5eda34ba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pb.dart @@ -0,0 +1,251 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'appengine.pb.dart' as $10; + +enum AuditData_Method { updateService, createVersion, notSet } + +/// App Engine admin service audit log. +class AuditData extends $pb.GeneratedMessage { + factory AuditData({ + UpdateServiceMethod? updateService, + CreateVersionMethod? createVersion, + }) { + final $result = create(); + if (updateService != null) { + $result.updateService = updateService; + } + if (createVersion != null) { + $result.createVersion = createVersion; + } + return $result; + } + AuditData._() : super(); + factory AuditData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, AuditData_Method> _AuditData_MethodByTag = { + 1: AuditData_Method.updateService, + 2: AuditData_Method.createVersion, + 0: AuditData_Method.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditData', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'updateService', + subBuilder: UpdateServiceMethod.create) + ..aOM(2, _omitFieldNames ? '' : 'createVersion', + subBuilder: CreateVersionMethod.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditData clone() => AuditData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditData copyWith(void Function(AuditData) updates) => + super.copyWith((message) => updates(message as AuditData)) as AuditData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditData create() => AuditData._(); + AuditData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditData getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AuditData? _defaultInstance; + + AuditData_Method whichMethod() => _AuditData_MethodByTag[$_whichOneof(0)]!; + void clearMethod() => clearField($_whichOneof(0)); + + /// Detailed information about UpdateService call. + @$pb.TagNumber(1) + UpdateServiceMethod get updateService => $_getN(0); + @$pb.TagNumber(1) + set updateService(UpdateServiceMethod v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasUpdateService() => $_has(0); + @$pb.TagNumber(1) + void clearUpdateService() => clearField(1); + @$pb.TagNumber(1) + UpdateServiceMethod ensureUpdateService() => $_ensure(0); + + /// Detailed information about CreateVersion call. + @$pb.TagNumber(2) + CreateVersionMethod get createVersion => $_getN(1); + @$pb.TagNumber(2) + set createVersion(CreateVersionMethod v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCreateVersion() => $_has(1); + @$pb.TagNumber(2) + void clearCreateVersion() => clearField(2); + @$pb.TagNumber(2) + CreateVersionMethod ensureCreateVersion() => $_ensure(1); +} + +/// Detailed information about UpdateService call. +class UpdateServiceMethod extends $pb.GeneratedMessage { + factory UpdateServiceMethod({ + $10.UpdateServiceRequest? request, + }) { + final $result = create(); + if (request != null) { + $result.request = request; + } + return $result; + } + UpdateServiceMethod._() : super(); + factory UpdateServiceMethod.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateServiceMethod.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateServiceMethod', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$10.UpdateServiceRequest>(1, _omitFieldNames ? '' : 'request', + subBuilder: $10.UpdateServiceRequest.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateServiceMethod clone() => UpdateServiceMethod()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateServiceMethod copyWith(void Function(UpdateServiceMethod) updates) => + super.copyWith((message) => updates(message as UpdateServiceMethod)) + as UpdateServiceMethod; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateServiceMethod create() => UpdateServiceMethod._(); + UpdateServiceMethod createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateServiceMethod getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateServiceMethod? _defaultInstance; + + /// Update service request. + @$pb.TagNumber(1) + $10.UpdateServiceRequest get request => $_getN(0); + @$pb.TagNumber(1) + set request($10.UpdateServiceRequest v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequest() => $_has(0); + @$pb.TagNumber(1) + void clearRequest() => clearField(1); + @$pb.TagNumber(1) + $10.UpdateServiceRequest ensureRequest() => $_ensure(0); +} + +/// Detailed information about CreateVersion call. +class CreateVersionMethod extends $pb.GeneratedMessage { + factory CreateVersionMethod({ + $10.CreateVersionRequest? request, + }) { + final $result = create(); + if (request != null) { + $result.request = request; + } + return $result; + } + CreateVersionMethod._() : super(); + factory CreateVersionMethod.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateVersionMethod.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateVersionMethod', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$10.CreateVersionRequest>(1, _omitFieldNames ? '' : 'request', + subBuilder: $10.CreateVersionRequest.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateVersionMethod clone() => CreateVersionMethod()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateVersionMethod copyWith(void Function(CreateVersionMethod) updates) => + super.copyWith((message) => updates(message as CreateVersionMethod)) + as CreateVersionMethod; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateVersionMethod create() => CreateVersionMethod._(); + CreateVersionMethod createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateVersionMethod getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateVersionMethod? _defaultInstance; + + /// Create version request. + @$pb.TagNumber(1) + $10.CreateVersionRequest get request => $_getN(0); + @$pb.TagNumber(1) + set request($10.CreateVersionRequest v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequest() => $_has(0); + @$pb.TagNumber(1) + void clearRequest() => clearField(1); + @$pb.TagNumber(1) + $10.CreateVersionRequest ensureRequest() => $_ensure(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pbenum.dart new file mode 100644 index 00000000..80d467a1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pbjson.dart new file mode 100644 index 00000000..bc1c9226 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/audit_data.pbjson.dart @@ -0,0 +1,89 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData$json = { + '1': 'AuditData', + '2': [ + { + '1': 'update_service', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.UpdateServiceMethod', + '9': 0, + '10': 'updateService' + }, + { + '1': 'create_version', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.CreateVersionMethod', + '9': 0, + '10': 'createVersion' + }, + ], + '8': [ + {'1': 'method'}, + ], +}; + +/// Descriptor for `AuditData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditDataDescriptor = $convert.base64Decode( + 'CglBdWRpdERhdGESUQoOdXBkYXRlX3NlcnZpY2UYASABKAsyKC5nb29nbGUuYXBwZW5naW5lLn' + 'YxLlVwZGF0ZVNlcnZpY2VNZXRob2RIAFINdXBkYXRlU2VydmljZRJRCg5jcmVhdGVfdmVyc2lv' + 'bhgCIAEoCzIoLmdvb2dsZS5hcHBlbmdpbmUudjEuQ3JlYXRlVmVyc2lvbk1ldGhvZEgAUg1jcm' + 'VhdGVWZXJzaW9uQggKBm1ldGhvZA=='); + +@$core.Deprecated('Use updateServiceMethodDescriptor instead') +const UpdateServiceMethod$json = { + '1': 'UpdateServiceMethod', + '2': [ + { + '1': 'request', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.UpdateServiceRequest', + '10': 'request' + }, + ], +}; + +/// Descriptor for `UpdateServiceMethod`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateServiceMethodDescriptor = $convert.base64Decode( + 'ChNVcGRhdGVTZXJ2aWNlTWV0aG9kEkMKB3JlcXVlc3QYASABKAsyKS5nb29nbGUuYXBwZW5naW' + '5lLnYxLlVwZGF0ZVNlcnZpY2VSZXF1ZXN0UgdyZXF1ZXN0'); + +@$core.Deprecated('Use createVersionMethodDescriptor instead') +const CreateVersionMethod$json = { + '1': 'CreateVersionMethod', + '2': [ + { + '1': 'request', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.CreateVersionRequest', + '10': 'request' + }, + ], +}; + +/// Descriptor for `CreateVersionMethod`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createVersionMethodDescriptor = $convert.base64Decode( + 'ChNDcmVhdGVWZXJzaW9uTWV0aG9kEkMKB3JlcXVlc3QYASABKAsyKS5nb29nbGUuYXBwZW5naW' + '5lLnYxLkNyZWF0ZVZlcnNpb25SZXF1ZXN0UgdyZXF1ZXN0'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pb.dart new file mode 100644 index 00000000..479e9d7a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pb.dart @@ -0,0 +1,456 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/certificate.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'certificate.pbenum.dart'; + +export 'certificate.pbenum.dart'; + +/// An SSL certificate that a user has been authorized to administer. A user +/// is authorized to administer any certificate that applies to one of their +/// authorized domains. +class AuthorizedCertificate extends $pb.GeneratedMessage { + factory AuthorizedCertificate({ + $core.String? name, + $core.String? id, + $core.String? displayName, + $core.Iterable<$core.String>? domainNames, + $50.Timestamp? expireTime, + CertificateRawData? certificateRawData, + ManagedCertificate? managedCertificate, + $core.Iterable<$core.String>? visibleDomainMappings, + $core.int? domainMappingsCount, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (domainNames != null) { + $result.domainNames.addAll(domainNames); + } + if (expireTime != null) { + $result.expireTime = expireTime; + } + if (certificateRawData != null) { + $result.certificateRawData = certificateRawData; + } + if (managedCertificate != null) { + $result.managedCertificate = managedCertificate; + } + if (visibleDomainMappings != null) { + $result.visibleDomainMappings.addAll(visibleDomainMappings); + } + if (domainMappingsCount != null) { + $result.domainMappingsCount = domainMappingsCount; + } + return $result; + } + AuthorizedCertificate._() : super(); + factory AuthorizedCertificate.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthorizedCertificate.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthorizedCertificate', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOS(3, _omitFieldNames ? '' : 'displayName') + ..pPS(4, _omitFieldNames ? '' : 'domainNames') + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'expireTime', + subBuilder: $50.Timestamp.create) + ..aOM(6, _omitFieldNames ? '' : 'certificateRawData', + subBuilder: CertificateRawData.create) + ..aOM(7, _omitFieldNames ? '' : 'managedCertificate', + subBuilder: ManagedCertificate.create) + ..pPS(8, _omitFieldNames ? '' : 'visibleDomainMappings') + ..a<$core.int>( + 9, _omitFieldNames ? '' : 'domainMappingsCount', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthorizedCertificate clone() => + AuthorizedCertificate()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthorizedCertificate copyWith( + void Function(AuthorizedCertificate) updates) => + super.copyWith((message) => updates(message as AuthorizedCertificate)) + as AuthorizedCertificate; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthorizedCertificate create() => AuthorizedCertificate._(); + AuthorizedCertificate createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthorizedCertificate getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthorizedCertificate? _defaultInstance; + + /// Full path to the `AuthorizedCertificate` resource in the API. Example: + /// `apps/myapp/authorizedCertificates/12345`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the certificate. This is a unique value autogenerated + /// on `AuthorizedCertificate` resource creation. Example: `12345`. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// The user-specified display name of the certificate. This is not + /// guaranteed to be unique. Example: `My Certificate`. + @$pb.TagNumber(3) + $core.String get displayName => $_getSZ(2); + @$pb.TagNumber(3) + set displayName($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDisplayName() => $_has(2); + @$pb.TagNumber(3) + void clearDisplayName() => clearField(3); + + /// Topmost applicable domains of this certificate. This certificate + /// applies to these domains and their subdomains. Example: `example.com`. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.List<$core.String> get domainNames => $_getList(3); + + /// The time when this certificate expires. To update the renewal time on this + /// certificate, upload an SSL certificate with a different expiration time + /// using [`AuthorizedCertificates.UpdateAuthorizedCertificate`](). + /// + /// @OutputOnly + @$pb.TagNumber(5) + $50.Timestamp get expireTime => $_getN(4); + @$pb.TagNumber(5) + set expireTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasExpireTime() => $_has(4); + @$pb.TagNumber(5) + void clearExpireTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureExpireTime() => $_ensure(4); + + /// The SSL certificate serving the `AuthorizedCertificate` resource. This + /// must be obtained independently from a certificate authority. + @$pb.TagNumber(6) + CertificateRawData get certificateRawData => $_getN(5); + @$pb.TagNumber(6) + set certificateRawData(CertificateRawData v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCertificateRawData() => $_has(5); + @$pb.TagNumber(6) + void clearCertificateRawData() => clearField(6); + @$pb.TagNumber(6) + CertificateRawData ensureCertificateRawData() => $_ensure(5); + + /// Only applicable if this certificate is managed by App Engine. Managed + /// certificates are tied to the lifecycle of a `DomainMapping` and cannot be + /// updated or deleted via the `AuthorizedCertificates` API. If this + /// certificate is manually administered by the user, this field will be empty. + /// + /// @OutputOnly + @$pb.TagNumber(7) + ManagedCertificate get managedCertificate => $_getN(6); + @$pb.TagNumber(7) + set managedCertificate(ManagedCertificate v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasManagedCertificate() => $_has(6); + @$pb.TagNumber(7) + void clearManagedCertificate() => clearField(7); + @$pb.TagNumber(7) + ManagedCertificate ensureManagedCertificate() => $_ensure(6); + + /// The full paths to user visible Domain Mapping resources that have this + /// certificate mapped. Example: `apps/myapp/domainMappings/example.com`. + /// + /// This may not represent the full list of mapped domain mappings if the user + /// does not have `VIEWER` permissions on all of the applications that have + /// this certificate mapped. See `domain_mappings_count` for a complete count. + /// + /// Only returned by `GET` or `LIST` requests when specifically requested by + /// the `view=FULL_CERTIFICATE` option. + /// + /// @OutputOnly + @$pb.TagNumber(8) + $core.List<$core.String> get visibleDomainMappings => $_getList(7); + + /// Aggregate count of the domain mappings with this certificate mapped. This + /// count includes domain mappings on applications for which the user does not + /// have `VIEWER` permissions. + /// + /// Only returned by `GET` or `LIST` requests when specifically requested by + /// the `view=FULL_CERTIFICATE` option. + /// + /// @OutputOnly + @$pb.TagNumber(9) + $core.int get domainMappingsCount => $_getIZ(8); + @$pb.TagNumber(9) + set domainMappingsCount($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasDomainMappingsCount() => $_has(8); + @$pb.TagNumber(9) + void clearDomainMappingsCount() => clearField(9); +} + +/// An SSL certificate obtained from a certificate authority. +class CertificateRawData extends $pb.GeneratedMessage { + factory CertificateRawData({ + $core.String? publicCertificate, + $core.String? privateKey, + }) { + final $result = create(); + if (publicCertificate != null) { + $result.publicCertificate = publicCertificate; + } + if (privateKey != null) { + $result.privateKey = privateKey; + } + return $result; + } + CertificateRawData._() : super(); + factory CertificateRawData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CertificateRawData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CertificateRawData', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'publicCertificate') + ..aOS(2, _omitFieldNames ? '' : 'privateKey') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CertificateRawData clone() => CertificateRawData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CertificateRawData copyWith(void Function(CertificateRawData) updates) => + super.copyWith((message) => updates(message as CertificateRawData)) + as CertificateRawData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CertificateRawData create() => CertificateRawData._(); + CertificateRawData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CertificateRawData getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CertificateRawData? _defaultInstance; + + /// PEM encoded x.509 public key certificate. This field is set once on + /// certificate creation. Must include the header and footer. Example: + ///
+  /// -----BEGIN CERTIFICATE-----
+  /// 
+  /// -----END CERTIFICATE-----
+  /// 
+ @$pb.TagNumber(1) + $core.String get publicCertificate => $_getSZ(0); + @$pb.TagNumber(1) + set publicCertificate($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPublicCertificate() => $_has(0); + @$pb.TagNumber(1) + void clearPublicCertificate() => clearField(1); + + /// Unencrypted PEM encoded RSA private key. This field is set once on + /// certificate creation and then encrypted. The key size must be 2048 + /// bits or fewer. Must include the header and footer. Example: + ///
+  /// -----BEGIN RSA PRIVATE KEY-----
+  /// 
+  /// -----END RSA PRIVATE KEY-----
+  /// 
+ /// @InputOnly + @$pb.TagNumber(2) + $core.String get privateKey => $_getSZ(1); + @$pb.TagNumber(2) + set privateKey($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPrivateKey() => $_has(1); + @$pb.TagNumber(2) + void clearPrivateKey() => clearField(2); +} + +/// A certificate managed by App Engine. +class ManagedCertificate extends $pb.GeneratedMessage { + factory ManagedCertificate({ + $50.Timestamp? lastRenewalTime, + ManagementStatus? status, + }) { + final $result = create(); + if (lastRenewalTime != null) { + $result.lastRenewalTime = lastRenewalTime; + } + if (status != null) { + $result.status = status; + } + return $result; + } + ManagedCertificate._() : super(); + factory ManagedCertificate.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ManagedCertificate.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ManagedCertificate', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'lastRenewalTime', + subBuilder: $50.Timestamp.create) + ..e( + 2, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, + defaultOrMaker: ManagementStatus.MANAGEMENT_STATUS_UNSPECIFIED, + valueOf: ManagementStatus.valueOf, + enumValues: ManagementStatus.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ManagedCertificate clone() => ManagedCertificate()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ManagedCertificate copyWith(void Function(ManagedCertificate) updates) => + super.copyWith((message) => updates(message as ManagedCertificate)) + as ManagedCertificate; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ManagedCertificate create() => ManagedCertificate._(); + ManagedCertificate createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ManagedCertificate getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ManagedCertificate? _defaultInstance; + + /// Time at which the certificate was last renewed. The renewal process is + /// fully managed. Certificate renewal will automatically occur before the + /// certificate expires. Renewal errors can be tracked via `ManagementStatus`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $50.Timestamp get lastRenewalTime => $_getN(0); + @$pb.TagNumber(1) + set lastRenewalTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasLastRenewalTime() => $_has(0); + @$pb.TagNumber(1) + void clearLastRenewalTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureLastRenewalTime() => $_ensure(0); + + /// Status of certificate management. Refers to the most recent certificate + /// acquisition or renewal attempt. + /// + /// @OutputOnly + @$pb.TagNumber(2) + ManagementStatus get status => $_getN(1); + @$pb.TagNumber(2) + set status(ManagementStatus v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStatus() => $_has(1); + @$pb.TagNumber(2) + void clearStatus() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pbenum.dart new file mode 100644 index 00000000..0eaa506b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pbenum.dart @@ -0,0 +1,55 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/certificate.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// State of certificate management. Refers to the most recent certificate +/// acquisition or renewal attempt. +class ManagementStatus extends $pb.ProtobufEnum { + static const ManagementStatus MANAGEMENT_STATUS_UNSPECIFIED = + ManagementStatus._( + 0, _omitEnumNames ? '' : 'MANAGEMENT_STATUS_UNSPECIFIED'); + static const ManagementStatus OK = + ManagementStatus._(1, _omitEnumNames ? '' : 'OK'); + static const ManagementStatus PENDING = + ManagementStatus._(2, _omitEnumNames ? '' : 'PENDING'); + static const ManagementStatus FAILED_RETRYING_NOT_VISIBLE = + ManagementStatus._( + 4, _omitEnumNames ? '' : 'FAILED_RETRYING_NOT_VISIBLE'); + static const ManagementStatus FAILED_PERMANENT = + ManagementStatus._(6, _omitEnumNames ? '' : 'FAILED_PERMANENT'); + static const ManagementStatus FAILED_RETRYING_CAA_FORBIDDEN = + ManagementStatus._( + 7, _omitEnumNames ? '' : 'FAILED_RETRYING_CAA_FORBIDDEN'); + static const ManagementStatus FAILED_RETRYING_CAA_CHECKING = + ManagementStatus._( + 8, _omitEnumNames ? '' : 'FAILED_RETRYING_CAA_CHECKING'); + + static const $core.List values = [ + MANAGEMENT_STATUS_UNSPECIFIED, + OK, + PENDING, + FAILED_RETRYING_NOT_VISIBLE, + FAILED_PERMANENT, + FAILED_RETRYING_CAA_FORBIDDEN, + FAILED_RETRYING_CAA_CHECKING, + ]; + + static final $core.Map<$core.int, ManagementStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ManagementStatus? valueOf($core.int value) => _byValue[value]; + + const ManagementStatus._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pbjson.dart new file mode 100644 index 00000000..96d77c38 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/certificate.pbjson.dart @@ -0,0 +1,145 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/certificate.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use managementStatusDescriptor instead') +const ManagementStatus$json = { + '1': 'ManagementStatus', + '2': [ + {'1': 'MANAGEMENT_STATUS_UNSPECIFIED', '2': 0}, + {'1': 'OK', '2': 1}, + {'1': 'PENDING', '2': 2}, + {'1': 'FAILED_RETRYING_NOT_VISIBLE', '2': 4}, + {'1': 'FAILED_PERMANENT', '2': 6}, + {'1': 'FAILED_RETRYING_CAA_FORBIDDEN', '2': 7}, + {'1': 'FAILED_RETRYING_CAA_CHECKING', '2': 8}, + ], +}; + +/// Descriptor for `ManagementStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List managementStatusDescriptor = $convert.base64Decode( + 'ChBNYW5hZ2VtZW50U3RhdHVzEiEKHU1BTkFHRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBg' + 'oCT0sQARILCgdQRU5ESU5HEAISHwobRkFJTEVEX1JFVFJZSU5HX05PVF9WSVNJQkxFEAQSFAoQ' + 'RkFJTEVEX1BFUk1BTkVOVBAGEiEKHUZBSUxFRF9SRVRSWUlOR19DQUFfRk9SQklEREVOEAcSIA' + 'ocRkFJTEVEX1JFVFJZSU5HX0NBQV9DSEVDS0lORxAI'); + +@$core.Deprecated('Use authorizedCertificateDescriptor instead') +const AuthorizedCertificate$json = { + '1': 'AuthorizedCertificate', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + {'1': 'display_name', '3': 3, '4': 1, '5': 9, '10': 'displayName'}, + {'1': 'domain_names', '3': 4, '4': 3, '5': 9, '10': 'domainNames'}, + { + '1': 'expire_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'expireTime' + }, + { + '1': 'certificate_raw_data', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.CertificateRawData', + '10': 'certificateRawData' + }, + { + '1': 'managed_certificate', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ManagedCertificate', + '10': 'managedCertificate' + }, + { + '1': 'visible_domain_mappings', + '3': 8, + '4': 3, + '5': 9, + '10': 'visibleDomainMappings' + }, + { + '1': 'domain_mappings_count', + '3': 9, + '4': 1, + '5': 5, + '10': 'domainMappingsCount' + }, + ], +}; + +/// Descriptor for `AuthorizedCertificate`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authorizedCertificateDescriptor = $convert.base64Decode( + 'ChVBdXRob3JpemVkQ2VydGlmaWNhdGUSEgoEbmFtZRgBIAEoCVIEbmFtZRIOCgJpZBgCIAEoCV' + 'ICaWQSIQoMZGlzcGxheV9uYW1lGAMgASgJUgtkaXNwbGF5TmFtZRIhCgxkb21haW5fbmFtZXMY' + 'BCADKAlSC2RvbWFpbk5hbWVzEjsKC2V4cGlyZV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYn' + 'VmLlRpbWVzdGFtcFIKZXhwaXJlVGltZRJZChRjZXJ0aWZpY2F0ZV9yYXdfZGF0YRgGIAEoCzIn' + 'Lmdvb2dsZS5hcHBlbmdpbmUudjEuQ2VydGlmaWNhdGVSYXdEYXRhUhJjZXJ0aWZpY2F0ZVJhd0' + 'RhdGESWAoTbWFuYWdlZF9jZXJ0aWZpY2F0ZRgHIAEoCzInLmdvb2dsZS5hcHBlbmdpbmUudjEu' + 'TWFuYWdlZENlcnRpZmljYXRlUhJtYW5hZ2VkQ2VydGlmaWNhdGUSNgoXdmlzaWJsZV9kb21haW' + '5fbWFwcGluZ3MYCCADKAlSFXZpc2libGVEb21haW5NYXBwaW5ncxIyChVkb21haW5fbWFwcGlu' + 'Z3NfY291bnQYCSABKAVSE2RvbWFpbk1hcHBpbmdzQ291bnQ='); + +@$core.Deprecated('Use certificateRawDataDescriptor instead') +const CertificateRawData$json = { + '1': 'CertificateRawData', + '2': [ + { + '1': 'public_certificate', + '3': 1, + '4': 1, + '5': 9, + '10': 'publicCertificate' + }, + {'1': 'private_key', '3': 2, '4': 1, '5': 9, '10': 'privateKey'}, + ], +}; + +/// Descriptor for `CertificateRawData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List certificateRawDataDescriptor = $convert.base64Decode( + 'ChJDZXJ0aWZpY2F0ZVJhd0RhdGESLQoScHVibGljX2NlcnRpZmljYXRlGAEgASgJUhFwdWJsaW' + 'NDZXJ0aWZpY2F0ZRIfCgtwcml2YXRlX2tleRgCIAEoCVIKcHJpdmF0ZUtleQ=='); + +@$core.Deprecated('Use managedCertificateDescriptor instead') +const ManagedCertificate$json = { + '1': 'ManagedCertificate', + '2': [ + { + '1': 'last_renewal_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'lastRenewalTime' + }, + { + '1': 'status', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.ManagementStatus', + '10': 'status' + }, + ], +}; + +/// Descriptor for `ManagedCertificate`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List managedCertificateDescriptor = $convert.base64Decode( + 'ChJNYW5hZ2VkQ2VydGlmaWNhdGUSRgoRbGFzdF9yZW5ld2FsX3RpbWUYASABKAsyGi5nb29nbG' + 'UucHJvdG9idWYuVGltZXN0YW1wUg9sYXN0UmVuZXdhbFRpbWUSPQoGc3RhdHVzGAIgASgOMiUu' + 'Z29vZ2xlLmFwcGVuZ2luZS52MS5NYW5hZ2VtZW50U3RhdHVzUgZzdGF0dXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pb.dart new file mode 100644 index 00000000..cc7513c6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pb.dart @@ -0,0 +1,497 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/deploy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; + +/// Code and application artifacts used to deploy a version to App Engine. +class Deployment extends $pb.GeneratedMessage { + factory Deployment({ + $core.Map<$core.String, FileInfo>? files, + ContainerInfo? container, + ZipInfo? zip, + CloudBuildOptions? cloudBuildOptions, + }) { + final $result = create(); + if (files != null) { + $result.files.addAll(files); + } + if (container != null) { + $result.container = container; + } + if (zip != null) { + $result.zip = zip; + } + if (cloudBuildOptions != null) { + $result.cloudBuildOptions = cloudBuildOptions; + } + return $result; + } + Deployment._() : super(); + factory Deployment.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Deployment.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Deployment', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..m<$core.String, FileInfo>(1, _omitFieldNames ? '' : 'files', + entryClassName: 'Deployment.FilesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: FileInfo.create, + valueDefaultOrMaker: FileInfo.getDefault, + packageName: const $pb.PackageName('google.appengine.v1')) + ..aOM(2, _omitFieldNames ? '' : 'container', + subBuilder: ContainerInfo.create) + ..aOM(3, _omitFieldNames ? '' : 'zip', subBuilder: ZipInfo.create) + ..aOM(6, _omitFieldNames ? '' : 'cloudBuildOptions', + subBuilder: CloudBuildOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Deployment clone() => Deployment()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Deployment copyWith(void Function(Deployment) updates) => + super.copyWith((message) => updates(message as Deployment)) as Deployment; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Deployment create() => Deployment._(); + Deployment createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Deployment getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Deployment? _defaultInstance; + + /// Manifest of the files stored in Google Cloud Storage that are included + /// as part of this version. All files must be readable using the + /// credentials supplied with this call. + @$pb.TagNumber(1) + $core.Map<$core.String, FileInfo> get files => $_getMap(0); + + /// The Docker image for the container that runs the version. + /// Only applicable for instances running in the App Engine flexible environment. + @$pb.TagNumber(2) + ContainerInfo get container => $_getN(1); + @$pb.TagNumber(2) + set container(ContainerInfo v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasContainer() => $_has(1); + @$pb.TagNumber(2) + void clearContainer() => clearField(2); + @$pb.TagNumber(2) + ContainerInfo ensureContainer() => $_ensure(1); + + /// The zip file for this deployment, if this is a zip deployment. + @$pb.TagNumber(3) + ZipInfo get zip => $_getN(2); + @$pb.TagNumber(3) + set zip(ZipInfo v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasZip() => $_has(2); + @$pb.TagNumber(3) + void clearZip() => clearField(3); + @$pb.TagNumber(3) + ZipInfo ensureZip() => $_ensure(2); + + /// Options for any Google Cloud Build builds created as a part of this + /// deployment. + /// + /// These options will only be used if a new build is created, such as when + /// deploying to the App Engine flexible environment using files or zip. + @$pb.TagNumber(6) + CloudBuildOptions get cloudBuildOptions => $_getN(3); + @$pb.TagNumber(6) + set cloudBuildOptions(CloudBuildOptions v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCloudBuildOptions() => $_has(3); + @$pb.TagNumber(6) + void clearCloudBuildOptions() => clearField(6); + @$pb.TagNumber(6) + CloudBuildOptions ensureCloudBuildOptions() => $_ensure(3); +} + +/// Single source file that is part of the version to be deployed. Each source +/// file that is deployed must be specified separately. +class FileInfo extends $pb.GeneratedMessage { + factory FileInfo({ + $core.String? sourceUrl, + $core.String? sha1Sum, + $core.String? mimeType, + }) { + final $result = create(); + if (sourceUrl != null) { + $result.sourceUrl = sourceUrl; + } + if (sha1Sum != null) { + $result.sha1Sum = sha1Sum; + } + if (mimeType != null) { + $result.mimeType = mimeType; + } + return $result; + } + FileInfo._() : super(); + factory FileInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FileInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FileInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sourceUrl') + ..aOS(2, _omitFieldNames ? '' : 'sha1Sum') + ..aOS(3, _omitFieldNames ? '' : 'mimeType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileInfo clone() => FileInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileInfo copyWith(void Function(FileInfo) updates) => + super.copyWith((message) => updates(message as FileInfo)) as FileInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileInfo create() => FileInfo._(); + FileInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FileInfo? _defaultInstance; + + /// URL source to use to fetch this file. Must be a URL to a resource in + /// Google Cloud Storage in the form + /// 'http(s)://storage.googleapis.com/\/\'. + @$pb.TagNumber(1) + $core.String get sourceUrl => $_getSZ(0); + @$pb.TagNumber(1) + set sourceUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSourceUrl() => $_has(0); + @$pb.TagNumber(1) + void clearSourceUrl() => clearField(1); + + /// The SHA1 hash of the file, in hex. + @$pb.TagNumber(2) + $core.String get sha1Sum => $_getSZ(1); + @$pb.TagNumber(2) + set sha1Sum($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSha1Sum() => $_has(1); + @$pb.TagNumber(2) + void clearSha1Sum() => clearField(2); + + /// The MIME type of the file. + /// + /// Defaults to the value from Google Cloud Storage. + @$pb.TagNumber(3) + $core.String get mimeType => $_getSZ(2); + @$pb.TagNumber(3) + set mimeType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMimeType() => $_has(2); + @$pb.TagNumber(3) + void clearMimeType() => clearField(3); +} + +/// Docker image that is used to create a container and start a VM instance for +/// the version that you deploy. Only applicable for instances running in the App +/// Engine flexible environment. +class ContainerInfo extends $pb.GeneratedMessage { + factory ContainerInfo({ + $core.String? image, + }) { + final $result = create(); + if (image != null) { + $result.image = image; + } + return $result; + } + ContainerInfo._() : super(); + factory ContainerInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ContainerInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ContainerInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'image') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ContainerInfo clone() => ContainerInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ContainerInfo copyWith(void Function(ContainerInfo) updates) => + super.copyWith((message) => updates(message as ContainerInfo)) + as ContainerInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ContainerInfo create() => ContainerInfo._(); + ContainerInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ContainerInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ContainerInfo? _defaultInstance; + + /// URI to the hosted container image in Google Container Registry. The URI + /// must be fully qualified and include a tag or digest. + /// Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" + @$pb.TagNumber(1) + $core.String get image => $_getSZ(0); + @$pb.TagNumber(1) + set image($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasImage() => $_has(0); + @$pb.TagNumber(1) + void clearImage() => clearField(1); +} + +/// Options for the build operations performed as a part of the version +/// deployment. Only applicable for App Engine flexible environment when creating +/// a version using source code directly. +class CloudBuildOptions extends $pb.GeneratedMessage { + factory CloudBuildOptions({ + $core.String? appYamlPath, + $51.Duration? cloudBuildTimeout, + }) { + final $result = create(); + if (appYamlPath != null) { + $result.appYamlPath = appYamlPath; + } + if (cloudBuildTimeout != null) { + $result.cloudBuildTimeout = cloudBuildTimeout; + } + return $result; + } + CloudBuildOptions._() : super(); + factory CloudBuildOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CloudBuildOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CloudBuildOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'appYamlPath') + ..aOM<$51.Duration>(2, _omitFieldNames ? '' : 'cloudBuildTimeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CloudBuildOptions clone() => CloudBuildOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CloudBuildOptions copyWith(void Function(CloudBuildOptions) updates) => + super.copyWith((message) => updates(message as CloudBuildOptions)) + as CloudBuildOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CloudBuildOptions create() => CloudBuildOptions._(); + CloudBuildOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CloudBuildOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CloudBuildOptions? _defaultInstance; + + /// Path to the yaml file used in deployment, used to determine runtime + /// configuration details. + /// + /// Required for flexible environment builds. + /// + /// See https://cloud.google.com/appengine/docs/standard/python/config/appref + /// for more details. + @$pb.TagNumber(1) + $core.String get appYamlPath => $_getSZ(0); + @$pb.TagNumber(1) + set appYamlPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasAppYamlPath() => $_has(0); + @$pb.TagNumber(1) + void clearAppYamlPath() => clearField(1); + + /// The Cloud Build timeout used as part of any dependent builds performed by + /// version creation. Defaults to 10 minutes. + @$pb.TagNumber(2) + $51.Duration get cloudBuildTimeout => $_getN(1); + @$pb.TagNumber(2) + set cloudBuildTimeout($51.Duration v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCloudBuildTimeout() => $_has(1); + @$pb.TagNumber(2) + void clearCloudBuildTimeout() => clearField(2); + @$pb.TagNumber(2) + $51.Duration ensureCloudBuildTimeout() => $_ensure(1); +} + +/// The zip file information for a zip deployment. +class ZipInfo extends $pb.GeneratedMessage { + factory ZipInfo({ + $core.String? sourceUrl, + $core.int? filesCount, + }) { + final $result = create(); + if (sourceUrl != null) { + $result.sourceUrl = sourceUrl; + } + if (filesCount != null) { + $result.filesCount = filesCount; + } + return $result; + } + ZipInfo._() : super(); + factory ZipInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ZipInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ZipInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(3, _omitFieldNames ? '' : 'sourceUrl') + ..a<$core.int>(4, _omitFieldNames ? '' : 'filesCount', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ZipInfo clone() => ZipInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ZipInfo copyWith(void Function(ZipInfo) updates) => + super.copyWith((message) => updates(message as ZipInfo)) as ZipInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ZipInfo create() => ZipInfo._(); + ZipInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ZipInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ZipInfo? _defaultInstance; + + /// URL of the zip file to deploy from. Must be a URL to a resource in + /// Google Cloud Storage in the form + /// 'http(s)://storage.googleapis.com/\/\'. + @$pb.TagNumber(3) + $core.String get sourceUrl => $_getSZ(0); + @$pb.TagNumber(3) + set sourceUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceUrl() => $_has(0); + @$pb.TagNumber(3) + void clearSourceUrl() => clearField(3); + + /// An estimate of the number of files in a zip for a zip deployment. + /// If set, must be greater than or equal to the actual number of files. + /// Used for optimizing performance; if not provided, deployment may be slow. + @$pb.TagNumber(4) + $core.int get filesCount => $_getIZ(1); + @$pb.TagNumber(4) + set filesCount($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilesCount() => $_has(1); + @$pb.TagNumber(4) + void clearFilesCount() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pbenum.dart new file mode 100644 index 00000000..777b6a62 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/deploy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pbjson.dart new file mode 100644 index 00000000..16a93a81 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deploy.pbjson.dart @@ -0,0 +1,144 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/deploy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use deploymentDescriptor instead') +const Deployment$json = { + '1': 'Deployment', + '2': [ + { + '1': 'files', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Deployment.FilesEntry', + '10': 'files' + }, + { + '1': 'container', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ContainerInfo', + '10': 'container' + }, + { + '1': 'zip', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ZipInfo', + '10': 'zip' + }, + { + '1': 'cloud_build_options', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.CloudBuildOptions', + '10': 'cloudBuildOptions' + }, + ], + '3': [Deployment_FilesEntry$json], +}; + +@$core.Deprecated('Use deploymentDescriptor instead') +const Deployment_FilesEntry$json = { + '1': 'FilesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.FileInfo', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Deployment`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deploymentDescriptor = $convert.base64Decode( + 'CgpEZXBsb3ltZW50EkAKBWZpbGVzGAEgAygLMiouZ29vZ2xlLmFwcGVuZ2luZS52MS5EZXBsb3' + 'ltZW50LkZpbGVzRW50cnlSBWZpbGVzEkAKCWNvbnRhaW5lchgCIAEoCzIiLmdvb2dsZS5hcHBl' + 'bmdpbmUudjEuQ29udGFpbmVySW5mb1IJY29udGFpbmVyEi4KA3ppcBgDIAEoCzIcLmdvb2dsZS' + '5hcHBlbmdpbmUudjEuWmlwSW5mb1IDemlwElYKE2Nsb3VkX2J1aWxkX29wdGlvbnMYBiABKAsy' + 'Ji5nb29nbGUuYXBwZW5naW5lLnYxLkNsb3VkQnVpbGRPcHRpb25zUhFjbG91ZEJ1aWxkT3B0aW' + '9ucxpXCgpGaWxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EjMKBXZhbHVlGAIgASgLMh0uZ29v' + 'Z2xlLmFwcGVuZ2luZS52MS5GaWxlSW5mb1IFdmFsdWU6AjgB'); + +@$core.Deprecated('Use fileInfoDescriptor instead') +const FileInfo$json = { + '1': 'FileInfo', + '2': [ + {'1': 'source_url', '3': 1, '4': 1, '5': 9, '10': 'sourceUrl'}, + {'1': 'sha1_sum', '3': 2, '4': 1, '5': 9, '10': 'sha1Sum'}, + {'1': 'mime_type', '3': 3, '4': 1, '5': 9, '10': 'mimeType'}, + ], +}; + +/// Descriptor for `FileInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileInfoDescriptor = $convert.base64Decode( + 'CghGaWxlSW5mbxIdCgpzb3VyY2VfdXJsGAEgASgJUglzb3VyY2VVcmwSGQoIc2hhMV9zdW0YAi' + 'ABKAlSB3NoYTFTdW0SGwoJbWltZV90eXBlGAMgASgJUghtaW1lVHlwZQ=='); + +@$core.Deprecated('Use containerInfoDescriptor instead') +const ContainerInfo$json = { + '1': 'ContainerInfo', + '2': [ + {'1': 'image', '3': 1, '4': 1, '5': 9, '10': 'image'}, + ], +}; + +/// Descriptor for `ContainerInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List containerInfoDescriptor = $convert + .base64Decode('Cg1Db250YWluZXJJbmZvEhQKBWltYWdlGAEgASgJUgVpbWFnZQ=='); + +@$core.Deprecated('Use cloudBuildOptionsDescriptor instead') +const CloudBuildOptions$json = { + '1': 'CloudBuildOptions', + '2': [ + {'1': 'app_yaml_path', '3': 1, '4': 1, '5': 9, '10': 'appYamlPath'}, + { + '1': 'cloud_build_timeout', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'cloudBuildTimeout' + }, + ], +}; + +/// Descriptor for `CloudBuildOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cloudBuildOptionsDescriptor = $convert.base64Decode( + 'ChFDbG91ZEJ1aWxkT3B0aW9ucxIiCg1hcHBfeWFtbF9wYXRoGAEgASgJUgthcHBZYW1sUGF0aB' + 'JJChNjbG91ZF9idWlsZF90aW1lb3V0GAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9u' + 'UhFjbG91ZEJ1aWxkVGltZW91dA=='); + +@$core.Deprecated('Use zipInfoDescriptor instead') +const ZipInfo$json = { + '1': 'ZipInfo', + '2': [ + {'1': 'source_url', '3': 3, '4': 1, '5': 9, '10': 'sourceUrl'}, + {'1': 'files_count', '3': 4, '4': 1, '5': 5, '10': 'filesCount'}, + ], +}; + +/// Descriptor for `ZipInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List zipInfoDescriptor = $convert.base64Decode( + 'CgdaaXBJbmZvEh0KCnNvdXJjZV91cmwYAyABKAlSCXNvdXJjZVVybBIfCgtmaWxlc19jb3VudB' + 'gEIAEoBVIKZmlsZXNDb3VudA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pb.dart new file mode 100644 index 00000000..141aaac8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pb.dart @@ -0,0 +1,12 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/deployed_files.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pbenum.dart new file mode 100644 index 00000000..9a946f7c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/deployed_files.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pbjson.dart new file mode 100644 index 00000000..eb0a498a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/deployed_files.pbjson.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/deployed_files.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pb.dart new file mode 100644 index 00000000..b01cfd9c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pb.dart @@ -0,0 +1,106 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/domain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A domain that a user has been authorized to administer. To authorize use +/// of a domain, verify ownership via +/// [Search Console](https://search.google.com/search-console/welcome). +class AuthorizedDomain extends $pb.GeneratedMessage { + factory AuthorizedDomain({ + $core.String? name, + $core.String? id, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + return $result; + } + AuthorizedDomain._() : super(); + factory AuthorizedDomain.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthorizedDomain.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthorizedDomain', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthorizedDomain clone() => AuthorizedDomain()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthorizedDomain copyWith(void Function(AuthorizedDomain) updates) => + super.copyWith((message) => updates(message as AuthorizedDomain)) + as AuthorizedDomain; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthorizedDomain create() => AuthorizedDomain._(); + AuthorizedDomain createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthorizedDomain getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthorizedDomain? _defaultInstance; + + /// Full path to the `AuthorizedDomain` resource in the API. Example: + /// `apps/myapp/authorizedDomains/example.com`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Fully qualified domain name of the domain authorized for use. Example: + /// `example.com`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pbenum.dart new file mode 100644 index 00000000..ce1ba60d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/domain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pbjson.dart new file mode 100644 index 00000000..17b31995 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain.pbjson.dart @@ -0,0 +1,27 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/domain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use authorizedDomainDescriptor instead') +const AuthorizedDomain$json = { + '1': 'AuthorizedDomain', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + ], +}; + +/// Descriptor for `AuthorizedDomain`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authorizedDomainDescriptor = $convert.base64Decode( + 'ChBBdXRob3JpemVkRG9tYWluEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlk'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pb.dart new file mode 100644 index 00000000..a339585b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pb.dart @@ -0,0 +1,373 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/domain_mapping.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'domain_mapping.pbenum.dart'; + +export 'domain_mapping.pbenum.dart'; + +/// A domain serving an App Engine application. +class DomainMapping extends $pb.GeneratedMessage { + factory DomainMapping({ + $core.String? name, + $core.String? id, + SslSettings? sslSettings, + $core.Iterable? resourceRecords, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (sslSettings != null) { + $result.sslSettings = sslSettings; + } + if (resourceRecords != null) { + $result.resourceRecords.addAll(resourceRecords); + } + return $result; + } + DomainMapping._() : super(); + factory DomainMapping.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DomainMapping.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DomainMapping', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'sslSettings', + subBuilder: SslSettings.create) + ..pc( + 4, _omitFieldNames ? '' : 'resourceRecords', $pb.PbFieldType.PM, + subBuilder: ResourceRecord.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DomainMapping clone() => DomainMapping()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DomainMapping copyWith(void Function(DomainMapping) updates) => + super.copyWith((message) => updates(message as DomainMapping)) + as DomainMapping; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DomainMapping create() => DomainMapping._(); + DomainMapping createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DomainMapping getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DomainMapping? _defaultInstance; + + /// Full path to the `DomainMapping` resource in the API. Example: + /// `apps/myapp/domainMapping/example.com`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the domain serving the application. Example: + /// `example.com`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// SSL configuration for this domain. If unconfigured, this domain will not + /// serve with SSL. + @$pb.TagNumber(3) + SslSettings get sslSettings => $_getN(2); + @$pb.TagNumber(3) + set sslSettings(SslSettings v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSslSettings() => $_has(2); + @$pb.TagNumber(3) + void clearSslSettings() => clearField(3); + @$pb.TagNumber(3) + SslSettings ensureSslSettings() => $_ensure(2); + + /// The resource records required to configure this domain mapping. These + /// records must be added to the domain's DNS configuration in order to + /// serve the application via this domain mapping. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.List get resourceRecords => $_getList(3); +} + +/// SSL configuration for a `DomainMapping` resource. +class SslSettings extends $pb.GeneratedMessage { + factory SslSettings({ + $core.String? certificateId, + SslSettings_SslManagementType? sslManagementType, + $core.String? pendingManagedCertificateId, + }) { + final $result = create(); + if (certificateId != null) { + $result.certificateId = certificateId; + } + if (sslManagementType != null) { + $result.sslManagementType = sslManagementType; + } + if (pendingManagedCertificateId != null) { + $result.pendingManagedCertificateId = pendingManagedCertificateId; + } + return $result; + } + SslSettings._() : super(); + factory SslSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SslSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SslSettings', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'certificateId') + ..e( + 3, _omitFieldNames ? '' : 'sslManagementType', $pb.PbFieldType.OE, + defaultOrMaker: + SslSettings_SslManagementType.SSL_MANAGEMENT_TYPE_UNSPECIFIED, + valueOf: SslSettings_SslManagementType.valueOf, + enumValues: SslSettings_SslManagementType.values) + ..aOS(4, _omitFieldNames ? '' : 'pendingManagedCertificateId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SslSettings clone() => SslSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SslSettings copyWith(void Function(SslSettings) updates) => + super.copyWith((message) => updates(message as SslSettings)) + as SslSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SslSettings create() => SslSettings._(); + SslSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SslSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SslSettings? _defaultInstance; + + /// ID of the `AuthorizedCertificate` resource configuring SSL for the + /// application. Clearing this field will remove SSL support. + /// + /// By default, a managed certificate is automatically created for every + /// domain mapping. To omit SSL support or to configure SSL manually, specify + /// `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must + /// be authorized to administer the `AuthorizedCertificate` resource to + /// manually map it to a `DomainMapping` resource. + /// Example: `12345`. + @$pb.TagNumber(1) + $core.String get certificateId => $_getSZ(0); + @$pb.TagNumber(1) + set certificateId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCertificateId() => $_has(0); + @$pb.TagNumber(1) + void clearCertificateId() => clearField(1); + + /// SSL management type for this domain. If `AUTOMATIC`, a managed certificate + /// is automatically provisioned. If `MANUAL`, `certificate_id` must be + /// manually specified in order to configure SSL for this domain. + @$pb.TagNumber(3) + SslSettings_SslManagementType get sslManagementType => $_getN(1); + @$pb.TagNumber(3) + set sslManagementType(SslSettings_SslManagementType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSslManagementType() => $_has(1); + @$pb.TagNumber(3) + void clearSslManagementType() => clearField(3); + + /// ID of the managed `AuthorizedCertificate` resource currently being + /// provisioned, if applicable. Until the new managed certificate has been + /// successfully provisioned, the previous SSL state will be preserved. Once + /// the provisioning process completes, the `certificate_id` field will reflect + /// the new managed certificate and this field will be left empty. To remove + /// SSL support while there is still a pending managed certificate, clear the + /// `certificate_id` field with an `UpdateDomainMappingRequest`. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.String get pendingManagedCertificateId => $_getSZ(2); + @$pb.TagNumber(4) + set pendingManagedCertificateId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPendingManagedCertificateId() => $_has(2); + @$pb.TagNumber(4) + void clearPendingManagedCertificateId() => clearField(4); +} + +/// A DNS resource record. +class ResourceRecord extends $pb.GeneratedMessage { + factory ResourceRecord({ + $core.String? name, + $core.String? rrdata, + ResourceRecord_RecordType? type, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (rrdata != null) { + $result.rrdata = rrdata; + } + if (type != null) { + $result.type = type; + } + return $result; + } + ResourceRecord._() : super(); + factory ResourceRecord.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ResourceRecord.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ResourceRecord', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'rrdata') + ..e( + 3, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, + defaultOrMaker: ResourceRecord_RecordType.RECORD_TYPE_UNSPECIFIED, + valueOf: ResourceRecord_RecordType.valueOf, + enumValues: ResourceRecord_RecordType.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResourceRecord clone() => ResourceRecord()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResourceRecord copyWith(void Function(ResourceRecord) updates) => + super.copyWith((message) => updates(message as ResourceRecord)) + as ResourceRecord; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResourceRecord create() => ResourceRecord._(); + ResourceRecord createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResourceRecord getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ResourceRecord? _defaultInstance; + + /// Relative name of the object affected by this record. Only applicable for + /// `CNAME` records. Example: 'www'. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Data for this record. Values vary by record type, as defined in RFC 1035 + /// (section 5) and RFC 1034 (section 3.6.1). + @$pb.TagNumber(2) + $core.String get rrdata => $_getSZ(1); + @$pb.TagNumber(2) + set rrdata($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRrdata() => $_has(1); + @$pb.TagNumber(2) + void clearRrdata() => clearField(2); + + /// Resource record type. Example: `AAAA`. + @$pb.TagNumber(3) + ResourceRecord_RecordType get type => $_getN(2); + @$pb.TagNumber(3) + set type(ResourceRecord_RecordType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasType() => $_has(2); + @$pb.TagNumber(3) + void clearType() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pbenum.dart new file mode 100644 index 00000000..0c39316f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pbenum.dart @@ -0,0 +1,69 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/domain_mapping.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The SSL management type for this domain. +class SslSettings_SslManagementType extends $pb.ProtobufEnum { + static const SslSettings_SslManagementType SSL_MANAGEMENT_TYPE_UNSPECIFIED = + SslSettings_SslManagementType._( + 0, _omitEnumNames ? '' : 'SSL_MANAGEMENT_TYPE_UNSPECIFIED'); + static const SslSettings_SslManagementType AUTOMATIC = + SslSettings_SslManagementType._(1, _omitEnumNames ? '' : 'AUTOMATIC'); + static const SslSettings_SslManagementType MANUAL = + SslSettings_SslManagementType._(2, _omitEnumNames ? '' : 'MANUAL'); + + static const $core.List values = + [ + SSL_MANAGEMENT_TYPE_UNSPECIFIED, + AUTOMATIC, + MANUAL, + ]; + + static final $core.Map<$core.int, SslSettings_SslManagementType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static SslSettings_SslManagementType? valueOf($core.int value) => + _byValue[value]; + + const SslSettings_SslManagementType._($core.int v, $core.String n) + : super(v, n); +} + +/// A resource record type. +class ResourceRecord_RecordType extends $pb.ProtobufEnum { + static const ResourceRecord_RecordType RECORD_TYPE_UNSPECIFIED = + ResourceRecord_RecordType._( + 0, _omitEnumNames ? '' : 'RECORD_TYPE_UNSPECIFIED'); + static const ResourceRecord_RecordType A = + ResourceRecord_RecordType._(1, _omitEnumNames ? '' : 'A'); + static const ResourceRecord_RecordType AAAA = + ResourceRecord_RecordType._(2, _omitEnumNames ? '' : 'AAAA'); + static const ResourceRecord_RecordType CNAME = + ResourceRecord_RecordType._(3, _omitEnumNames ? '' : 'CNAME'); + + static const $core.List values = + [ + RECORD_TYPE_UNSPECIFIED, + A, + AAAA, + CNAME, + ]; + + static final $core.Map<$core.int, ResourceRecord_RecordType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ResourceRecord_RecordType? valueOf($core.int value) => _byValue[value]; + + const ResourceRecord_RecordType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pbjson.dart new file mode 100644 index 00000000..778a4bb8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/domain_mapping.pbjson.dart @@ -0,0 +1,125 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/domain_mapping.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use domainMappingDescriptor instead') +const DomainMapping$json = { + '1': 'DomainMapping', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'ssl_settings', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.SslSettings', + '10': 'sslSettings' + }, + { + '1': 'resource_records', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.ResourceRecord', + '10': 'resourceRecords' + }, + ], +}; + +/// Descriptor for `DomainMapping`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List domainMappingDescriptor = $convert.base64Decode( + 'Cg1Eb21haW5NYXBwaW5nEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlkEkMKDH' + 'NzbF9zZXR0aW5ncxgDIAEoCzIgLmdvb2dsZS5hcHBlbmdpbmUudjEuU3NsU2V0dGluZ3NSC3Nz' + 'bFNldHRpbmdzEk4KEHJlc291cmNlX3JlY29yZHMYBCADKAsyIy5nb29nbGUuYXBwZW5naW5lLn' + 'YxLlJlc291cmNlUmVjb3JkUg9yZXNvdXJjZVJlY29yZHM='); + +@$core.Deprecated('Use sslSettingsDescriptor instead') +const SslSettings$json = { + '1': 'SslSettings', + '2': [ + {'1': 'certificate_id', '3': 1, '4': 1, '5': 9, '10': 'certificateId'}, + { + '1': 'ssl_management_type', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.SslSettings.SslManagementType', + '10': 'sslManagementType' + }, + { + '1': 'pending_managed_certificate_id', + '3': 4, + '4': 1, + '5': 9, + '10': 'pendingManagedCertificateId' + }, + ], + '4': [SslSettings_SslManagementType$json], +}; + +@$core.Deprecated('Use sslSettingsDescriptor instead') +const SslSettings_SslManagementType$json = { + '1': 'SslManagementType', + '2': [ + {'1': 'SSL_MANAGEMENT_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'AUTOMATIC', '2': 1}, + {'1': 'MANUAL', '2': 2}, + ], +}; + +/// Descriptor for `SslSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sslSettingsDescriptor = $convert.base64Decode( + 'CgtTc2xTZXR0aW5ncxIlCg5jZXJ0aWZpY2F0ZV9pZBgBIAEoCVINY2VydGlmaWNhdGVJZBJiCh' + 'Nzc2xfbWFuYWdlbWVudF90eXBlGAMgASgOMjIuZ29vZ2xlLmFwcGVuZ2luZS52MS5Tc2xTZXR0' + 'aW5ncy5Tc2xNYW5hZ2VtZW50VHlwZVIRc3NsTWFuYWdlbWVudFR5cGUSQwoecGVuZGluZ19tYW' + '5hZ2VkX2NlcnRpZmljYXRlX2lkGAQgASgJUhtwZW5kaW5nTWFuYWdlZENlcnRpZmljYXRlSWQi' + 'UwoRU3NsTWFuYWdlbWVudFR5cGUSIwofU1NMX01BTkFHRU1FTlRfVFlQRV9VTlNQRUNJRklFRB' + 'AAEg0KCUFVVE9NQVRJQxABEgoKBk1BTlVBTBAC'); + +@$core.Deprecated('Use resourceRecordDescriptor instead') +const ResourceRecord$json = { + '1': 'ResourceRecord', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'rrdata', '3': 2, '4': 1, '5': 9, '10': 'rrdata'}, + { + '1': 'type', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.ResourceRecord.RecordType', + '10': 'type' + }, + ], + '4': [ResourceRecord_RecordType$json], +}; + +@$core.Deprecated('Use resourceRecordDescriptor instead') +const ResourceRecord_RecordType$json = { + '1': 'RecordType', + '2': [ + {'1': 'RECORD_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'A', '2': 1}, + {'1': 'AAAA', '2': 2}, + {'1': 'CNAME', '2': 3}, + ], +}; + +/// Descriptor for `ResourceRecord`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourceRecordDescriptor = $convert.base64Decode( + 'Cg5SZXNvdXJjZVJlY29yZBISCgRuYW1lGAEgASgJUgRuYW1lEhYKBnJyZGF0YRgCIAEoCVIGcn' + 'JkYXRhEkIKBHR5cGUYAyABKA4yLi5nb29nbGUuYXBwZW5naW5lLnYxLlJlc291cmNlUmVjb3Jk' + 'LlJlY29yZFR5cGVSBHR5cGUiRQoKUmVjb3JkVHlwZRIbChdSRUNPUkRfVFlQRV9VTlNQRUNJRk' + 'lFRBAAEgUKAUEQARIICgRBQUFBEAISCQoFQ05BTUUQAw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pb.dart new file mode 100644 index 00000000..2bd4a2c9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pb.dart @@ -0,0 +1,161 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/firewall.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'firewall.pbenum.dart'; + +export 'firewall.pbenum.dart'; + +/// A single firewall rule that is evaluated against incoming traffic +/// and provides an action to take on matched requests. +class FirewallRule extends $pb.GeneratedMessage { + factory FirewallRule({ + $core.int? priority, + FirewallRule_Action? action, + $core.String? sourceRange, + $core.String? description, + }) { + final $result = create(); + if (priority != null) { + $result.priority = priority; + } + if (action != null) { + $result.action = action; + } + if (sourceRange != null) { + $result.sourceRange = sourceRange; + } + if (description != null) { + $result.description = description; + } + return $result; + } + FirewallRule._() : super(); + factory FirewallRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FirewallRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FirewallRule', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'priority', $pb.PbFieldType.O3) + ..e( + 2, _omitFieldNames ? '' : 'action', $pb.PbFieldType.OE, + defaultOrMaker: FirewallRule_Action.UNSPECIFIED_ACTION, + valueOf: FirewallRule_Action.valueOf, + enumValues: FirewallRule_Action.values) + ..aOS(3, _omitFieldNames ? '' : 'sourceRange') + ..aOS(4, _omitFieldNames ? '' : 'description') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FirewallRule clone() => FirewallRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FirewallRule copyWith(void Function(FirewallRule) updates) => + super.copyWith((message) => updates(message as FirewallRule)) + as FirewallRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FirewallRule create() => FirewallRule._(); + FirewallRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FirewallRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FirewallRule? _defaultInstance; + + /// A positive integer between [1, Int32.MaxValue-1] that defines the order of + /// rule evaluation. Rules with the lowest priority are evaluated first. + /// + /// A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + /// when no previous rule matches. Only the action of this rule can be modified + /// by the user. + @$pb.TagNumber(1) + $core.int get priority => $_getIZ(0); + @$pb.TagNumber(1) + set priority($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPriority() => $_has(0); + @$pb.TagNumber(1) + void clearPriority() => clearField(1); + + /// The action to take on matched requests. + @$pb.TagNumber(2) + FirewallRule_Action get action => $_getN(1); + @$pb.TagNumber(2) + set action(FirewallRule_Action v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasAction() => $_has(1); + @$pb.TagNumber(2) + void clearAction() => clearField(2); + + /// IP address or range, defined using CIDR notation, of requests that this + /// rule applies to. You can use the wildcard character "*" to match all IPs + /// equivalent to "0/0" and "::/0" together. + /// Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` + /// or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + /// + /// + ///

Truncation will be silently performed on addresses which are not + /// properly truncated. For example, `1.2.3.4/24` is accepted as the same + /// address as `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` is accepted + /// as the same address as `2001:db8::/32`. + @$pb.TagNumber(3) + $core.String get sourceRange => $_getSZ(2); + @$pb.TagNumber(3) + set sourceRange($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceRange() => $_has(2); + @$pb.TagNumber(3) + void clearSourceRange() => clearField(3); + + /// An optional string description of this rule. + /// This field has a maximum length of 100 characters. + @$pb.TagNumber(4) + $core.String get description => $_getSZ(3); + @$pb.TagNumber(4) + set description($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDescription() => $_has(3); + @$pb.TagNumber(4) + void clearDescription() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pbenum.dart new file mode 100644 index 00000000..7ec802b4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pbenum.dart @@ -0,0 +1,38 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/firewall.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Available actions to take on matching requests. +class FirewallRule_Action extends $pb.ProtobufEnum { + static const FirewallRule_Action UNSPECIFIED_ACTION = + FirewallRule_Action._(0, _omitEnumNames ? '' : 'UNSPECIFIED_ACTION'); + static const FirewallRule_Action ALLOW = + FirewallRule_Action._(1, _omitEnumNames ? '' : 'ALLOW'); + static const FirewallRule_Action DENY = + FirewallRule_Action._(2, _omitEnumNames ? '' : 'DENY'); + + static const $core.List values = [ + UNSPECIFIED_ACTION, + ALLOW, + DENY, + ]; + + static final $core.Map<$core.int, FirewallRule_Action> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FirewallRule_Action? valueOf($core.int value) => _byValue[value]; + + const FirewallRule_Action._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pbjson.dart new file mode 100644 index 00000000..7e6cd460 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/firewall.pbjson.dart @@ -0,0 +1,51 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/firewall.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use firewallRuleDescriptor instead') +const FirewallRule$json = { + '1': 'FirewallRule', + '2': [ + {'1': 'priority', '3': 1, '4': 1, '5': 5, '10': 'priority'}, + { + '1': 'action', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.FirewallRule.Action', + '10': 'action' + }, + {'1': 'source_range', '3': 3, '4': 1, '5': 9, '10': 'sourceRange'}, + {'1': 'description', '3': 4, '4': 1, '5': 9, '10': 'description'}, + ], + '4': [FirewallRule_Action$json], +}; + +@$core.Deprecated('Use firewallRuleDescriptor instead') +const FirewallRule_Action$json = { + '1': 'Action', + '2': [ + {'1': 'UNSPECIFIED_ACTION', '2': 0}, + {'1': 'ALLOW', '2': 1}, + {'1': 'DENY', '2': 2}, + ], +}; + +/// Descriptor for `FirewallRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List firewallRuleDescriptor = $convert.base64Decode( + 'CgxGaXJld2FsbFJ1bGUSGgoIcHJpb3JpdHkYASABKAVSCHByaW9yaXR5EkAKBmFjdGlvbhgCIA' + 'EoDjIoLmdvb2dsZS5hcHBlbmdpbmUudjEuRmlyZXdhbGxSdWxlLkFjdGlvblIGYWN0aW9uEiEK' + 'DHNvdXJjZV9yYW5nZRgDIAEoCVILc291cmNlUmFuZ2USIAoLZGVzY3JpcHRpb24YBCABKAlSC2' + 'Rlc2NyaXB0aW9uIjUKBkFjdGlvbhIWChJVTlNQRUNJRklFRF9BQ1RJT04QABIJCgVBTExPVxAB' + 'EggKBERFTlkQAg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pb.dart new file mode 100644 index 00000000..8eb56be3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pb.dart @@ -0,0 +1,441 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/instance.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'instance.pbenum.dart'; + +export 'instance.pbenum.dart'; + +/// Wrapper for LivenessState enum. +class Instance_Liveness extends $pb.GeneratedMessage { + factory Instance_Liveness() => create(); + Instance_Liveness._() : super(); + factory Instance_Liveness.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Instance_Liveness.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Instance.Liveness', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Instance_Liveness clone() => Instance_Liveness()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Instance_Liveness copyWith(void Function(Instance_Liveness) updates) => + super.copyWith((message) => updates(message as Instance_Liveness)) + as Instance_Liveness; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Instance_Liveness create() => Instance_Liveness._(); + Instance_Liveness createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Instance_Liveness getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Instance_Liveness? _defaultInstance; +} + +/// An Instance resource is the computing unit that App Engine uses to +/// automatically scale an application. +class Instance extends $pb.GeneratedMessage { + factory Instance({ + $core.String? name, + $core.String? id, + $core.String? appEngineRelease, + Instance_Availability? availability, + $core.String? vmName, + $core.String? vmZoneName, + $core.String? vmId, + $50.Timestamp? startTime, + $core.int? requests, + $core.int? errors, + $core.double? qps, + $core.int? averageLatency, + $fixnum.Int64? memoryUsage, + $core.String? vmStatus, + $core.bool? vmDebugEnabled, + $core.String? vmIp, + Instance_Liveness_LivenessState? vmLiveness, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (appEngineRelease != null) { + $result.appEngineRelease = appEngineRelease; + } + if (availability != null) { + $result.availability = availability; + } + if (vmName != null) { + $result.vmName = vmName; + } + if (vmZoneName != null) { + $result.vmZoneName = vmZoneName; + } + if (vmId != null) { + $result.vmId = vmId; + } + if (startTime != null) { + $result.startTime = startTime; + } + if (requests != null) { + $result.requests = requests; + } + if (errors != null) { + $result.errors = errors; + } + if (qps != null) { + $result.qps = qps; + } + if (averageLatency != null) { + $result.averageLatency = averageLatency; + } + if (memoryUsage != null) { + $result.memoryUsage = memoryUsage; + } + if (vmStatus != null) { + $result.vmStatus = vmStatus; + } + if (vmDebugEnabled != null) { + $result.vmDebugEnabled = vmDebugEnabled; + } + if (vmIp != null) { + $result.vmIp = vmIp; + } + if (vmLiveness != null) { + $result.vmLiveness = vmLiveness; + } + return $result; + } + Instance._() : super(); + factory Instance.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Instance.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Instance', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOS(3, _omitFieldNames ? '' : 'appEngineRelease') + ..e( + 4, _omitFieldNames ? '' : 'availability', $pb.PbFieldType.OE, + defaultOrMaker: Instance_Availability.UNSPECIFIED, + valueOf: Instance_Availability.valueOf, + enumValues: Instance_Availability.values) + ..aOS(5, _omitFieldNames ? '' : 'vmName') + ..aOS(6, _omitFieldNames ? '' : 'vmZoneName') + ..aOS(7, _omitFieldNames ? '' : 'vmId') + ..aOM<$50.Timestamp>(8, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'requests', $pb.PbFieldType.O3) + ..a<$core.int>(10, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.O3) + ..a<$core.double>(11, _omitFieldNames ? '' : 'qps', $pb.PbFieldType.OF) + ..a<$core.int>( + 12, _omitFieldNames ? '' : 'averageLatency', $pb.PbFieldType.O3) + ..aInt64(13, _omitFieldNames ? '' : 'memoryUsage') + ..aOS(14, _omitFieldNames ? '' : 'vmStatus') + ..aOB(15, _omitFieldNames ? '' : 'vmDebugEnabled') + ..aOS(16, _omitFieldNames ? '' : 'vmIp') + ..e( + 17, _omitFieldNames ? '' : 'vmLiveness', $pb.PbFieldType.OE, + defaultOrMaker: + Instance_Liveness_LivenessState.LIVENESS_STATE_UNSPECIFIED, + valueOf: Instance_Liveness_LivenessState.valueOf, + enumValues: Instance_Liveness_LivenessState.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Instance clone() => Instance()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Instance copyWith(void Function(Instance) updates) => + super.copyWith((message) => updates(message as Instance)) as Instance; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Instance create() => Instance._(); + Instance createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Instance getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Instance? _defaultInstance; + + /// Output only. Full path to the Instance resource in the API. + /// Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Output only. Relative name of the instance within the version. + /// Example: `instance-1`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// Output only. App Engine release this instance is running on. + @$pb.TagNumber(3) + $core.String get appEngineRelease => $_getSZ(2); + @$pb.TagNumber(3) + set appEngineRelease($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasAppEngineRelease() => $_has(2); + @$pb.TagNumber(3) + void clearAppEngineRelease() => clearField(3); + + /// Output only. Availability of the instance. + @$pb.TagNumber(4) + Instance_Availability get availability => $_getN(3); + @$pb.TagNumber(4) + set availability(Instance_Availability v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasAvailability() => $_has(3); + @$pb.TagNumber(4) + void clearAvailability() => clearField(4); + + /// Output only. Name of the virtual machine where this instance lives. Only applicable + /// for instances in App Engine flexible environment. + @$pb.TagNumber(5) + $core.String get vmName => $_getSZ(4); + @$pb.TagNumber(5) + set vmName($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasVmName() => $_has(4); + @$pb.TagNumber(5) + void clearVmName() => clearField(5); + + /// Output only. Zone where the virtual machine is located. Only applicable for instances + /// in App Engine flexible environment. + @$pb.TagNumber(6) + $core.String get vmZoneName => $_getSZ(5); + @$pb.TagNumber(6) + set vmZoneName($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasVmZoneName() => $_has(5); + @$pb.TagNumber(6) + void clearVmZoneName() => clearField(6); + + /// Output only. Virtual machine ID of this instance. Only applicable for instances in + /// App Engine flexible environment. + @$pb.TagNumber(7) + $core.String get vmId => $_getSZ(6); + @$pb.TagNumber(7) + set vmId($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasVmId() => $_has(6); + @$pb.TagNumber(7) + void clearVmId() => clearField(7); + + /// Output only. Time that this instance was started. + /// + /// @OutputOnly + @$pb.TagNumber(8) + $50.Timestamp get startTime => $_getN(7); + @$pb.TagNumber(8) + set startTime($50.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasStartTime() => $_has(7); + @$pb.TagNumber(8) + void clearStartTime() => clearField(8); + @$pb.TagNumber(8) + $50.Timestamp ensureStartTime() => $_ensure(7); + + /// Output only. Number of requests since this instance was started. + @$pb.TagNumber(9) + $core.int get requests => $_getIZ(8); + @$pb.TagNumber(9) + set requests($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasRequests() => $_has(8); + @$pb.TagNumber(9) + void clearRequests() => clearField(9); + + /// Output only. Number of errors since this instance was started. + @$pb.TagNumber(10) + $core.int get errors => $_getIZ(9); + @$pb.TagNumber(10) + set errors($core.int v) { + $_setSignedInt32(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasErrors() => $_has(9); + @$pb.TagNumber(10) + void clearErrors() => clearField(10); + + /// Output only. Average queries per second (QPS) over the last minute. + @$pb.TagNumber(11) + $core.double get qps => $_getN(10); + @$pb.TagNumber(11) + set qps($core.double v) { + $_setFloat(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasQps() => $_has(10); + @$pb.TagNumber(11) + void clearQps() => clearField(11); + + /// Output only. Average latency (ms) over the last minute. + @$pb.TagNumber(12) + $core.int get averageLatency => $_getIZ(11); + @$pb.TagNumber(12) + set averageLatency($core.int v) { + $_setSignedInt32(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasAverageLatency() => $_has(11); + @$pb.TagNumber(12) + void clearAverageLatency() => clearField(12); + + /// Output only. Total memory in use (bytes). + @$pb.TagNumber(13) + $fixnum.Int64 get memoryUsage => $_getI64(12); + @$pb.TagNumber(13) + set memoryUsage($fixnum.Int64 v) { + $_setInt64(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasMemoryUsage() => $_has(12); + @$pb.TagNumber(13) + void clearMemoryUsage() => clearField(13); + + /// Output only. Status of the virtual machine where this instance lives. Only applicable + /// for instances in App Engine flexible environment. + @$pb.TagNumber(14) + $core.String get vmStatus => $_getSZ(13); + @$pb.TagNumber(14) + set vmStatus($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasVmStatus() => $_has(13); + @$pb.TagNumber(14) + void clearVmStatus() => clearField(14); + + /// Output only. Whether this instance is in debug mode. Only applicable for instances in + /// App Engine flexible environment. + @$pb.TagNumber(15) + $core.bool get vmDebugEnabled => $_getBF(14); + @$pb.TagNumber(15) + set vmDebugEnabled($core.bool v) { + $_setBool(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasVmDebugEnabled() => $_has(14); + @$pb.TagNumber(15) + void clearVmDebugEnabled() => clearField(15); + + /// Output only. The IP address of this instance. Only applicable for instances in App + /// Engine flexible environment. + @$pb.TagNumber(16) + $core.String get vmIp => $_getSZ(15); + @$pb.TagNumber(16) + set vmIp($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(16) + $core.bool hasVmIp() => $_has(15); + @$pb.TagNumber(16) + void clearVmIp() => clearField(16); + + /// Output only. The liveness health check of this instance. Only applicable for instances + /// in App Engine flexible environment. + @$pb.TagNumber(17) + Instance_Liveness_LivenessState get vmLiveness => $_getN(16); + @$pb.TagNumber(17) + set vmLiveness(Instance_Liveness_LivenessState v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasVmLiveness() => $_has(16); + @$pb.TagNumber(17) + void clearVmLiveness() => clearField(17); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pbenum.dart new file mode 100644 index 00000000..adbf9e7e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pbenum.dart @@ -0,0 +1,74 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/instance.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Availability of the instance. +class Instance_Availability extends $pb.ProtobufEnum { + static const Instance_Availability UNSPECIFIED = + Instance_Availability._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const Instance_Availability RESIDENT = + Instance_Availability._(1, _omitEnumNames ? '' : 'RESIDENT'); + static const Instance_Availability DYNAMIC = + Instance_Availability._(2, _omitEnumNames ? '' : 'DYNAMIC'); + + static const $core.List values = + [ + UNSPECIFIED, + RESIDENT, + DYNAMIC, + ]; + + static final $core.Map<$core.int, Instance_Availability> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Instance_Availability? valueOf($core.int value) => _byValue[value]; + + const Instance_Availability._($core.int v, $core.String n) : super(v, n); +} + +/// Liveness health check status for Flex instances. +class Instance_Liveness_LivenessState extends $pb.ProtobufEnum { + static const Instance_Liveness_LivenessState LIVENESS_STATE_UNSPECIFIED = + Instance_Liveness_LivenessState._( + 0, _omitEnumNames ? '' : 'LIVENESS_STATE_UNSPECIFIED'); + static const Instance_Liveness_LivenessState UNKNOWN = + Instance_Liveness_LivenessState._(1, _omitEnumNames ? '' : 'UNKNOWN'); + static const Instance_Liveness_LivenessState HEALTHY = + Instance_Liveness_LivenessState._(2, _omitEnumNames ? '' : 'HEALTHY'); + static const Instance_Liveness_LivenessState UNHEALTHY = + Instance_Liveness_LivenessState._(3, _omitEnumNames ? '' : 'UNHEALTHY'); + static const Instance_Liveness_LivenessState DRAINING = + Instance_Liveness_LivenessState._(4, _omitEnumNames ? '' : 'DRAINING'); + static const Instance_Liveness_LivenessState TIMEOUT = + Instance_Liveness_LivenessState._(5, _omitEnumNames ? '' : 'TIMEOUT'); + + static const $core.List values = + [ + LIVENESS_STATE_UNSPECIFIED, + UNKNOWN, + HEALTHY, + UNHEALTHY, + DRAINING, + TIMEOUT, + ]; + + static final $core.Map<$core.int, Instance_Liveness_LivenessState> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Instance_Liveness_LivenessState? valueOf($core.int value) => + _byValue[value]; + + const Instance_Liveness_LivenessState._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pbjson.dart new file mode 100644 index 00000000..c183f60a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/instance.pbjson.dart @@ -0,0 +1,144 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/instance.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance$json = { + '1': 'Instance', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'id'}, + { + '1': 'app_engine_release', + '3': 3, + '4': 1, + '5': 9, + '8': {}, + '10': 'appEngineRelease' + }, + { + '1': 'availability', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.Instance.Availability', + '8': {}, + '10': 'availability' + }, + {'1': 'vm_name', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'vmName'}, + {'1': 'vm_zone_name', '3': 6, '4': 1, '5': 9, '8': {}, '10': 'vmZoneName'}, + {'1': 'vm_id', '3': 7, '4': 1, '5': 9, '8': {}, '10': 'vmId'}, + { + '1': 'start_time', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'startTime' + }, + {'1': 'requests', '3': 9, '4': 1, '5': 5, '8': {}, '10': 'requests'}, + {'1': 'errors', '3': 10, '4': 1, '5': 5, '8': {}, '10': 'errors'}, + {'1': 'qps', '3': 11, '4': 1, '5': 2, '8': {}, '10': 'qps'}, + { + '1': 'average_latency', + '3': 12, + '4': 1, + '5': 5, + '8': {}, + '10': 'averageLatency' + }, + { + '1': 'memory_usage', + '3': 13, + '4': 1, + '5': 3, + '8': {}, + '10': 'memoryUsage' + }, + {'1': 'vm_status', '3': 14, '4': 1, '5': 9, '8': {}, '10': 'vmStatus'}, + { + '1': 'vm_debug_enabled', + '3': 15, + '4': 1, + '5': 8, + '8': {}, + '10': 'vmDebugEnabled' + }, + {'1': 'vm_ip', '3': 16, '4': 1, '5': 9, '8': {}, '10': 'vmIp'}, + { + '1': 'vm_liveness', + '3': 17, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.Instance.Liveness.LivenessState', + '8': {}, + '10': 'vmLiveness' + }, + ], + '3': [Instance_Liveness$json], + '4': [Instance_Availability$json], + '7': {}, +}; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance_Liveness$json = { + '1': 'Liveness', + '4': [Instance_Liveness_LivenessState$json], +}; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance_Liveness_LivenessState$json = { + '1': 'LivenessState', + '2': [ + {'1': 'LIVENESS_STATE_UNSPECIFIED', '2': 0}, + {'1': 'UNKNOWN', '2': 1}, + {'1': 'HEALTHY', '2': 2}, + {'1': 'UNHEALTHY', '2': 3}, + {'1': 'DRAINING', '2': 4}, + {'1': 'TIMEOUT', '2': 5}, + ], +}; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance_Availability$json = { + '1': 'Availability', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'RESIDENT', '2': 1}, + {'1': 'DYNAMIC', '2': 2}, + ], +}; + +/// Descriptor for `Instance`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List instanceDescriptor = $convert.base64Decode( + 'CghJbnN0YW5jZRIXCgRuYW1lGAEgASgJQgPgQQNSBG5hbWUSEwoCaWQYAiABKAlCA+BBA1ICaW' + 'QSMQoSYXBwX2VuZ2luZV9yZWxlYXNlGAMgASgJQgPgQQNSEGFwcEVuZ2luZVJlbGVhc2USUwoM' + 'YXZhaWxhYmlsaXR5GAQgASgOMiouZ29vZ2xlLmFwcGVuZ2luZS52MS5JbnN0YW5jZS5BdmFpbG' + 'FiaWxpdHlCA+BBA1IMYXZhaWxhYmlsaXR5EhwKB3ZtX25hbWUYBSABKAlCA+BBA1IGdm1OYW1l' + 'EiUKDHZtX3pvbmVfbmFtZRgGIAEoCUID4EEDUgp2bVpvbmVOYW1lEhgKBXZtX2lkGAcgASgJQg' + 'PgQQNSBHZtSWQSPgoKc3RhcnRfdGltZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh' + 'bXBCA+BBA1IJc3RhcnRUaW1lEh8KCHJlcXVlc3RzGAkgASgFQgPgQQNSCHJlcXVlc3RzEhsKBm' + 'Vycm9ycxgKIAEoBUID4EEDUgZlcnJvcnMSFQoDcXBzGAsgASgCQgPgQQNSA3FwcxIsCg9hdmVy' + 'YWdlX2xhdGVuY3kYDCABKAVCA+BBA1IOYXZlcmFnZUxhdGVuY3kSJgoMbWVtb3J5X3VzYWdlGA' + '0gASgDQgPgQQNSC21lbW9yeVVzYWdlEiAKCXZtX3N0YXR1cxgOIAEoCUID4EEDUgh2bVN0YXR1' + 'cxItChB2bV9kZWJ1Z19lbmFibGVkGA8gASgIQgPgQQNSDnZtRGVidWdFbmFibGVkEhgKBXZtX2' + 'lwGBAgASgJQgPgQQNSBHZtSXASWgoLdm1fbGl2ZW5lc3MYESABKA4yNC5nb29nbGUuYXBwZW5n' + 'aW5lLnYxLkluc3RhbmNlLkxpdmVuZXNzLkxpdmVuZXNzU3RhdGVCA+BBA1IKdm1MaXZlbmVzcx' + 'p/CghMaXZlbmVzcyJzCg1MaXZlbmVzc1N0YXRlEh4KGkxJVkVORVNTX1NUQVRFX1VOU1BFQ0lG' + 'SUVEEAASCwoHVU5LTk9XThABEgsKB0hFQUxUSFkQAhINCglVTkhFQUxUSFkQAxIMCghEUkFJTk' + 'lORxAEEgsKB1RJTUVPVVQQBSI6CgxBdmFpbGFiaWxpdHkSDwoLVU5TUEVDSUZJRUQQABIMCghS' + 'RVNJREVOVBABEgsKB0RZTkFNSUMQAjpt6kFqCiFhcHBlbmdpbmUuZ29vZ2xlYXBpcy5jb20vSW' + '5zdGFuY2USRWFwcHMve2FwcH0vc2VydmljZXMve3NlcnZpY2V9L3ZlcnNpb25zL3t2ZXJzaW9u' + 'fS9pbnN0YW5jZXMve2luc3RhbmNlfQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pb.dart new file mode 100644 index 00000000..a6e7e587 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pb.dart @@ -0,0 +1,123 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/location.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. +class LocationMetadata extends $pb.GeneratedMessage { + factory LocationMetadata({ + $core.bool? standardEnvironmentAvailable, + $core.bool? flexibleEnvironmentAvailable, + $core.bool? searchApiAvailable, + }) { + final $result = create(); + if (standardEnvironmentAvailable != null) { + $result.standardEnvironmentAvailable = standardEnvironmentAvailable; + } + if (flexibleEnvironmentAvailable != null) { + $result.flexibleEnvironmentAvailable = flexibleEnvironmentAvailable; + } + if (searchApiAvailable != null) { + $result.searchApiAvailable = searchApiAvailable; + } + return $result; + } + LocationMetadata._() : super(); + factory LocationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LocationMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOB(2, _omitFieldNames ? '' : 'standardEnvironmentAvailable') + ..aOB(4, _omitFieldNames ? '' : 'flexibleEnvironmentAvailable') + ..aOB(6, _omitFieldNames ? '' : 'searchApiAvailable') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationMetadata clone() => LocationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationMetadata copyWith(void Function(LocationMetadata) updates) => + super.copyWith((message) => updates(message as LocationMetadata)) + as LocationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationMetadata create() => LocationMetadata._(); + LocationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LocationMetadata? _defaultInstance; + + /// App Engine standard environment is available in the given location. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $core.bool get standardEnvironmentAvailable => $_getBF(0); + @$pb.TagNumber(2) + set standardEnvironmentAvailable($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasStandardEnvironmentAvailable() => $_has(0); + @$pb.TagNumber(2) + void clearStandardEnvironmentAvailable() => clearField(2); + + /// App Engine flexible environment is available in the given location. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.bool get flexibleEnvironmentAvailable => $_getBF(1); + @$pb.TagNumber(4) + set flexibleEnvironmentAvailable($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasFlexibleEnvironmentAvailable() => $_has(1); + @$pb.TagNumber(4) + void clearFlexibleEnvironmentAvailable() => clearField(4); + + /// Output only. [Search API](https://cloud.google.com/appengine/docs/standard/python/search) + /// is available in the given location. + @$pb.TagNumber(6) + $core.bool get searchApiAvailable => $_getBF(2); + @$pb.TagNumber(6) + set searchApiAvailable($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(6) + $core.bool hasSearchApiAvailable() => $_has(2); + @$pb.TagNumber(6) + void clearSearchApiAvailable() => clearField(6); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pbenum.dart new file mode 100644 index 00000000..9dd08fa2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/location.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pbjson.dart new file mode 100644 index 00000000..68f219e9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/location.pbjson.dart @@ -0,0 +1,50 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/location.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use locationMetadataDescriptor instead') +const LocationMetadata$json = { + '1': 'LocationMetadata', + '2': [ + { + '1': 'standard_environment_available', + '3': 2, + '4': 1, + '5': 8, + '10': 'standardEnvironmentAvailable' + }, + { + '1': 'flexible_environment_available', + '3': 4, + '4': 1, + '5': 8, + '10': 'flexibleEnvironmentAvailable' + }, + { + '1': 'search_api_available', + '3': 6, + '4': 1, + '5': 8, + '8': {}, + '10': 'searchApiAvailable' + }, + ], +}; + +/// Descriptor for `LocationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List locationMetadataDescriptor = $convert.base64Decode( + 'ChBMb2NhdGlvbk1ldGFkYXRhEkQKHnN0YW5kYXJkX2Vudmlyb25tZW50X2F2YWlsYWJsZRgCIA' + 'EoCFIcc3RhbmRhcmRFbnZpcm9ubWVudEF2YWlsYWJsZRJECh5mbGV4aWJsZV9lbnZpcm9ubWVu' + 'dF9hdmFpbGFibGUYBCABKAhSHGZsZXhpYmxlRW52aXJvbm1lbnRBdmFpbGFibGUSNQoUc2Vhcm' + 'NoX2FwaV9hdmFpbGFibGUYBiABKAhCA+BBA1ISc2VhcmNoQXBpQXZhaWxhYmxl'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pb.dart new file mode 100644 index 00000000..866fcde7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pb.dart @@ -0,0 +1,92 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/network_settings.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'network_settings.pbenum.dart'; + +export 'network_settings.pbenum.dart'; + +/// A NetworkSettings resource is a container for ingress settings for a version +/// or service. +class NetworkSettings extends $pb.GeneratedMessage { + factory NetworkSettings({ + NetworkSettings_IngressTrafficAllowed? ingressTrafficAllowed, + }) { + final $result = create(); + if (ingressTrafficAllowed != null) { + $result.ingressTrafficAllowed = ingressTrafficAllowed; + } + return $result; + } + NetworkSettings._() : super(); + factory NetworkSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NetworkSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NetworkSettings', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'ingressTrafficAllowed', $pb.PbFieldType.OE, + defaultOrMaker: NetworkSettings_IngressTrafficAllowed + .INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED, + valueOf: NetworkSettings_IngressTrafficAllowed.valueOf, + enumValues: NetworkSettings_IngressTrafficAllowed.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NetworkSettings clone() => NetworkSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NetworkSettings copyWith(void Function(NetworkSettings) updates) => + super.copyWith((message) => updates(message as NetworkSettings)) + as NetworkSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NetworkSettings create() => NetworkSettings._(); + NetworkSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NetworkSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NetworkSettings? _defaultInstance; + + /// The ingress settings for version or service. + @$pb.TagNumber(1) + NetworkSettings_IngressTrafficAllowed get ingressTrafficAllowed => $_getN(0); + @$pb.TagNumber(1) + set ingressTrafficAllowed(NetworkSettings_IngressTrafficAllowed v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasIngressTrafficAllowed() => $_has(0); + @$pb.TagNumber(1) + void clearIngressTrafficAllowed() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pbenum.dart new file mode 100644 index 00000000..eec086b0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pbenum.dart @@ -0,0 +1,51 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/network_settings.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// If unspecified, INGRESS_TRAFFIC_ALLOWED_ALL will be used. +class NetworkSettings_IngressTrafficAllowed extends $pb.ProtobufEnum { + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED = + NetworkSettings_IngressTrafficAllowed._( + 0, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED'); + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_ALL = NetworkSettings_IngressTrafficAllowed._( + 1, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_ALL'); + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY = + NetworkSettings_IngressTrafficAllowed._( + 2, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY'); + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB = + NetworkSettings_IngressTrafficAllowed._( + 3, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB'); + + static const $core.List values = + [ + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED, + INGRESS_TRAFFIC_ALLOWED_ALL, + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY, + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB, + ]; + + static final $core.Map<$core.int, NetworkSettings_IngressTrafficAllowed> + _byValue = $pb.ProtobufEnum.initByValue(values); + static NetworkSettings_IngressTrafficAllowed? valueOf($core.int value) => + _byValue[value]; + + const NetworkSettings_IngressTrafficAllowed._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pbjson.dart new file mode 100644 index 00000000..58c54316 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/network_settings.pbjson.dart @@ -0,0 +1,50 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/network_settings.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use networkSettingsDescriptor instead') +const NetworkSettings$json = { + '1': 'NetworkSettings', + '2': [ + { + '1': 'ingress_traffic_allowed', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.NetworkSettings.IngressTrafficAllowed', + '10': 'ingressTrafficAllowed' + }, + ], + '4': [NetworkSettings_IngressTrafficAllowed$json], +}; + +@$core.Deprecated('Use networkSettingsDescriptor instead') +const NetworkSettings_IngressTrafficAllowed$json = { + '1': 'IngressTrafficAllowed', + '2': [ + {'1': 'INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED', '2': 0}, + {'1': 'INGRESS_TRAFFIC_ALLOWED_ALL', '2': 1}, + {'1': 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY', '2': 2}, + {'1': 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB', '2': 3}, + ], +}; + +/// Descriptor for `NetworkSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List networkSettingsDescriptor = $convert.base64Decode( + 'Cg9OZXR3b3JrU2V0dGluZ3MScgoXaW5ncmVzc190cmFmZmljX2FsbG93ZWQYASABKA4yOi5nb2' + '9nbGUuYXBwZW5naW5lLnYxLk5ldHdvcmtTZXR0aW5ncy5JbmdyZXNzVHJhZmZpY0FsbG93ZWRS' + 'FWluZ3Jlc3NUcmFmZmljQWxsb3dlZCK5AQoVSW5ncmVzc1RyYWZmaWNBbGxvd2VkEicKI0lOR1' + 'JFU1NfVFJBRkZJQ19BTExPV0VEX1VOU1BFQ0lGSUVEEAASHwobSU5HUkVTU19UUkFGRklDX0FM' + 'TE9XRURfQUxMEAESKQolSU5HUkVTU19UUkFGRklDX0FMTE9XRURfSU5URVJOQUxfT05MWRACEi' + 'sKJ0lOR1JFU1NfVFJBRkZJQ19BTExPV0VEX0lOVEVSTkFMX0FORF9MQhAD'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pb.dart new file mode 100644 index 00000000..bfdf160f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pb.dart @@ -0,0 +1,304 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; + +enum OperationMetadataV1_MethodMetadata { createVersionMetadata, notSet } + +/// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation]. +class OperationMetadataV1 extends $pb.GeneratedMessage { + factory OperationMetadataV1({ + $core.String? method, + $50.Timestamp? insertTime, + $50.Timestamp? endTime, + $core.String? user, + $core.String? target, + $core.String? ephemeralMessage, + $core.Iterable<$core.String>? warning, + CreateVersionMetadataV1? createVersionMetadata, + }) { + final $result = create(); + if (method != null) { + $result.method = method; + } + if (insertTime != null) { + $result.insertTime = insertTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (user != null) { + $result.user = user; + } + if (target != null) { + $result.target = target; + } + if (ephemeralMessage != null) { + $result.ephemeralMessage = ephemeralMessage; + } + if (warning != null) { + $result.warning.addAll(warning); + } + if (createVersionMetadata != null) { + $result.createVersionMetadata = createVersionMetadata; + } + return $result; + } + OperationMetadataV1._() : super(); + factory OperationMetadataV1.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationMetadataV1.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, OperationMetadataV1_MethodMetadata> + _OperationMetadataV1_MethodMetadataByTag = { + 8: OperationMetadataV1_MethodMetadata.createVersionMetadata, + 0: OperationMetadataV1_MethodMetadata.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationMetadataV1', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..oo(0, [8]) + ..aOS(1, _omitFieldNames ? '' : 'method') + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'insertTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..aOS(4, _omitFieldNames ? '' : 'user') + ..aOS(5, _omitFieldNames ? '' : 'target') + ..aOS(6, _omitFieldNames ? '' : 'ephemeralMessage') + ..pPS(7, _omitFieldNames ? '' : 'warning') + ..aOM( + 8, _omitFieldNames ? '' : 'createVersionMetadata', + subBuilder: CreateVersionMetadataV1.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationMetadataV1 clone() => OperationMetadataV1()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationMetadataV1 copyWith(void Function(OperationMetadataV1) updates) => + super.copyWith((message) => updates(message as OperationMetadataV1)) + as OperationMetadataV1; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationMetadataV1 create() => OperationMetadataV1._(); + OperationMetadataV1 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationMetadataV1 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationMetadataV1? _defaultInstance; + + OperationMetadataV1_MethodMetadata whichMethodMetadata() => + _OperationMetadataV1_MethodMetadataByTag[$_whichOneof(0)]!; + void clearMethodMetadata() => clearField($_whichOneof(0)); + + /// API method that initiated this operation. Example: + /// `google.appengine.v1.Versions.CreateVersion`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get method => $_getSZ(0); + @$pb.TagNumber(1) + set method($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMethod() => $_has(0); + @$pb.TagNumber(1) + void clearMethod() => clearField(1); + + /// Time that this operation was created. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $50.Timestamp get insertTime => $_getN(1); + @$pb.TagNumber(2) + set insertTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasInsertTime() => $_has(1); + @$pb.TagNumber(2) + void clearInsertTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureInsertTime() => $_ensure(1); + + /// Time that this operation completed. + /// + /// @OutputOnly + @$pb.TagNumber(3) + $50.Timestamp get endTime => $_getN(2); + @$pb.TagNumber(3) + set endTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEndTime() => $_has(2); + @$pb.TagNumber(3) + void clearEndTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureEndTime() => $_ensure(2); + + /// User who requested this operation. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.String get user => $_getSZ(3); + @$pb.TagNumber(4) + set user($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUser() => $_has(3); + @$pb.TagNumber(4) + void clearUser() => clearField(4); + + /// Name of the resource that this operation is acting on. Example: + /// `apps/myapp/services/default`. + /// + /// @OutputOnly + @$pb.TagNumber(5) + $core.String get target => $_getSZ(4); + @$pb.TagNumber(5) + set target($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasTarget() => $_has(4); + @$pb.TagNumber(5) + void clearTarget() => clearField(5); + + /// Ephemeral message that may change every time the operation is polled. + /// @OutputOnly + @$pb.TagNumber(6) + $core.String get ephemeralMessage => $_getSZ(5); + @$pb.TagNumber(6) + set ephemeralMessage($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasEphemeralMessage() => $_has(5); + @$pb.TagNumber(6) + void clearEphemeralMessage() => clearField(6); + + /// Durable messages that persist on every operation poll. + /// @OutputOnly + @$pb.TagNumber(7) + $core.List<$core.String> get warning => $_getList(6); + + @$pb.TagNumber(8) + CreateVersionMetadataV1 get createVersionMetadata => $_getN(7); + @$pb.TagNumber(8) + set createVersionMetadata(CreateVersionMetadataV1 v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasCreateVersionMetadata() => $_has(7); + @$pb.TagNumber(8) + void clearCreateVersionMetadata() => clearField(8); + @$pb.TagNumber(8) + CreateVersionMetadataV1 ensureCreateVersionMetadata() => $_ensure(7); +} + +/// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation] during a +/// [google.appengine.v1.CreateVersionRequest][google.appengine.v1.CreateVersionRequest]. +class CreateVersionMetadataV1 extends $pb.GeneratedMessage { + factory CreateVersionMetadataV1({ + $core.String? cloudBuildId, + }) { + final $result = create(); + if (cloudBuildId != null) { + $result.cloudBuildId = cloudBuildId; + } + return $result; + } + CreateVersionMetadataV1._() : super(); + factory CreateVersionMetadataV1.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateVersionMetadataV1.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateVersionMetadataV1', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'cloudBuildId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateVersionMetadataV1 clone() => + CreateVersionMetadataV1()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateVersionMetadataV1 copyWith( + void Function(CreateVersionMetadataV1) updates) => + super.copyWith((message) => updates(message as CreateVersionMetadataV1)) + as CreateVersionMetadataV1; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateVersionMetadataV1 create() => CreateVersionMetadataV1._(); + CreateVersionMetadataV1 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateVersionMetadataV1 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateVersionMetadataV1? _defaultInstance; + + /// The Cloud Build ID if one was created as part of the version create. + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get cloudBuildId => $_getSZ(0); + @$pb.TagNumber(1) + set cloudBuildId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCloudBuildId() => $_has(0); + @$pb.TagNumber(1) + void clearCloudBuildId() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pbenum.dart new file mode 100644 index 00000000..c8a2660f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pbjson.dart new file mode 100644 index 00000000..5568bc89 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/operation.pbjson.dart @@ -0,0 +1,85 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationMetadataV1Descriptor instead') +const OperationMetadataV1$json = { + '1': 'OperationMetadataV1', + '2': [ + {'1': 'method', '3': 1, '4': 1, '5': 9, '10': 'method'}, + { + '1': 'insert_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'insertTime' + }, + { + '1': 'end_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + {'1': 'user', '3': 4, '4': 1, '5': 9, '10': 'user'}, + {'1': 'target', '3': 5, '4': 1, '5': 9, '10': 'target'}, + { + '1': 'ephemeral_message', + '3': 6, + '4': 1, + '5': 9, + '10': 'ephemeralMessage' + }, + {'1': 'warning', '3': 7, '4': 3, '5': 9, '10': 'warning'}, + { + '1': 'create_version_metadata', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.CreateVersionMetadataV1', + '9': 0, + '10': 'createVersionMetadata' + }, + ], + '8': [ + {'1': 'method_metadata'}, + ], +}; + +/// Descriptor for `OperationMetadataV1`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationMetadataV1Descriptor = $convert.base64Decode( + 'ChNPcGVyYXRpb25NZXRhZGF0YVYxEhYKBm1ldGhvZBgBIAEoCVIGbWV0aG9kEjsKC2luc2VydF' + '90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKaW5zZXJ0VGltZRI1Cghl' + 'bmRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB2VuZFRpbWUSEgoEdX' + 'NlchgEIAEoCVIEdXNlchIWCgZ0YXJnZXQYBSABKAlSBnRhcmdldBIrChFlcGhlbWVyYWxfbWVz' + 'c2FnZRgGIAEoCVIQZXBoZW1lcmFsTWVzc2FnZRIYCgd3YXJuaW5nGAcgAygJUgd3YXJuaW5nEm' + 'YKF2NyZWF0ZV92ZXJzaW9uX21ldGFkYXRhGAggASgLMiwuZ29vZ2xlLmFwcGVuZ2luZS52MS5D' + 'cmVhdGVWZXJzaW9uTWV0YWRhdGFWMUgAUhVjcmVhdGVWZXJzaW9uTWV0YWRhdGFCEQoPbWV0aG' + '9kX21ldGFkYXRh'); + +@$core.Deprecated('Use createVersionMetadataV1Descriptor instead') +const CreateVersionMetadataV1$json = { + '1': 'CreateVersionMetadataV1', + '2': [ + {'1': 'cloud_build_id', '3': 1, '4': 1, '5': 9, '10': 'cloudBuildId'}, + ], +}; + +/// Descriptor for `CreateVersionMetadataV1`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createVersionMetadataV1Descriptor = + $convert.base64Decode( + 'ChdDcmVhdGVWZXJzaW9uTWV0YWRhdGFWMRIkCg5jbG91ZF9idWlsZF9pZBgBIAEoCVIMY2xvdW' + 'RCdWlsZElk'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pb.dart new file mode 100644 index 00000000..6313ac8f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pb.dart @@ -0,0 +1,272 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'network_settings.pb.dart' as $62; +import 'service.pbenum.dart'; + +export 'service.pbenum.dart'; + +/// A Service resource is a logical component of an application that can share +/// state and communicate in a secure fashion with other services. +/// For example, an application that handles customer requests might +/// include separate services to handle tasks such as backend data +/// analysis or API requests from mobile devices. Each service has a +/// collection of versions that define a specific set of code used to +/// implement the functionality of that service. +class Service extends $pb.GeneratedMessage { + factory Service({ + $core.String? name, + $core.String? id, + TrafficSplit? split, + $core.Map<$core.String, $core.String>? labels, + $62.NetworkSettings? networkSettings, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (split != null) { + $result.split = split; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (networkSettings != null) { + $result.networkSettings = networkSettings; + } + return $result; + } + Service._() : super(); + factory Service.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Service.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Service', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'split', + subBuilder: TrafficSplit.create) + ..m<$core.String, $core.String>(4, _omitFieldNames ? '' : 'labels', + entryClassName: 'Service.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1')) + ..aOM<$62.NetworkSettings>(6, _omitFieldNames ? '' : 'networkSettings', + subBuilder: $62.NetworkSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Service clone() => Service()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Service copyWith(void Function(Service) updates) => + super.copyWith((message) => updates(message as Service)) as Service; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Service create() => Service._(); + Service createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Service getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Service? _defaultInstance; + + /// Full path to the Service resource in the API. + /// Example: `apps/myapp/services/default`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the service within the application. + /// Example: `default`. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// Mapping that defines fractional HTTP traffic diversion to + /// different versions within the service. + @$pb.TagNumber(3) + TrafficSplit get split => $_getN(2); + @$pb.TagNumber(3) + set split(TrafficSplit v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSplit() => $_has(2); + @$pb.TagNumber(3) + void clearSplit() => clearField(3); + @$pb.TagNumber(3) + TrafficSplit ensureSplit() => $_ensure(2); + + /// A set of labels to apply to this service. Labels are key/value pairs that + /// describe the service and all resources that belong to it (e.g., + /// versions). The labels can be used to search and group resources, and are + /// propagated to the usage and billing reports, enabling fine-grain analysis + /// of costs. An example of using labels is to tag resources belonging to + /// different environments (e.g., "env=prod", "env=qa"). + /// + ///

Label keys and values can be no longer than 63 characters and can only + /// contain lowercase letters, numeric characters, underscores, dashes, and + /// international characters. Label keys must start with a lowercase letter + /// or an international character. Each service can have at most 32 labels. + @$pb.TagNumber(4) + $core.Map<$core.String, $core.String> get labels => $_getMap(3); + + /// Ingress settings for this service. Will apply to all versions. + @$pb.TagNumber(6) + $62.NetworkSettings get networkSettings => $_getN(4); + @$pb.TagNumber(6) + set networkSettings($62.NetworkSettings v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasNetworkSettings() => $_has(4); + @$pb.TagNumber(6) + void clearNetworkSettings() => clearField(6); + @$pb.TagNumber(6) + $62.NetworkSettings ensureNetworkSettings() => $_ensure(4); +} + +/// Traffic routing configuration for versions within a single service. Traffic +/// splits define how traffic directed to the service is assigned to versions. +class TrafficSplit extends $pb.GeneratedMessage { + factory TrafficSplit({ + TrafficSplit_ShardBy? shardBy, + $core.Map<$core.String, $core.double>? allocations, + }) { + final $result = create(); + if (shardBy != null) { + $result.shardBy = shardBy; + } + if (allocations != null) { + $result.allocations.addAll(allocations); + } + return $result; + } + TrafficSplit._() : super(); + factory TrafficSplit.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TrafficSplit.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TrafficSplit', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'shardBy', $pb.PbFieldType.OE, + defaultOrMaker: TrafficSplit_ShardBy.UNSPECIFIED, + valueOf: TrafficSplit_ShardBy.valueOf, + enumValues: TrafficSplit_ShardBy.values) + ..m<$core.String, $core.double>(2, _omitFieldNames ? '' : 'allocations', + entryClassName: 'TrafficSplit.AllocationsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OD, + packageName: const $pb.PackageName('google.appengine.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrafficSplit clone() => TrafficSplit()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrafficSplit copyWith(void Function(TrafficSplit) updates) => + super.copyWith((message) => updates(message as TrafficSplit)) + as TrafficSplit; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrafficSplit create() => TrafficSplit._(); + TrafficSplit createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrafficSplit getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TrafficSplit? _defaultInstance; + + /// Mechanism used to determine which version a request is sent to. + /// The traffic selection algorithm will + /// be stable for either type until allocations are changed. + @$pb.TagNumber(1) + TrafficSplit_ShardBy get shardBy => $_getN(0); + @$pb.TagNumber(1) + set shardBy(TrafficSplit_ShardBy v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasShardBy() => $_has(0); + @$pb.TagNumber(1) + void clearShardBy() => clearField(1); + + /// Mapping from version IDs within the service to fractional + /// (0.000, 1] allocations of traffic for that version. Each version can + /// be specified only once, but some versions in the service may not + /// have any traffic allocation. Services that have traffic allocated + /// cannot be deleted until either the service is deleted or + /// their traffic allocation is removed. Allocations must sum to 1. + /// Up to two decimal place precision is supported for IP-based splits and + /// up to three decimal places is supported for cookie-based splits. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.double> get allocations => $_getMap(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pbenum.dart new file mode 100644 index 00000000..4889e3e9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pbenum.dart @@ -0,0 +1,41 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Available sharding mechanisms. +class TrafficSplit_ShardBy extends $pb.ProtobufEnum { + static const TrafficSplit_ShardBy UNSPECIFIED = + TrafficSplit_ShardBy._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const TrafficSplit_ShardBy COOKIE = + TrafficSplit_ShardBy._(1, _omitEnumNames ? '' : 'COOKIE'); + static const TrafficSplit_ShardBy IP = + TrafficSplit_ShardBy._(2, _omitEnumNames ? '' : 'IP'); + static const TrafficSplit_ShardBy RANDOM = + TrafficSplit_ShardBy._(3, _omitEnumNames ? '' : 'RANDOM'); + + static const $core.List values = [ + UNSPECIFIED, + COOKIE, + IP, + RANDOM, + ]; + + static final $core.Map<$core.int, TrafficSplit_ShardBy> _byValue = + $pb.ProtobufEnum.initByValue(values); + static TrafficSplit_ShardBy? valueOf($core.int value) => _byValue[value]; + + const TrafficSplit_ShardBy._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pbjson.dart new file mode 100644 index 00000000..518aacd4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/service.pbjson.dart @@ -0,0 +1,122 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use serviceDescriptor instead') +const Service$json = { + '1': 'Service', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'split', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.TrafficSplit', + '10': 'split' + }, + { + '1': 'labels', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Service.LabelsEntry', + '10': 'labels' + }, + { + '1': 'network_settings', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.NetworkSettings', + '10': 'networkSettings' + }, + ], + '3': [Service_LabelsEntry$json], +}; + +@$core.Deprecated('Use serviceDescriptor instead') +const Service_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Service`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptor = $convert.base64Decode( + 'CgdTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlkEjcKBXNwbGl0GA' + 'MgASgLMiEuZ29vZ2xlLmFwcGVuZ2luZS52MS5UcmFmZmljU3BsaXRSBXNwbGl0EkAKBmxhYmVs' + 'cxgEIAMoCzIoLmdvb2dsZS5hcHBlbmdpbmUudjEuU2VydmljZS5MYWJlbHNFbnRyeVIGbGFiZW' + 'xzEk8KEG5ldHdvcmtfc2V0dGluZ3MYBiABKAsyJC5nb29nbGUuYXBwZW5naW5lLnYxLk5ldHdv' + 'cmtTZXR0aW5nc1IPbmV0d29ya1NldHRpbmdzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCV' + 'IDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use trafficSplitDescriptor instead') +const TrafficSplit$json = { + '1': 'TrafficSplit', + '2': [ + { + '1': 'shard_by', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.TrafficSplit.ShardBy', + '10': 'shardBy' + }, + { + '1': 'allocations', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.TrafficSplit.AllocationsEntry', + '10': 'allocations' + }, + ], + '3': [TrafficSplit_AllocationsEntry$json], + '4': [TrafficSplit_ShardBy$json], +}; + +@$core.Deprecated('Use trafficSplitDescriptor instead') +const TrafficSplit_AllocationsEntry$json = { + '1': 'AllocationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 1, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use trafficSplitDescriptor instead') +const TrafficSplit_ShardBy$json = { + '1': 'ShardBy', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'COOKIE', '2': 1}, + {'1': 'IP', '2': 2}, + {'1': 'RANDOM', '2': 3}, + ], +}; + +/// Descriptor for `TrafficSplit`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trafficSplitDescriptor = $convert.base64Decode( + 'CgxUcmFmZmljU3BsaXQSRAoIc2hhcmRfYnkYASABKA4yKS5nb29nbGUuYXBwZW5naW5lLnYxLl' + 'RyYWZmaWNTcGxpdC5TaGFyZEJ5UgdzaGFyZEJ5ElQKC2FsbG9jYXRpb25zGAIgAygLMjIuZ29v' + 'Z2xlLmFwcGVuZ2luZS52MS5UcmFmZmljU3BsaXQuQWxsb2NhdGlvbnNFbnRyeVILYWxsb2NhdG' + 'lvbnMaPgoQQWxsb2NhdGlvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEo' + 'AVIFdmFsdWU6AjgBIjoKB1NoYXJkQnkSDwoLVU5TUEVDSUZJRUQQABIKCgZDT09LSUUQARIGCg' + 'JJUBACEgoKBlJBTkRPTRAD'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pb.dart new file mode 100644 index 00000000..7b127b6c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pb.dart @@ -0,0 +1,2593 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/version.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import '../../protobuf/timestamp.pb.dart' as $50; +import 'app_yaml.pb.dart' as $60; +import 'deploy.pb.dart' as $61; +import 'version.pbenum.dart'; + +export 'version.pbenum.dart'; + +enum Version_Scaling { automaticScaling, basicScaling, manualScaling, notSet } + +/// A Version resource is a specific set of source code and configuration files +/// that are deployed into a service. +class Version extends $pb.GeneratedMessage { + factory Version({ + $core.String? name, + $core.String? id, + AutomaticScaling? automaticScaling, + BasicScaling? basicScaling, + ManualScaling? manualScaling, + $core.Iterable? inboundServices, + $core.String? instanceClass, + Network? network, + Resources? resources, + $core.String? runtime, + $core.bool? threadsafe, + $core.bool? vm, + $core.Map<$core.String, $core.String>? betaSettings, + $core.String? env, + ServingStatus? servingStatus, + $core.String? createdBy, + $50.Timestamp? createTime, + $fixnum.Int64? diskUsageBytes, + $core.String? runtimeApiVersion, + $core.String? runtimeMainExecutablePath, + $core.Iterable<$60.UrlMap>? handlers, + $core.Iterable<$60.ErrorHandler>? errorHandlers, + $core.Iterable<$60.Library>? libraries, + $60.ApiConfigHandler? apiConfig, + $core.Map<$core.String, $core.String>? envVariables, + $51.Duration? defaultExpiration, + $60.HealthCheck? healthCheck, + $core.String? nobuildFilesRegex, + $61.Deployment? deployment, + $core.String? versionUrl, + EndpointsApiService? endpointsApiService, + $60.ReadinessCheck? readinessCheck, + $60.LivenessCheck? livenessCheck, + $core.String? runtimeChannel, + $core.Iterable<$core.String>? zones, + VpcAccessConnector? vpcAccessConnector, + Entrypoint? entrypoint, + $core.Map<$core.String, $core.String>? buildEnvVariables, + $core.String? serviceAccount, + $core.bool? appEngineApis, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (automaticScaling != null) { + $result.automaticScaling = automaticScaling; + } + if (basicScaling != null) { + $result.basicScaling = basicScaling; + } + if (manualScaling != null) { + $result.manualScaling = manualScaling; + } + if (inboundServices != null) { + $result.inboundServices.addAll(inboundServices); + } + if (instanceClass != null) { + $result.instanceClass = instanceClass; + } + if (network != null) { + $result.network = network; + } + if (resources != null) { + $result.resources = resources; + } + if (runtime != null) { + $result.runtime = runtime; + } + if (threadsafe != null) { + $result.threadsafe = threadsafe; + } + if (vm != null) { + $result.vm = vm; + } + if (betaSettings != null) { + $result.betaSettings.addAll(betaSettings); + } + if (env != null) { + $result.env = env; + } + if (servingStatus != null) { + $result.servingStatus = servingStatus; + } + if (createdBy != null) { + $result.createdBy = createdBy; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (diskUsageBytes != null) { + $result.diskUsageBytes = diskUsageBytes; + } + if (runtimeApiVersion != null) { + $result.runtimeApiVersion = runtimeApiVersion; + } + if (runtimeMainExecutablePath != null) { + $result.runtimeMainExecutablePath = runtimeMainExecutablePath; + } + if (handlers != null) { + $result.handlers.addAll(handlers); + } + if (errorHandlers != null) { + $result.errorHandlers.addAll(errorHandlers); + } + if (libraries != null) { + $result.libraries.addAll(libraries); + } + if (apiConfig != null) { + $result.apiConfig = apiConfig; + } + if (envVariables != null) { + $result.envVariables.addAll(envVariables); + } + if (defaultExpiration != null) { + $result.defaultExpiration = defaultExpiration; + } + if (healthCheck != null) { + $result.healthCheck = healthCheck; + } + if (nobuildFilesRegex != null) { + $result.nobuildFilesRegex = nobuildFilesRegex; + } + if (deployment != null) { + $result.deployment = deployment; + } + if (versionUrl != null) { + $result.versionUrl = versionUrl; + } + if (endpointsApiService != null) { + $result.endpointsApiService = endpointsApiService; + } + if (readinessCheck != null) { + $result.readinessCheck = readinessCheck; + } + if (livenessCheck != null) { + $result.livenessCheck = livenessCheck; + } + if (runtimeChannel != null) { + $result.runtimeChannel = runtimeChannel; + } + if (zones != null) { + $result.zones.addAll(zones); + } + if (vpcAccessConnector != null) { + $result.vpcAccessConnector = vpcAccessConnector; + } + if (entrypoint != null) { + $result.entrypoint = entrypoint; + } + if (buildEnvVariables != null) { + $result.buildEnvVariables.addAll(buildEnvVariables); + } + if (serviceAccount != null) { + $result.serviceAccount = serviceAccount; + } + if (appEngineApis != null) { + $result.appEngineApis = appEngineApis; + } + return $result; + } + Version._() : super(); + factory Version.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Version.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Version_Scaling> _Version_ScalingByTag = { + 3: Version_Scaling.automaticScaling, + 4: Version_Scaling.basicScaling, + 5: Version_Scaling.manualScaling, + 0: Version_Scaling.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Version', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..oo(0, [3, 4, 5]) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'automaticScaling', + subBuilder: AutomaticScaling.create) + ..aOM(4, _omitFieldNames ? '' : 'basicScaling', + subBuilder: BasicScaling.create) + ..aOM(5, _omitFieldNames ? '' : 'manualScaling', + subBuilder: ManualScaling.create) + ..pc( + 6, _omitFieldNames ? '' : 'inboundServices', $pb.PbFieldType.KE, + valueOf: InboundServiceType.valueOf, + enumValues: InboundServiceType.values, + defaultEnumValue: InboundServiceType.INBOUND_SERVICE_UNSPECIFIED) + ..aOS(7, _omitFieldNames ? '' : 'instanceClass') + ..aOM(8, _omitFieldNames ? '' : 'network', + subBuilder: Network.create) + ..aOM(9, _omitFieldNames ? '' : 'resources', + subBuilder: Resources.create) + ..aOS(10, _omitFieldNames ? '' : 'runtime') + ..aOB(11, _omitFieldNames ? '' : 'threadsafe') + ..aOB(12, _omitFieldNames ? '' : 'vm') + ..m<$core.String, $core.String>(13, _omitFieldNames ? '' : 'betaSettings', + entryClassName: 'Version.BetaSettingsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1')) + ..aOS(14, _omitFieldNames ? '' : 'env') + ..e( + 15, _omitFieldNames ? '' : 'servingStatus', $pb.PbFieldType.OE, + defaultOrMaker: ServingStatus.SERVING_STATUS_UNSPECIFIED, + valueOf: ServingStatus.valueOf, + enumValues: ServingStatus.values) + ..aOS(16, _omitFieldNames ? '' : 'createdBy') + ..aOM<$50.Timestamp>(17, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aInt64(18, _omitFieldNames ? '' : 'diskUsageBytes') + ..aOS(21, _omitFieldNames ? '' : 'runtimeApiVersion') + ..aOS(22, _omitFieldNames ? '' : 'runtimeMainExecutablePath') + ..pc<$60.UrlMap>(100, _omitFieldNames ? '' : 'handlers', $pb.PbFieldType.PM, + subBuilder: $60.UrlMap.create) + ..pc<$60.ErrorHandler>( + 101, _omitFieldNames ? '' : 'errorHandlers', $pb.PbFieldType.PM, + subBuilder: $60.ErrorHandler.create) + ..pc<$60.Library>( + 102, _omitFieldNames ? '' : 'libraries', $pb.PbFieldType.PM, + subBuilder: $60.Library.create) + ..aOM<$60.ApiConfigHandler>(103, _omitFieldNames ? '' : 'apiConfig', + subBuilder: $60.ApiConfigHandler.create) + ..m<$core.String, $core.String>(104, _omitFieldNames ? '' : 'envVariables', + entryClassName: 'Version.EnvVariablesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1')) + ..aOM<$51.Duration>(105, _omitFieldNames ? '' : 'defaultExpiration', + subBuilder: $51.Duration.create) + ..aOM<$60.HealthCheck>(106, _omitFieldNames ? '' : 'healthCheck', + subBuilder: $60.HealthCheck.create) + ..aOS(107, _omitFieldNames ? '' : 'nobuildFilesRegex') + ..aOM<$61.Deployment>(108, _omitFieldNames ? '' : 'deployment', + subBuilder: $61.Deployment.create) + ..aOS(109, _omitFieldNames ? '' : 'versionUrl') + ..aOM( + 110, _omitFieldNames ? '' : 'endpointsApiService', + subBuilder: EndpointsApiService.create) + ..aOM<$60.ReadinessCheck>(112, _omitFieldNames ? '' : 'readinessCheck', + subBuilder: $60.ReadinessCheck.create) + ..aOM<$60.LivenessCheck>(113, _omitFieldNames ? '' : 'livenessCheck', + subBuilder: $60.LivenessCheck.create) + ..aOS(117, _omitFieldNames ? '' : 'runtimeChannel') + ..pPS(118, _omitFieldNames ? '' : 'zones') + ..aOM(121, _omitFieldNames ? '' : 'vpcAccessConnector', + subBuilder: VpcAccessConnector.create) + ..aOM(122, _omitFieldNames ? '' : 'entrypoint', + subBuilder: Entrypoint.create) + ..m<$core.String, $core.String>( + 125, _omitFieldNames ? '' : 'buildEnvVariables', + entryClassName: 'Version.BuildEnvVariablesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1')) + ..aOS(127, _omitFieldNames ? '' : 'serviceAccount') + ..aOB(128, _omitFieldNames ? '' : 'appEngineApis') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Version clone() => Version()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Version copyWith(void Function(Version) updates) => + super.copyWith((message) => updates(message as Version)) as Version; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Version create() => Version._(); + Version createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Version getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Version? _defaultInstance; + + Version_Scaling whichScaling() => _Version_ScalingByTag[$_whichOneof(0)]!; + void clearScaling() => clearField($_whichOneof(0)); + + /// Full path to the Version resource in the API. Example: + /// `apps/myapp/services/default/versions/v1`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the version within the service. Example: `v1`. + /// Version names can contain only lowercase letters, numbers, or hyphens. + /// Reserved names: "default", "latest", and any name with the prefix "ah-". + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// Automatic scaling is based on request rate, response latencies, and other + /// application metrics. Instances are dynamically created and destroyed as + /// needed in order to handle traffic. + @$pb.TagNumber(3) + AutomaticScaling get automaticScaling => $_getN(2); + @$pb.TagNumber(3) + set automaticScaling(AutomaticScaling v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasAutomaticScaling() => $_has(2); + @$pb.TagNumber(3) + void clearAutomaticScaling() => clearField(3); + @$pb.TagNumber(3) + AutomaticScaling ensureAutomaticScaling() => $_ensure(2); + + /// A service with basic scaling will create an instance when the application + /// receives a request. The instance will be turned down when the app becomes + /// idle. Basic scaling is ideal for work that is intermittent or driven by + /// user activity. + @$pb.TagNumber(4) + BasicScaling get basicScaling => $_getN(3); + @$pb.TagNumber(4) + set basicScaling(BasicScaling v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasBasicScaling() => $_has(3); + @$pb.TagNumber(4) + void clearBasicScaling() => clearField(4); + @$pb.TagNumber(4) + BasicScaling ensureBasicScaling() => $_ensure(3); + + /// A service with manual scaling runs continuously, allowing you to perform + /// complex initialization and rely on the state of its memory over time. + /// Manually scaled versions are sometimes referred to as "backends". + @$pb.TagNumber(5) + ManualScaling get manualScaling => $_getN(4); + @$pb.TagNumber(5) + set manualScaling(ManualScaling v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasManualScaling() => $_has(4); + @$pb.TagNumber(5) + void clearManualScaling() => clearField(5); + @$pb.TagNumber(5) + ManualScaling ensureManualScaling() => $_ensure(4); + + /// Before an application can receive email or XMPP messages, the application + /// must be configured to enable the service. + @$pb.TagNumber(6) + $core.List get inboundServices => $_getList(5); + + /// Instance class that is used to run this version. Valid values are: + /// + /// * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` + /// * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` + /// + /// Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or + /// BasicScaling. + @$pb.TagNumber(7) + $core.String get instanceClass => $_getSZ(6); + @$pb.TagNumber(7) + set instanceClass($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasInstanceClass() => $_has(6); + @$pb.TagNumber(7) + void clearInstanceClass() => clearField(7); + + /// Extra network settings. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(8) + Network get network => $_getN(7); + @$pb.TagNumber(8) + set network(Network v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasNetwork() => $_has(7); + @$pb.TagNumber(8) + void clearNetwork() => clearField(8); + @$pb.TagNumber(8) + Network ensureNetwork() => $_ensure(7); + + /// Machine resources for this version. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(9) + Resources get resources => $_getN(8); + @$pb.TagNumber(9) + set resources(Resources v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasResources() => $_has(8); + @$pb.TagNumber(9) + void clearResources() => clearField(9); + @$pb.TagNumber(9) + Resources ensureResources() => $_ensure(8); + + /// Desired runtime. Example: `python27`. + @$pb.TagNumber(10) + $core.String get runtime => $_getSZ(9); + @$pb.TagNumber(10) + set runtime($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasRuntime() => $_has(9); + @$pb.TagNumber(10) + void clearRuntime() => clearField(10); + + /// Whether multiple requests can be dispatched to this version at once. + @$pb.TagNumber(11) + $core.bool get threadsafe => $_getBF(10); + @$pb.TagNumber(11) + set threadsafe($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasThreadsafe() => $_has(10); + @$pb.TagNumber(11) + void clearThreadsafe() => clearField(11); + + /// Whether to deploy this version in a container on a virtual machine. + @$pb.TagNumber(12) + $core.bool get vm => $_getBF(11); + @$pb.TagNumber(12) + set vm($core.bool v) { + $_setBool(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasVm() => $_has(11); + @$pb.TagNumber(12) + void clearVm() => clearField(12); + + /// Metadata settings that are supplied to this version to enable + /// beta runtime features. + @$pb.TagNumber(13) + $core.Map<$core.String, $core.String> get betaSettings => $_getMap(12); + + /// App Engine execution environment for this version. + /// + /// Defaults to `standard`. + @$pb.TagNumber(14) + $core.String get env => $_getSZ(13); + @$pb.TagNumber(14) + set env($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasEnv() => $_has(13); + @$pb.TagNumber(14) + void clearEnv() => clearField(14); + + /// Current serving status of this version. Only the versions with a + /// `SERVING` status create instances and can be billed. + /// + /// `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`. + @$pb.TagNumber(15) + ServingStatus get servingStatus => $_getN(14); + @$pb.TagNumber(15) + set servingStatus(ServingStatus v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasServingStatus() => $_has(14); + @$pb.TagNumber(15) + void clearServingStatus() => clearField(15); + + /// Email address of the user who created this version. + /// + /// @OutputOnly + @$pb.TagNumber(16) + $core.String get createdBy => $_getSZ(15); + @$pb.TagNumber(16) + set createdBy($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(16) + $core.bool hasCreatedBy() => $_has(15); + @$pb.TagNumber(16) + void clearCreatedBy() => clearField(16); + + /// Time that this version was created. + /// + /// @OutputOnly + @$pb.TagNumber(17) + $50.Timestamp get createTime => $_getN(16); + @$pb.TagNumber(17) + set createTime($50.Timestamp v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasCreateTime() => $_has(16); + @$pb.TagNumber(17) + void clearCreateTime() => clearField(17); + @$pb.TagNumber(17) + $50.Timestamp ensureCreateTime() => $_ensure(16); + + /// Total size in bytes of all the files that are included in this version + /// and currently hosted on the App Engine disk. + /// + /// @OutputOnly + @$pb.TagNumber(18) + $fixnum.Int64 get diskUsageBytes => $_getI64(17); + @$pb.TagNumber(18) + set diskUsageBytes($fixnum.Int64 v) { + $_setInt64(17, v); + } + + @$pb.TagNumber(18) + $core.bool hasDiskUsageBytes() => $_has(17); + @$pb.TagNumber(18) + void clearDiskUsageBytes() => clearField(18); + + /// The version of the API in the given runtime environment. Please see the + /// app.yaml reference for valid values at + /// https://cloud.google.com/appengine/docs/standard//config/appref + @$pb.TagNumber(21) + $core.String get runtimeApiVersion => $_getSZ(18); + @$pb.TagNumber(21) + set runtimeApiVersion($core.String v) { + $_setString(18, v); + } + + @$pb.TagNumber(21) + $core.bool hasRuntimeApiVersion() => $_has(18); + @$pb.TagNumber(21) + void clearRuntimeApiVersion() => clearField(21); + + /// The path or name of the app's main executable. + @$pb.TagNumber(22) + $core.String get runtimeMainExecutablePath => $_getSZ(19); + @$pb.TagNumber(22) + set runtimeMainExecutablePath($core.String v) { + $_setString(19, v); + } + + @$pb.TagNumber(22) + $core.bool hasRuntimeMainExecutablePath() => $_has(19); + @$pb.TagNumber(22) + void clearRuntimeMainExecutablePath() => clearField(22); + + /// An ordered list of URL-matching patterns that should be applied to incoming + /// requests. The first matching URL handles the request and other request + /// handlers are not attempted. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(100) + $core.List<$60.UrlMap> get handlers => $_getList(20); + + /// Custom static error pages. Limited to 10KB per page. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(101) + $core.List<$60.ErrorHandler> get errorHandlers => $_getList(21); + + /// Configuration for third-party Python runtime libraries that are required + /// by the application. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(102) + $core.List<$60.Library> get libraries => $_getList(22); + + /// Serving configuration for + /// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(103) + $60.ApiConfigHandler get apiConfig => $_getN(23); + @$pb.TagNumber(103) + set apiConfig($60.ApiConfigHandler v) { + setField(103, v); + } + + @$pb.TagNumber(103) + $core.bool hasApiConfig() => $_has(23); + @$pb.TagNumber(103) + void clearApiConfig() => clearField(103); + @$pb.TagNumber(103) + $60.ApiConfigHandler ensureApiConfig() => $_ensure(23); + + /// Environment variables available to the application. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(104) + $core.Map<$core.String, $core.String> get envVariables => $_getMap(24); + + /// Duration that static files should be cached by web proxies and browsers. + /// Only applicable if the corresponding + /// [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler) + /// does not specify its own expiration time. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(105) + $51.Duration get defaultExpiration => $_getN(25); + @$pb.TagNumber(105) + set defaultExpiration($51.Duration v) { + setField(105, v); + } + + @$pb.TagNumber(105) + $core.bool hasDefaultExpiration() => $_has(25); + @$pb.TagNumber(105) + void clearDefaultExpiration() => clearField(105); + @$pb.TagNumber(105) + $51.Duration ensureDefaultExpiration() => $_ensure(25); + + /// Configures health checking for instances. Unhealthy instances are + /// stopped and replaced with new instances. + /// Only applicable in the App Engine flexible environment. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(106) + $60.HealthCheck get healthCheck => $_getN(26); + @$pb.TagNumber(106) + set healthCheck($60.HealthCheck v) { + setField(106, v); + } + + @$pb.TagNumber(106) + $core.bool hasHealthCheck() => $_has(26); + @$pb.TagNumber(106) + void clearHealthCheck() => clearField(106); + @$pb.TagNumber(106) + $60.HealthCheck ensureHealthCheck() => $_ensure(26); + + /// Files that match this pattern will not be built into this version. + /// Only applicable for Go runtimes. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(107) + $core.String get nobuildFilesRegex => $_getSZ(27); + @$pb.TagNumber(107) + set nobuildFilesRegex($core.String v) { + $_setString(27, v); + } + + @$pb.TagNumber(107) + $core.bool hasNobuildFilesRegex() => $_has(27); + @$pb.TagNumber(107) + void clearNobuildFilesRegex() => clearField(107); + + /// Code and application artifacts that make up this version. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(108) + $61.Deployment get deployment => $_getN(28); + @$pb.TagNumber(108) + set deployment($61.Deployment v) { + setField(108, v); + } + + @$pb.TagNumber(108) + $core.bool hasDeployment() => $_has(28); + @$pb.TagNumber(108) + void clearDeployment() => clearField(108); + @$pb.TagNumber(108) + $61.Deployment ensureDeployment() => $_ensure(28); + + /// Serving URL for this version. Example: + /// "https://myversion-dot-myservice-dot-myapp.appspot.com" + /// + /// @OutputOnly + @$pb.TagNumber(109) + $core.String get versionUrl => $_getSZ(29); + @$pb.TagNumber(109) + set versionUrl($core.String v) { + $_setString(29, v); + } + + @$pb.TagNumber(109) + $core.bool hasVersionUrl() => $_has(29); + @$pb.TagNumber(109) + void clearVersionUrl() => clearField(109); + + /// Cloud Endpoints configuration. + /// + /// If endpoints_api_service is set, the Cloud Endpoints Extensible Service + /// Proxy will be provided to serve the API implemented by the app. + @$pb.TagNumber(110) + EndpointsApiService get endpointsApiService => $_getN(30); + @$pb.TagNumber(110) + set endpointsApiService(EndpointsApiService v) { + setField(110, v); + } + + @$pb.TagNumber(110) + $core.bool hasEndpointsApiService() => $_has(30); + @$pb.TagNumber(110) + void clearEndpointsApiService() => clearField(110); + @$pb.TagNumber(110) + EndpointsApiService ensureEndpointsApiService() => $_ensure(30); + + /// Configures readiness health checking for instances. + /// Unhealthy instances are not put into the backend traffic rotation. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(112) + $60.ReadinessCheck get readinessCheck => $_getN(31); + @$pb.TagNumber(112) + set readinessCheck($60.ReadinessCheck v) { + setField(112, v); + } + + @$pb.TagNumber(112) + $core.bool hasReadinessCheck() => $_has(31); + @$pb.TagNumber(112) + void clearReadinessCheck() => clearField(112); + @$pb.TagNumber(112) + $60.ReadinessCheck ensureReadinessCheck() => $_ensure(31); + + /// Configures liveness health checking for instances. + /// Unhealthy instances are stopped and replaced with new instances + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(113) + $60.LivenessCheck get livenessCheck => $_getN(32); + @$pb.TagNumber(113) + set livenessCheck($60.LivenessCheck v) { + setField(113, v); + } + + @$pb.TagNumber(113) + $core.bool hasLivenessCheck() => $_has(32); + @$pb.TagNumber(113) + void clearLivenessCheck() => clearField(113); + @$pb.TagNumber(113) + $60.LivenessCheck ensureLivenessCheck() => $_ensure(32); + + /// The channel of the runtime to use. Only available for some + /// runtimes. Defaults to the `default` channel. + @$pb.TagNumber(117) + $core.String get runtimeChannel => $_getSZ(33); + @$pb.TagNumber(117) + set runtimeChannel($core.String v) { + $_setString(33, v); + } + + @$pb.TagNumber(117) + $core.bool hasRuntimeChannel() => $_has(33); + @$pb.TagNumber(117) + void clearRuntimeChannel() => clearField(117); + + /// The Google Compute Engine zones that are supported by this version in the + /// App Engine flexible environment. Deprecated. + @$pb.TagNumber(118) + $core.List<$core.String> get zones => $_getList(34); + + /// Enables VPC connectivity for standard apps. + @$pb.TagNumber(121) + VpcAccessConnector get vpcAccessConnector => $_getN(35); + @$pb.TagNumber(121) + set vpcAccessConnector(VpcAccessConnector v) { + setField(121, v); + } + + @$pb.TagNumber(121) + $core.bool hasVpcAccessConnector() => $_has(35); + @$pb.TagNumber(121) + void clearVpcAccessConnector() => clearField(121); + @$pb.TagNumber(121) + VpcAccessConnector ensureVpcAccessConnector() => $_ensure(35); + + /// The entrypoint for the application. + @$pb.TagNumber(122) + Entrypoint get entrypoint => $_getN(36); + @$pb.TagNumber(122) + set entrypoint(Entrypoint v) { + setField(122, v); + } + + @$pb.TagNumber(122) + $core.bool hasEntrypoint() => $_has(36); + @$pb.TagNumber(122) + void clearEntrypoint() => clearField(122); + @$pb.TagNumber(122) + Entrypoint ensureEntrypoint() => $_ensure(36); + + /// Environment variables available to the build environment. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(125) + $core.Map<$core.String, $core.String> get buildEnvVariables => $_getMap(37); + + /// The identity that the deployed version will run as. + /// Admin API will use the App Engine Appspot service account as default if + /// this field is neither provided in app.yaml file nor through CLI flag. + @$pb.TagNumber(127) + $core.String get serviceAccount => $_getSZ(38); + @$pb.TagNumber(127) + set serviceAccount($core.String v) { + $_setString(38, v); + } + + @$pb.TagNumber(127) + $core.bool hasServiceAccount() => $_has(38); + @$pb.TagNumber(127) + void clearServiceAccount() => clearField(127); + + /// Allows App Engine second generation runtimes to access the legacy bundled + /// services. + @$pb.TagNumber(128) + $core.bool get appEngineApis => $_getBF(39); + @$pb.TagNumber(128) + set appEngineApis($core.bool v) { + $_setBool(39, v); + } + + @$pb.TagNumber(128) + $core.bool hasAppEngineApis() => $_has(39); + @$pb.TagNumber(128) + void clearAppEngineApis() => clearField(128); +} + +/// [Cloud Endpoints](https://cloud.google.com/endpoints) configuration. +/// The Endpoints API Service provides tooling for serving Open API and gRPC +/// endpoints via an NGINX proxy. Only valid for App Engine Flexible environment +/// deployments. +/// +/// The fields here refer to the name and configuration ID of a "service" +/// resource in the [Service Management API](https://cloud.google.com/service-management/overview). +class EndpointsApiService extends $pb.GeneratedMessage { + factory EndpointsApiService({ + $core.String? name, + $core.String? configId, + EndpointsApiService_RolloutStrategy? rolloutStrategy, + $core.bool? disableTraceSampling, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (configId != null) { + $result.configId = configId; + } + if (rolloutStrategy != null) { + $result.rolloutStrategy = rolloutStrategy; + } + if (disableTraceSampling != null) { + $result.disableTraceSampling = disableTraceSampling; + } + return $result; + } + EndpointsApiService._() : super(); + factory EndpointsApiService.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EndpointsApiService.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EndpointsApiService', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'configId') + ..e( + 3, _omitFieldNames ? '' : 'rolloutStrategy', $pb.PbFieldType.OE, + defaultOrMaker: + EndpointsApiService_RolloutStrategy.UNSPECIFIED_ROLLOUT_STRATEGY, + valueOf: EndpointsApiService_RolloutStrategy.valueOf, + enumValues: EndpointsApiService_RolloutStrategy.values) + ..aOB(4, _omitFieldNames ? '' : 'disableTraceSampling') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EndpointsApiService clone() => EndpointsApiService()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EndpointsApiService copyWith(void Function(EndpointsApiService) updates) => + super.copyWith((message) => updates(message as EndpointsApiService)) + as EndpointsApiService; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EndpointsApiService create() => EndpointsApiService._(); + EndpointsApiService createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EndpointsApiService getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EndpointsApiService? _defaultInstance; + + /// Endpoints service name which is the name of the "service" resource in the + /// Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Endpoints service configuration ID as specified by the Service Management + /// API. For example "2016-09-19r1". + /// + /// By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`. + /// This means that Endpoints starts up with a particular configuration ID. + /// When a new configuration is rolled out, Endpoints must be given the new + /// configuration ID. The `config_id` field is used to give the configuration + /// ID and is required in this case. + /// + /// Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`. + /// When using this, Endpoints fetches the latest configuration and does not + /// need the configuration ID. In this case, `config_id` must be omitted. + @$pb.TagNumber(2) + $core.String get configId => $_getSZ(1); + @$pb.TagNumber(2) + set configId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasConfigId() => $_has(1); + @$pb.TagNumber(2) + void clearConfigId() => clearField(2); + + /// Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If + /// `MANAGED`, `config_id` must be omitted. + @$pb.TagNumber(3) + EndpointsApiService_RolloutStrategy get rolloutStrategy => $_getN(2); + @$pb.TagNumber(3) + set rolloutStrategy(EndpointsApiService_RolloutStrategy v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasRolloutStrategy() => $_has(2); + @$pb.TagNumber(3) + void clearRolloutStrategy() => clearField(3); + + /// Enable or disable trace sampling. By default, this is set to false for + /// enabled. + @$pb.TagNumber(4) + $core.bool get disableTraceSampling => $_getBF(3); + @$pb.TagNumber(4) + set disableTraceSampling($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisableTraceSampling() => $_has(3); + @$pb.TagNumber(4) + void clearDisableTraceSampling() => clearField(4); +} + +/// Automatic scaling is based on request rate, response latencies, and other +/// application metrics. +class AutomaticScaling extends $pb.GeneratedMessage { + factory AutomaticScaling({ + $51.Duration? coolDownPeriod, + CpuUtilization? cpuUtilization, + $core.int? maxConcurrentRequests, + $core.int? maxIdleInstances, + $core.int? maxTotalInstances, + $51.Duration? maxPendingLatency, + $core.int? minIdleInstances, + $core.int? minTotalInstances, + $51.Duration? minPendingLatency, + RequestUtilization? requestUtilization, + DiskUtilization? diskUtilization, + NetworkUtilization? networkUtilization, + StandardSchedulerSettings? standardSchedulerSettings, + }) { + final $result = create(); + if (coolDownPeriod != null) { + $result.coolDownPeriod = coolDownPeriod; + } + if (cpuUtilization != null) { + $result.cpuUtilization = cpuUtilization; + } + if (maxConcurrentRequests != null) { + $result.maxConcurrentRequests = maxConcurrentRequests; + } + if (maxIdleInstances != null) { + $result.maxIdleInstances = maxIdleInstances; + } + if (maxTotalInstances != null) { + $result.maxTotalInstances = maxTotalInstances; + } + if (maxPendingLatency != null) { + $result.maxPendingLatency = maxPendingLatency; + } + if (minIdleInstances != null) { + $result.minIdleInstances = minIdleInstances; + } + if (minTotalInstances != null) { + $result.minTotalInstances = minTotalInstances; + } + if (minPendingLatency != null) { + $result.minPendingLatency = minPendingLatency; + } + if (requestUtilization != null) { + $result.requestUtilization = requestUtilization; + } + if (diskUtilization != null) { + $result.diskUtilization = diskUtilization; + } + if (networkUtilization != null) { + $result.networkUtilization = networkUtilization; + } + if (standardSchedulerSettings != null) { + $result.standardSchedulerSettings = standardSchedulerSettings; + } + return $result; + } + AutomaticScaling._() : super(); + factory AutomaticScaling.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AutomaticScaling.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AutomaticScaling', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'coolDownPeriod', + subBuilder: $51.Duration.create) + ..aOM(2, _omitFieldNames ? '' : 'cpuUtilization', + subBuilder: CpuUtilization.create) + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'maxConcurrentRequests', $pb.PbFieldType.O3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'maxIdleInstances', $pb.PbFieldType.O3) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'maxTotalInstances', $pb.PbFieldType.O3) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'maxPendingLatency', + subBuilder: $51.Duration.create) + ..a<$core.int>( + 7, _omitFieldNames ? '' : 'minIdleInstances', $pb.PbFieldType.O3) + ..a<$core.int>( + 8, _omitFieldNames ? '' : 'minTotalInstances', $pb.PbFieldType.O3) + ..aOM<$51.Duration>(9, _omitFieldNames ? '' : 'minPendingLatency', + subBuilder: $51.Duration.create) + ..aOM(10, _omitFieldNames ? '' : 'requestUtilization', + subBuilder: RequestUtilization.create) + ..aOM(11, _omitFieldNames ? '' : 'diskUtilization', + subBuilder: DiskUtilization.create) + ..aOM(12, _omitFieldNames ? '' : 'networkUtilization', + subBuilder: NetworkUtilization.create) + ..aOM( + 20, _omitFieldNames ? '' : 'standardSchedulerSettings', + subBuilder: StandardSchedulerSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AutomaticScaling clone() => AutomaticScaling()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AutomaticScaling copyWith(void Function(AutomaticScaling) updates) => + super.copyWith((message) => updates(message as AutomaticScaling)) + as AutomaticScaling; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AutomaticScaling create() => AutomaticScaling._(); + AutomaticScaling createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AutomaticScaling getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AutomaticScaling? _defaultInstance; + + /// The time period that the + /// [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) + /// should wait before it starts collecting information from a new instance. + /// This prevents the autoscaler from collecting information when the instance + /// is initializing, during which the collected usage would not be reliable. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(1) + $51.Duration get coolDownPeriod => $_getN(0); + @$pb.TagNumber(1) + set coolDownPeriod($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCoolDownPeriod() => $_has(0); + @$pb.TagNumber(1) + void clearCoolDownPeriod() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureCoolDownPeriod() => $_ensure(0); + + /// Target scaling by CPU usage. + @$pb.TagNumber(2) + CpuUtilization get cpuUtilization => $_getN(1); + @$pb.TagNumber(2) + set cpuUtilization(CpuUtilization v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCpuUtilization() => $_has(1); + @$pb.TagNumber(2) + void clearCpuUtilization() => clearField(2); + @$pb.TagNumber(2) + CpuUtilization ensureCpuUtilization() => $_ensure(1); + + /// Number of concurrent requests an automatic scaling instance can accept + /// before the scheduler spawns a new instance. + /// + /// Defaults to a runtime-specific value. + @$pb.TagNumber(3) + $core.int get maxConcurrentRequests => $_getIZ(2); + @$pb.TagNumber(3) + set maxConcurrentRequests($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMaxConcurrentRequests() => $_has(2); + @$pb.TagNumber(3) + void clearMaxConcurrentRequests() => clearField(3); + + /// Maximum number of idle instances that should be maintained for this + /// version. + @$pb.TagNumber(4) + $core.int get maxIdleInstances => $_getIZ(3); + @$pb.TagNumber(4) + set maxIdleInstances($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMaxIdleInstances() => $_has(3); + @$pb.TagNumber(4) + void clearMaxIdleInstances() => clearField(4); + + /// Maximum number of instances that should be started to handle requests for + /// this version. + @$pb.TagNumber(5) + $core.int get maxTotalInstances => $_getIZ(4); + @$pb.TagNumber(5) + set maxTotalInstances($core.int v) { + $_setSignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasMaxTotalInstances() => $_has(4); + @$pb.TagNumber(5) + void clearMaxTotalInstances() => clearField(5); + + /// Maximum amount of time that a request should wait in the pending queue + /// before starting a new instance to handle it. + @$pb.TagNumber(6) + $51.Duration get maxPendingLatency => $_getN(5); + @$pb.TagNumber(6) + set maxPendingLatency($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasMaxPendingLatency() => $_has(5); + @$pb.TagNumber(6) + void clearMaxPendingLatency() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureMaxPendingLatency() => $_ensure(5); + + /// Minimum number of idle instances that should be maintained for + /// this version. Only applicable for the default version of a service. + @$pb.TagNumber(7) + $core.int get minIdleInstances => $_getIZ(6); + @$pb.TagNumber(7) + set minIdleInstances($core.int v) { + $_setSignedInt32(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasMinIdleInstances() => $_has(6); + @$pb.TagNumber(7) + void clearMinIdleInstances() => clearField(7); + + /// Minimum number of running instances that should be maintained for this + /// version. + @$pb.TagNumber(8) + $core.int get minTotalInstances => $_getIZ(7); + @$pb.TagNumber(8) + set minTotalInstances($core.int v) { + $_setSignedInt32(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasMinTotalInstances() => $_has(7); + @$pb.TagNumber(8) + void clearMinTotalInstances() => clearField(8); + + /// Minimum amount of time a request should wait in the pending queue before + /// starting a new instance to handle it. + @$pb.TagNumber(9) + $51.Duration get minPendingLatency => $_getN(8); + @$pb.TagNumber(9) + set minPendingLatency($51.Duration v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasMinPendingLatency() => $_has(8); + @$pb.TagNumber(9) + void clearMinPendingLatency() => clearField(9); + @$pb.TagNumber(9) + $51.Duration ensureMinPendingLatency() => $_ensure(8); + + /// Target scaling by request utilization. + @$pb.TagNumber(10) + RequestUtilization get requestUtilization => $_getN(9); + @$pb.TagNumber(10) + set requestUtilization(RequestUtilization v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasRequestUtilization() => $_has(9); + @$pb.TagNumber(10) + void clearRequestUtilization() => clearField(10); + @$pb.TagNumber(10) + RequestUtilization ensureRequestUtilization() => $_ensure(9); + + /// Target scaling by disk usage. + @$pb.TagNumber(11) + DiskUtilization get diskUtilization => $_getN(10); + @$pb.TagNumber(11) + set diskUtilization(DiskUtilization v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasDiskUtilization() => $_has(10); + @$pb.TagNumber(11) + void clearDiskUtilization() => clearField(11); + @$pb.TagNumber(11) + DiskUtilization ensureDiskUtilization() => $_ensure(10); + + /// Target scaling by network usage. + @$pb.TagNumber(12) + NetworkUtilization get networkUtilization => $_getN(11); + @$pb.TagNumber(12) + set networkUtilization(NetworkUtilization v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasNetworkUtilization() => $_has(11); + @$pb.TagNumber(12) + void clearNetworkUtilization() => clearField(12); + @$pb.TagNumber(12) + NetworkUtilization ensureNetworkUtilization() => $_ensure(11); + + /// Scheduler settings for standard environment. + @$pb.TagNumber(20) + StandardSchedulerSettings get standardSchedulerSettings => $_getN(12); + @$pb.TagNumber(20) + set standardSchedulerSettings(StandardSchedulerSettings v) { + setField(20, v); + } + + @$pb.TagNumber(20) + $core.bool hasStandardSchedulerSettings() => $_has(12); + @$pb.TagNumber(20) + void clearStandardSchedulerSettings() => clearField(20); + @$pb.TagNumber(20) + StandardSchedulerSettings ensureStandardSchedulerSettings() => $_ensure(12); +} + +/// A service with basic scaling will create an instance when the application +/// receives a request. The instance will be turned down when the app becomes +/// idle. Basic scaling is ideal for work that is intermittent or driven by +/// user activity. +class BasicScaling extends $pb.GeneratedMessage { + factory BasicScaling({ + $51.Duration? idleTimeout, + $core.int? maxInstances, + }) { + final $result = create(); + if (idleTimeout != null) { + $result.idleTimeout = idleTimeout; + } + if (maxInstances != null) { + $result.maxInstances = maxInstances; + } + return $result; + } + BasicScaling._() : super(); + factory BasicScaling.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BasicScaling.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BasicScaling', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'idleTimeout', + subBuilder: $51.Duration.create) + ..a<$core.int>(2, _omitFieldNames ? '' : 'maxInstances', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BasicScaling clone() => BasicScaling()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BasicScaling copyWith(void Function(BasicScaling) updates) => + super.copyWith((message) => updates(message as BasicScaling)) + as BasicScaling; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BasicScaling create() => BasicScaling._(); + BasicScaling createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BasicScaling getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BasicScaling? _defaultInstance; + + /// Duration of time after the last request that an instance must wait before + /// the instance is shut down. + @$pb.TagNumber(1) + $51.Duration get idleTimeout => $_getN(0); + @$pb.TagNumber(1) + set idleTimeout($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasIdleTimeout() => $_has(0); + @$pb.TagNumber(1) + void clearIdleTimeout() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureIdleTimeout() => $_ensure(0); + + /// Maximum number of instances to create for this version. + @$pb.TagNumber(2) + $core.int get maxInstances => $_getIZ(1); + @$pb.TagNumber(2) + set maxInstances($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMaxInstances() => $_has(1); + @$pb.TagNumber(2) + void clearMaxInstances() => clearField(2); +} + +/// A service with manual scaling runs continuously, allowing you to perform +/// complex initialization and rely on the state of its memory over time. +class ManualScaling extends $pb.GeneratedMessage { + factory ManualScaling({ + $core.int? instances, + }) { + final $result = create(); + if (instances != null) { + $result.instances = instances; + } + return $result; + } + ManualScaling._() : super(); + factory ManualScaling.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ManualScaling.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ManualScaling', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'instances', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ManualScaling clone() => ManualScaling()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ManualScaling copyWith(void Function(ManualScaling) updates) => + super.copyWith((message) => updates(message as ManualScaling)) + as ManualScaling; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ManualScaling create() => ManualScaling._(); + ManualScaling createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ManualScaling getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ManualScaling? _defaultInstance; + + /// Number of instances to assign to the service at the start. This number + /// can later be altered by using the + /// [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) + /// `set_num_instances()` function. + @$pb.TagNumber(1) + $core.int get instances => $_getIZ(0); + @$pb.TagNumber(1) + set instances($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInstances() => $_has(0); + @$pb.TagNumber(1) + void clearInstances() => clearField(1); +} + +/// Target scaling by CPU usage. +class CpuUtilization extends $pb.GeneratedMessage { + factory CpuUtilization({ + $51.Duration? aggregationWindowLength, + $core.double? targetUtilization, + }) { + final $result = create(); + if (aggregationWindowLength != null) { + $result.aggregationWindowLength = aggregationWindowLength; + } + if (targetUtilization != null) { + $result.targetUtilization = targetUtilization; + } + return $result; + } + CpuUtilization._() : super(); + factory CpuUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CpuUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CpuUtilization', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'aggregationWindowLength', + subBuilder: $51.Duration.create) + ..a<$core.double>( + 2, _omitFieldNames ? '' : 'targetUtilization', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CpuUtilization clone() => CpuUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CpuUtilization copyWith(void Function(CpuUtilization) updates) => + super.copyWith((message) => updates(message as CpuUtilization)) + as CpuUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CpuUtilization create() => CpuUtilization._(); + CpuUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CpuUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CpuUtilization? _defaultInstance; + + /// Period of time over which CPU utilization is calculated. + @$pb.TagNumber(1) + $51.Duration get aggregationWindowLength => $_getN(0); + @$pb.TagNumber(1) + set aggregationWindowLength($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasAggregationWindowLength() => $_has(0); + @$pb.TagNumber(1) + void clearAggregationWindowLength() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureAggregationWindowLength() => $_ensure(0); + + /// Target CPU utilization ratio to maintain when scaling. Must be between 0 + /// and 1. + @$pb.TagNumber(2) + $core.double get targetUtilization => $_getN(1); + @$pb.TagNumber(2) + set targetUtilization($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetUtilization() => $_has(1); + @$pb.TagNumber(2) + void clearTargetUtilization() => clearField(2); +} + +/// Target scaling by request utilization. +/// Only applicable in the App Engine flexible environment. +class RequestUtilization extends $pb.GeneratedMessage { + factory RequestUtilization({ + $core.int? targetRequestCountPerSecond, + $core.int? targetConcurrentRequests, + }) { + final $result = create(); + if (targetRequestCountPerSecond != null) { + $result.targetRequestCountPerSecond = targetRequestCountPerSecond; + } + if (targetConcurrentRequests != null) { + $result.targetConcurrentRequests = targetConcurrentRequests; + } + return $result; + } + RequestUtilization._() : super(); + factory RequestUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RequestUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RequestUtilization', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'targetRequestCountPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'targetConcurrentRequests', + $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RequestUtilization clone() => RequestUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RequestUtilization copyWith(void Function(RequestUtilization) updates) => + super.copyWith((message) => updates(message as RequestUtilization)) + as RequestUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RequestUtilization create() => RequestUtilization._(); + RequestUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RequestUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RequestUtilization? _defaultInstance; + + /// Target requests per second. + @$pb.TagNumber(1) + $core.int get targetRequestCountPerSecond => $_getIZ(0); + @$pb.TagNumber(1) + set targetRequestCountPerSecond($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTargetRequestCountPerSecond() => $_has(0); + @$pb.TagNumber(1) + void clearTargetRequestCountPerSecond() => clearField(1); + + /// Target number of concurrent requests. + @$pb.TagNumber(2) + $core.int get targetConcurrentRequests => $_getIZ(1); + @$pb.TagNumber(2) + set targetConcurrentRequests($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetConcurrentRequests() => $_has(1); + @$pb.TagNumber(2) + void clearTargetConcurrentRequests() => clearField(2); +} + +/// Target scaling by disk usage. +/// Only applicable in the App Engine flexible environment. +class DiskUtilization extends $pb.GeneratedMessage { + factory DiskUtilization({ + $core.int? targetWriteBytesPerSecond, + $core.int? targetWriteOpsPerSecond, + $core.int? targetReadBytesPerSecond, + $core.int? targetReadOpsPerSecond, + }) { + final $result = create(); + if (targetWriteBytesPerSecond != null) { + $result.targetWriteBytesPerSecond = targetWriteBytesPerSecond; + } + if (targetWriteOpsPerSecond != null) { + $result.targetWriteOpsPerSecond = targetWriteOpsPerSecond; + } + if (targetReadBytesPerSecond != null) { + $result.targetReadBytesPerSecond = targetReadBytesPerSecond; + } + if (targetReadOpsPerSecond != null) { + $result.targetReadOpsPerSecond = targetReadOpsPerSecond; + } + return $result; + } + DiskUtilization._() : super(); + factory DiskUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DiskUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DiskUtilization', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.int>(14, _omitFieldNames ? '' : 'targetWriteBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(15, _omitFieldNames ? '' : 'targetWriteOpsPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(16, _omitFieldNames ? '' : 'targetReadBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>( + 17, _omitFieldNames ? '' : 'targetReadOpsPerSecond', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DiskUtilization clone() => DiskUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DiskUtilization copyWith(void Function(DiskUtilization) updates) => + super.copyWith((message) => updates(message as DiskUtilization)) + as DiskUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DiskUtilization create() => DiskUtilization._(); + DiskUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DiskUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DiskUtilization? _defaultInstance; + + /// Target bytes written per second. + @$pb.TagNumber(14) + $core.int get targetWriteBytesPerSecond => $_getIZ(0); + @$pb.TagNumber(14) + set targetWriteBytesPerSecond($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(14) + $core.bool hasTargetWriteBytesPerSecond() => $_has(0); + @$pb.TagNumber(14) + void clearTargetWriteBytesPerSecond() => clearField(14); + + /// Target ops written per second. + @$pb.TagNumber(15) + $core.int get targetWriteOpsPerSecond => $_getIZ(1); + @$pb.TagNumber(15) + set targetWriteOpsPerSecond($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(15) + $core.bool hasTargetWriteOpsPerSecond() => $_has(1); + @$pb.TagNumber(15) + void clearTargetWriteOpsPerSecond() => clearField(15); + + /// Target bytes read per second. + @$pb.TagNumber(16) + $core.int get targetReadBytesPerSecond => $_getIZ(2); + @$pb.TagNumber(16) + set targetReadBytesPerSecond($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(16) + $core.bool hasTargetReadBytesPerSecond() => $_has(2); + @$pb.TagNumber(16) + void clearTargetReadBytesPerSecond() => clearField(16); + + /// Target ops read per seconds. + @$pb.TagNumber(17) + $core.int get targetReadOpsPerSecond => $_getIZ(3); + @$pb.TagNumber(17) + set targetReadOpsPerSecond($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(17) + $core.bool hasTargetReadOpsPerSecond() => $_has(3); + @$pb.TagNumber(17) + void clearTargetReadOpsPerSecond() => clearField(17); +} + +/// Target scaling by network usage. +/// Only applicable in the App Engine flexible environment. +class NetworkUtilization extends $pb.GeneratedMessage { + factory NetworkUtilization({ + $core.int? targetSentBytesPerSecond, + $core.int? targetSentPacketsPerSecond, + $core.int? targetReceivedBytesPerSecond, + $core.int? targetReceivedPacketsPerSecond, + }) { + final $result = create(); + if (targetSentBytesPerSecond != null) { + $result.targetSentBytesPerSecond = targetSentBytesPerSecond; + } + if (targetSentPacketsPerSecond != null) { + $result.targetSentPacketsPerSecond = targetSentPacketsPerSecond; + } + if (targetReceivedBytesPerSecond != null) { + $result.targetReceivedBytesPerSecond = targetReceivedBytesPerSecond; + } + if (targetReceivedPacketsPerSecond != null) { + $result.targetReceivedPacketsPerSecond = targetReceivedPacketsPerSecond; + } + return $result; + } + NetworkUtilization._() : super(); + factory NetworkUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NetworkUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NetworkUtilization', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'targetSentBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(11, _omitFieldNames ? '' : 'targetSentPacketsPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(12, _omitFieldNames ? '' : 'targetReceivedBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(13, _omitFieldNames ? '' : 'targetReceivedPacketsPerSecond', + $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NetworkUtilization clone() => NetworkUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NetworkUtilization copyWith(void Function(NetworkUtilization) updates) => + super.copyWith((message) => updates(message as NetworkUtilization)) + as NetworkUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NetworkUtilization create() => NetworkUtilization._(); + NetworkUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NetworkUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NetworkUtilization? _defaultInstance; + + /// Target bytes sent per second. + @$pb.TagNumber(1) + $core.int get targetSentBytesPerSecond => $_getIZ(0); + @$pb.TagNumber(1) + set targetSentBytesPerSecond($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTargetSentBytesPerSecond() => $_has(0); + @$pb.TagNumber(1) + void clearTargetSentBytesPerSecond() => clearField(1); + + /// Target packets sent per second. + @$pb.TagNumber(11) + $core.int get targetSentPacketsPerSecond => $_getIZ(1); + @$pb.TagNumber(11) + set targetSentPacketsPerSecond($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(11) + $core.bool hasTargetSentPacketsPerSecond() => $_has(1); + @$pb.TagNumber(11) + void clearTargetSentPacketsPerSecond() => clearField(11); + + /// Target bytes received per second. + @$pb.TagNumber(12) + $core.int get targetReceivedBytesPerSecond => $_getIZ(2); + @$pb.TagNumber(12) + set targetReceivedBytesPerSecond($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(12) + $core.bool hasTargetReceivedBytesPerSecond() => $_has(2); + @$pb.TagNumber(12) + void clearTargetReceivedBytesPerSecond() => clearField(12); + + /// Target packets received per second. + @$pb.TagNumber(13) + $core.int get targetReceivedPacketsPerSecond => $_getIZ(3); + @$pb.TagNumber(13) + set targetReceivedPacketsPerSecond($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(13) + $core.bool hasTargetReceivedPacketsPerSecond() => $_has(3); + @$pb.TagNumber(13) + void clearTargetReceivedPacketsPerSecond() => clearField(13); +} + +/// Scheduler settings for standard environment. +class StandardSchedulerSettings extends $pb.GeneratedMessage { + factory StandardSchedulerSettings({ + $core.double? targetCpuUtilization, + $core.double? targetThroughputUtilization, + $core.int? minInstances, + $core.int? maxInstances, + }) { + final $result = create(); + if (targetCpuUtilization != null) { + $result.targetCpuUtilization = targetCpuUtilization; + } + if (targetThroughputUtilization != null) { + $result.targetThroughputUtilization = targetThroughputUtilization; + } + if (minInstances != null) { + $result.minInstances = minInstances; + } + if (maxInstances != null) { + $result.maxInstances = maxInstances; + } + return $result; + } + StandardSchedulerSettings._() : super(); + factory StandardSchedulerSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory StandardSchedulerSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'StandardSchedulerSettings', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.double>( + 1, _omitFieldNames ? '' : 'targetCpuUtilization', $pb.PbFieldType.OD) + ..a<$core.double>(2, _omitFieldNames ? '' : 'targetThroughputUtilization', + $pb.PbFieldType.OD) + ..a<$core.int>(3, _omitFieldNames ? '' : 'minInstances', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'maxInstances', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StandardSchedulerSettings clone() => + StandardSchedulerSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StandardSchedulerSettings copyWith( + void Function(StandardSchedulerSettings) updates) => + super.copyWith((message) => updates(message as StandardSchedulerSettings)) + as StandardSchedulerSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StandardSchedulerSettings create() => StandardSchedulerSettings._(); + StandardSchedulerSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StandardSchedulerSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static StandardSchedulerSettings? _defaultInstance; + + /// Target CPU utilization ratio to maintain when scaling. + @$pb.TagNumber(1) + $core.double get targetCpuUtilization => $_getN(0); + @$pb.TagNumber(1) + set targetCpuUtilization($core.double v) { + $_setDouble(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTargetCpuUtilization() => $_has(0); + @$pb.TagNumber(1) + void clearTargetCpuUtilization() => clearField(1); + + /// Target throughput utilization ratio to maintain when scaling + @$pb.TagNumber(2) + $core.double get targetThroughputUtilization => $_getN(1); + @$pb.TagNumber(2) + set targetThroughputUtilization($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetThroughputUtilization() => $_has(1); + @$pb.TagNumber(2) + void clearTargetThroughputUtilization() => clearField(2); + + /// Minimum number of instances to run for this version. Set to zero to disable + /// `min_instances` configuration. + @$pb.TagNumber(3) + $core.int get minInstances => $_getIZ(2); + @$pb.TagNumber(3) + set minInstances($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMinInstances() => $_has(2); + @$pb.TagNumber(3) + void clearMinInstances() => clearField(3); + + /// Maximum number of instances to run for this version. Set to zero to disable + /// `max_instances` configuration. + @$pb.TagNumber(4) + $core.int get maxInstances => $_getIZ(3); + @$pb.TagNumber(4) + set maxInstances($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMaxInstances() => $_has(3); + @$pb.TagNumber(4) + void clearMaxInstances() => clearField(4); +} + +/// Extra network settings. +/// Only applicable in the App Engine flexible environment. +class Network extends $pb.GeneratedMessage { + factory Network({ + $core.Iterable<$core.String>? forwardedPorts, + $core.String? instanceTag, + $core.String? name, + $core.String? subnetworkName, + $core.bool? sessionAffinity, + }) { + final $result = create(); + if (forwardedPorts != null) { + $result.forwardedPorts.addAll(forwardedPorts); + } + if (instanceTag != null) { + $result.instanceTag = instanceTag; + } + if (name != null) { + $result.name = name; + } + if (subnetworkName != null) { + $result.subnetworkName = subnetworkName; + } + if (sessionAffinity != null) { + $result.sessionAffinity = sessionAffinity; + } + return $result; + } + Network._() : super(); + factory Network.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Network.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Network', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'forwardedPorts') + ..aOS(2, _omitFieldNames ? '' : 'instanceTag') + ..aOS(3, _omitFieldNames ? '' : 'name') + ..aOS(4, _omitFieldNames ? '' : 'subnetworkName') + ..aOB(5, _omitFieldNames ? '' : 'sessionAffinity') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Network clone() => Network()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Network copyWith(void Function(Network) updates) => + super.copyWith((message) => updates(message as Network)) as Network; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Network create() => Network._(); + Network createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Network getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Network? _defaultInstance; + + /// List of ports, or port pairs, to forward from the virtual machine to the + /// application container. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(1) + $core.List<$core.String> get forwardedPorts => $_getList(0); + + /// Tag to apply to the instance during creation. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(2) + $core.String get instanceTag => $_getSZ(1); + @$pb.TagNumber(2) + set instanceTag($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasInstanceTag() => $_has(1); + @$pb.TagNumber(2) + void clearInstanceTag() => clearField(2); + + /// Google Compute Engine network where the virtual machines are created. + /// Specify the short name, not the resource path. + /// + /// Defaults to `default`. + @$pb.TagNumber(3) + $core.String get name => $_getSZ(2); + @$pb.TagNumber(3) + set name($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasName() => $_has(2); + @$pb.TagNumber(3) + void clearName() => clearField(3); + + /// Google Cloud Platform sub-network where the virtual machines are created. + /// Specify the short name, not the resource path. + /// + /// If a subnetwork name is specified, a network name will also be required + /// unless it is for the default network. + /// + /// * If the network that the instance is being created in is a Legacy network, + /// then the IP address is allocated from the IPv4Range. + /// * If the network that the instance is being created in is an auto Subnet + /// Mode Network, then only network name should be specified (not the + /// subnetwork_name) and the IP address is created from the IPCidrRange of the + /// subnetwork that exists in that zone for that network. + /// * If the network that the instance is being created in is a custom Subnet + /// Mode Network, then the subnetwork_name must be specified and the + /// IP address is created from the IPCidrRange of the subnetwork. + /// + /// If specified, the subnetwork must exist in the same region as the + /// App Engine flexible environment application. + @$pb.TagNumber(4) + $core.String get subnetworkName => $_getSZ(3); + @$pb.TagNumber(4) + set subnetworkName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSubnetworkName() => $_has(3); + @$pb.TagNumber(4) + void clearSubnetworkName() => clearField(4); + + /// Enable session affinity. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(5) + $core.bool get sessionAffinity => $_getBF(4); + @$pb.TagNumber(5) + set sessionAffinity($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasSessionAffinity() => $_has(4); + @$pb.TagNumber(5) + void clearSessionAffinity() => clearField(5); +} + +/// Volumes mounted within the app container. +/// Only applicable in the App Engine flexible environment. +class Volume extends $pb.GeneratedMessage { + factory Volume({ + $core.String? name, + $core.String? volumeType, + $core.double? sizeGb, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (volumeType != null) { + $result.volumeType = volumeType; + } + if (sizeGb != null) { + $result.sizeGb = sizeGb; + } + return $result; + } + Volume._() : super(); + factory Volume.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Volume.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Volume', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'volumeType') + ..a<$core.double>(3, _omitFieldNames ? '' : 'sizeGb', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Volume clone() => Volume()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Volume copyWith(void Function(Volume) updates) => + super.copyWith((message) => updates(message as Volume)) as Volume; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Volume create() => Volume._(); + Volume createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Volume getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Volume? _defaultInstance; + + /// Unique name for the volume. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Underlying volume type, e.g. 'tmpfs'. + @$pb.TagNumber(2) + $core.String get volumeType => $_getSZ(1); + @$pb.TagNumber(2) + set volumeType($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVolumeType() => $_has(1); + @$pb.TagNumber(2) + void clearVolumeType() => clearField(2); + + /// Volume size in gigabytes. + @$pb.TagNumber(3) + $core.double get sizeGb => $_getN(2); + @$pb.TagNumber(3) + set sizeGb($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSizeGb() => $_has(2); + @$pb.TagNumber(3) + void clearSizeGb() => clearField(3); +} + +/// Machine resources for a version. +class Resources extends $pb.GeneratedMessage { + factory Resources({ + $core.double? cpu, + $core.double? diskGb, + $core.double? memoryGb, + $core.Iterable? volumes, + $core.String? kmsKeyReference, + }) { + final $result = create(); + if (cpu != null) { + $result.cpu = cpu; + } + if (diskGb != null) { + $result.diskGb = diskGb; + } + if (memoryGb != null) { + $result.memoryGb = memoryGb; + } + if (volumes != null) { + $result.volumes.addAll(volumes); + } + if (kmsKeyReference != null) { + $result.kmsKeyReference = kmsKeyReference; + } + return $result; + } + Resources._() : super(); + factory Resources.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Resources.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Resources', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..a<$core.double>(1, _omitFieldNames ? '' : 'cpu', $pb.PbFieldType.OD) + ..a<$core.double>(2, _omitFieldNames ? '' : 'diskGb', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'memoryGb', $pb.PbFieldType.OD) + ..pc(4, _omitFieldNames ? '' : 'volumes', $pb.PbFieldType.PM, + subBuilder: Volume.create) + ..aOS(5, _omitFieldNames ? '' : 'kmsKeyReference') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Resources clone() => Resources()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Resources copyWith(void Function(Resources) updates) => + super.copyWith((message) => updates(message as Resources)) as Resources; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Resources create() => Resources._(); + Resources createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Resources getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Resources? _defaultInstance; + + /// Number of CPU cores needed. + @$pb.TagNumber(1) + $core.double get cpu => $_getN(0); + @$pb.TagNumber(1) + set cpu($core.double v) { + $_setDouble(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCpu() => $_has(0); + @$pb.TagNumber(1) + void clearCpu() => clearField(1); + + /// Disk size (GB) needed. + @$pb.TagNumber(2) + $core.double get diskGb => $_getN(1); + @$pb.TagNumber(2) + set diskGb($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDiskGb() => $_has(1); + @$pb.TagNumber(2) + void clearDiskGb() => clearField(2); + + /// Memory (GB) needed. + @$pb.TagNumber(3) + $core.double get memoryGb => $_getN(2); + @$pb.TagNumber(3) + set memoryGb($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMemoryGb() => $_has(2); + @$pb.TagNumber(3) + void clearMemoryGb() => clearField(3); + + /// User specified volumes. + @$pb.TagNumber(4) + $core.List get volumes => $_getList(3); + + /// The name of the encryption key that is stored in Google Cloud KMS. + /// Only should be used by Cloud Composer to encrypt the vm disk + @$pb.TagNumber(5) + $core.String get kmsKeyReference => $_getSZ(4); + @$pb.TagNumber(5) + set kmsKeyReference($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasKmsKeyReference() => $_has(4); + @$pb.TagNumber(5) + void clearKmsKeyReference() => clearField(5); +} + +/// VPC access connector specification. +class VpcAccessConnector extends $pb.GeneratedMessage { + factory VpcAccessConnector({ + $core.String? name, + VpcAccessConnector_EgressSetting? egressSetting, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (egressSetting != null) { + $result.egressSetting = egressSetting; + } + return $result; + } + VpcAccessConnector._() : super(); + factory VpcAccessConnector.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory VpcAccessConnector.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'VpcAccessConnector', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'egressSetting', $pb.PbFieldType.OE, + defaultOrMaker: + VpcAccessConnector_EgressSetting.EGRESS_SETTING_UNSPECIFIED, + valueOf: VpcAccessConnector_EgressSetting.valueOf, + enumValues: VpcAccessConnector_EgressSetting.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + VpcAccessConnector clone() => VpcAccessConnector()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VpcAccessConnector copyWith(void Function(VpcAccessConnector) updates) => + super.copyWith((message) => updates(message as VpcAccessConnector)) + as VpcAccessConnector; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static VpcAccessConnector create() => VpcAccessConnector._(); + VpcAccessConnector createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static VpcAccessConnector getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static VpcAccessConnector? _defaultInstance; + + /// Full Serverless VPC Access Connector name e.g. + /// /projects/my-project/locations/us-central1/connectors/c1. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The egress setting for the connector, controlling what traffic is diverted + /// through it. + @$pb.TagNumber(2) + VpcAccessConnector_EgressSetting get egressSetting => $_getN(1); + @$pb.TagNumber(2) + set egressSetting(VpcAccessConnector_EgressSetting v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEgressSetting() => $_has(1); + @$pb.TagNumber(2) + void clearEgressSetting() => clearField(2); +} + +enum Entrypoint_Command { shell, notSet } + +/// The entrypoint for the application. +class Entrypoint extends $pb.GeneratedMessage { + factory Entrypoint({ + $core.String? shell, + }) { + final $result = create(); + if (shell != null) { + $result.shell = shell; + } + return $result; + } + Entrypoint._() : super(); + factory Entrypoint.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Entrypoint.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Entrypoint_Command> + _Entrypoint_CommandByTag = { + 1: Entrypoint_Command.shell, + 0: Entrypoint_Command.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Entrypoint', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.appengine.v1'), + createEmptyInstance: create) + ..oo(0, [1]) + ..aOS(1, _omitFieldNames ? '' : 'shell') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Entrypoint clone() => Entrypoint()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Entrypoint copyWith(void Function(Entrypoint) updates) => + super.copyWith((message) => updates(message as Entrypoint)) as Entrypoint; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Entrypoint create() => Entrypoint._(); + Entrypoint createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Entrypoint getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Entrypoint? _defaultInstance; + + Entrypoint_Command whichCommand() => + _Entrypoint_CommandByTag[$_whichOneof(0)]!; + void clearCommand() => clearField($_whichOneof(0)); + + /// The format should be a shell command that can be fed to `bash -c`. + @$pb.TagNumber(1) + $core.String get shell => $_getSZ(0); + @$pb.TagNumber(1) + set shell($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasShell() => $_has(0); + @$pb.TagNumber(1) + void clearShell() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pbenum.dart new file mode 100644 index 00000000..1d1cd5d2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pbenum.dart @@ -0,0 +1,142 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/version.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Available inbound services. +class InboundServiceType extends $pb.ProtobufEnum { + static const InboundServiceType INBOUND_SERVICE_UNSPECIFIED = + InboundServiceType._( + 0, _omitEnumNames ? '' : 'INBOUND_SERVICE_UNSPECIFIED'); + static const InboundServiceType INBOUND_SERVICE_MAIL = + InboundServiceType._(1, _omitEnumNames ? '' : 'INBOUND_SERVICE_MAIL'); + static const InboundServiceType INBOUND_SERVICE_MAIL_BOUNCE = + InboundServiceType._( + 2, _omitEnumNames ? '' : 'INBOUND_SERVICE_MAIL_BOUNCE'); + static const InboundServiceType INBOUND_SERVICE_XMPP_ERROR = + InboundServiceType._( + 3, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_ERROR'); + static const InboundServiceType INBOUND_SERVICE_XMPP_MESSAGE = + InboundServiceType._( + 4, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_MESSAGE'); + static const InboundServiceType INBOUND_SERVICE_XMPP_SUBSCRIBE = + InboundServiceType._( + 5, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_SUBSCRIBE'); + static const InboundServiceType INBOUND_SERVICE_XMPP_PRESENCE = + InboundServiceType._( + 6, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_PRESENCE'); + static const InboundServiceType INBOUND_SERVICE_CHANNEL_PRESENCE = + InboundServiceType._( + 7, _omitEnumNames ? '' : 'INBOUND_SERVICE_CHANNEL_PRESENCE'); + static const InboundServiceType INBOUND_SERVICE_WARMUP = + InboundServiceType._(9, _omitEnumNames ? '' : 'INBOUND_SERVICE_WARMUP'); + + static const $core.List values = [ + INBOUND_SERVICE_UNSPECIFIED, + INBOUND_SERVICE_MAIL, + INBOUND_SERVICE_MAIL_BOUNCE, + INBOUND_SERVICE_XMPP_ERROR, + INBOUND_SERVICE_XMPP_MESSAGE, + INBOUND_SERVICE_XMPP_SUBSCRIBE, + INBOUND_SERVICE_XMPP_PRESENCE, + INBOUND_SERVICE_CHANNEL_PRESENCE, + INBOUND_SERVICE_WARMUP, + ]; + + static final $core.Map<$core.int, InboundServiceType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static InboundServiceType? valueOf($core.int value) => _byValue[value]; + + const InboundServiceType._($core.int v, $core.String n) : super(v, n); +} + +/// Run states of a version. +class ServingStatus extends $pb.ProtobufEnum { + static const ServingStatus SERVING_STATUS_UNSPECIFIED = + ServingStatus._(0, _omitEnumNames ? '' : 'SERVING_STATUS_UNSPECIFIED'); + static const ServingStatus SERVING = + ServingStatus._(1, _omitEnumNames ? '' : 'SERVING'); + static const ServingStatus STOPPED = + ServingStatus._(2, _omitEnumNames ? '' : 'STOPPED'); + + static const $core.List values = [ + SERVING_STATUS_UNSPECIFIED, + SERVING, + STOPPED, + ]; + + static final $core.Map<$core.int, ServingStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServingStatus? valueOf($core.int value) => _byValue[value]; + + const ServingStatus._($core.int v, $core.String n) : super(v, n); +} + +/// Available rollout strategies. +class EndpointsApiService_RolloutStrategy extends $pb.ProtobufEnum { + static const EndpointsApiService_RolloutStrategy + UNSPECIFIED_ROLLOUT_STRATEGY = EndpointsApiService_RolloutStrategy._( + 0, _omitEnumNames ? '' : 'UNSPECIFIED_ROLLOUT_STRATEGY'); + static const EndpointsApiService_RolloutStrategy FIXED = + EndpointsApiService_RolloutStrategy._(1, _omitEnumNames ? '' : 'FIXED'); + static const EndpointsApiService_RolloutStrategy MANAGED = + EndpointsApiService_RolloutStrategy._(2, _omitEnumNames ? '' : 'MANAGED'); + + static const $core.List values = + [ + UNSPECIFIED_ROLLOUT_STRATEGY, + FIXED, + MANAGED, + ]; + + static final $core.Map<$core.int, EndpointsApiService_RolloutStrategy> + _byValue = $pb.ProtobufEnum.initByValue(values); + static EndpointsApiService_RolloutStrategy? valueOf($core.int value) => + _byValue[value]; + + const EndpointsApiService_RolloutStrategy._($core.int v, $core.String n) + : super(v, n); +} + +/// Available egress settings. +/// +/// This controls what traffic is diverted through the VPC Access Connector +/// resource. By default PRIVATE_IP_RANGES will be used. +class VpcAccessConnector_EgressSetting extends $pb.ProtobufEnum { + static const VpcAccessConnector_EgressSetting EGRESS_SETTING_UNSPECIFIED = + VpcAccessConnector_EgressSetting._( + 0, _omitEnumNames ? '' : 'EGRESS_SETTING_UNSPECIFIED'); + static const VpcAccessConnector_EgressSetting ALL_TRAFFIC = + VpcAccessConnector_EgressSetting._( + 1, _omitEnumNames ? '' : 'ALL_TRAFFIC'); + static const VpcAccessConnector_EgressSetting PRIVATE_IP_RANGES = + VpcAccessConnector_EgressSetting._( + 2, _omitEnumNames ? '' : 'PRIVATE_IP_RANGES'); + + static const $core.List values = + [ + EGRESS_SETTING_UNSPECIFIED, + ALL_TRAFFIC, + PRIVATE_IP_RANGES, + ]; + + static final $core.Map<$core.int, VpcAccessConnector_EgressSetting> _byValue = + $pb.ProtobufEnum.initByValue(values); + static VpcAccessConnector_EgressSetting? valueOf($core.int value) => + _byValue[value]; + + const VpcAccessConnector_EgressSetting._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pbjson.dart new file mode 100644 index 00000000..1f14fc41 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1/version.pbjson.dart @@ -0,0 +1,857 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1/version.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use inboundServiceTypeDescriptor instead') +const InboundServiceType$json = { + '1': 'InboundServiceType', + '2': [ + {'1': 'INBOUND_SERVICE_UNSPECIFIED', '2': 0}, + {'1': 'INBOUND_SERVICE_MAIL', '2': 1}, + {'1': 'INBOUND_SERVICE_MAIL_BOUNCE', '2': 2}, + {'1': 'INBOUND_SERVICE_XMPP_ERROR', '2': 3}, + {'1': 'INBOUND_SERVICE_XMPP_MESSAGE', '2': 4}, + {'1': 'INBOUND_SERVICE_XMPP_SUBSCRIBE', '2': 5}, + {'1': 'INBOUND_SERVICE_XMPP_PRESENCE', '2': 6}, + {'1': 'INBOUND_SERVICE_CHANNEL_PRESENCE', '2': 7}, + {'1': 'INBOUND_SERVICE_WARMUP', '2': 9}, + ], +}; + +/// Descriptor for `InboundServiceType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List inboundServiceTypeDescriptor = $convert.base64Decode( + 'ChJJbmJvdW5kU2VydmljZVR5cGUSHwobSU5CT1VORF9TRVJWSUNFX1VOU1BFQ0lGSUVEEAASGA' + 'oUSU5CT1VORF9TRVJWSUNFX01BSUwQARIfChtJTkJPVU5EX1NFUlZJQ0VfTUFJTF9CT1VOQ0UQ' + 'AhIeChpJTkJPVU5EX1NFUlZJQ0VfWE1QUF9FUlJPUhADEiAKHElOQk9VTkRfU0VSVklDRV9YTV' + 'BQX01FU1NBR0UQBBIiCh5JTkJPVU5EX1NFUlZJQ0VfWE1QUF9TVUJTQ1JJQkUQBRIhCh1JTkJP' + 'VU5EX1NFUlZJQ0VfWE1QUF9QUkVTRU5DRRAGEiQKIElOQk9VTkRfU0VSVklDRV9DSEFOTkVMX1' + 'BSRVNFTkNFEAcSGgoWSU5CT1VORF9TRVJWSUNFX1dBUk1VUBAJ'); + +@$core.Deprecated('Use servingStatusDescriptor instead') +const ServingStatus$json = { + '1': 'ServingStatus', + '2': [ + {'1': 'SERVING_STATUS_UNSPECIFIED', '2': 0}, + {'1': 'SERVING', '2': 1}, + {'1': 'STOPPED', '2': 2}, + ], +}; + +/// Descriptor for `ServingStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List servingStatusDescriptor = $convert.base64Decode( + 'Cg1TZXJ2aW5nU3RhdHVzEh4KGlNFUlZJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCwoHU0VSVk' + 'lORxABEgsKB1NUT1BQRUQQAg=='); + +@$core.Deprecated('Use versionDescriptor instead') +const Version$json = { + '1': 'Version', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'automatic_scaling', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.AutomaticScaling', + '9': 0, + '10': 'automaticScaling' + }, + { + '1': 'basic_scaling', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.BasicScaling', + '9': 0, + '10': 'basicScaling' + }, + { + '1': 'manual_scaling', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ManualScaling', + '9': 0, + '10': 'manualScaling' + }, + { + '1': 'inbound_services', + '3': 6, + '4': 3, + '5': 14, + '6': '.google.appengine.v1.InboundServiceType', + '10': 'inboundServices' + }, + {'1': 'instance_class', '3': 7, '4': 1, '5': 9, '10': 'instanceClass'}, + { + '1': 'network', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Network', + '10': 'network' + }, + {'1': 'zones', '3': 118, '4': 3, '5': 9, '10': 'zones'}, + { + '1': 'resources', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Resources', + '10': 'resources' + }, + {'1': 'runtime', '3': 10, '4': 1, '5': 9, '10': 'runtime'}, + {'1': 'runtime_channel', '3': 117, '4': 1, '5': 9, '10': 'runtimeChannel'}, + {'1': 'threadsafe', '3': 11, '4': 1, '5': 8, '10': 'threadsafe'}, + {'1': 'vm', '3': 12, '4': 1, '5': 8, '10': 'vm'}, + {'1': 'app_engine_apis', '3': 128, '4': 1, '5': 8, '10': 'appEngineApis'}, + { + '1': 'beta_settings', + '3': 13, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Version.BetaSettingsEntry', + '10': 'betaSettings' + }, + {'1': 'env', '3': 14, '4': 1, '5': 9, '10': 'env'}, + { + '1': 'serving_status', + '3': 15, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.ServingStatus', + '10': 'servingStatus' + }, + {'1': 'created_by', '3': 16, '4': 1, '5': 9, '10': 'createdBy'}, + { + '1': 'create_time', + '3': 17, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + {'1': 'disk_usage_bytes', '3': 18, '4': 1, '5': 3, '10': 'diskUsageBytes'}, + { + '1': 'runtime_api_version', + '3': 21, + '4': 1, + '5': 9, + '10': 'runtimeApiVersion' + }, + { + '1': 'runtime_main_executable_path', + '3': 22, + '4': 1, + '5': 9, + '10': 'runtimeMainExecutablePath' + }, + {'1': 'service_account', '3': 127, '4': 1, '5': 9, '10': 'serviceAccount'}, + { + '1': 'handlers', + '3': 100, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.UrlMap', + '10': 'handlers' + }, + { + '1': 'error_handlers', + '3': 101, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.ErrorHandler', + '10': 'errorHandlers' + }, + { + '1': 'libraries', + '3': 102, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Library', + '10': 'libraries' + }, + { + '1': 'api_config', + '3': 103, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ApiConfigHandler', + '10': 'apiConfig' + }, + { + '1': 'env_variables', + '3': 104, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Version.EnvVariablesEntry', + '10': 'envVariables' + }, + { + '1': 'build_env_variables', + '3': 125, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Version.BuildEnvVariablesEntry', + '10': 'buildEnvVariables' + }, + { + '1': 'default_expiration', + '3': 105, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'defaultExpiration' + }, + { + '1': 'health_check', + '3': 106, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.HealthCheck', + '10': 'healthCheck' + }, + { + '1': 'readiness_check', + '3': 112, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.ReadinessCheck', + '10': 'readinessCheck' + }, + { + '1': 'liveness_check', + '3': 113, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.LivenessCheck', + '10': 'livenessCheck' + }, + { + '1': 'nobuild_files_regex', + '3': 107, + '4': 1, + '5': 9, + '10': 'nobuildFilesRegex' + }, + { + '1': 'deployment', + '3': 108, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Deployment', + '10': 'deployment' + }, + {'1': 'version_url', '3': 109, '4': 1, '5': 9, '10': 'versionUrl'}, + { + '1': 'endpoints_api_service', + '3': 110, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.EndpointsApiService', + '10': 'endpointsApiService' + }, + { + '1': 'entrypoint', + '3': 122, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.Entrypoint', + '10': 'entrypoint' + }, + { + '1': 'vpc_access_connector', + '3': 121, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.VpcAccessConnector', + '10': 'vpcAccessConnector' + }, + ], + '3': [ + Version_BetaSettingsEntry$json, + Version_EnvVariablesEntry$json, + Version_BuildEnvVariablesEntry$json + ], + '8': [ + {'1': 'scaling'}, + ], +}; + +@$core.Deprecated('Use versionDescriptor instead') +const Version_BetaSettingsEntry$json = { + '1': 'BetaSettingsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use versionDescriptor instead') +const Version_EnvVariablesEntry$json = { + '1': 'EnvVariablesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use versionDescriptor instead') +const Version_BuildEnvVariablesEntry$json = { + '1': 'BuildEnvVariablesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Version`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List versionDescriptor = $convert.base64Decode( + 'CgdWZXJzaW9uEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlkElQKEWF1dG9tYX' + 'RpY19zY2FsaW5nGAMgASgLMiUuZ29vZ2xlLmFwcGVuZ2luZS52MS5BdXRvbWF0aWNTY2FsaW5n' + 'SABSEGF1dG9tYXRpY1NjYWxpbmcSSAoNYmFzaWNfc2NhbGluZxgEIAEoCzIhLmdvb2dsZS5hcH' + 'BlbmdpbmUudjEuQmFzaWNTY2FsaW5nSABSDGJhc2ljU2NhbGluZxJLCg5tYW51YWxfc2NhbGlu' + 'ZxgFIAEoCzIiLmdvb2dsZS5hcHBlbmdpbmUudjEuTWFudWFsU2NhbGluZ0gAUg1tYW51YWxTY2' + 'FsaW5nElIKEGluYm91bmRfc2VydmljZXMYBiADKA4yJy5nb29nbGUuYXBwZW5naW5lLnYxLklu' + 'Ym91bmRTZXJ2aWNlVHlwZVIPaW5ib3VuZFNlcnZpY2VzEiUKDmluc3RhbmNlX2NsYXNzGAcgAS' + 'gJUg1pbnN0YW5jZUNsYXNzEjYKB25ldHdvcmsYCCABKAsyHC5nb29nbGUuYXBwZW5naW5lLnYx' + 'Lk5ldHdvcmtSB25ldHdvcmsSFAoFem9uZXMYdiADKAlSBXpvbmVzEjwKCXJlc291cmNlcxgJIA' + 'EoCzIeLmdvb2dsZS5hcHBlbmdpbmUudjEuUmVzb3VyY2VzUglyZXNvdXJjZXMSGAoHcnVudGlt' + 'ZRgKIAEoCVIHcnVudGltZRInCg9ydW50aW1lX2NoYW5uZWwYdSABKAlSDnJ1bnRpbWVDaGFubm' + 'VsEh4KCnRocmVhZHNhZmUYCyABKAhSCnRocmVhZHNhZmUSDgoCdm0YDCABKAhSAnZtEicKD2Fw' + 'cF9lbmdpbmVfYXBpcxiAASABKAhSDWFwcEVuZ2luZUFwaXMSUwoNYmV0YV9zZXR0aW5ncxgNIA' + 'MoCzIuLmdvb2dsZS5hcHBlbmdpbmUudjEuVmVyc2lvbi5CZXRhU2V0dGluZ3NFbnRyeVIMYmV0' + 'YVNldHRpbmdzEhAKA2VudhgOIAEoCVIDZW52EkkKDnNlcnZpbmdfc3RhdHVzGA8gASgOMiIuZ2' + '9vZ2xlLmFwcGVuZ2luZS52MS5TZXJ2aW5nU3RhdHVzUg1zZXJ2aW5nU3RhdHVzEh0KCmNyZWF0' + 'ZWRfYnkYECABKAlSCWNyZWF0ZWRCeRI7CgtjcmVhdGVfdGltZRgRIAEoCzIaLmdvb2dsZS5wcm' + '90b2J1Zi5UaW1lc3RhbXBSCmNyZWF0ZVRpbWUSKAoQZGlza191c2FnZV9ieXRlcxgSIAEoA1IO' + 'ZGlza1VzYWdlQnl0ZXMSLgoTcnVudGltZV9hcGlfdmVyc2lvbhgVIAEoCVIRcnVudGltZUFwaV' + 'ZlcnNpb24SPwoccnVudGltZV9tYWluX2V4ZWN1dGFibGVfcGF0aBgWIAEoCVIZcnVudGltZU1h' + 'aW5FeGVjdXRhYmxlUGF0aBInCg9zZXJ2aWNlX2FjY291bnQYfyABKAlSDnNlcnZpY2VBY2NvdW' + '50EjcKCGhhbmRsZXJzGGQgAygLMhsuZ29vZ2xlLmFwcGVuZ2luZS52MS5VcmxNYXBSCGhhbmRs' + 'ZXJzEkgKDmVycm9yX2hhbmRsZXJzGGUgAygLMiEuZ29vZ2xlLmFwcGVuZ2luZS52MS5FcnJvck' + 'hhbmRsZXJSDWVycm9ySGFuZGxlcnMSOgoJbGlicmFyaWVzGGYgAygLMhwuZ29vZ2xlLmFwcGVu' + 'Z2luZS52MS5MaWJyYXJ5UglsaWJyYXJpZXMSRAoKYXBpX2NvbmZpZxhnIAEoCzIlLmdvb2dsZS' + '5hcHBlbmdpbmUudjEuQXBpQ29uZmlnSGFuZGxlclIJYXBpQ29uZmlnElMKDWVudl92YXJpYWJs' + 'ZXMYaCADKAsyLi5nb29nbGUuYXBwZW5naW5lLnYxLlZlcnNpb24uRW52VmFyaWFibGVzRW50cn' + 'lSDGVudlZhcmlhYmxlcxJjChNidWlsZF9lbnZfdmFyaWFibGVzGH0gAygLMjMuZ29vZ2xlLmFw' + 'cGVuZ2luZS52MS5WZXJzaW9uLkJ1aWxkRW52VmFyaWFibGVzRW50cnlSEWJ1aWxkRW52VmFyaW' + 'FibGVzEkgKEmRlZmF1bHRfZXhwaXJhdGlvbhhpIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJh' + 'dGlvblIRZGVmYXVsdEV4cGlyYXRpb24SQwoMaGVhbHRoX2NoZWNrGGogASgLMiAuZ29vZ2xlLm' + 'FwcGVuZ2luZS52MS5IZWFsdGhDaGVja1ILaGVhbHRoQ2hlY2sSTAoPcmVhZGluZXNzX2NoZWNr' + 'GHAgASgLMiMuZ29vZ2xlLmFwcGVuZ2luZS52MS5SZWFkaW5lc3NDaGVja1IOcmVhZGluZXNzQ2' + 'hlY2sSSQoObGl2ZW5lc3NfY2hlY2sYcSABKAsyIi5nb29nbGUuYXBwZW5naW5lLnYxLkxpdmVu' + 'ZXNzQ2hlY2tSDWxpdmVuZXNzQ2hlY2sSLgoTbm9idWlsZF9maWxlc19yZWdleBhrIAEoCVIRbm' + '9idWlsZEZpbGVzUmVnZXgSPwoKZGVwbG95bWVudBhsIAEoCzIfLmdvb2dsZS5hcHBlbmdpbmUu' + 'djEuRGVwbG95bWVudFIKZGVwbG95bWVudBIfCgt2ZXJzaW9uX3VybBhtIAEoCVIKdmVyc2lvbl' + 'VybBJcChVlbmRwb2ludHNfYXBpX3NlcnZpY2UYbiABKAsyKC5nb29nbGUuYXBwZW5naW5lLnYx' + 'LkVuZHBvaW50c0FwaVNlcnZpY2VSE2VuZHBvaW50c0FwaVNlcnZpY2USPwoKZW50cnlwb2ludB' + 'h6IAEoCzIfLmdvb2dsZS5hcHBlbmdpbmUudjEuRW50cnlwb2ludFIKZW50cnlwb2ludBJZChR2' + 'cGNfYWNjZXNzX2Nvbm5lY3Rvchh5IAEoCzInLmdvb2dsZS5hcHBlbmdpbmUudjEuVnBjQWNjZX' + 'NzQ29ubmVjdG9yUhJ2cGNBY2Nlc3NDb25uZWN0b3IaPwoRQmV0YVNldHRpbmdzRW50cnkSEAoD' + 'a2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARo/ChFFbnZWYXJpYWJsZX' + 'NFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkQKFkJ1' + 'aWxkRW52VmFyaWFibGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBX' + 'ZhbHVlOgI4AUIJCgdzY2FsaW5n'); + +@$core.Deprecated('Use endpointsApiServiceDescriptor instead') +const EndpointsApiService$json = { + '1': 'EndpointsApiService', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'config_id', '3': 2, '4': 1, '5': 9, '10': 'configId'}, + { + '1': 'rollout_strategy', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.EndpointsApiService.RolloutStrategy', + '10': 'rolloutStrategy' + }, + { + '1': 'disable_trace_sampling', + '3': 4, + '4': 1, + '5': 8, + '10': 'disableTraceSampling' + }, + ], + '4': [EndpointsApiService_RolloutStrategy$json], +}; + +@$core.Deprecated('Use endpointsApiServiceDescriptor instead') +const EndpointsApiService_RolloutStrategy$json = { + '1': 'RolloutStrategy', + '2': [ + {'1': 'UNSPECIFIED_ROLLOUT_STRATEGY', '2': 0}, + {'1': 'FIXED', '2': 1}, + {'1': 'MANAGED', '2': 2}, + ], +}; + +/// Descriptor for `EndpointsApiService`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List endpointsApiServiceDescriptor = $convert.base64Decode( + 'ChNFbmRwb2ludHNBcGlTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSGwoJY29uZmlnX2lkGA' + 'IgASgJUghjb25maWdJZBJjChByb2xsb3V0X3N0cmF0ZWd5GAMgASgOMjguZ29vZ2xlLmFwcGVu' + 'Z2luZS52MS5FbmRwb2ludHNBcGlTZXJ2aWNlLlJvbGxvdXRTdHJhdGVneVIPcm9sbG91dFN0cm' + 'F0ZWd5EjQKFmRpc2FibGVfdHJhY2Vfc2FtcGxpbmcYBCABKAhSFGRpc2FibGVUcmFjZVNhbXBs' + 'aW5nIksKD1JvbGxvdXRTdHJhdGVneRIgChxVTlNQRUNJRklFRF9ST0xMT1VUX1NUUkFURUdZEA' + 'ASCQoFRklYRUQQARILCgdNQU5BR0VEEAI='); + +@$core.Deprecated('Use automaticScalingDescriptor instead') +const AutomaticScaling$json = { + '1': 'AutomaticScaling', + '2': [ + { + '1': 'cool_down_period', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'coolDownPeriod' + }, + { + '1': 'cpu_utilization', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.CpuUtilization', + '10': 'cpuUtilization' + }, + { + '1': 'max_concurrent_requests', + '3': 3, + '4': 1, + '5': 5, + '10': 'maxConcurrentRequests' + }, + { + '1': 'max_idle_instances', + '3': 4, + '4': 1, + '5': 5, + '10': 'maxIdleInstances' + }, + { + '1': 'max_total_instances', + '3': 5, + '4': 1, + '5': 5, + '10': 'maxTotalInstances' + }, + { + '1': 'max_pending_latency', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'maxPendingLatency' + }, + { + '1': 'min_idle_instances', + '3': 7, + '4': 1, + '5': 5, + '10': 'minIdleInstances' + }, + { + '1': 'min_total_instances', + '3': 8, + '4': 1, + '5': 5, + '10': 'minTotalInstances' + }, + { + '1': 'min_pending_latency', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'minPendingLatency' + }, + { + '1': 'request_utilization', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.RequestUtilization', + '10': 'requestUtilization' + }, + { + '1': 'disk_utilization', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.DiskUtilization', + '10': 'diskUtilization' + }, + { + '1': 'network_utilization', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.NetworkUtilization', + '10': 'networkUtilization' + }, + { + '1': 'standard_scheduler_settings', + '3': 20, + '4': 1, + '5': 11, + '6': '.google.appengine.v1.StandardSchedulerSettings', + '10': 'standardSchedulerSettings' + }, + ], +}; + +/// Descriptor for `AutomaticScaling`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List automaticScalingDescriptor = $convert.base64Decode( + 'ChBBdXRvbWF0aWNTY2FsaW5nEkMKEGNvb2xfZG93bl9wZXJpb2QYASABKAsyGS5nb29nbGUucH' + 'JvdG9idWYuRHVyYXRpb25SDmNvb2xEb3duUGVyaW9kEkwKD2NwdV91dGlsaXphdGlvbhgCIAEo' + 'CzIjLmdvb2dsZS5hcHBlbmdpbmUudjEuQ3B1VXRpbGl6YXRpb25SDmNwdVV0aWxpemF0aW9uEj' + 'YKF21heF9jb25jdXJyZW50X3JlcXVlc3RzGAMgASgFUhVtYXhDb25jdXJyZW50UmVxdWVzdHMS' + 'LAoSbWF4X2lkbGVfaW5zdGFuY2VzGAQgASgFUhBtYXhJZGxlSW5zdGFuY2VzEi4KE21heF90b3' + 'RhbF9pbnN0YW5jZXMYBSABKAVSEW1heFRvdGFsSW5zdGFuY2VzEkkKE21heF9wZW5kaW5nX2xh' + 'dGVuY3kYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SEW1heFBlbmRpbmdMYXRlbm' + 'N5EiwKEm1pbl9pZGxlX2luc3RhbmNlcxgHIAEoBVIQbWluSWRsZUluc3RhbmNlcxIuChNtaW5f' + 'dG90YWxfaW5zdGFuY2VzGAggASgFUhFtaW5Ub3RhbEluc3RhbmNlcxJJChNtaW5fcGVuZGluZ1' + '9sYXRlbmN5GAkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUhFtaW5QZW5kaW5nTGF0' + 'ZW5jeRJYChNyZXF1ZXN0X3V0aWxpemF0aW9uGAogASgLMicuZ29vZ2xlLmFwcGVuZ2luZS52MS' + '5SZXF1ZXN0VXRpbGl6YXRpb25SEnJlcXVlc3RVdGlsaXphdGlvbhJPChBkaXNrX3V0aWxpemF0' + 'aW9uGAsgASgLMiQuZ29vZ2xlLmFwcGVuZ2luZS52MS5EaXNrVXRpbGl6YXRpb25SD2Rpc2tVdG' + 'lsaXphdGlvbhJYChNuZXR3b3JrX3V0aWxpemF0aW9uGAwgASgLMicuZ29vZ2xlLmFwcGVuZ2lu' + 'ZS52MS5OZXR3b3JrVXRpbGl6YXRpb25SEm5ldHdvcmtVdGlsaXphdGlvbhJuChtzdGFuZGFyZF' + '9zY2hlZHVsZXJfc2V0dGluZ3MYFCABKAsyLi5nb29nbGUuYXBwZW5naW5lLnYxLlN0YW5kYXJk' + 'U2NoZWR1bGVyU2V0dGluZ3NSGXN0YW5kYXJkU2NoZWR1bGVyU2V0dGluZ3M='); + +@$core.Deprecated('Use basicScalingDescriptor instead') +const BasicScaling$json = { + '1': 'BasicScaling', + '2': [ + { + '1': 'idle_timeout', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'idleTimeout' + }, + {'1': 'max_instances', '3': 2, '4': 1, '5': 5, '10': 'maxInstances'}, + ], +}; + +/// Descriptor for `BasicScaling`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List basicScalingDescriptor = $convert.base64Decode( + 'CgxCYXNpY1NjYWxpbmcSPAoMaWRsZV90aW1lb3V0GAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLk' + 'R1cmF0aW9uUgtpZGxlVGltZW91dBIjCg1tYXhfaW5zdGFuY2VzGAIgASgFUgxtYXhJbnN0YW5j' + 'ZXM='); + +@$core.Deprecated('Use manualScalingDescriptor instead') +const ManualScaling$json = { + '1': 'ManualScaling', + '2': [ + {'1': 'instances', '3': 1, '4': 1, '5': 5, '10': 'instances'}, + ], +}; + +/// Descriptor for `ManualScaling`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List manualScalingDescriptor = $convert.base64Decode( + 'Cg1NYW51YWxTY2FsaW5nEhwKCWluc3RhbmNlcxgBIAEoBVIJaW5zdGFuY2Vz'); + +@$core.Deprecated('Use cpuUtilizationDescriptor instead') +const CpuUtilization$json = { + '1': 'CpuUtilization', + '2': [ + { + '1': 'aggregation_window_length', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'aggregationWindowLength' + }, + { + '1': 'target_utilization', + '3': 2, + '4': 1, + '5': 1, + '10': 'targetUtilization' + }, + ], +}; + +/// Descriptor for `CpuUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cpuUtilizationDescriptor = $convert.base64Decode( + 'Cg5DcHVVdGlsaXphdGlvbhJVChlhZ2dyZWdhdGlvbl93aW5kb3dfbGVuZ3RoGAEgASgLMhkuZ2' + '9vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUhdhZ2dyZWdhdGlvbldpbmRvd0xlbmd0aBItChJ0YXJn' + 'ZXRfdXRpbGl6YXRpb24YAiABKAFSEXRhcmdldFV0aWxpemF0aW9u'); + +@$core.Deprecated('Use requestUtilizationDescriptor instead') +const RequestUtilization$json = { + '1': 'RequestUtilization', + '2': [ + { + '1': 'target_request_count_per_second', + '3': 1, + '4': 1, + '5': 5, + '10': 'targetRequestCountPerSecond' + }, + { + '1': 'target_concurrent_requests', + '3': 2, + '4': 1, + '5': 5, + '10': 'targetConcurrentRequests' + }, + ], +}; + +/// Descriptor for `RequestUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List requestUtilizationDescriptor = $convert.base64Decode( + 'ChJSZXF1ZXN0VXRpbGl6YXRpb24SRAofdGFyZ2V0X3JlcXVlc3RfY291bnRfcGVyX3NlY29uZB' + 'gBIAEoBVIbdGFyZ2V0UmVxdWVzdENvdW50UGVyU2Vjb25kEjwKGnRhcmdldF9jb25jdXJyZW50' + 'X3JlcXVlc3RzGAIgASgFUhh0YXJnZXRDb25jdXJyZW50UmVxdWVzdHM='); + +@$core.Deprecated('Use diskUtilizationDescriptor instead') +const DiskUtilization$json = { + '1': 'DiskUtilization', + '2': [ + { + '1': 'target_write_bytes_per_second', + '3': 14, + '4': 1, + '5': 5, + '10': 'targetWriteBytesPerSecond' + }, + { + '1': 'target_write_ops_per_second', + '3': 15, + '4': 1, + '5': 5, + '10': 'targetWriteOpsPerSecond' + }, + { + '1': 'target_read_bytes_per_second', + '3': 16, + '4': 1, + '5': 5, + '10': 'targetReadBytesPerSecond' + }, + { + '1': 'target_read_ops_per_second', + '3': 17, + '4': 1, + '5': 5, + '10': 'targetReadOpsPerSecond' + }, + ], +}; + +/// Descriptor for `DiskUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List diskUtilizationDescriptor = $convert.base64Decode( + 'Cg9EaXNrVXRpbGl6YXRpb24SQAoddGFyZ2V0X3dyaXRlX2J5dGVzX3Blcl9zZWNvbmQYDiABKA' + 'VSGXRhcmdldFdyaXRlQnl0ZXNQZXJTZWNvbmQSPAobdGFyZ2V0X3dyaXRlX29wc19wZXJfc2Vj' + 'b25kGA8gASgFUhd0YXJnZXRXcml0ZU9wc1BlclNlY29uZBI+Chx0YXJnZXRfcmVhZF9ieXRlc1' + '9wZXJfc2Vjb25kGBAgASgFUhh0YXJnZXRSZWFkQnl0ZXNQZXJTZWNvbmQSOgoadGFyZ2V0X3Jl' + 'YWRfb3BzX3Blcl9zZWNvbmQYESABKAVSFnRhcmdldFJlYWRPcHNQZXJTZWNvbmQ='); + +@$core.Deprecated('Use networkUtilizationDescriptor instead') +const NetworkUtilization$json = { + '1': 'NetworkUtilization', + '2': [ + { + '1': 'target_sent_bytes_per_second', + '3': 1, + '4': 1, + '5': 5, + '10': 'targetSentBytesPerSecond' + }, + { + '1': 'target_sent_packets_per_second', + '3': 11, + '4': 1, + '5': 5, + '10': 'targetSentPacketsPerSecond' + }, + { + '1': 'target_received_bytes_per_second', + '3': 12, + '4': 1, + '5': 5, + '10': 'targetReceivedBytesPerSecond' + }, + { + '1': 'target_received_packets_per_second', + '3': 13, + '4': 1, + '5': 5, + '10': 'targetReceivedPacketsPerSecond' + }, + ], +}; + +/// Descriptor for `NetworkUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List networkUtilizationDescriptor = $convert.base64Decode( + 'ChJOZXR3b3JrVXRpbGl6YXRpb24SPgocdGFyZ2V0X3NlbnRfYnl0ZXNfcGVyX3NlY29uZBgBIA' + 'EoBVIYdGFyZ2V0U2VudEJ5dGVzUGVyU2Vjb25kEkIKHnRhcmdldF9zZW50X3BhY2tldHNfcGVy' + 'X3NlY29uZBgLIAEoBVIadGFyZ2V0U2VudFBhY2tldHNQZXJTZWNvbmQSRgogdGFyZ2V0X3JlY2' + 'VpdmVkX2J5dGVzX3Blcl9zZWNvbmQYDCABKAVSHHRhcmdldFJlY2VpdmVkQnl0ZXNQZXJTZWNv' + 'bmQSSgoidGFyZ2V0X3JlY2VpdmVkX3BhY2tldHNfcGVyX3NlY29uZBgNIAEoBVIedGFyZ2V0Um' + 'VjZWl2ZWRQYWNrZXRzUGVyU2Vjb25k'); + +@$core.Deprecated('Use standardSchedulerSettingsDescriptor instead') +const StandardSchedulerSettings$json = { + '1': 'StandardSchedulerSettings', + '2': [ + { + '1': 'target_cpu_utilization', + '3': 1, + '4': 1, + '5': 1, + '10': 'targetCpuUtilization' + }, + { + '1': 'target_throughput_utilization', + '3': 2, + '4': 1, + '5': 1, + '10': 'targetThroughputUtilization' + }, + {'1': 'min_instances', '3': 3, '4': 1, '5': 5, '10': 'minInstances'}, + {'1': 'max_instances', '3': 4, '4': 1, '5': 5, '10': 'maxInstances'}, + ], +}; + +/// Descriptor for `StandardSchedulerSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List standardSchedulerSettingsDescriptor = $convert.base64Decode( + 'ChlTdGFuZGFyZFNjaGVkdWxlclNldHRpbmdzEjQKFnRhcmdldF9jcHVfdXRpbGl6YXRpb24YAS' + 'ABKAFSFHRhcmdldENwdVV0aWxpemF0aW9uEkIKHXRhcmdldF90aHJvdWdocHV0X3V0aWxpemF0' + 'aW9uGAIgASgBUht0YXJnZXRUaHJvdWdocHV0VXRpbGl6YXRpb24SIwoNbWluX2luc3RhbmNlcx' + 'gDIAEoBVIMbWluSW5zdGFuY2VzEiMKDW1heF9pbnN0YW5jZXMYBCABKAVSDG1heEluc3RhbmNl' + 'cw=='); + +@$core.Deprecated('Use networkDescriptor instead') +const Network$json = { + '1': 'Network', + '2': [ + {'1': 'forwarded_ports', '3': 1, '4': 3, '5': 9, '10': 'forwardedPorts'}, + {'1': 'instance_tag', '3': 2, '4': 1, '5': 9, '10': 'instanceTag'}, + {'1': 'name', '3': 3, '4': 1, '5': 9, '10': 'name'}, + {'1': 'subnetwork_name', '3': 4, '4': 1, '5': 9, '10': 'subnetworkName'}, + {'1': 'session_affinity', '3': 5, '4': 1, '5': 8, '10': 'sessionAffinity'}, + ], +}; + +/// Descriptor for `Network`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List networkDescriptor = $convert.base64Decode( + 'CgdOZXR3b3JrEicKD2ZvcndhcmRlZF9wb3J0cxgBIAMoCVIOZm9yd2FyZGVkUG9ydHMSIQoMaW' + '5zdGFuY2VfdGFnGAIgASgJUgtpbnN0YW5jZVRhZxISCgRuYW1lGAMgASgJUgRuYW1lEicKD3N1' + 'Ym5ldHdvcmtfbmFtZRgEIAEoCVIOc3VibmV0d29ya05hbWUSKQoQc2Vzc2lvbl9hZmZpbml0eR' + 'gFIAEoCFIPc2Vzc2lvbkFmZmluaXR5'); + +@$core.Deprecated('Use volumeDescriptor instead') +const Volume$json = { + '1': 'Volume', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'volume_type', '3': 2, '4': 1, '5': 9, '10': 'volumeType'}, + {'1': 'size_gb', '3': 3, '4': 1, '5': 1, '10': 'sizeGb'}, + ], +}; + +/// Descriptor for `Volume`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List volumeDescriptor = $convert.base64Decode( + 'CgZWb2x1bWUSEgoEbmFtZRgBIAEoCVIEbmFtZRIfCgt2b2x1bWVfdHlwZRgCIAEoCVIKdm9sdW' + '1lVHlwZRIXCgdzaXplX2diGAMgASgBUgZzaXplR2I='); + +@$core.Deprecated('Use resourcesDescriptor instead') +const Resources$json = { + '1': 'Resources', + '2': [ + {'1': 'cpu', '3': 1, '4': 1, '5': 1, '10': 'cpu'}, + {'1': 'disk_gb', '3': 2, '4': 1, '5': 1, '10': 'diskGb'}, + {'1': 'memory_gb', '3': 3, '4': 1, '5': 1, '10': 'memoryGb'}, + { + '1': 'volumes', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.appengine.v1.Volume', + '10': 'volumes' + }, + {'1': 'kms_key_reference', '3': 5, '4': 1, '5': 9, '10': 'kmsKeyReference'}, + ], +}; + +/// Descriptor for `Resources`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourcesDescriptor = $convert.base64Decode( + 'CglSZXNvdXJjZXMSEAoDY3B1GAEgASgBUgNjcHUSFwoHZGlza19nYhgCIAEoAVIGZGlza0diEh' + 'sKCW1lbW9yeV9nYhgDIAEoAVIIbWVtb3J5R2ISNQoHdm9sdW1lcxgEIAMoCzIbLmdvb2dsZS5h' + 'cHBlbmdpbmUudjEuVm9sdW1lUgd2b2x1bWVzEioKEWttc19rZXlfcmVmZXJlbmNlGAUgASgJUg' + '9rbXNLZXlSZWZlcmVuY2U='); + +@$core.Deprecated('Use vpcAccessConnectorDescriptor instead') +const VpcAccessConnector$json = { + '1': 'VpcAccessConnector', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'egress_setting', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1.VpcAccessConnector.EgressSetting', + '10': 'egressSetting' + }, + ], + '4': [VpcAccessConnector_EgressSetting$json], +}; + +@$core.Deprecated('Use vpcAccessConnectorDescriptor instead') +const VpcAccessConnector_EgressSetting$json = { + '1': 'EgressSetting', + '2': [ + {'1': 'EGRESS_SETTING_UNSPECIFIED', '2': 0}, + {'1': 'ALL_TRAFFIC', '2': 1}, + {'1': 'PRIVATE_IP_RANGES', '2': 2}, + ], +}; + +/// Descriptor for `VpcAccessConnector`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List vpcAccessConnectorDescriptor = $convert.base64Decode( + 'ChJWcGNBY2Nlc3NDb25uZWN0b3ISEgoEbmFtZRgBIAEoCVIEbmFtZRJcCg5lZ3Jlc3Nfc2V0dG' + 'luZxgCIAEoDjI1Lmdvb2dsZS5hcHBlbmdpbmUudjEuVnBjQWNjZXNzQ29ubmVjdG9yLkVncmVz' + 'c1NldHRpbmdSDWVncmVzc1NldHRpbmciVwoNRWdyZXNzU2V0dGluZxIeChpFR1JFU1NfU0VUVE' + 'lOR19VTlNQRUNJRklFRBAAEg8KC0FMTF9UUkFGRklDEAESFQoRUFJJVkFURV9JUF9SQU5HRVMQ' + 'Ag=='); + +@$core.Deprecated('Use entrypointDescriptor instead') +const Entrypoint$json = { + '1': 'Entrypoint', + '2': [ + {'1': 'shell', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'shell'}, + ], + '8': [ + {'1': 'command'}, + ], +}; + +/// Descriptor for `Entrypoint`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entrypointDescriptor = $convert.base64Decode( + 'CgpFbnRyeXBvaW50EhYKBXNoZWxsGAEgASgJSABSBXNoZWxsQgkKB2NvbW1hbmQ='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pb.dart new file mode 100644 index 00000000..40d6bf84 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pb.dart @@ -0,0 +1,1469 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/app_yaml.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import 'app_yaml.pbenum.dart'; + +export 'app_yaml.pbenum.dart'; + +/// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) +/// configuration for API handlers. +class ApiConfigHandler extends $pb.GeneratedMessage { + factory ApiConfigHandler({ + AuthFailAction? authFailAction, + LoginRequirement? login, + $core.String? script, + SecurityLevel? securityLevel, + $core.String? url, + }) { + final $result = create(); + if (authFailAction != null) { + $result.authFailAction = authFailAction; + } + if (login != null) { + $result.login = login; + } + if (script != null) { + $result.script = script; + } + if (securityLevel != null) { + $result.securityLevel = securityLevel; + } + if (url != null) { + $result.url = url; + } + return $result; + } + ApiConfigHandler._() : super(); + factory ApiConfigHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ApiConfigHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ApiConfigHandler', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'authFailAction', $pb.PbFieldType.OE, + defaultOrMaker: AuthFailAction.AUTH_FAIL_ACTION_UNSPECIFIED, + valueOf: AuthFailAction.valueOf, + enumValues: AuthFailAction.values) + ..e(2, _omitFieldNames ? '' : 'login', $pb.PbFieldType.OE, + defaultOrMaker: LoginRequirement.LOGIN_UNSPECIFIED, + valueOf: LoginRequirement.valueOf, + enumValues: LoginRequirement.values) + ..aOS(3, _omitFieldNames ? '' : 'script') + ..e( + 4, _omitFieldNames ? '' : 'securityLevel', $pb.PbFieldType.OE, + defaultOrMaker: SecurityLevel.SECURE_UNSPECIFIED, + valueOf: SecurityLevel.valueOf, + enumValues: SecurityLevel.values) + ..aOS(5, _omitFieldNames ? '' : 'url') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ApiConfigHandler clone() => ApiConfigHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ApiConfigHandler copyWith(void Function(ApiConfigHandler) updates) => + super.copyWith((message) => updates(message as ApiConfigHandler)) + as ApiConfigHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ApiConfigHandler create() => ApiConfigHandler._(); + ApiConfigHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ApiConfigHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ApiConfigHandler? _defaultInstance; + + /// Action to take when users access resources that require + /// authentication. Defaults to `redirect`. + @$pb.TagNumber(1) + AuthFailAction get authFailAction => $_getN(0); + @$pb.TagNumber(1) + set authFailAction(AuthFailAction v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasAuthFailAction() => $_has(0); + @$pb.TagNumber(1) + void clearAuthFailAction() => clearField(1); + + /// Level of login required to access this resource. Defaults to + /// `optional`. + @$pb.TagNumber(2) + LoginRequirement get login => $_getN(1); + @$pb.TagNumber(2) + set login(LoginRequirement v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasLogin() => $_has(1); + @$pb.TagNumber(2) + void clearLogin() => clearField(2); + + /// Path to the script from the application root directory. + @$pb.TagNumber(3) + $core.String get script => $_getSZ(2); + @$pb.TagNumber(3) + set script($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasScript() => $_has(2); + @$pb.TagNumber(3) + void clearScript() => clearField(3); + + /// Security (HTTPS) enforcement for this URL. + @$pb.TagNumber(4) + SecurityLevel get securityLevel => $_getN(3); + @$pb.TagNumber(4) + set securityLevel(SecurityLevel v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasSecurityLevel() => $_has(3); + @$pb.TagNumber(4) + void clearSecurityLevel() => clearField(4); + + /// URL to serve the endpoint at. + @$pb.TagNumber(5) + $core.String get url => $_getSZ(4); + @$pb.TagNumber(5) + set url($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasUrl() => $_has(4); + @$pb.TagNumber(5) + void clearUrl() => clearField(5); +} + +/// Custom static error page to be served when an error occurs. +class ErrorHandler extends $pb.GeneratedMessage { + factory ErrorHandler({ + ErrorHandler_ErrorCode? errorCode, + $core.String? staticFile, + $core.String? mimeType, + }) { + final $result = create(); + if (errorCode != null) { + $result.errorCode = errorCode; + } + if (staticFile != null) { + $result.staticFile = staticFile; + } + if (mimeType != null) { + $result.mimeType = mimeType; + } + return $result; + } + ErrorHandler._() : super(); + factory ErrorHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ErrorHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ErrorHandler', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'errorCode', $pb.PbFieldType.OE, + defaultOrMaker: ErrorHandler_ErrorCode.ERROR_CODE_UNSPECIFIED, + valueOf: ErrorHandler_ErrorCode.valueOf, + enumValues: ErrorHandler_ErrorCode.values) + ..aOS(2, _omitFieldNames ? '' : 'staticFile') + ..aOS(3, _omitFieldNames ? '' : 'mimeType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ErrorHandler clone() => ErrorHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ErrorHandler copyWith(void Function(ErrorHandler) updates) => + super.copyWith((message) => updates(message as ErrorHandler)) + as ErrorHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ErrorHandler create() => ErrorHandler._(); + ErrorHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ErrorHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ErrorHandler? _defaultInstance; + + /// Error condition this handler applies to. + @$pb.TagNumber(1) + ErrorHandler_ErrorCode get errorCode => $_getN(0); + @$pb.TagNumber(1) + set errorCode(ErrorHandler_ErrorCode v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasErrorCode() => $_has(0); + @$pb.TagNumber(1) + void clearErrorCode() => clearField(1); + + /// Static file content to be served for this error. + @$pb.TagNumber(2) + $core.String get staticFile => $_getSZ(1); + @$pb.TagNumber(2) + set staticFile($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasStaticFile() => $_has(1); + @$pb.TagNumber(2) + void clearStaticFile() => clearField(2); + + /// MIME type of file. Defaults to `text/html`. + @$pb.TagNumber(3) + $core.String get mimeType => $_getSZ(2); + @$pb.TagNumber(3) + set mimeType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMimeType() => $_has(2); + @$pb.TagNumber(3) + void clearMimeType() => clearField(3); +} + +enum UrlMap_HandlerType { staticFiles, script, apiEndpoint, notSet } + +/// URL pattern and description of how the URL should be handled. App Engine can +/// handle URLs by executing application code or by serving static files +/// uploaded with the version, such as images, CSS, or JavaScript. +class UrlMap extends $pb.GeneratedMessage { + factory UrlMap({ + $core.String? urlRegex, + StaticFilesHandler? staticFiles, + ScriptHandler? script, + ApiEndpointHandler? apiEndpoint, + SecurityLevel? securityLevel, + LoginRequirement? login, + AuthFailAction? authFailAction, + UrlMap_RedirectHttpResponseCode? redirectHttpResponseCode, + }) { + final $result = create(); + if (urlRegex != null) { + $result.urlRegex = urlRegex; + } + if (staticFiles != null) { + $result.staticFiles = staticFiles; + } + if (script != null) { + $result.script = script; + } + if (apiEndpoint != null) { + $result.apiEndpoint = apiEndpoint; + } + if (securityLevel != null) { + $result.securityLevel = securityLevel; + } + if (login != null) { + $result.login = login; + } + if (authFailAction != null) { + $result.authFailAction = authFailAction; + } + if (redirectHttpResponseCode != null) { + $result.redirectHttpResponseCode = redirectHttpResponseCode; + } + return $result; + } + UrlMap._() : super(); + factory UrlMap.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UrlMap.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, UrlMap_HandlerType> + _UrlMap_HandlerTypeByTag = { + 2: UrlMap_HandlerType.staticFiles, + 3: UrlMap_HandlerType.script, + 4: UrlMap_HandlerType.apiEndpoint, + 0: UrlMap_HandlerType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UrlMap', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..oo(0, [2, 3, 4]) + ..aOS(1, _omitFieldNames ? '' : 'urlRegex') + ..aOM(2, _omitFieldNames ? '' : 'staticFiles', + subBuilder: StaticFilesHandler.create) + ..aOM(3, _omitFieldNames ? '' : 'script', + subBuilder: ScriptHandler.create) + ..aOM(4, _omitFieldNames ? '' : 'apiEndpoint', + subBuilder: ApiEndpointHandler.create) + ..e( + 5, _omitFieldNames ? '' : 'securityLevel', $pb.PbFieldType.OE, + defaultOrMaker: SecurityLevel.SECURE_UNSPECIFIED, + valueOf: SecurityLevel.valueOf, + enumValues: SecurityLevel.values) + ..e(6, _omitFieldNames ? '' : 'login', $pb.PbFieldType.OE, + defaultOrMaker: LoginRequirement.LOGIN_UNSPECIFIED, + valueOf: LoginRequirement.valueOf, + enumValues: LoginRequirement.values) + ..e( + 7, _omitFieldNames ? '' : 'authFailAction', $pb.PbFieldType.OE, + defaultOrMaker: AuthFailAction.AUTH_FAIL_ACTION_UNSPECIFIED, + valueOf: AuthFailAction.valueOf, + enumValues: AuthFailAction.values) + ..e(8, + _omitFieldNames ? '' : 'redirectHttpResponseCode', $pb.PbFieldType.OE, + defaultOrMaker: UrlMap_RedirectHttpResponseCode + .REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED, + valueOf: UrlMap_RedirectHttpResponseCode.valueOf, + enumValues: UrlMap_RedirectHttpResponseCode.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UrlMap clone() => UrlMap()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UrlMap copyWith(void Function(UrlMap) updates) => + super.copyWith((message) => updates(message as UrlMap)) as UrlMap; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UrlMap create() => UrlMap._(); + UrlMap createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UrlMap getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static UrlMap? _defaultInstance; + + UrlMap_HandlerType whichHandlerType() => + _UrlMap_HandlerTypeByTag[$_whichOneof(0)]!; + void clearHandlerType() => clearField($_whichOneof(0)); + + /// URL prefix. Uses regular expression syntax, which means regexp + /// special characters must be escaped, but should not contain groupings. + /// All URLs that begin with this prefix are handled by this handler, using the + /// portion of the URL after the prefix as part of the file path. + @$pb.TagNumber(1) + $core.String get urlRegex => $_getSZ(0); + @$pb.TagNumber(1) + set urlRegex($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasUrlRegex() => $_has(0); + @$pb.TagNumber(1) + void clearUrlRegex() => clearField(1); + + /// Returns the contents of a file, such as an image, as the response. + @$pb.TagNumber(2) + StaticFilesHandler get staticFiles => $_getN(1); + @$pb.TagNumber(2) + set staticFiles(StaticFilesHandler v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStaticFiles() => $_has(1); + @$pb.TagNumber(2) + void clearStaticFiles() => clearField(2); + @$pb.TagNumber(2) + StaticFilesHandler ensureStaticFiles() => $_ensure(1); + + /// Executes a script to handle the requests that match this URL + /// pattern. Only the `auto` value is supported for Node.js in the + /// App Engine standard environment, for example `"script": "auto"`. + @$pb.TagNumber(3) + ScriptHandler get script => $_getN(2); + @$pb.TagNumber(3) + set script(ScriptHandler v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasScript() => $_has(2); + @$pb.TagNumber(3) + void clearScript() => clearField(3); + @$pb.TagNumber(3) + ScriptHandler ensureScript() => $_ensure(2); + + /// Uses API Endpoints to handle requests. + @$pb.TagNumber(4) + ApiEndpointHandler get apiEndpoint => $_getN(3); + @$pb.TagNumber(4) + set apiEndpoint(ApiEndpointHandler v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasApiEndpoint() => $_has(3); + @$pb.TagNumber(4) + void clearApiEndpoint() => clearField(4); + @$pb.TagNumber(4) + ApiEndpointHandler ensureApiEndpoint() => $_ensure(3); + + /// Security (HTTPS) enforcement for this URL. + @$pb.TagNumber(5) + SecurityLevel get securityLevel => $_getN(4); + @$pb.TagNumber(5) + set securityLevel(SecurityLevel v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSecurityLevel() => $_has(4); + @$pb.TagNumber(5) + void clearSecurityLevel() => clearField(5); + + /// Level of login required to access this resource. Not supported for Node.js + /// in the App Engine standard environment. + @$pb.TagNumber(6) + LoginRequirement get login => $_getN(5); + @$pb.TagNumber(6) + set login(LoginRequirement v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasLogin() => $_has(5); + @$pb.TagNumber(6) + void clearLogin() => clearField(6); + + /// Action to take when users access resources that require + /// authentication. Defaults to `redirect`. + @$pb.TagNumber(7) + AuthFailAction get authFailAction => $_getN(6); + @$pb.TagNumber(7) + set authFailAction(AuthFailAction v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasAuthFailAction() => $_has(6); + @$pb.TagNumber(7) + void clearAuthFailAction() => clearField(7); + + /// `30x` code to use when performing redirects for the `secure` field. + /// Defaults to `302`. + @$pb.TagNumber(8) + UrlMap_RedirectHttpResponseCode get redirectHttpResponseCode => $_getN(7); + @$pb.TagNumber(8) + set redirectHttpResponseCode(UrlMap_RedirectHttpResponseCode v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasRedirectHttpResponseCode() => $_has(7); + @$pb.TagNumber(8) + void clearRedirectHttpResponseCode() => clearField(8); +} + +/// Files served directly to the user for a given URL, such as images, CSS +/// stylesheets, or JavaScript source files. Static file handlers describe which +/// files in the application directory are static files, and which URLs serve +/// them. +class StaticFilesHandler extends $pb.GeneratedMessage { + factory StaticFilesHandler({ + $core.String? path, + $core.String? uploadPathRegex, + $core.Map<$core.String, $core.String>? httpHeaders, + $core.String? mimeType, + $51.Duration? expiration, + $core.bool? requireMatchingFile, + $core.bool? applicationReadable, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (uploadPathRegex != null) { + $result.uploadPathRegex = uploadPathRegex; + } + if (httpHeaders != null) { + $result.httpHeaders.addAll(httpHeaders); + } + if (mimeType != null) { + $result.mimeType = mimeType; + } + if (expiration != null) { + $result.expiration = expiration; + } + if (requireMatchingFile != null) { + $result.requireMatchingFile = requireMatchingFile; + } + if (applicationReadable != null) { + $result.applicationReadable = applicationReadable; + } + return $result; + } + StaticFilesHandler._() : super(); + factory StaticFilesHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory StaticFilesHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'StaticFilesHandler', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..aOS(2, _omitFieldNames ? '' : 'uploadPathRegex') + ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'httpHeaders', + entryClassName: 'StaticFilesHandler.HttpHeadersEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1beta')) + ..aOS(4, _omitFieldNames ? '' : 'mimeType') + ..aOM<$51.Duration>(5, _omitFieldNames ? '' : 'expiration', + subBuilder: $51.Duration.create) + ..aOB(6, _omitFieldNames ? '' : 'requireMatchingFile') + ..aOB(7, _omitFieldNames ? '' : 'applicationReadable') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StaticFilesHandler clone() => StaticFilesHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StaticFilesHandler copyWith(void Function(StaticFilesHandler) updates) => + super.copyWith((message) => updates(message as StaticFilesHandler)) + as StaticFilesHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StaticFilesHandler create() => StaticFilesHandler._(); + StaticFilesHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StaticFilesHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static StaticFilesHandler? _defaultInstance; + + /// Path to the static files matched by the URL pattern, from the + /// application root directory. The path can refer to text matched in groupings + /// in the URL pattern. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Regular expression that matches the file paths for all files that should be + /// referenced by this handler. + @$pb.TagNumber(2) + $core.String get uploadPathRegex => $_getSZ(1); + @$pb.TagNumber(2) + set uploadPathRegex($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUploadPathRegex() => $_has(1); + @$pb.TagNumber(2) + void clearUploadPathRegex() => clearField(2); + + /// HTTP headers to use for all responses from these URLs. + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get httpHeaders => $_getMap(2); + + /// MIME type used to serve all files served by this handler. + /// + /// Defaults to file-specific MIME types, which are derived from each file's + /// filename extension. + @$pb.TagNumber(4) + $core.String get mimeType => $_getSZ(3); + @$pb.TagNumber(4) + set mimeType($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMimeType() => $_has(3); + @$pb.TagNumber(4) + void clearMimeType() => clearField(4); + + /// Time a static file served by this handler should be cached + /// by web proxies and browsers. + @$pb.TagNumber(5) + $51.Duration get expiration => $_getN(4); + @$pb.TagNumber(5) + set expiration($51.Duration v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasExpiration() => $_has(4); + @$pb.TagNumber(5) + void clearExpiration() => clearField(5); + @$pb.TagNumber(5) + $51.Duration ensureExpiration() => $_ensure(4); + + /// Whether this handler should match the request if the file + /// referenced by the handler does not exist. + @$pb.TagNumber(6) + $core.bool get requireMatchingFile => $_getBF(5); + @$pb.TagNumber(6) + set requireMatchingFile($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasRequireMatchingFile() => $_has(5); + @$pb.TagNumber(6) + void clearRequireMatchingFile() => clearField(6); + + /// Whether files should also be uploaded as code data. By default, files + /// declared in static file handlers are uploaded as static + /// data and are only served to end users; they cannot be read by the + /// application. If enabled, uploads are charged against both your code and + /// static data storage resource quotas. + @$pb.TagNumber(7) + $core.bool get applicationReadable => $_getBF(6); + @$pb.TagNumber(7) + set applicationReadable($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasApplicationReadable() => $_has(6); + @$pb.TagNumber(7) + void clearApplicationReadable() => clearField(7); +} + +/// Executes a script to handle the request that matches the URL pattern. +class ScriptHandler extends $pb.GeneratedMessage { + factory ScriptHandler({ + $core.String? scriptPath, + }) { + final $result = create(); + if (scriptPath != null) { + $result.scriptPath = scriptPath; + } + return $result; + } + ScriptHandler._() : super(); + factory ScriptHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ScriptHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ScriptHandler', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'scriptPath') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ScriptHandler clone() => ScriptHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ScriptHandler copyWith(void Function(ScriptHandler) updates) => + super.copyWith((message) => updates(message as ScriptHandler)) + as ScriptHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ScriptHandler create() => ScriptHandler._(); + ScriptHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ScriptHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ScriptHandler? _defaultInstance; + + /// Path to the script from the application root directory. + @$pb.TagNumber(1) + $core.String get scriptPath => $_getSZ(0); + @$pb.TagNumber(1) + set scriptPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasScriptPath() => $_has(0); + @$pb.TagNumber(1) + void clearScriptPath() => clearField(1); +} + +/// Uses Google Cloud Endpoints to handle requests. +class ApiEndpointHandler extends $pb.GeneratedMessage { + factory ApiEndpointHandler({ + $core.String? scriptPath, + }) { + final $result = create(); + if (scriptPath != null) { + $result.scriptPath = scriptPath; + } + return $result; + } + ApiEndpointHandler._() : super(); + factory ApiEndpointHandler.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ApiEndpointHandler.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ApiEndpointHandler', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'scriptPath') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ApiEndpointHandler clone() => ApiEndpointHandler()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ApiEndpointHandler copyWith(void Function(ApiEndpointHandler) updates) => + super.copyWith((message) => updates(message as ApiEndpointHandler)) + as ApiEndpointHandler; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ApiEndpointHandler create() => ApiEndpointHandler._(); + ApiEndpointHandler createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ApiEndpointHandler getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ApiEndpointHandler? _defaultInstance; + + /// Path to the script from the application root directory. + @$pb.TagNumber(1) + $core.String get scriptPath => $_getSZ(0); + @$pb.TagNumber(1) + set scriptPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasScriptPath() => $_has(0); + @$pb.TagNumber(1) + void clearScriptPath() => clearField(1); +} + +/// Health checking configuration for VM instances. Unhealthy instances +/// are killed and replaced with new instances. Only applicable for +/// instances in App Engine flexible environment. +class HealthCheck extends $pb.GeneratedMessage { + factory HealthCheck({ + $core.bool? disableHealthCheck, + $core.String? host, + $core.int? healthyThreshold, + $core.int? unhealthyThreshold, + $core.int? restartThreshold, + $51.Duration? checkInterval, + $51.Duration? timeout, + }) { + final $result = create(); + if (disableHealthCheck != null) { + $result.disableHealthCheck = disableHealthCheck; + } + if (host != null) { + $result.host = host; + } + if (healthyThreshold != null) { + $result.healthyThreshold = healthyThreshold; + } + if (unhealthyThreshold != null) { + $result.unhealthyThreshold = unhealthyThreshold; + } + if (restartThreshold != null) { + $result.restartThreshold = restartThreshold; + } + if (checkInterval != null) { + $result.checkInterval = checkInterval; + } + if (timeout != null) { + $result.timeout = timeout; + } + return $result; + } + HealthCheck._() : super(); + factory HealthCheck.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory HealthCheck.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'HealthCheck', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'disableHealthCheck') + ..aOS(2, _omitFieldNames ? '' : 'host') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'healthyThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'unhealthyThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'restartThreshold', $pb.PbFieldType.OU3) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'checkInterval', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HealthCheck clone() => HealthCheck()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HealthCheck copyWith(void Function(HealthCheck) updates) => + super.copyWith((message) => updates(message as HealthCheck)) + as HealthCheck; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HealthCheck create() => HealthCheck._(); + HealthCheck createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HealthCheck getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static HealthCheck? _defaultInstance; + + /// Whether to explicitly disable health checks for this instance. + @$pb.TagNumber(1) + $core.bool get disableHealthCheck => $_getBF(0); + @$pb.TagNumber(1) + set disableHealthCheck($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDisableHealthCheck() => $_has(0); + @$pb.TagNumber(1) + void clearDisableHealthCheck() => clearField(1); + + /// Host header to send when performing an HTTP health check. + /// Example: "myapp.appspot.com" + @$pb.TagNumber(2) + $core.String get host => $_getSZ(1); + @$pb.TagNumber(2) + set host($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHost() => $_has(1); + @$pb.TagNumber(2) + void clearHost() => clearField(2); + + /// Number of consecutive successful health checks required before receiving + /// traffic. + @$pb.TagNumber(3) + $core.int get healthyThreshold => $_getIZ(2); + @$pb.TagNumber(3) + set healthyThreshold($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasHealthyThreshold() => $_has(2); + @$pb.TagNumber(3) + void clearHealthyThreshold() => clearField(3); + + /// Number of consecutive failed health checks required before removing + /// traffic. + @$pb.TagNumber(4) + $core.int get unhealthyThreshold => $_getIZ(3); + @$pb.TagNumber(4) + set unhealthyThreshold($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUnhealthyThreshold() => $_has(3); + @$pb.TagNumber(4) + void clearUnhealthyThreshold() => clearField(4); + + /// Number of consecutive failed health checks required before an instance is + /// restarted. + @$pb.TagNumber(5) + $core.int get restartThreshold => $_getIZ(4); + @$pb.TagNumber(5) + set restartThreshold($core.int v) { + $_setUnsignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasRestartThreshold() => $_has(4); + @$pb.TagNumber(5) + void clearRestartThreshold() => clearField(5); + + /// Interval between health checks. + @$pb.TagNumber(6) + $51.Duration get checkInterval => $_getN(5); + @$pb.TagNumber(6) + set checkInterval($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCheckInterval() => $_has(5); + @$pb.TagNumber(6) + void clearCheckInterval() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureCheckInterval() => $_ensure(5); + + /// Time before the health check is considered failed. + @$pb.TagNumber(7) + $51.Duration get timeout => $_getN(6); + @$pb.TagNumber(7) + set timeout($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasTimeout() => $_has(6); + @$pb.TagNumber(7) + void clearTimeout() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureTimeout() => $_ensure(6); +} + +/// Readiness checking configuration for VM instances. Unhealthy instances +/// are removed from traffic rotation. +class ReadinessCheck extends $pb.GeneratedMessage { + factory ReadinessCheck({ + $core.String? path, + $core.String? host, + $core.int? failureThreshold, + $core.int? successThreshold, + $51.Duration? checkInterval, + $51.Duration? timeout, + $51.Duration? appStartTimeout, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (host != null) { + $result.host = host; + } + if (failureThreshold != null) { + $result.failureThreshold = failureThreshold; + } + if (successThreshold != null) { + $result.successThreshold = successThreshold; + } + if (checkInterval != null) { + $result.checkInterval = checkInterval; + } + if (timeout != null) { + $result.timeout = timeout; + } + if (appStartTimeout != null) { + $result.appStartTimeout = appStartTimeout; + } + return $result; + } + ReadinessCheck._() : super(); + factory ReadinessCheck.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReadinessCheck.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReadinessCheck', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..aOS(2, _omitFieldNames ? '' : 'host') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'failureThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'successThreshold', $pb.PbFieldType.OU3) + ..aOM<$51.Duration>(5, _omitFieldNames ? '' : 'checkInterval', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'appStartTimeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReadinessCheck clone() => ReadinessCheck()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReadinessCheck copyWith(void Function(ReadinessCheck) updates) => + super.copyWith((message) => updates(message as ReadinessCheck)) + as ReadinessCheck; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReadinessCheck create() => ReadinessCheck._(); + ReadinessCheck createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReadinessCheck getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReadinessCheck? _defaultInstance; + + /// The request path. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Host header to send when performing a HTTP Readiness check. + /// Example: "myapp.appspot.com" + @$pb.TagNumber(2) + $core.String get host => $_getSZ(1); + @$pb.TagNumber(2) + set host($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHost() => $_has(1); + @$pb.TagNumber(2) + void clearHost() => clearField(2); + + /// Number of consecutive failed checks required before removing + /// traffic. + @$pb.TagNumber(3) + $core.int get failureThreshold => $_getIZ(2); + @$pb.TagNumber(3) + set failureThreshold($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFailureThreshold() => $_has(2); + @$pb.TagNumber(3) + void clearFailureThreshold() => clearField(3); + + /// Number of consecutive successful checks required before receiving + /// traffic. + @$pb.TagNumber(4) + $core.int get successThreshold => $_getIZ(3); + @$pb.TagNumber(4) + set successThreshold($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSuccessThreshold() => $_has(3); + @$pb.TagNumber(4) + void clearSuccessThreshold() => clearField(4); + + /// Interval between health checks. + @$pb.TagNumber(5) + $51.Duration get checkInterval => $_getN(4); + @$pb.TagNumber(5) + set checkInterval($51.Duration v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCheckInterval() => $_has(4); + @$pb.TagNumber(5) + void clearCheckInterval() => clearField(5); + @$pb.TagNumber(5) + $51.Duration ensureCheckInterval() => $_ensure(4); + + /// Time before the check is considered failed. + @$pb.TagNumber(6) + $51.Duration get timeout => $_getN(5); + @$pb.TagNumber(6) + set timeout($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasTimeout() => $_has(5); + @$pb.TagNumber(6) + void clearTimeout() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureTimeout() => $_ensure(5); + + /// A maximum time limit on application initialization, measured from moment + /// the application successfully replies to a healthcheck until it is ready to + /// serve traffic. + @$pb.TagNumber(7) + $51.Duration get appStartTimeout => $_getN(6); + @$pb.TagNumber(7) + set appStartTimeout($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasAppStartTimeout() => $_has(6); + @$pb.TagNumber(7) + void clearAppStartTimeout() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureAppStartTimeout() => $_ensure(6); +} + +/// Health checking configuration for VM instances. Unhealthy instances +/// are killed and replaced with new instances. +class LivenessCheck extends $pb.GeneratedMessage { + factory LivenessCheck({ + $core.String? path, + $core.String? host, + $core.int? failureThreshold, + $core.int? successThreshold, + $51.Duration? checkInterval, + $51.Duration? timeout, + $51.Duration? initialDelay, + }) { + final $result = create(); + if (path != null) { + $result.path = path; + } + if (host != null) { + $result.host = host; + } + if (failureThreshold != null) { + $result.failureThreshold = failureThreshold; + } + if (successThreshold != null) { + $result.successThreshold = successThreshold; + } + if (checkInterval != null) { + $result.checkInterval = checkInterval; + } + if (timeout != null) { + $result.timeout = timeout; + } + if (initialDelay != null) { + $result.initialDelay = initialDelay; + } + return $result; + } + LivenessCheck._() : super(); + factory LivenessCheck.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LivenessCheck.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LivenessCheck', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'path') + ..aOS(2, _omitFieldNames ? '' : 'host') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'failureThreshold', $pb.PbFieldType.OU3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'successThreshold', $pb.PbFieldType.OU3) + ..aOM<$51.Duration>(5, _omitFieldNames ? '' : 'checkInterval', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'initialDelay', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LivenessCheck clone() => LivenessCheck()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LivenessCheck copyWith(void Function(LivenessCheck) updates) => + super.copyWith((message) => updates(message as LivenessCheck)) + as LivenessCheck; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LivenessCheck create() => LivenessCheck._(); + LivenessCheck createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LivenessCheck getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LivenessCheck? _defaultInstance; + + /// The request path. + @$pb.TagNumber(1) + $core.String get path => $_getSZ(0); + @$pb.TagNumber(1) + set path($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPath() => $_has(0); + @$pb.TagNumber(1) + void clearPath() => clearField(1); + + /// Host header to send when performing a HTTP Liveness check. + /// Example: "myapp.appspot.com" + @$pb.TagNumber(2) + $core.String get host => $_getSZ(1); + @$pb.TagNumber(2) + set host($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasHost() => $_has(1); + @$pb.TagNumber(2) + void clearHost() => clearField(2); + + /// Number of consecutive failed checks required before considering the + /// VM unhealthy. + @$pb.TagNumber(3) + $core.int get failureThreshold => $_getIZ(2); + @$pb.TagNumber(3) + set failureThreshold($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFailureThreshold() => $_has(2); + @$pb.TagNumber(3) + void clearFailureThreshold() => clearField(3); + + /// Number of consecutive successful checks required before considering + /// the VM healthy. + @$pb.TagNumber(4) + $core.int get successThreshold => $_getIZ(3); + @$pb.TagNumber(4) + set successThreshold($core.int v) { + $_setUnsignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSuccessThreshold() => $_has(3); + @$pb.TagNumber(4) + void clearSuccessThreshold() => clearField(4); + + /// Interval between health checks. + @$pb.TagNumber(5) + $51.Duration get checkInterval => $_getN(4); + @$pb.TagNumber(5) + set checkInterval($51.Duration v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCheckInterval() => $_has(4); + @$pb.TagNumber(5) + void clearCheckInterval() => clearField(5); + @$pb.TagNumber(5) + $51.Duration ensureCheckInterval() => $_ensure(4); + + /// Time before the check is considered failed. + @$pb.TagNumber(6) + $51.Duration get timeout => $_getN(5); + @$pb.TagNumber(6) + set timeout($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasTimeout() => $_has(5); + @$pb.TagNumber(6) + void clearTimeout() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureTimeout() => $_ensure(5); + + /// The initial delay before starting to execute the checks. + @$pb.TagNumber(7) + $51.Duration get initialDelay => $_getN(6); + @$pb.TagNumber(7) + set initialDelay($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasInitialDelay() => $_has(6); + @$pb.TagNumber(7) + void clearInitialDelay() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureInitialDelay() => $_ensure(6); +} + +/// Third-party Python runtime library that is required by the application. +class Library extends $pb.GeneratedMessage { + factory Library({ + $core.String? name, + $core.String? version, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (version != null) { + $result.version = version; + } + return $result; + } + Library._() : super(); + factory Library.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Library.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Library', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'version') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Library clone() => Library()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Library copyWith(void Function(Library) updates) => + super.copyWith((message) => updates(message as Library)) as Library; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Library create() => Library._(); + Library createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Library getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Library? _defaultInstance; + + /// Name of the library. Example: "django". + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Version of the library to select, or "latest". + @$pb.TagNumber(2) + $core.String get version => $_getSZ(1); + @$pb.TagNumber(2) + set version($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pbenum.dart new file mode 100644 index 00000000..82a5a76f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pbenum.dart @@ -0,0 +1,159 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/app_yaml.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Actions to take when the user is not logged in. +class AuthFailAction extends $pb.ProtobufEnum { + static const AuthFailAction AUTH_FAIL_ACTION_UNSPECIFIED = + AuthFailAction._(0, _omitEnumNames ? '' : 'AUTH_FAIL_ACTION_UNSPECIFIED'); + static const AuthFailAction AUTH_FAIL_ACTION_REDIRECT = + AuthFailAction._(1, _omitEnumNames ? '' : 'AUTH_FAIL_ACTION_REDIRECT'); + static const AuthFailAction AUTH_FAIL_ACTION_UNAUTHORIZED = AuthFailAction._( + 2, _omitEnumNames ? '' : 'AUTH_FAIL_ACTION_UNAUTHORIZED'); + + static const $core.List values = [ + AUTH_FAIL_ACTION_UNSPECIFIED, + AUTH_FAIL_ACTION_REDIRECT, + AUTH_FAIL_ACTION_UNAUTHORIZED, + ]; + + static final $core.Map<$core.int, AuthFailAction> _byValue = + $pb.ProtobufEnum.initByValue(values); + static AuthFailAction? valueOf($core.int value) => _byValue[value]; + + const AuthFailAction._($core.int v, $core.String n) : super(v, n); +} + +/// Methods to restrict access to a URL based on login status. +class LoginRequirement extends $pb.ProtobufEnum { + static const LoginRequirement LOGIN_UNSPECIFIED = + LoginRequirement._(0, _omitEnumNames ? '' : 'LOGIN_UNSPECIFIED'); + static const LoginRequirement LOGIN_OPTIONAL = + LoginRequirement._(1, _omitEnumNames ? '' : 'LOGIN_OPTIONAL'); + static const LoginRequirement LOGIN_ADMIN = + LoginRequirement._(2, _omitEnumNames ? '' : 'LOGIN_ADMIN'); + static const LoginRequirement LOGIN_REQUIRED = + LoginRequirement._(3, _omitEnumNames ? '' : 'LOGIN_REQUIRED'); + + static const $core.List values = [ + LOGIN_UNSPECIFIED, + LOGIN_OPTIONAL, + LOGIN_ADMIN, + LOGIN_REQUIRED, + ]; + + static final $core.Map<$core.int, LoginRequirement> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LoginRequirement? valueOf($core.int value) => _byValue[value]; + + const LoginRequirement._($core.int v, $core.String n) : super(v, n); +} + +/// Methods to enforce security (HTTPS) on a URL. +class SecurityLevel extends $pb.ProtobufEnum { + static const SecurityLevel SECURE_UNSPECIFIED = + SecurityLevel._(0, _omitEnumNames ? '' : 'SECURE_UNSPECIFIED'); + static const SecurityLevel SECURE_NEVER = + SecurityLevel._(1, _omitEnumNames ? '' : 'SECURE_NEVER'); + static const SecurityLevel SECURE_OPTIONAL = + SecurityLevel._(2, _omitEnumNames ? '' : 'SECURE_OPTIONAL'); + static const SecurityLevel SECURE_ALWAYS = + SecurityLevel._(3, _omitEnumNames ? '' : 'SECURE_ALWAYS'); + + static const SecurityLevel SECURE_DEFAULT = SECURE_UNSPECIFIED; + + static const $core.List values = [ + SECURE_UNSPECIFIED, + SECURE_NEVER, + SECURE_OPTIONAL, + SECURE_ALWAYS, + ]; + + static final $core.Map<$core.int, SecurityLevel> _byValue = + $pb.ProtobufEnum.initByValue(values); + static SecurityLevel? valueOf($core.int value) => _byValue[value]; + + const SecurityLevel._($core.int v, $core.String n) : super(v, n); +} + +/// Error codes. +class ErrorHandler_ErrorCode extends $pb.ProtobufEnum { + static const ErrorHandler_ErrorCode ERROR_CODE_UNSPECIFIED = + ErrorHandler_ErrorCode._( + 0, _omitEnumNames ? '' : 'ERROR_CODE_UNSPECIFIED'); + static const ErrorHandler_ErrorCode ERROR_CODE_OVER_QUOTA = + ErrorHandler_ErrorCode._( + 1, _omitEnumNames ? '' : 'ERROR_CODE_OVER_QUOTA'); + static const ErrorHandler_ErrorCode ERROR_CODE_DOS_API_DENIAL = + ErrorHandler_ErrorCode._( + 2, _omitEnumNames ? '' : 'ERROR_CODE_DOS_API_DENIAL'); + static const ErrorHandler_ErrorCode ERROR_CODE_TIMEOUT = + ErrorHandler_ErrorCode._(3, _omitEnumNames ? '' : 'ERROR_CODE_TIMEOUT'); + + static const ErrorHandler_ErrorCode ERROR_CODE_DEFAULT = + ERROR_CODE_UNSPECIFIED; + + static const $core.List values = + [ + ERROR_CODE_UNSPECIFIED, + ERROR_CODE_OVER_QUOTA, + ERROR_CODE_DOS_API_DENIAL, + ERROR_CODE_TIMEOUT, + ]; + + static final $core.Map<$core.int, ErrorHandler_ErrorCode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ErrorHandler_ErrorCode? valueOf($core.int value) => _byValue[value]; + + const ErrorHandler_ErrorCode._($core.int v, $core.String n) : super(v, n); +} + +/// Redirect codes. +class UrlMap_RedirectHttpResponseCode extends $pb.ProtobufEnum { + static const UrlMap_RedirectHttpResponseCode + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = + UrlMap_RedirectHttpResponseCode._( + 0, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_301 = + UrlMap_RedirectHttpResponseCode._( + 1, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_301'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_302 = + UrlMap_RedirectHttpResponseCode._( + 2, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_302'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_303 = + UrlMap_RedirectHttpResponseCode._( + 3, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_303'); + static const UrlMap_RedirectHttpResponseCode REDIRECT_HTTP_RESPONSE_CODE_307 = + UrlMap_RedirectHttpResponseCode._( + 4, _omitEnumNames ? '' : 'REDIRECT_HTTP_RESPONSE_CODE_307'); + + static const $core.List values = + [ + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED, + REDIRECT_HTTP_RESPONSE_CODE_301, + REDIRECT_HTTP_RESPONSE_CODE_302, + REDIRECT_HTTP_RESPONSE_CODE_303, + REDIRECT_HTTP_RESPONSE_CODE_307, + ]; + + static final $core.Map<$core.int, UrlMap_RedirectHttpResponseCode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static UrlMap_RedirectHttpResponseCode? valueOf($core.int value) => + _byValue[value]; + + const UrlMap_RedirectHttpResponseCode._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pbjson.dart new file mode 100644 index 00000000..8fe4ba80 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/app_yaml.pbjson.dart @@ -0,0 +1,524 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/app_yaml.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use authFailActionDescriptor instead') +const AuthFailAction$json = { + '1': 'AuthFailAction', + '2': [ + {'1': 'AUTH_FAIL_ACTION_UNSPECIFIED', '2': 0}, + {'1': 'AUTH_FAIL_ACTION_REDIRECT', '2': 1}, + {'1': 'AUTH_FAIL_ACTION_UNAUTHORIZED', '2': 2}, + ], +}; + +/// Descriptor for `AuthFailAction`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List authFailActionDescriptor = $convert.base64Decode( + 'Cg5BdXRoRmFpbEFjdGlvbhIgChxBVVRIX0ZBSUxfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHQoZQV' + 'VUSF9GQUlMX0FDVElPTl9SRURJUkVDVBABEiEKHUFVVEhfRkFJTF9BQ1RJT05fVU5BVVRIT1JJ' + 'WkVEEAI='); + +@$core.Deprecated('Use loginRequirementDescriptor instead') +const LoginRequirement$json = { + '1': 'LoginRequirement', + '2': [ + {'1': 'LOGIN_UNSPECIFIED', '2': 0}, + {'1': 'LOGIN_OPTIONAL', '2': 1}, + {'1': 'LOGIN_ADMIN', '2': 2}, + {'1': 'LOGIN_REQUIRED', '2': 3}, + ], +}; + +/// Descriptor for `LoginRequirement`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List loginRequirementDescriptor = $convert.base64Decode( + 'ChBMb2dpblJlcXVpcmVtZW50EhUKEUxPR0lOX1VOU1BFQ0lGSUVEEAASEgoOTE9HSU5fT1BUSU' + '9OQUwQARIPCgtMT0dJTl9BRE1JThACEhIKDkxPR0lOX1JFUVVJUkVEEAM='); + +@$core.Deprecated('Use securityLevelDescriptor instead') +const SecurityLevel$json = { + '1': 'SecurityLevel', + '2': [ + {'1': 'SECURE_UNSPECIFIED', '2': 0}, + {'1': 'SECURE_DEFAULT', '2': 0}, + {'1': 'SECURE_NEVER', '2': 1}, + {'1': 'SECURE_OPTIONAL', '2': 2}, + {'1': 'SECURE_ALWAYS', '2': 3}, + ], + '3': {'2': true}, +}; + +/// Descriptor for `SecurityLevel`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List securityLevelDescriptor = $convert.base64Decode( + 'Cg1TZWN1cml0eUxldmVsEhYKElNFQ1VSRV9VTlNQRUNJRklFRBAAEhIKDlNFQ1VSRV9ERUZBVU' + 'xUEAASEAoMU0VDVVJFX05FVkVSEAESEwoPU0VDVVJFX09QVElPTkFMEAISEQoNU0VDVVJFX0FM' + 'V0FZUxADGgIQAQ=='); + +@$core.Deprecated('Use apiConfigHandlerDescriptor instead') +const ApiConfigHandler$json = { + '1': 'ApiConfigHandler', + '2': [ + { + '1': 'auth_fail_action', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.AuthFailAction', + '10': 'authFailAction' + }, + { + '1': 'login', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.LoginRequirement', + '10': 'login' + }, + {'1': 'script', '3': 3, '4': 1, '5': 9, '10': 'script'}, + { + '1': 'security_level', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.SecurityLevel', + '10': 'securityLevel' + }, + {'1': 'url', '3': 5, '4': 1, '5': 9, '10': 'url'}, + ], +}; + +/// Descriptor for `ApiConfigHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List apiConfigHandlerDescriptor = $convert.base64Decode( + 'ChBBcGlDb25maWdIYW5kbGVyElEKEGF1dGhfZmFpbF9hY3Rpb24YASABKA4yJy5nb29nbGUuYX' + 'BwZW5naW5lLnYxYmV0YS5BdXRoRmFpbEFjdGlvblIOYXV0aEZhaWxBY3Rpb24SPwoFbG9naW4Y' + 'AiABKA4yKS5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5Mb2dpblJlcXVpcmVtZW50UgVsb2dpbh' + 'IWCgZzY3JpcHQYAyABKAlSBnNjcmlwdBJNCg5zZWN1cml0eV9sZXZlbBgEIAEoDjImLmdvb2ds' + 'ZS5hcHBlbmdpbmUudjFiZXRhLlNlY3VyaXR5TGV2ZWxSDXNlY3VyaXR5TGV2ZWwSEAoDdXJsGA' + 'UgASgJUgN1cmw='); + +@$core.Deprecated('Use errorHandlerDescriptor instead') +const ErrorHandler$json = { + '1': 'ErrorHandler', + '2': [ + { + '1': 'error_code', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.ErrorHandler.ErrorCode', + '10': 'errorCode' + }, + {'1': 'static_file', '3': 2, '4': 1, '5': 9, '10': 'staticFile'}, + {'1': 'mime_type', '3': 3, '4': 1, '5': 9, '10': 'mimeType'}, + ], + '4': [ErrorHandler_ErrorCode$json], +}; + +@$core.Deprecated('Use errorHandlerDescriptor instead') +const ErrorHandler_ErrorCode$json = { + '1': 'ErrorCode', + '2': [ + {'1': 'ERROR_CODE_UNSPECIFIED', '2': 0}, + {'1': 'ERROR_CODE_DEFAULT', '2': 0}, + {'1': 'ERROR_CODE_OVER_QUOTA', '2': 1}, + {'1': 'ERROR_CODE_DOS_API_DENIAL', '2': 2}, + {'1': 'ERROR_CODE_TIMEOUT', '2': 3}, + ], + '3': {'2': true}, +}; + +/// Descriptor for `ErrorHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List errorHandlerDescriptor = $convert.base64Decode( + 'CgxFcnJvckhhbmRsZXISTgoKZXJyb3JfY29kZRgBIAEoDjIvLmdvb2dsZS5hcHBlbmdpbmUudj' + 'FiZXRhLkVycm9ySGFuZGxlci5FcnJvckNvZGVSCWVycm9yQ29kZRIfCgtzdGF0aWNfZmlsZRgC' + 'IAEoCVIKc3RhdGljRmlsZRIbCgltaW1lX3R5cGUYAyABKAlSCG1pbWVUeXBlIpUBCglFcnJvck' + 'NvZGUSGgoWRVJST1JfQ09ERV9VTlNQRUNJRklFRBAAEhYKEkVSUk9SX0NPREVfREVGQVVMVBAA' + 'EhkKFUVSUk9SX0NPREVfT1ZFUl9RVU9UQRABEh0KGUVSUk9SX0NPREVfRE9TX0FQSV9ERU5JQU' + 'wQAhIWChJFUlJPUl9DT0RFX1RJTUVPVVQQAxoCEAE='); + +@$core.Deprecated('Use urlMapDescriptor instead') +const UrlMap$json = { + '1': 'UrlMap', + '2': [ + {'1': 'url_regex', '3': 1, '4': 1, '5': 9, '10': 'urlRegex'}, + { + '1': 'static_files', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.StaticFilesHandler', + '9': 0, + '10': 'staticFiles' + }, + { + '1': 'script', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ScriptHandler', + '9': 0, + '10': 'script' + }, + { + '1': 'api_endpoint', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ApiEndpointHandler', + '9': 0, + '10': 'apiEndpoint' + }, + { + '1': 'security_level', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.SecurityLevel', + '10': 'securityLevel' + }, + { + '1': 'login', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.LoginRequirement', + '10': 'login' + }, + { + '1': 'auth_fail_action', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.AuthFailAction', + '10': 'authFailAction' + }, + { + '1': 'redirect_http_response_code', + '3': 8, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.UrlMap.RedirectHttpResponseCode', + '10': 'redirectHttpResponseCode' + }, + ], + '4': [UrlMap_RedirectHttpResponseCode$json], + '8': [ + {'1': 'handler_type'}, + ], +}; + +@$core.Deprecated('Use urlMapDescriptor instead') +const UrlMap_RedirectHttpResponseCode$json = { + '1': 'RedirectHttpResponseCode', + '2': [ + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED', '2': 0}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_301', '2': 1}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_302', '2': 2}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_303', '2': 3}, + {'1': 'REDIRECT_HTTP_RESPONSE_CODE_307', '2': 4}, + ], +}; + +/// Descriptor for `UrlMap`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List urlMapDescriptor = $convert.base64Decode( + 'CgZVcmxNYXASGwoJdXJsX3JlZ2V4GAEgASgJUgh1cmxSZWdleBJQCgxzdGF0aWNfZmlsZXMYAi' + 'ABKAsyKy5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5TdGF0aWNGaWxlc0hhbmRsZXJIAFILc3Rh' + 'dGljRmlsZXMSQAoGc2NyaXB0GAMgASgLMiYuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuU2NyaX' + 'B0SGFuZGxlckgAUgZzY3JpcHQSUAoMYXBpX2VuZHBvaW50GAQgASgLMisuZ29vZ2xlLmFwcGVu' + 'Z2luZS52MWJldGEuQXBpRW5kcG9pbnRIYW5kbGVySABSC2FwaUVuZHBvaW50Ek0KDnNlY3VyaX' + 'R5X2xldmVsGAUgASgOMiYuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuU2VjdXJpdHlMZXZlbFIN' + 'c2VjdXJpdHlMZXZlbBI/CgVsb2dpbhgGIAEoDjIpLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLk' + 'xvZ2luUmVxdWlyZW1lbnRSBWxvZ2luElEKEGF1dGhfZmFpbF9hY3Rpb24YByABKA4yJy5nb29n' + 'bGUuYXBwZW5naW5lLnYxYmV0YS5BdXRoRmFpbEFjdGlvblIOYXV0aEZhaWxBY3Rpb24Sdwobcm' + 'VkaXJlY3RfaHR0cF9yZXNwb25zZV9jb2RlGAggASgOMjguZ29vZ2xlLmFwcGVuZ2luZS52MWJl' + 'dGEuVXJsTWFwLlJlZGlyZWN0SHR0cFJlc3BvbnNlQ29kZVIYcmVkaXJlY3RIdHRwUmVzcG9uc2' + 'VDb2RlItsBChhSZWRpcmVjdEh0dHBSZXNwb25zZUNvZGUSKwonUkVESVJFQ1RfSFRUUF9SRVNQ' + 'T05TRV9DT0RFX1VOU1BFQ0lGSUVEEAASIwofUkVESVJFQ1RfSFRUUF9SRVNQT05TRV9DT0RFXz' + 'MwMRABEiMKH1JFRElSRUNUX0hUVFBfUkVTUE9OU0VfQ09ERV8zMDIQAhIjCh9SRURJUkVDVF9I' + 'VFRQX1JFU1BPTlNFX0NPREVfMzAzEAMSIwofUkVESVJFQ1RfSFRUUF9SRVNQT05TRV9DT0RFXz' + 'MwNxAEQg4KDGhhbmRsZXJfdHlwZQ=='); + +@$core.Deprecated('Use staticFilesHandlerDescriptor instead') +const StaticFilesHandler$json = { + '1': 'StaticFilesHandler', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'upload_path_regex', '3': 2, '4': 1, '5': 9, '10': 'uploadPathRegex'}, + { + '1': 'http_headers', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.StaticFilesHandler.HttpHeadersEntry', + '10': 'httpHeaders' + }, + {'1': 'mime_type', '3': 4, '4': 1, '5': 9, '10': 'mimeType'}, + { + '1': 'expiration', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'expiration' + }, + { + '1': 'require_matching_file', + '3': 6, + '4': 1, + '5': 8, + '10': 'requireMatchingFile' + }, + { + '1': 'application_readable', + '3': 7, + '4': 1, + '5': 8, + '10': 'applicationReadable' + }, + ], + '3': [StaticFilesHandler_HttpHeadersEntry$json], +}; + +@$core.Deprecated('Use staticFilesHandlerDescriptor instead') +const StaticFilesHandler_HttpHeadersEntry$json = { + '1': 'HttpHeadersEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `StaticFilesHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List staticFilesHandlerDescriptor = $convert.base64Decode( + 'ChJTdGF0aWNGaWxlc0hhbmRsZXISEgoEcGF0aBgBIAEoCVIEcGF0aBIqChF1cGxvYWRfcGF0aF' + '9yZWdleBgCIAEoCVIPdXBsb2FkUGF0aFJlZ2V4El8KDGh0dHBfaGVhZGVycxgDIAMoCzI8Lmdv' + 'b2dsZS5hcHBlbmdpbmUudjFiZXRhLlN0YXRpY0ZpbGVzSGFuZGxlci5IdHRwSGVhZGVyc0VudH' + 'J5UgtodHRwSGVhZGVycxIbCgltaW1lX3R5cGUYBCABKAlSCG1pbWVUeXBlEjkKCmV4cGlyYXRp' + 'b24YBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SCmV4cGlyYXRpb24SMgoVcmVxdW' + 'lyZV9tYXRjaGluZ19maWxlGAYgASgIUhNyZXF1aXJlTWF0Y2hpbmdGaWxlEjEKFGFwcGxpY2F0' + 'aW9uX3JlYWRhYmxlGAcgASgIUhNhcHBsaWNhdGlvblJlYWRhYmxlGj4KEEh0dHBIZWFkZXJzRW' + '50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use scriptHandlerDescriptor instead') +const ScriptHandler$json = { + '1': 'ScriptHandler', + '2': [ + {'1': 'script_path', '3': 1, '4': 1, '5': 9, '10': 'scriptPath'}, + ], +}; + +/// Descriptor for `ScriptHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List scriptHandlerDescriptor = $convert.base64Decode( + 'Cg1TY3JpcHRIYW5kbGVyEh8KC3NjcmlwdF9wYXRoGAEgASgJUgpzY3JpcHRQYXRo'); + +@$core.Deprecated('Use apiEndpointHandlerDescriptor instead') +const ApiEndpointHandler$json = { + '1': 'ApiEndpointHandler', + '2': [ + {'1': 'script_path', '3': 1, '4': 1, '5': 9, '10': 'scriptPath'}, + ], +}; + +/// Descriptor for `ApiEndpointHandler`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List apiEndpointHandlerDescriptor = $convert.base64Decode( + 'ChJBcGlFbmRwb2ludEhhbmRsZXISHwoLc2NyaXB0X3BhdGgYASABKAlSCnNjcmlwdFBhdGg='); + +@$core.Deprecated('Use healthCheckDescriptor instead') +const HealthCheck$json = { + '1': 'HealthCheck', + '2': [ + { + '1': 'disable_health_check', + '3': 1, + '4': 1, + '5': 8, + '10': 'disableHealthCheck' + }, + {'1': 'host', '3': 2, '4': 1, '5': 9, '10': 'host'}, + { + '1': 'healthy_threshold', + '3': 3, + '4': 1, + '5': 13, + '10': 'healthyThreshold' + }, + { + '1': 'unhealthy_threshold', + '3': 4, + '4': 1, + '5': 13, + '10': 'unhealthyThreshold' + }, + { + '1': 'restart_threshold', + '3': 5, + '4': 1, + '5': 13, + '10': 'restartThreshold' + }, + { + '1': 'check_interval', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'checkInterval' + }, + { + '1': 'timeout', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + ], +}; + +/// Descriptor for `HealthCheck`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List healthCheckDescriptor = $convert.base64Decode( + 'CgtIZWFsdGhDaGVjaxIwChRkaXNhYmxlX2hlYWx0aF9jaGVjaxgBIAEoCFISZGlzYWJsZUhlYW' + 'x0aENoZWNrEhIKBGhvc3QYAiABKAlSBGhvc3QSKwoRaGVhbHRoeV90aHJlc2hvbGQYAyABKA1S' + 'EGhlYWx0aHlUaHJlc2hvbGQSLwoTdW5oZWFsdGh5X3RocmVzaG9sZBgEIAEoDVISdW5oZWFsdG' + 'h5VGhyZXNob2xkEisKEXJlc3RhcnRfdGhyZXNob2xkGAUgASgNUhByZXN0YXJ0VGhyZXNob2xk' + 'EkAKDmNoZWNrX2ludGVydmFsGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUg1jaG' + 'Vja0ludGVydmFsEjMKB3RpbWVvdXQYByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25S' + 'B3RpbWVvdXQ='); + +@$core.Deprecated('Use readinessCheckDescriptor instead') +const ReadinessCheck$json = { + '1': 'ReadinessCheck', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'host', '3': 2, '4': 1, '5': 9, '10': 'host'}, + { + '1': 'failure_threshold', + '3': 3, + '4': 1, + '5': 13, + '10': 'failureThreshold' + }, + { + '1': 'success_threshold', + '3': 4, + '4': 1, + '5': 13, + '10': 'successThreshold' + }, + { + '1': 'check_interval', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'checkInterval' + }, + { + '1': 'timeout', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + { + '1': 'app_start_timeout', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'appStartTimeout' + }, + ], +}; + +/// Descriptor for `ReadinessCheck`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List readinessCheckDescriptor = $convert.base64Decode( + 'Cg5SZWFkaW5lc3NDaGVjaxISCgRwYXRoGAEgASgJUgRwYXRoEhIKBGhvc3QYAiABKAlSBGhvc3' + 'QSKwoRZmFpbHVyZV90aHJlc2hvbGQYAyABKA1SEGZhaWx1cmVUaHJlc2hvbGQSKwoRc3VjY2Vz' + 'c190aHJlc2hvbGQYBCABKA1SEHN1Y2Nlc3NUaHJlc2hvbGQSQAoOY2hlY2tfaW50ZXJ2YWwYBS' + 'ABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SDWNoZWNrSW50ZXJ2YWwSMwoHdGltZW91' + 'dBgGIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIHdGltZW91dBJFChFhcHBfc3Rhcn' + 'RfdGltZW91dBgHIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIPYXBwU3RhcnRUaW1l' + 'b3V0'); + +@$core.Deprecated('Use livenessCheckDescriptor instead') +const LivenessCheck$json = { + '1': 'LivenessCheck', + '2': [ + {'1': 'path', '3': 1, '4': 1, '5': 9, '10': 'path'}, + {'1': 'host', '3': 2, '4': 1, '5': 9, '10': 'host'}, + { + '1': 'failure_threshold', + '3': 3, + '4': 1, + '5': 13, + '10': 'failureThreshold' + }, + { + '1': 'success_threshold', + '3': 4, + '4': 1, + '5': 13, + '10': 'successThreshold' + }, + { + '1': 'check_interval', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'checkInterval' + }, + { + '1': 'timeout', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + { + '1': 'initial_delay', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'initialDelay' + }, + ], +}; + +/// Descriptor for `LivenessCheck`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List livenessCheckDescriptor = $convert.base64Decode( + 'Cg1MaXZlbmVzc0NoZWNrEhIKBHBhdGgYASABKAlSBHBhdGgSEgoEaG9zdBgCIAEoCVIEaG9zdB' + 'IrChFmYWlsdXJlX3RocmVzaG9sZBgDIAEoDVIQZmFpbHVyZVRocmVzaG9sZBIrChFzdWNjZXNz' + 'X3RocmVzaG9sZBgEIAEoDVIQc3VjY2Vzc1RocmVzaG9sZBJACg5jaGVja19pbnRlcnZhbBgFIA' + 'EoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblINY2hlY2tJbnRlcnZhbBIzCgd0aW1lb3V0' + 'GAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgd0aW1lb3V0Ej4KDWluaXRpYWxfZG' + 'VsYXkYByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SDGluaXRpYWxEZWxheQ=='); + +@$core.Deprecated('Use libraryDescriptor instead') +const Library$json = { + '1': 'Library', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'version', '3': 2, '4': 1, '5': 9, '10': 'version'}, + ], +}; + +/// Descriptor for `Library`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List libraryDescriptor = $convert.base64Decode( + 'CgdMaWJyYXJ5EhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbg' + '=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pb.dart new file mode 100644 index 00000000..e7ed9bb9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pb.dart @@ -0,0 +1,3702 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/field_mask.pb.dart' as $58; +import 'appengine.pbenum.dart'; +import 'application.pb.dart' as $3; +import 'certificate.pb.dart' as $8; +import 'domain.pb.dart' as $59; +import 'domain_mapping.pb.dart' as $9; +import 'firewall.pb.dart' as $7; +import 'instance.pb.dart' as $6; +import 'service.pb.dart' as $4; +import 'version.pb.dart' as $5; + +export 'appengine.pbenum.dart'; + +/// Request message for `Applications.GetApplication`. +class GetApplicationRequest extends $pb.GeneratedMessage { + factory GetApplicationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetApplicationRequest._() : super(); + factory GetApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetApplicationRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetApplicationRequest clone() => + GetApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetApplicationRequest copyWith( + void Function(GetApplicationRequest) updates) => + super.copyWith((message) => updates(message as GetApplicationRequest)) + as GetApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetApplicationRequest create() => GetApplicationRequest._(); + GetApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetApplicationRequest? _defaultInstance; + + /// Name of the Application resource to get. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Applications.CreateApplication`. +class CreateApplicationRequest extends $pb.GeneratedMessage { + factory CreateApplicationRequest({ + $3.Application? application, + }) { + final $result = create(); + if (application != null) { + $result.application = application; + } + return $result; + } + CreateApplicationRequest._() : super(); + factory CreateApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateApplicationRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$3.Application>(2, _omitFieldNames ? '' : 'application', + subBuilder: $3.Application.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateApplicationRequest clone() => + CreateApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateApplicationRequest copyWith( + void Function(CreateApplicationRequest) updates) => + super.copyWith((message) => updates(message as CreateApplicationRequest)) + as CreateApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateApplicationRequest create() => CreateApplicationRequest._(); + CreateApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateApplicationRequest? _defaultInstance; + + /// Application configuration. + @$pb.TagNumber(2) + $3.Application get application => $_getN(0); + @$pb.TagNumber(2) + set application($3.Application v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasApplication() => $_has(0); + @$pb.TagNumber(2) + void clearApplication() => clearField(2); + @$pb.TagNumber(2) + $3.Application ensureApplication() => $_ensure(0); +} + +/// Request message for `Applications.UpdateApplication`. +class UpdateApplicationRequest extends $pb.GeneratedMessage { + factory UpdateApplicationRequest({ + $core.String? name, + $3.Application? application, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (application != null) { + $result.application = application; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateApplicationRequest._() : super(); + factory UpdateApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateApplicationRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$3.Application>(2, _omitFieldNames ? '' : 'application', + subBuilder: $3.Application.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateApplicationRequest clone() => + UpdateApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateApplicationRequest copyWith( + void Function(UpdateApplicationRequest) updates) => + super.copyWith((message) => updates(message as UpdateApplicationRequest)) + as UpdateApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateApplicationRequest create() => UpdateApplicationRequest._(); + UpdateApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateApplicationRequest? _defaultInstance; + + /// Name of the Application resource to update. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// An Application containing the updated resource. + @$pb.TagNumber(2) + $3.Application get application => $_getN(1); + @$pb.TagNumber(2) + set application($3.Application v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasApplication() => $_has(1); + @$pb.TagNumber(2) + void clearApplication() => clearField(2); + @$pb.TagNumber(2) + $3.Application ensureApplication() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for 'Applications.RepairApplication'. +class RepairApplicationRequest extends $pb.GeneratedMessage { + factory RepairApplicationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + RepairApplicationRequest._() : super(); + factory RepairApplicationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RepairApplicationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RepairApplicationRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RepairApplicationRequest clone() => + RepairApplicationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RepairApplicationRequest copyWith( + void Function(RepairApplicationRequest) updates) => + super.copyWith((message) => updates(message as RepairApplicationRequest)) + as RepairApplicationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RepairApplicationRequest create() => RepairApplicationRequest._(); + RepairApplicationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RepairApplicationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RepairApplicationRequest? _defaultInstance; + + /// Name of the application to repair. Example: `apps/myapp` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Services.ListServices`. +class ListServicesRequest extends $pb.GeneratedMessage { + factory ListServicesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListServicesRequest._() : super(); + factory ListServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesRequest clone() => ListServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesRequest copyWith(void Function(ListServicesRequest) updates) => + super.copyWith((message) => updates(message as ListServicesRequest)) + as ListServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesRequest create() => ListServicesRequest._(); + ListServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `Services.ListServices`. +class ListServicesResponse extends $pb.GeneratedMessage { + factory ListServicesResponse({ + $core.Iterable<$4.Service>? services, + $core.String? nextPageToken, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServicesResponse._() : super(); + factory ListServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServicesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$4.Service>(1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: $4.Service.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServicesResponse clone() => + ListServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServicesResponse copyWith(void Function(ListServicesResponse) updates) => + super.copyWith((message) => updates(message as ListServicesResponse)) + as ListServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServicesResponse create() => ListServicesResponse._(); + ListServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServicesResponse? _defaultInstance; + + /// The services belonging to the requested application. + @$pb.TagNumber(1) + $core.List<$4.Service> get services => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Services.GetService`. +class GetServiceRequest extends $pb.GeneratedMessage { + factory GetServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetServiceRequest._() : super(); + factory GetServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceRequest clone() => GetServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceRequest copyWith(void Function(GetServiceRequest) updates) => + super.copyWith((message) => updates(message as GetServiceRequest)) + as GetServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceRequest create() => GetServiceRequest._(); + GetServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceRequest? _defaultInstance; + + /// Name of the resource requested. Example: `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Services.UpdateService`. +class UpdateServiceRequest extends $pb.GeneratedMessage { + factory UpdateServiceRequest({ + $core.String? name, + $4.Service? service, + $58.FieldMask? updateMask, + $core.bool? migrateTraffic, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (service != null) { + $result.service = service; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + if (migrateTraffic != null) { + $result.migrateTraffic = migrateTraffic; + } + return $result; + } + UpdateServiceRequest._() : super(); + factory UpdateServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$4.Service>(2, _omitFieldNames ? '' : 'service', + subBuilder: $4.Service.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..aOB(4, _omitFieldNames ? '' : 'migrateTraffic') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateServiceRequest clone() => + UpdateServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateServiceRequest copyWith(void Function(UpdateServiceRequest) updates) => + super.copyWith((message) => updates(message as UpdateServiceRequest)) + as UpdateServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateServiceRequest create() => UpdateServiceRequest._(); + UpdateServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateServiceRequest? _defaultInstance; + + /// Name of the resource to update. Example: `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A Service resource containing the updated service. Only fields set in the + /// field mask will be updated. + @$pb.TagNumber(2) + $4.Service get service => $_getN(1); + @$pb.TagNumber(2) + set service($4.Service v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasService() => $_has(1); + @$pb.TagNumber(2) + void clearService() => clearField(2); + @$pb.TagNumber(2) + $4.Service ensureService() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); + + /// Set to `true` to gradually shift traffic to one or more versions that you + /// specify. By default, traffic is shifted immediately. + /// For gradual traffic migration, the target versions + /// must be located within instances that are configured for both + /// [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) + /// and + /// [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). + /// You must specify the + /// [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) + /// field in the Service resource. Gradual traffic migration is not + /// supported in the App Engine flexible environment. For examples, see + /// [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + @$pb.TagNumber(4) + $core.bool get migrateTraffic => $_getBF(3); + @$pb.TagNumber(4) + set migrateTraffic($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMigrateTraffic() => $_has(3); + @$pb.TagNumber(4) + void clearMigrateTraffic() => clearField(4); +} + +/// Request message for `Services.DeleteService`. +class DeleteServiceRequest extends $pb.GeneratedMessage { + factory DeleteServiceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteServiceRequest._() : super(); + factory DeleteServiceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteServiceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteServiceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteServiceRequest clone() => + DeleteServiceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteServiceRequest copyWith(void Function(DeleteServiceRequest) updates) => + super.copyWith((message) => updates(message as DeleteServiceRequest)) + as DeleteServiceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteServiceRequest create() => DeleteServiceRequest._(); + DeleteServiceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteServiceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteServiceRequest? _defaultInstance; + + /// Name of the resource requested. Example: `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Versions.ListVersions`. +class ListVersionsRequest extends $pb.GeneratedMessage { + factory ListVersionsRequest({ + $core.String? parent, + VersionView? view, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (view != null) { + $result.view = view; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListVersionsRequest._() : super(); + factory ListVersionsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListVersionsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListVersionsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..e(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: VersionView.BASIC, + valueOf: VersionView.valueOf, + enumValues: VersionView.values) + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(4, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListVersionsRequest clone() => ListVersionsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListVersionsRequest copyWith(void Function(ListVersionsRequest) updates) => + super.copyWith((message) => updates(message as ListVersionsRequest)) + as ListVersionsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListVersionsRequest create() => ListVersionsRequest._(); + ListVersionsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListVersionsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListVersionsRequest? _defaultInstance; + + /// Name of the parent Service resource. Example: + /// `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Controls the set of fields returned in the `List` response. + @$pb.TagNumber(2) + VersionView get view => $_getN(1); + @$pb.TagNumber(2) + set view(VersionView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); + + /// Maximum results to return per page. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(4) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(4) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(4) + void clearPageToken() => clearField(4); +} + +/// Response message for `Versions.ListVersions`. +class ListVersionsResponse extends $pb.GeneratedMessage { + factory ListVersionsResponse({ + $core.Iterable<$5.Version>? versions, + $core.String? nextPageToken, + }) { + final $result = create(); + if (versions != null) { + $result.versions.addAll(versions); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListVersionsResponse._() : super(); + factory ListVersionsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListVersionsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListVersionsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$5.Version>(1, _omitFieldNames ? '' : 'versions', $pb.PbFieldType.PM, + subBuilder: $5.Version.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListVersionsResponse clone() => + ListVersionsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListVersionsResponse copyWith(void Function(ListVersionsResponse) updates) => + super.copyWith((message) => updates(message as ListVersionsResponse)) + as ListVersionsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListVersionsResponse create() => ListVersionsResponse._(); + ListVersionsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListVersionsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListVersionsResponse? _defaultInstance; + + /// The versions belonging to the requested service. + @$pb.TagNumber(1) + $core.List<$5.Version> get versions => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Versions.GetVersion`. +class GetVersionRequest extends $pb.GeneratedMessage { + factory GetVersionRequest({ + $core.String? name, + VersionView? view, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetVersionRequest._() : super(); + factory GetVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetVersionRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: VersionView.BASIC, + valueOf: VersionView.valueOf, + enumValues: VersionView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetVersionRequest clone() => GetVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetVersionRequest copyWith(void Function(GetVersionRequest) updates) => + super.copyWith((message) => updates(message as GetVersionRequest)) + as GetVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetVersionRequest create() => GetVersionRequest._(); + GetVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetVersionRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Controls the set of fields returned in the `Get` response. + @$pb.TagNumber(2) + VersionView get view => $_getN(1); + @$pb.TagNumber(2) + set view(VersionView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); +} + +/// Request message for `Versions.CreateVersion`. +class CreateVersionRequest extends $pb.GeneratedMessage { + factory CreateVersionRequest({ + $core.String? parent, + $5.Version? version, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (version != null) { + $result.version = version; + } + return $result; + } + CreateVersionRequest._() : super(); + factory CreateVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateVersionRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$5.Version>(2, _omitFieldNames ? '' : 'version', + subBuilder: $5.Version.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateVersionRequest clone() => + CreateVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateVersionRequest copyWith(void Function(CreateVersionRequest) updates) => + super.copyWith((message) => updates(message as CreateVersionRequest)) + as CreateVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateVersionRequest create() => CreateVersionRequest._(); + CreateVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateVersionRequest? _defaultInstance; + + /// Name of the parent resource to create this version under. Example: + /// `apps/myapp/services/default`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Application deployment configuration. + @$pb.TagNumber(2) + $5.Version get version => $_getN(1); + @$pb.TagNumber(2) + set version($5.Version v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); + @$pb.TagNumber(2) + $5.Version ensureVersion() => $_ensure(1); +} + +/// Request message for `Versions.UpdateVersion`. +class UpdateVersionRequest extends $pb.GeneratedMessage { + factory UpdateVersionRequest({ + $core.String? name, + $5.Version? version, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (version != null) { + $result.version = version; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateVersionRequest._() : super(); + factory UpdateVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateVersionRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$5.Version>(2, _omitFieldNames ? '' : 'version', + subBuilder: $5.Version.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateVersionRequest clone() => + UpdateVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateVersionRequest copyWith(void Function(UpdateVersionRequest) updates) => + super.copyWith((message) => updates(message as UpdateVersionRequest)) + as UpdateVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateVersionRequest create() => UpdateVersionRequest._(); + UpdateVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateVersionRequest? _defaultInstance; + + /// Name of the resource to update. Example: + /// `apps/myapp/services/default/versions/1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A Version containing the updated resource. Only fields set in the field + /// mask will be updated. + @$pb.TagNumber(2) + $5.Version get version => $_getN(1); + @$pb.TagNumber(2) + set version($5.Version v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(2) + void clearVersion() => clearField(2); + @$pb.TagNumber(2) + $5.Version ensureVersion() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `Versions.DeleteVersion`. +class DeleteVersionRequest extends $pb.GeneratedMessage { + factory DeleteVersionRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteVersionRequest._() : super(); + factory DeleteVersionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteVersionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteVersionRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteVersionRequest clone() => + DeleteVersionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteVersionRequest copyWith(void Function(DeleteVersionRequest) updates) => + super.copyWith((message) => updates(message as DeleteVersionRequest)) + as DeleteVersionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteVersionRequest create() => DeleteVersionRequest._(); + DeleteVersionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteVersionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteVersionRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Instances.ListInstances`. +class ListInstancesRequest extends $pb.GeneratedMessage { + factory ListInstancesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListInstancesRequest._() : super(); + factory ListInstancesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListInstancesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListInstancesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListInstancesRequest clone() => + ListInstancesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListInstancesRequest copyWith(void Function(ListInstancesRequest) updates) => + super.copyWith((message) => updates(message as ListInstancesRequest)) + as ListInstancesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListInstancesRequest create() => ListInstancesRequest._(); + ListInstancesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListInstancesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListInstancesRequest? _defaultInstance; + + /// Name of the parent Version resource. Example: + /// `apps/myapp/services/default/versions/v1`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `Instances.ListInstances`. +class ListInstancesResponse extends $pb.GeneratedMessage { + factory ListInstancesResponse({ + $core.Iterable<$6.Instance>? instances, + $core.String? nextPageToken, + }) { + final $result = create(); + if (instances != null) { + $result.instances.addAll(instances); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListInstancesResponse._() : super(); + factory ListInstancesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListInstancesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListInstancesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$6.Instance>(1, _omitFieldNames ? '' : 'instances', $pb.PbFieldType.PM, + subBuilder: $6.Instance.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListInstancesResponse clone() => + ListInstancesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListInstancesResponse copyWith( + void Function(ListInstancesResponse) updates) => + super.copyWith((message) => updates(message as ListInstancesResponse)) + as ListInstancesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListInstancesResponse create() => ListInstancesResponse._(); + ListInstancesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListInstancesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListInstancesResponse? _defaultInstance; + + /// The instances belonging to the requested version. + @$pb.TagNumber(1) + $core.List<$6.Instance> get instances => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Instances.GetInstance`. +class GetInstanceRequest extends $pb.GeneratedMessage { + factory GetInstanceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetInstanceRequest._() : super(); + factory GetInstanceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetInstanceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetInstanceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetInstanceRequest clone() => GetInstanceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetInstanceRequest copyWith(void Function(GetInstanceRequest) updates) => + super.copyWith((message) => updates(message as GetInstanceRequest)) + as GetInstanceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetInstanceRequest create() => GetInstanceRequest._(); + GetInstanceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetInstanceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetInstanceRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Instances.DeleteInstance`. +class DeleteInstanceRequest extends $pb.GeneratedMessage { + factory DeleteInstanceRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteInstanceRequest._() : super(); + factory DeleteInstanceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteInstanceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteInstanceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteInstanceRequest clone() => + DeleteInstanceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteInstanceRequest copyWith( + void Function(DeleteInstanceRequest) updates) => + super.copyWith((message) => updates(message as DeleteInstanceRequest)) + as DeleteInstanceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteInstanceRequest create() => DeleteInstanceRequest._(); + DeleteInstanceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteInstanceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteInstanceRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Instances.DebugInstance`. +class DebugInstanceRequest extends $pb.GeneratedMessage { + factory DebugInstanceRequest({ + $core.String? name, + $core.String? sshKey, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (sshKey != null) { + $result.sshKey = sshKey; + } + return $result; + } + DebugInstanceRequest._() : super(); + factory DebugInstanceRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DebugInstanceRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DebugInstanceRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'sshKey') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DebugInstanceRequest clone() => + DebugInstanceRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DebugInstanceRequest copyWith(void Function(DebugInstanceRequest) updates) => + super.copyWith((message) => updates(message as DebugInstanceRequest)) + as DebugInstanceRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DebugInstanceRequest create() => DebugInstanceRequest._(); + DebugInstanceRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DebugInstanceRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DebugInstanceRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Public SSH key to add to the instance. Examples: + /// + /// * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]` + /// * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}` + /// + /// For more information, see + /// [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + @$pb.TagNumber(2) + $core.String get sshKey => $_getSZ(1); + @$pb.TagNumber(2) + set sshKey($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSshKey() => $_has(1); + @$pb.TagNumber(2) + void clearSshKey() => clearField(2); +} + +/// Request message for `Firewall.ListIngressRules`. +class ListIngressRulesRequest extends $pb.GeneratedMessage { + factory ListIngressRulesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.String? matchingAddress, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (matchingAddress != null) { + $result.matchingAddress = matchingAddress; + } + return $result; + } + ListIngressRulesRequest._() : super(); + factory ListIngressRulesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListIngressRulesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListIngressRulesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOS(4, _omitFieldNames ? '' : 'matchingAddress') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListIngressRulesRequest clone() => + ListIngressRulesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListIngressRulesRequest copyWith( + void Function(ListIngressRulesRequest) updates) => + super.copyWith((message) => updates(message as ListIngressRulesRequest)) + as ListIngressRulesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListIngressRulesRequest create() => ListIngressRulesRequest._(); + ListIngressRulesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListIngressRulesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListIngressRulesRequest? _defaultInstance; + + /// Name of the Firewall collection to retrieve. + /// Example: `apps/myapp/firewall/ingressRules`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// A valid IP Address. If set, only rules matching this address will be + /// returned. The first returned rule will be the rule that fires on requests + /// from this IP. + @$pb.TagNumber(4) + $core.String get matchingAddress => $_getSZ(3); + @$pb.TagNumber(4) + set matchingAddress($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMatchingAddress() => $_has(3); + @$pb.TagNumber(4) + void clearMatchingAddress() => clearField(4); +} + +/// Response message for `Firewall.ListIngressRules`. +class ListIngressRulesResponse extends $pb.GeneratedMessage { + factory ListIngressRulesResponse({ + $core.Iterable<$7.FirewallRule>? ingressRules, + $core.String? nextPageToken, + }) { + final $result = create(); + if (ingressRules != null) { + $result.ingressRules.addAll(ingressRules); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListIngressRulesResponse._() : super(); + factory ListIngressRulesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListIngressRulesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListIngressRulesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$7.FirewallRule>( + 1, _omitFieldNames ? '' : 'ingressRules', $pb.PbFieldType.PM, + subBuilder: $7.FirewallRule.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListIngressRulesResponse clone() => + ListIngressRulesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListIngressRulesResponse copyWith( + void Function(ListIngressRulesResponse) updates) => + super.copyWith((message) => updates(message as ListIngressRulesResponse)) + as ListIngressRulesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListIngressRulesResponse create() => ListIngressRulesResponse._(); + ListIngressRulesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListIngressRulesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListIngressRulesResponse? _defaultInstance; + + /// The ingress FirewallRules for this application. + @$pb.TagNumber(1) + $core.List<$7.FirewallRule> get ingressRules => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `Firewall.BatchUpdateIngressRules`. +class BatchUpdateIngressRulesRequest extends $pb.GeneratedMessage { + factory BatchUpdateIngressRulesRequest({ + $core.String? name, + $core.Iterable<$7.FirewallRule>? ingressRules, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (ingressRules != null) { + $result.ingressRules.addAll(ingressRules); + } + return $result; + } + BatchUpdateIngressRulesRequest._() : super(); + factory BatchUpdateIngressRulesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchUpdateIngressRulesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchUpdateIngressRulesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc<$7.FirewallRule>( + 2, _omitFieldNames ? '' : 'ingressRules', $pb.PbFieldType.PM, + subBuilder: $7.FirewallRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesRequest clone() => + BatchUpdateIngressRulesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesRequest copyWith( + void Function(BatchUpdateIngressRulesRequest) updates) => + super.copyWith( + (message) => updates(message as BatchUpdateIngressRulesRequest)) + as BatchUpdateIngressRulesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesRequest create() => + BatchUpdateIngressRulesRequest._(); + BatchUpdateIngressRulesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BatchUpdateIngressRulesRequest? _defaultInstance; + + /// Name of the Firewall collection to set. + /// Example: `apps/myapp/firewall/ingressRules`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A list of FirewallRules to replace the existing set. + @$pb.TagNumber(2) + $core.List<$7.FirewallRule> get ingressRules => $_getList(1); +} + +/// Response message for `Firewall.UpdateAllIngressRules`. +class BatchUpdateIngressRulesResponse extends $pb.GeneratedMessage { + factory BatchUpdateIngressRulesResponse({ + $core.Iterable<$7.FirewallRule>? ingressRules, + }) { + final $result = create(); + if (ingressRules != null) { + $result.ingressRules.addAll(ingressRules); + } + return $result; + } + BatchUpdateIngressRulesResponse._() : super(); + factory BatchUpdateIngressRulesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BatchUpdateIngressRulesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BatchUpdateIngressRulesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$7.FirewallRule>( + 1, _omitFieldNames ? '' : 'ingressRules', $pb.PbFieldType.PM, + subBuilder: $7.FirewallRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesResponse clone() => + BatchUpdateIngressRulesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatchUpdateIngressRulesResponse copyWith( + void Function(BatchUpdateIngressRulesResponse) updates) => + super.copyWith( + (message) => updates(message as BatchUpdateIngressRulesResponse)) + as BatchUpdateIngressRulesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesResponse create() => + BatchUpdateIngressRulesResponse._(); + BatchUpdateIngressRulesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatchUpdateIngressRulesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static BatchUpdateIngressRulesResponse? _defaultInstance; + + /// The full list of ingress FirewallRules for this application. + @$pb.TagNumber(1) + $core.List<$7.FirewallRule> get ingressRules => $_getList(0); +} + +/// Request message for `Firewall.CreateIngressRule`. +class CreateIngressRuleRequest extends $pb.GeneratedMessage { + factory CreateIngressRuleRequest({ + $core.String? parent, + $7.FirewallRule? rule, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (rule != null) { + $result.rule = rule; + } + return $result; + } + CreateIngressRuleRequest._() : super(); + factory CreateIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateIngressRuleRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$7.FirewallRule>(2, _omitFieldNames ? '' : 'rule', + subBuilder: $7.FirewallRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateIngressRuleRequest clone() => + CreateIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateIngressRuleRequest copyWith( + void Function(CreateIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as CreateIngressRuleRequest)) + as CreateIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateIngressRuleRequest create() => CreateIngressRuleRequest._(); + CreateIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateIngressRuleRequest? _defaultInstance; + + /// Name of the parent Firewall collection in which to create a new rule. + /// Example: `apps/myapp/firewall/ingressRules`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// A FirewallRule containing the new resource. + /// + /// The user may optionally provide a position at which the new rule will be + /// placed. The positions define a sequential list starting at 1. If a rule + /// already exists at the given position, rules greater than the provided + /// position will be moved forward by one. + /// + /// If no position is provided, the server will place the rule as the second to + /// last rule in the sequence before the required default allow-all or deny-all + /// rule. + @$pb.TagNumber(2) + $7.FirewallRule get rule => $_getN(1); + @$pb.TagNumber(2) + set rule($7.FirewallRule v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasRule() => $_has(1); + @$pb.TagNumber(2) + void clearRule() => clearField(2); + @$pb.TagNumber(2) + $7.FirewallRule ensureRule() => $_ensure(1); +} + +/// Request message for `Firewall.GetIngressRule`. +class GetIngressRuleRequest extends $pb.GeneratedMessage { + factory GetIngressRuleRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetIngressRuleRequest._() : super(); + factory GetIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetIngressRuleRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetIngressRuleRequest clone() => + GetIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetIngressRuleRequest copyWith( + void Function(GetIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as GetIngressRuleRequest)) + as GetIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetIngressRuleRequest create() => GetIngressRuleRequest._(); + GetIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetIngressRuleRequest? _defaultInstance; + + /// Name of the Firewall resource to retrieve. + /// Example: `apps/myapp/firewall/ingressRules/100`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `Firewall.UpdateIngressRule`. +class UpdateIngressRuleRequest extends $pb.GeneratedMessage { + factory UpdateIngressRuleRequest({ + $core.String? name, + $7.FirewallRule? rule, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (rule != null) { + $result.rule = rule; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateIngressRuleRequest._() : super(); + factory UpdateIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateIngressRuleRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$7.FirewallRule>(2, _omitFieldNames ? '' : 'rule', + subBuilder: $7.FirewallRule.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateIngressRuleRequest clone() => + UpdateIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateIngressRuleRequest copyWith( + void Function(UpdateIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as UpdateIngressRuleRequest)) + as UpdateIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateIngressRuleRequest create() => UpdateIngressRuleRequest._(); + UpdateIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateIngressRuleRequest? _defaultInstance; + + /// Name of the Firewall resource to update. + /// Example: `apps/myapp/firewall/ingressRules/100`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A FirewallRule containing the updated resource + @$pb.TagNumber(2) + $7.FirewallRule get rule => $_getN(1); + @$pb.TagNumber(2) + set rule($7.FirewallRule v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasRule() => $_has(1); + @$pb.TagNumber(2) + void clearRule() => clearField(2); + @$pb.TagNumber(2) + $7.FirewallRule ensureRule() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `Firewall.DeleteIngressRule`. +class DeleteIngressRuleRequest extends $pb.GeneratedMessage { + factory DeleteIngressRuleRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteIngressRuleRequest._() : super(); + factory DeleteIngressRuleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteIngressRuleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteIngressRuleRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteIngressRuleRequest clone() => + DeleteIngressRuleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteIngressRuleRequest copyWith( + void Function(DeleteIngressRuleRequest) updates) => + super.copyWith((message) => updates(message as DeleteIngressRuleRequest)) + as DeleteIngressRuleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteIngressRuleRequest create() => DeleteIngressRuleRequest._(); + DeleteIngressRuleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteIngressRuleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteIngressRuleRequest? _defaultInstance; + + /// Name of the Firewall resource to delete. + /// Example: `apps/myapp/firewall/ingressRules/100`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `AuthorizedDomains.ListAuthorizedDomains`. +class ListAuthorizedDomainsRequest extends $pb.GeneratedMessage { + factory ListAuthorizedDomainsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListAuthorizedDomainsRequest._() : super(); + factory ListAuthorizedDomainsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedDomainsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedDomainsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsRequest clone() => + ListAuthorizedDomainsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsRequest copyWith( + void Function(ListAuthorizedDomainsRequest) updates) => + super.copyWith( + (message) => updates(message as ListAuthorizedDomainsRequest)) + as ListAuthorizedDomainsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsRequest create() => + ListAuthorizedDomainsRequest._(); + ListAuthorizedDomainsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListAuthorizedDomainsRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `AuthorizedDomains.ListAuthorizedDomains`. +class ListAuthorizedDomainsResponse extends $pb.GeneratedMessage { + factory ListAuthorizedDomainsResponse({ + $core.Iterable<$59.AuthorizedDomain>? domains, + $core.String? nextPageToken, + }) { + final $result = create(); + if (domains != null) { + $result.domains.addAll(domains); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListAuthorizedDomainsResponse._() : super(); + factory ListAuthorizedDomainsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedDomainsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedDomainsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$59.AuthorizedDomain>( + 1, _omitFieldNames ? '' : 'domains', $pb.PbFieldType.PM, + subBuilder: $59.AuthorizedDomain.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsResponse clone() => + ListAuthorizedDomainsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedDomainsResponse copyWith( + void Function(ListAuthorizedDomainsResponse) updates) => + super.copyWith( + (message) => updates(message as ListAuthorizedDomainsResponse)) + as ListAuthorizedDomainsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsResponse create() => + ListAuthorizedDomainsResponse._(); + ListAuthorizedDomainsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedDomainsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListAuthorizedDomainsResponse? _defaultInstance; + + /// The authorized domains belonging to the user. + @$pb.TagNumber(1) + $core.List<$59.AuthorizedDomain> get domains => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`. +class ListAuthorizedCertificatesRequest extends $pb.GeneratedMessage { + factory ListAuthorizedCertificatesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + AuthorizedCertificateView? view, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (view != null) { + $result.view = view; + } + return $result; + } + ListAuthorizedCertificatesRequest._() : super(); + factory ListAuthorizedCertificatesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedCertificatesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedCertificatesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..e( + 4, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: AuthorizedCertificateView.BASIC_CERTIFICATE, + valueOf: AuthorizedCertificateView.valueOf, + enumValues: AuthorizedCertificateView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesRequest clone() => + ListAuthorizedCertificatesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesRequest copyWith( + void Function(ListAuthorizedCertificatesRequest) updates) => + super.copyWith((message) => + updates(message as ListAuthorizedCertificatesRequest)) + as ListAuthorizedCertificatesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesRequest create() => + ListAuthorizedCertificatesRequest._(); + ListAuthorizedCertificatesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListAuthorizedCertificatesRequest? _defaultInstance; + + /// Name of the parent `Application` resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Controls the set of fields returned in the `LIST` response. + @$pb.TagNumber(4) + AuthorizedCertificateView get view => $_getN(3); + @$pb.TagNumber(4) + set view(AuthorizedCertificateView v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasView() => $_has(3); + @$pb.TagNumber(4) + void clearView() => clearField(4); +} + +/// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`. +class ListAuthorizedCertificatesResponse extends $pb.GeneratedMessage { + factory ListAuthorizedCertificatesResponse({ + $core.Iterable<$8.AuthorizedCertificate>? certificates, + $core.String? nextPageToken, + }) { + final $result = create(); + if (certificates != null) { + $result.certificates.addAll(certificates); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListAuthorizedCertificatesResponse._() : super(); + factory ListAuthorizedCertificatesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListAuthorizedCertificatesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListAuthorizedCertificatesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$8.AuthorizedCertificate>( + 1, _omitFieldNames ? '' : 'certificates', $pb.PbFieldType.PM, + subBuilder: $8.AuthorizedCertificate.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesResponse clone() => + ListAuthorizedCertificatesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListAuthorizedCertificatesResponse copyWith( + void Function(ListAuthorizedCertificatesResponse) updates) => + super.copyWith((message) => + updates(message as ListAuthorizedCertificatesResponse)) + as ListAuthorizedCertificatesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesResponse create() => + ListAuthorizedCertificatesResponse._(); + ListAuthorizedCertificatesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListAuthorizedCertificatesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListAuthorizedCertificatesResponse? _defaultInstance; + + /// The SSL certificates the user is authorized to administer. + @$pb.TagNumber(1) + $core.List<$8.AuthorizedCertificate> get certificates => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`. +class GetAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory GetAuthorizedCertificateRequest({ + $core.String? name, + AuthorizedCertificateView? view, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + return $result; + } + GetAuthorizedCertificateRequest._() : super(); + factory GetAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetAuthorizedCertificateRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: AuthorizedCertificateView.BASIC_CERTIFICATE, + valueOf: AuthorizedCertificateView.valueOf, + enumValues: AuthorizedCertificateView.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetAuthorizedCertificateRequest clone() => + GetAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetAuthorizedCertificateRequest copyWith( + void Function(GetAuthorizedCertificateRequest) updates) => + super.copyWith( + (message) => updates(message as GetAuthorizedCertificateRequest)) + as GetAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetAuthorizedCertificateRequest create() => + GetAuthorizedCertificateRequest._(); + GetAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static GetAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/authorizedCertificates/12345`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Controls the set of fields returned in the `GET` response. + @$pb.TagNumber(2) + AuthorizedCertificateView get view => $_getN(1); + @$pb.TagNumber(2) + set view(AuthorizedCertificateView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); +} + +/// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`. +class CreateAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory CreateAuthorizedCertificateRequest({ + $core.String? parent, + $8.AuthorizedCertificate? certificate, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (certificate != null) { + $result.certificate = certificate; + } + return $result; + } + CreateAuthorizedCertificateRequest._() : super(); + factory CreateAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateAuthorizedCertificateRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$8.AuthorizedCertificate>(2, _omitFieldNames ? '' : 'certificate', + subBuilder: $8.AuthorizedCertificate.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateAuthorizedCertificateRequest clone() => + CreateAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateAuthorizedCertificateRequest copyWith( + void Function(CreateAuthorizedCertificateRequest) updates) => + super.copyWith((message) => + updates(message as CreateAuthorizedCertificateRequest)) + as CreateAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateAuthorizedCertificateRequest create() => + CreateAuthorizedCertificateRequest._(); + CreateAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static CreateAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the parent `Application` resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// SSL certificate data. + @$pb.TagNumber(2) + $8.AuthorizedCertificate get certificate => $_getN(1); + @$pb.TagNumber(2) + set certificate($8.AuthorizedCertificate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCertificate() => $_has(1); + @$pb.TagNumber(2) + void clearCertificate() => clearField(2); + @$pb.TagNumber(2) + $8.AuthorizedCertificate ensureCertificate() => $_ensure(1); +} + +/// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`. +class UpdateAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory UpdateAuthorizedCertificateRequest({ + $core.String? name, + $8.AuthorizedCertificate? certificate, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (certificate != null) { + $result.certificate = certificate; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateAuthorizedCertificateRequest._() : super(); + factory UpdateAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateAuthorizedCertificateRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$8.AuthorizedCertificate>(2, _omitFieldNames ? '' : 'certificate', + subBuilder: $8.AuthorizedCertificate.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateAuthorizedCertificateRequest clone() => + UpdateAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateAuthorizedCertificateRequest copyWith( + void Function(UpdateAuthorizedCertificateRequest) updates) => + super.copyWith((message) => + updates(message as UpdateAuthorizedCertificateRequest)) + as UpdateAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateAuthorizedCertificateRequest create() => + UpdateAuthorizedCertificateRequest._(); + UpdateAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static UpdateAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the resource to update. Example: + /// `apps/myapp/authorizedCertificates/12345`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// An `AuthorizedCertificate` containing the updated resource. Only fields set + /// in the field mask will be updated. + @$pb.TagNumber(2) + $8.AuthorizedCertificate get certificate => $_getN(1); + @$pb.TagNumber(2) + set certificate($8.AuthorizedCertificate v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCertificate() => $_has(1); + @$pb.TagNumber(2) + void clearCertificate() => clearField(2); + @$pb.TagNumber(2) + $8.AuthorizedCertificate ensureCertificate() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. Updates are only + /// supported on the `certificate_raw_data` and `display_name` fields. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`. +class DeleteAuthorizedCertificateRequest extends $pb.GeneratedMessage { + factory DeleteAuthorizedCertificateRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteAuthorizedCertificateRequest._() : super(); + factory DeleteAuthorizedCertificateRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteAuthorizedCertificateRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteAuthorizedCertificateRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteAuthorizedCertificateRequest clone() => + DeleteAuthorizedCertificateRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteAuthorizedCertificateRequest copyWith( + void Function(DeleteAuthorizedCertificateRequest) updates) => + super.copyWith((message) => + updates(message as DeleteAuthorizedCertificateRequest)) + as DeleteAuthorizedCertificateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteAuthorizedCertificateRequest create() => + DeleteAuthorizedCertificateRequest._(); + DeleteAuthorizedCertificateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteAuthorizedCertificateRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static DeleteAuthorizedCertificateRequest? _defaultInstance; + + /// Name of the resource to delete. Example: + /// `apps/myapp/authorizedCertificates/12345`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `DomainMappings.ListDomainMappings`. +class ListDomainMappingsRequest extends $pb.GeneratedMessage { + factory ListDomainMappingsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListDomainMappingsRequest._() : super(); + factory ListDomainMappingsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListDomainMappingsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListDomainMappingsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListDomainMappingsRequest clone() => + ListDomainMappingsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListDomainMappingsRequest copyWith( + void Function(ListDomainMappingsRequest) updates) => + super.copyWith((message) => updates(message as ListDomainMappingsRequest)) + as ListDomainMappingsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListDomainMappingsRequest create() => ListDomainMappingsRequest._(); + ListDomainMappingsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListDomainMappingsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListDomainMappingsRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Maximum results to return per page. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `DomainMappings.ListDomainMappings`. +class ListDomainMappingsResponse extends $pb.GeneratedMessage { + factory ListDomainMappingsResponse({ + $core.Iterable<$9.DomainMapping>? domainMappings, + $core.String? nextPageToken, + }) { + final $result = create(); + if (domainMappings != null) { + $result.domainMappings.addAll(domainMappings); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListDomainMappingsResponse._() : super(); + factory ListDomainMappingsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListDomainMappingsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListDomainMappingsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pc<$9.DomainMapping>( + 1, _omitFieldNames ? '' : 'domainMappings', $pb.PbFieldType.PM, + subBuilder: $9.DomainMapping.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListDomainMappingsResponse clone() => + ListDomainMappingsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListDomainMappingsResponse copyWith( + void Function(ListDomainMappingsResponse) updates) => + super.copyWith( + (message) => updates(message as ListDomainMappingsResponse)) + as ListDomainMappingsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListDomainMappingsResponse create() => ListDomainMappingsResponse._(); + ListDomainMappingsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListDomainMappingsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListDomainMappingsResponse? _defaultInstance; + + /// The domain mappings for the application. + @$pb.TagNumber(1) + $core.List<$9.DomainMapping> get domainMappings => $_getList(0); + + /// Continuation token for fetching the next page of results. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `DomainMappings.GetDomainMapping`. +class GetDomainMappingRequest extends $pb.GeneratedMessage { + factory GetDomainMappingRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetDomainMappingRequest._() : super(); + factory GetDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetDomainMappingRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetDomainMappingRequest clone() => + GetDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetDomainMappingRequest copyWith( + void Function(GetDomainMappingRequest) updates) => + super.copyWith((message) => updates(message as GetDomainMappingRequest)) + as GetDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetDomainMappingRequest create() => GetDomainMappingRequest._(); + GetDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetDomainMappingRequest? _defaultInstance; + + /// Name of the resource requested. Example: + /// `apps/myapp/domainMappings/example.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `DomainMappings.CreateDomainMapping`. +class CreateDomainMappingRequest extends $pb.GeneratedMessage { + factory CreateDomainMappingRequest({ + $core.String? parent, + $9.DomainMapping? domainMapping, + DomainOverrideStrategy? overrideStrategy, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (domainMapping != null) { + $result.domainMapping = domainMapping; + } + if (overrideStrategy != null) { + $result.overrideStrategy = overrideStrategy; + } + return $result; + } + CreateDomainMappingRequest._() : super(); + factory CreateDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateDomainMappingRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM<$9.DomainMapping>(2, _omitFieldNames ? '' : 'domainMapping', + subBuilder: $9.DomainMapping.create) + ..e( + 4, _omitFieldNames ? '' : 'overrideStrategy', $pb.PbFieldType.OE, + defaultOrMaker: + DomainOverrideStrategy.UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY, + valueOf: DomainOverrideStrategy.valueOf, + enumValues: DomainOverrideStrategy.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateDomainMappingRequest clone() => + CreateDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateDomainMappingRequest copyWith( + void Function(CreateDomainMappingRequest) updates) => + super.copyWith( + (message) => updates(message as CreateDomainMappingRequest)) + as CreateDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateDomainMappingRequest create() => CreateDomainMappingRequest._(); + CreateDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateDomainMappingRequest? _defaultInstance; + + /// Name of the parent Application resource. Example: `apps/myapp`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Domain mapping configuration. + @$pb.TagNumber(2) + $9.DomainMapping get domainMapping => $_getN(1); + @$pb.TagNumber(2) + set domainMapping($9.DomainMapping v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDomainMapping() => $_has(1); + @$pb.TagNumber(2) + void clearDomainMapping() => clearField(2); + @$pb.TagNumber(2) + $9.DomainMapping ensureDomainMapping() => $_ensure(1); + + /// Whether the domain creation should override any existing mappings for this + /// domain. By default, overrides are rejected. + @$pb.TagNumber(4) + DomainOverrideStrategy get overrideStrategy => $_getN(2); + @$pb.TagNumber(4) + set overrideStrategy(DomainOverrideStrategy v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasOverrideStrategy() => $_has(2); + @$pb.TagNumber(4) + void clearOverrideStrategy() => clearField(4); +} + +/// Request message for `DomainMappings.UpdateDomainMapping`. +class UpdateDomainMappingRequest extends $pb.GeneratedMessage { + factory UpdateDomainMappingRequest({ + $core.String? name, + $9.DomainMapping? domainMapping, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (domainMapping != null) { + $result.domainMapping = domainMapping; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateDomainMappingRequest._() : super(); + factory UpdateDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateDomainMappingRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$9.DomainMapping>(2, _omitFieldNames ? '' : 'domainMapping', + subBuilder: $9.DomainMapping.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateDomainMappingRequest clone() => + UpdateDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateDomainMappingRequest copyWith( + void Function(UpdateDomainMappingRequest) updates) => + super.copyWith( + (message) => updates(message as UpdateDomainMappingRequest)) + as UpdateDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateDomainMappingRequest create() => UpdateDomainMappingRequest._(); + UpdateDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateDomainMappingRequest? _defaultInstance; + + /// Name of the resource to update. Example: + /// `apps/myapp/domainMappings/example.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A domain mapping containing the updated resource. Only fields set + /// in the field mask will be updated. + @$pb.TagNumber(2) + $9.DomainMapping get domainMapping => $_getN(1); + @$pb.TagNumber(2) + set domainMapping($9.DomainMapping v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDomainMapping() => $_has(1); + @$pb.TagNumber(2) + void clearDomainMapping() => clearField(2); + @$pb.TagNumber(2) + $9.DomainMapping ensureDomainMapping() => $_ensure(1); + + /// Standard field mask for the set of fields to be updated. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `DomainMappings.DeleteDomainMapping`. +class DeleteDomainMappingRequest extends $pb.GeneratedMessage { + factory DeleteDomainMappingRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteDomainMappingRequest._() : super(); + factory DeleteDomainMappingRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteDomainMappingRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteDomainMappingRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteDomainMappingRequest clone() => + DeleteDomainMappingRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteDomainMappingRequest copyWith( + void Function(DeleteDomainMappingRequest) updates) => + super.copyWith( + (message) => updates(message as DeleteDomainMappingRequest)) + as DeleteDomainMappingRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteDomainMappingRequest create() => DeleteDomainMappingRequest._(); + DeleteDomainMappingRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteDomainMappingRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteDomainMappingRequest? _defaultInstance; + + /// Name of the resource to delete. Example: + /// `apps/myapp/domainMappings/example.com`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbenum.dart new file mode 100644 index 00000000..369ed296 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbenum.dart @@ -0,0 +1,81 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Fields that should be returned when [Version][google.appengine.v1beta.Version] resources +/// are retrieved. +class VersionView extends $pb.ProtobufEnum { + static const VersionView BASIC = + VersionView._(0, _omitEnumNames ? '' : 'BASIC'); + static const VersionView FULL = + VersionView._(1, _omitEnumNames ? '' : 'FULL'); + + static const $core.List values = [ + BASIC, + FULL, + ]; + + static final $core.Map<$core.int, VersionView> _byValue = + $pb.ProtobufEnum.initByValue(values); + static VersionView? valueOf($core.int value) => _byValue[value]; + + const VersionView._($core.int v, $core.String n) : super(v, n); +} + +/// Fields that should be returned when an AuthorizedCertificate resource is +/// retrieved. +class AuthorizedCertificateView extends $pb.ProtobufEnum { + static const AuthorizedCertificateView BASIC_CERTIFICATE = + AuthorizedCertificateView._(0, _omitEnumNames ? '' : 'BASIC_CERTIFICATE'); + static const AuthorizedCertificateView FULL_CERTIFICATE = + AuthorizedCertificateView._(1, _omitEnumNames ? '' : 'FULL_CERTIFICATE'); + + static const $core.List values = + [ + BASIC_CERTIFICATE, + FULL_CERTIFICATE, + ]; + + static final $core.Map<$core.int, AuthorizedCertificateView> _byValue = + $pb.ProtobufEnum.initByValue(values); + static AuthorizedCertificateView? valueOf($core.int value) => _byValue[value]; + + const AuthorizedCertificateView._($core.int v, $core.String n) : super(v, n); +} + +/// Override strategy for mutating an existing mapping. +class DomainOverrideStrategy extends $pb.ProtobufEnum { + static const DomainOverrideStrategy UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = + DomainOverrideStrategy._( + 0, _omitEnumNames ? '' : 'UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY'); + static const DomainOverrideStrategy STRICT = + DomainOverrideStrategy._(1, _omitEnumNames ? '' : 'STRICT'); + static const DomainOverrideStrategy OVERRIDE = + DomainOverrideStrategy._(2, _omitEnumNames ? '' : 'OVERRIDE'); + + static const $core.List values = + [ + UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY, + STRICT, + OVERRIDE, + ]; + + static final $core.Map<$core.int, DomainOverrideStrategy> _byValue = + $pb.ProtobufEnum.initByValue(values); + static DomainOverrideStrategy? valueOf($core.int value) => _byValue[value]; + + const DomainOverrideStrategy._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbgrpc.dart new file mode 100644 index 00000000..3d22910f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbgrpc.dart @@ -0,0 +1,1100 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../longrunning/operations.pb.dart' as $0; +import '../../protobuf/empty.pb.dart' as $1; +import 'appengine.pb.dart' as $2; +import 'application.pb.dart' as $3; +import 'certificate.pb.dart' as $8; +import 'domain_mapping.pb.dart' as $9; +import 'firewall.pb.dart' as $7; +import 'instance.pb.dart' as $6; +import 'service.pb.dart' as $4; +import 'version.pb.dart' as $5; + +export 'appengine.pb.dart'; + +@$pb.GrpcServiceName('google.appengine.v1beta.Applications') +class ApplicationsClient extends $grpc.Client { + static final _$getApplication = + $grpc.ClientMethod<$2.GetApplicationRequest, $3.Application>( + '/google.appengine.v1beta.Applications/GetApplication', + ($2.GetApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $3.Application.fromBuffer(value)); + static final _$createApplication = + $grpc.ClientMethod<$2.CreateApplicationRequest, $0.Operation>( + '/google.appengine.v1beta.Applications/CreateApplication', + ($2.CreateApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateApplication = + $grpc.ClientMethod<$2.UpdateApplicationRequest, $0.Operation>( + '/google.appengine.v1beta.Applications/UpdateApplication', + ($2.UpdateApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$repairApplication = + $grpc.ClientMethod<$2.RepairApplicationRequest, $0.Operation>( + '/google.appengine.v1beta.Applications/RepairApplication', + ($2.RepairApplicationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + ApplicationsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$3.Application> getApplication( + $2.GetApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getApplication, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createApplication( + $2.CreateApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createApplication, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateApplication( + $2.UpdateApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateApplication, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> repairApplication( + $2.RepairApplicationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$repairApplication, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Applications') +abstract class ApplicationsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.Applications'; + + ApplicationsServiceBase() { + $addMethod($grpc.ServiceMethod<$2.GetApplicationRequest, $3.Application>( + 'GetApplication', + getApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.GetApplicationRequest.fromBuffer(value), + ($3.Application value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.CreateApplicationRequest, $0.Operation>( + 'CreateApplication', + createApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.CreateApplicationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.UpdateApplicationRequest, $0.Operation>( + 'UpdateApplication', + updateApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.UpdateApplicationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.RepairApplicationRequest, $0.Operation>( + 'RepairApplication', + repairApplication_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.RepairApplicationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$3.Application> getApplication_Pre($grpc.ServiceCall call, + $async.Future<$2.GetApplicationRequest> request) async { + return getApplication(call, await request); + } + + $async.Future<$0.Operation> createApplication_Pre($grpc.ServiceCall call, + $async.Future<$2.CreateApplicationRequest> request) async { + return createApplication(call, await request); + } + + $async.Future<$0.Operation> updateApplication_Pre($grpc.ServiceCall call, + $async.Future<$2.UpdateApplicationRequest> request) async { + return updateApplication(call, await request); + } + + $async.Future<$0.Operation> repairApplication_Pre($grpc.ServiceCall call, + $async.Future<$2.RepairApplicationRequest> request) async { + return repairApplication(call, await request); + } + + $async.Future<$3.Application> getApplication( + $grpc.ServiceCall call, $2.GetApplicationRequest request); + $async.Future<$0.Operation> createApplication( + $grpc.ServiceCall call, $2.CreateApplicationRequest request); + $async.Future<$0.Operation> updateApplication( + $grpc.ServiceCall call, $2.UpdateApplicationRequest request); + $async.Future<$0.Operation> repairApplication( + $grpc.ServiceCall call, $2.RepairApplicationRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Services') +class ServicesClient extends $grpc.Client { + static final _$listServices = + $grpc.ClientMethod<$2.ListServicesRequest, $2.ListServicesResponse>( + '/google.appengine.v1beta.Services/ListServices', + ($2.ListServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListServicesResponse.fromBuffer(value)); + static final _$getService = + $grpc.ClientMethod<$2.GetServiceRequest, $4.Service>( + '/google.appengine.v1beta.Services/GetService', + ($2.GetServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $4.Service.fromBuffer(value)); + static final _$updateService = + $grpc.ClientMethod<$2.UpdateServiceRequest, $0.Operation>( + '/google.appengine.v1beta.Services/UpdateService', + ($2.UpdateServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteService = + $grpc.ClientMethod<$2.DeleteServiceRequest, $0.Operation>( + '/google.appengine.v1beta.Services/DeleteService', + ($2.DeleteServiceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + ServicesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListServicesResponse> listServices( + $2.ListServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServices, request, options: options); + } + + $grpc.ResponseFuture<$4.Service> getService($2.GetServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateService( + $2.UpdateServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateService, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteService( + $2.DeleteServiceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteService, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Services') +abstract class ServicesServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.Services'; + + ServicesServiceBase() { + $addMethod( + $grpc.ServiceMethod<$2.ListServicesRequest, $2.ListServicesResponse>( + 'ListServices', + listServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListServicesRequest.fromBuffer(value), + ($2.ListServicesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.GetServiceRequest, $4.Service>( + 'GetService', + getService_Pre, + false, + false, + ($core.List<$core.int> value) => $2.GetServiceRequest.fromBuffer(value), + ($4.Service value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.UpdateServiceRequest, $0.Operation>( + 'UpdateService', + updateService_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.UpdateServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.DeleteServiceRequest, $0.Operation>( + 'DeleteService', + deleteService_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DeleteServiceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$2.ListServicesResponse> listServices_Pre( + $grpc.ServiceCall call, + $async.Future<$2.ListServicesRequest> request) async { + return listServices(call, await request); + } + + $async.Future<$4.Service> getService_Pre($grpc.ServiceCall call, + $async.Future<$2.GetServiceRequest> request) async { + return getService(call, await request); + } + + $async.Future<$0.Operation> updateService_Pre($grpc.ServiceCall call, + $async.Future<$2.UpdateServiceRequest> request) async { + return updateService(call, await request); + } + + $async.Future<$0.Operation> deleteService_Pre($grpc.ServiceCall call, + $async.Future<$2.DeleteServiceRequest> request) async { + return deleteService(call, await request); + } + + $async.Future<$2.ListServicesResponse> listServices( + $grpc.ServiceCall call, $2.ListServicesRequest request); + $async.Future<$4.Service> getService( + $grpc.ServiceCall call, $2.GetServiceRequest request); + $async.Future<$0.Operation> updateService( + $grpc.ServiceCall call, $2.UpdateServiceRequest request); + $async.Future<$0.Operation> deleteService( + $grpc.ServiceCall call, $2.DeleteServiceRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Versions') +class VersionsClient extends $grpc.Client { + static final _$listVersions = + $grpc.ClientMethod<$2.ListVersionsRequest, $2.ListVersionsResponse>( + '/google.appengine.v1beta.Versions/ListVersions', + ($2.ListVersionsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListVersionsResponse.fromBuffer(value)); + static final _$getVersion = + $grpc.ClientMethod<$2.GetVersionRequest, $5.Version>( + '/google.appengine.v1beta.Versions/GetVersion', + ($2.GetVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $5.Version.fromBuffer(value)); + static final _$createVersion = + $grpc.ClientMethod<$2.CreateVersionRequest, $0.Operation>( + '/google.appengine.v1beta.Versions/CreateVersion', + ($2.CreateVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateVersion = + $grpc.ClientMethod<$2.UpdateVersionRequest, $0.Operation>( + '/google.appengine.v1beta.Versions/UpdateVersion', + ($2.UpdateVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteVersion = + $grpc.ClientMethod<$2.DeleteVersionRequest, $0.Operation>( + '/google.appengine.v1beta.Versions/DeleteVersion', + ($2.DeleteVersionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + VersionsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListVersionsResponse> listVersions( + $2.ListVersionsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listVersions, request, options: options); + } + + $grpc.ResponseFuture<$5.Version> getVersion($2.GetVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getVersion, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createVersion( + $2.CreateVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createVersion, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateVersion( + $2.UpdateVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateVersion, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteVersion( + $2.DeleteVersionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteVersion, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Versions') +abstract class VersionsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.Versions'; + + VersionsServiceBase() { + $addMethod( + $grpc.ServiceMethod<$2.ListVersionsRequest, $2.ListVersionsResponse>( + 'ListVersions', + listVersions_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListVersionsRequest.fromBuffer(value), + ($2.ListVersionsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.GetVersionRequest, $5.Version>( + 'GetVersion', + getVersion_Pre, + false, + false, + ($core.List<$core.int> value) => $2.GetVersionRequest.fromBuffer(value), + ($5.Version value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.CreateVersionRequest, $0.Operation>( + 'CreateVersion', + createVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.CreateVersionRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.UpdateVersionRequest, $0.Operation>( + 'UpdateVersion', + updateVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.UpdateVersionRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.DeleteVersionRequest, $0.Operation>( + 'DeleteVersion', + deleteVersion_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DeleteVersionRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$2.ListVersionsResponse> listVersions_Pre( + $grpc.ServiceCall call, + $async.Future<$2.ListVersionsRequest> request) async { + return listVersions(call, await request); + } + + $async.Future<$5.Version> getVersion_Pre($grpc.ServiceCall call, + $async.Future<$2.GetVersionRequest> request) async { + return getVersion(call, await request); + } + + $async.Future<$0.Operation> createVersion_Pre($grpc.ServiceCall call, + $async.Future<$2.CreateVersionRequest> request) async { + return createVersion(call, await request); + } + + $async.Future<$0.Operation> updateVersion_Pre($grpc.ServiceCall call, + $async.Future<$2.UpdateVersionRequest> request) async { + return updateVersion(call, await request); + } + + $async.Future<$0.Operation> deleteVersion_Pre($grpc.ServiceCall call, + $async.Future<$2.DeleteVersionRequest> request) async { + return deleteVersion(call, await request); + } + + $async.Future<$2.ListVersionsResponse> listVersions( + $grpc.ServiceCall call, $2.ListVersionsRequest request); + $async.Future<$5.Version> getVersion( + $grpc.ServiceCall call, $2.GetVersionRequest request); + $async.Future<$0.Operation> createVersion( + $grpc.ServiceCall call, $2.CreateVersionRequest request); + $async.Future<$0.Operation> updateVersion( + $grpc.ServiceCall call, $2.UpdateVersionRequest request); + $async.Future<$0.Operation> deleteVersion( + $grpc.ServiceCall call, $2.DeleteVersionRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Instances') +class InstancesClient extends $grpc.Client { + static final _$listInstances = + $grpc.ClientMethod<$2.ListInstancesRequest, $2.ListInstancesResponse>( + '/google.appengine.v1beta.Instances/ListInstances', + ($2.ListInstancesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListInstancesResponse.fromBuffer(value)); + static final _$getInstance = + $grpc.ClientMethod<$2.GetInstanceRequest, $6.Instance>( + '/google.appengine.v1beta.Instances/GetInstance', + ($2.GetInstanceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $6.Instance.fromBuffer(value)); + static final _$deleteInstance = + $grpc.ClientMethod<$2.DeleteInstanceRequest, $0.Operation>( + '/google.appengine.v1beta.Instances/DeleteInstance', + ($2.DeleteInstanceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$debugInstance = + $grpc.ClientMethod<$2.DebugInstanceRequest, $0.Operation>( + '/google.appengine.v1beta.Instances/DebugInstance', + ($2.DebugInstanceRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + InstancesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListInstancesResponse> listInstances( + $2.ListInstancesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listInstances, request, options: options); + } + + $grpc.ResponseFuture<$6.Instance> getInstance($2.GetInstanceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getInstance, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteInstance( + $2.DeleteInstanceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteInstance, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> debugInstance( + $2.DebugInstanceRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$debugInstance, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Instances') +abstract class InstancesServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.Instances'; + + InstancesServiceBase() { + $addMethod( + $grpc.ServiceMethod<$2.ListInstancesRequest, $2.ListInstancesResponse>( + 'ListInstances', + listInstances_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListInstancesRequest.fromBuffer(value), + ($2.ListInstancesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.GetInstanceRequest, $6.Instance>( + 'GetInstance', + getInstance_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.GetInstanceRequest.fromBuffer(value), + ($6.Instance value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.DeleteInstanceRequest, $0.Operation>( + 'DeleteInstance', + deleteInstance_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DeleteInstanceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.DebugInstanceRequest, $0.Operation>( + 'DebugInstance', + debugInstance_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DebugInstanceRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$2.ListInstancesResponse> listInstances_Pre( + $grpc.ServiceCall call, + $async.Future<$2.ListInstancesRequest> request) async { + return listInstances(call, await request); + } + + $async.Future<$6.Instance> getInstance_Pre($grpc.ServiceCall call, + $async.Future<$2.GetInstanceRequest> request) async { + return getInstance(call, await request); + } + + $async.Future<$0.Operation> deleteInstance_Pre($grpc.ServiceCall call, + $async.Future<$2.DeleteInstanceRequest> request) async { + return deleteInstance(call, await request); + } + + $async.Future<$0.Operation> debugInstance_Pre($grpc.ServiceCall call, + $async.Future<$2.DebugInstanceRequest> request) async { + return debugInstance(call, await request); + } + + $async.Future<$2.ListInstancesResponse> listInstances( + $grpc.ServiceCall call, $2.ListInstancesRequest request); + $async.Future<$6.Instance> getInstance( + $grpc.ServiceCall call, $2.GetInstanceRequest request); + $async.Future<$0.Operation> deleteInstance( + $grpc.ServiceCall call, $2.DeleteInstanceRequest request); + $async.Future<$0.Operation> debugInstance( + $grpc.ServiceCall call, $2.DebugInstanceRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Firewall') +class FirewallClient extends $grpc.Client { + static final _$listIngressRules = $grpc.ClientMethod< + $2.ListIngressRulesRequest, $2.ListIngressRulesResponse>( + '/google.appengine.v1beta.Firewall/ListIngressRules', + ($2.ListIngressRulesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListIngressRulesResponse.fromBuffer(value)); + static final _$batchUpdateIngressRules = $grpc.ClientMethod< + $2.BatchUpdateIngressRulesRequest, + $2.BatchUpdateIngressRulesResponse>( + '/google.appengine.v1beta.Firewall/BatchUpdateIngressRules', + ($2.BatchUpdateIngressRulesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.BatchUpdateIngressRulesResponse.fromBuffer(value)); + static final _$createIngressRule = + $grpc.ClientMethod<$2.CreateIngressRuleRequest, $7.FirewallRule>( + '/google.appengine.v1beta.Firewall/CreateIngressRule', + ($2.CreateIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $7.FirewallRule.fromBuffer(value)); + static final _$getIngressRule = + $grpc.ClientMethod<$2.GetIngressRuleRequest, $7.FirewallRule>( + '/google.appengine.v1beta.Firewall/GetIngressRule', + ($2.GetIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $7.FirewallRule.fromBuffer(value)); + static final _$updateIngressRule = + $grpc.ClientMethod<$2.UpdateIngressRuleRequest, $7.FirewallRule>( + '/google.appengine.v1beta.Firewall/UpdateIngressRule', + ($2.UpdateIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $7.FirewallRule.fromBuffer(value)); + static final _$deleteIngressRule = + $grpc.ClientMethod<$2.DeleteIngressRuleRequest, $1.Empty>( + '/google.appengine.v1beta.Firewall/DeleteIngressRule', + ($2.DeleteIngressRuleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + + FirewallClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListIngressRulesResponse> listIngressRules( + $2.ListIngressRulesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listIngressRules, request, options: options); + } + + $grpc.ResponseFuture<$2.BatchUpdateIngressRulesResponse> + batchUpdateIngressRules($2.BatchUpdateIngressRulesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$batchUpdateIngressRules, request, + options: options); + } + + $grpc.ResponseFuture<$7.FirewallRule> createIngressRule( + $2.CreateIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createIngressRule, request, options: options); + } + + $grpc.ResponseFuture<$7.FirewallRule> getIngressRule( + $2.GetIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getIngressRule, request, options: options); + } + + $grpc.ResponseFuture<$7.FirewallRule> updateIngressRule( + $2.UpdateIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateIngressRule, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteIngressRule( + $2.DeleteIngressRuleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteIngressRule, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.Firewall') +abstract class FirewallServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.Firewall'; + + FirewallServiceBase() { + $addMethod($grpc.ServiceMethod<$2.ListIngressRulesRequest, + $2.ListIngressRulesResponse>( + 'ListIngressRules', + listIngressRules_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListIngressRulesRequest.fromBuffer(value), + ($2.ListIngressRulesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.BatchUpdateIngressRulesRequest, + $2.BatchUpdateIngressRulesResponse>( + 'BatchUpdateIngressRules', + batchUpdateIngressRules_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.BatchUpdateIngressRulesRequest.fromBuffer(value), + ($2.BatchUpdateIngressRulesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$2.CreateIngressRuleRequest, $7.FirewallRule>( + 'CreateIngressRule', + createIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.CreateIngressRuleRequest.fromBuffer(value), + ($7.FirewallRule value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.GetIngressRuleRequest, $7.FirewallRule>( + 'GetIngressRule', + getIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.GetIngressRuleRequest.fromBuffer(value), + ($7.FirewallRule value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$2.UpdateIngressRuleRequest, $7.FirewallRule>( + 'UpdateIngressRule', + updateIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.UpdateIngressRuleRequest.fromBuffer(value), + ($7.FirewallRule value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.DeleteIngressRuleRequest, $1.Empty>( + 'DeleteIngressRule', + deleteIngressRule_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DeleteIngressRuleRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + } + + $async.Future<$2.ListIngressRulesResponse> listIngressRules_Pre( + $grpc.ServiceCall call, + $async.Future<$2.ListIngressRulesRequest> request) async { + return listIngressRules(call, await request); + } + + $async.Future<$2.BatchUpdateIngressRulesResponse> batchUpdateIngressRules_Pre( + $grpc.ServiceCall call, + $async.Future<$2.BatchUpdateIngressRulesRequest> request) async { + return batchUpdateIngressRules(call, await request); + } + + $async.Future<$7.FirewallRule> createIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$2.CreateIngressRuleRequest> request) async { + return createIngressRule(call, await request); + } + + $async.Future<$7.FirewallRule> getIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$2.GetIngressRuleRequest> request) async { + return getIngressRule(call, await request); + } + + $async.Future<$7.FirewallRule> updateIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$2.UpdateIngressRuleRequest> request) async { + return updateIngressRule(call, await request); + } + + $async.Future<$1.Empty> deleteIngressRule_Pre($grpc.ServiceCall call, + $async.Future<$2.DeleteIngressRuleRequest> request) async { + return deleteIngressRule(call, await request); + } + + $async.Future<$2.ListIngressRulesResponse> listIngressRules( + $grpc.ServiceCall call, $2.ListIngressRulesRequest request); + $async.Future<$2.BatchUpdateIngressRulesResponse> batchUpdateIngressRules( + $grpc.ServiceCall call, $2.BatchUpdateIngressRulesRequest request); + $async.Future<$7.FirewallRule> createIngressRule( + $grpc.ServiceCall call, $2.CreateIngressRuleRequest request); + $async.Future<$7.FirewallRule> getIngressRule( + $grpc.ServiceCall call, $2.GetIngressRuleRequest request); + $async.Future<$7.FirewallRule> updateIngressRule( + $grpc.ServiceCall call, $2.UpdateIngressRuleRequest request); + $async.Future<$1.Empty> deleteIngressRule( + $grpc.ServiceCall call, $2.DeleteIngressRuleRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.AuthorizedDomains') +class AuthorizedDomainsClient extends $grpc.Client { + static final _$listAuthorizedDomains = $grpc.ClientMethod< + $2.ListAuthorizedDomainsRequest, $2.ListAuthorizedDomainsResponse>( + '/google.appengine.v1beta.AuthorizedDomains/ListAuthorizedDomains', + ($2.ListAuthorizedDomainsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListAuthorizedDomainsResponse.fromBuffer(value)); + + AuthorizedDomainsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListAuthorizedDomainsResponse> listAuthorizedDomains( + $2.ListAuthorizedDomainsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listAuthorizedDomains, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.AuthorizedDomains') +abstract class AuthorizedDomainsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.AuthorizedDomains'; + + AuthorizedDomainsServiceBase() { + $addMethod($grpc.ServiceMethod<$2.ListAuthorizedDomainsRequest, + $2.ListAuthorizedDomainsResponse>( + 'ListAuthorizedDomains', + listAuthorizedDomains_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListAuthorizedDomainsRequest.fromBuffer(value), + ($2.ListAuthorizedDomainsResponse value) => value.writeToBuffer())); + } + + $async.Future<$2.ListAuthorizedDomainsResponse> listAuthorizedDomains_Pre( + $grpc.ServiceCall call, + $async.Future<$2.ListAuthorizedDomainsRequest> request) async { + return listAuthorizedDomains(call, await request); + } + + $async.Future<$2.ListAuthorizedDomainsResponse> listAuthorizedDomains( + $grpc.ServiceCall call, $2.ListAuthorizedDomainsRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.AuthorizedCertificates') +class AuthorizedCertificatesClient extends $grpc.Client { + static final _$listAuthorizedCertificates = $grpc.ClientMethod< + $2.ListAuthorizedCertificatesRequest, + $2.ListAuthorizedCertificatesResponse>( + '/google.appengine.v1beta.AuthorizedCertificates/ListAuthorizedCertificates', + ($2.ListAuthorizedCertificatesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListAuthorizedCertificatesResponse.fromBuffer(value)); + static final _$getAuthorizedCertificate = $grpc.ClientMethod< + $2.GetAuthorizedCertificateRequest, $8.AuthorizedCertificate>( + '/google.appengine.v1beta.AuthorizedCertificates/GetAuthorizedCertificate', + ($2.GetAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $8.AuthorizedCertificate.fromBuffer(value)); + static final _$createAuthorizedCertificate = $grpc.ClientMethod< + $2.CreateAuthorizedCertificateRequest, $8.AuthorizedCertificate>( + '/google.appengine.v1beta.AuthorizedCertificates/CreateAuthorizedCertificate', + ($2.CreateAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $8.AuthorizedCertificate.fromBuffer(value)); + static final _$updateAuthorizedCertificate = $grpc.ClientMethod< + $2.UpdateAuthorizedCertificateRequest, $8.AuthorizedCertificate>( + '/google.appengine.v1beta.AuthorizedCertificates/UpdateAuthorizedCertificate', + ($2.UpdateAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $8.AuthorizedCertificate.fromBuffer(value)); + static final _$deleteAuthorizedCertificate = $grpc.ClientMethod< + $2.DeleteAuthorizedCertificateRequest, $1.Empty>( + '/google.appengine.v1beta.AuthorizedCertificates/DeleteAuthorizedCertificate', + ($2.DeleteAuthorizedCertificateRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + + AuthorizedCertificatesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListAuthorizedCertificatesResponse> + listAuthorizedCertificates($2.ListAuthorizedCertificatesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listAuthorizedCertificates, request, + options: options); + } + + $grpc.ResponseFuture<$8.AuthorizedCertificate> getAuthorizedCertificate( + $2.GetAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getAuthorizedCertificate, request, + options: options); + } + + $grpc.ResponseFuture<$8.AuthorizedCertificate> createAuthorizedCertificate( + $2.CreateAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createAuthorizedCertificate, request, + options: options); + } + + $grpc.ResponseFuture<$8.AuthorizedCertificate> updateAuthorizedCertificate( + $2.UpdateAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateAuthorizedCertificate, request, + options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteAuthorizedCertificate( + $2.DeleteAuthorizedCertificateRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteAuthorizedCertificate, request, + options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.AuthorizedCertificates') +abstract class AuthorizedCertificatesServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.AuthorizedCertificates'; + + AuthorizedCertificatesServiceBase() { + $addMethod($grpc.ServiceMethod<$2.ListAuthorizedCertificatesRequest, + $2.ListAuthorizedCertificatesResponse>( + 'ListAuthorizedCertificates', + listAuthorizedCertificates_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListAuthorizedCertificatesRequest.fromBuffer(value), + ($2.ListAuthorizedCertificatesResponse value) => + value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.GetAuthorizedCertificateRequest, + $8.AuthorizedCertificate>( + 'GetAuthorizedCertificate', + getAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.GetAuthorizedCertificateRequest.fromBuffer(value), + ($8.AuthorizedCertificate value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.CreateAuthorizedCertificateRequest, + $8.AuthorizedCertificate>( + 'CreateAuthorizedCertificate', + createAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.CreateAuthorizedCertificateRequest.fromBuffer(value), + ($8.AuthorizedCertificate value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.UpdateAuthorizedCertificateRequest, + $8.AuthorizedCertificate>( + 'UpdateAuthorizedCertificate', + updateAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.UpdateAuthorizedCertificateRequest.fromBuffer(value), + ($8.AuthorizedCertificate value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$2.DeleteAuthorizedCertificateRequest, $1.Empty>( + 'DeleteAuthorizedCertificate', + deleteAuthorizedCertificate_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DeleteAuthorizedCertificateRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + } + + $async.Future<$2.ListAuthorizedCertificatesResponse> + listAuthorizedCertificates_Pre($grpc.ServiceCall call, + $async.Future<$2.ListAuthorizedCertificatesRequest> request) async { + return listAuthorizedCertificates(call, await request); + } + + $async.Future<$8.AuthorizedCertificate> getAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$2.GetAuthorizedCertificateRequest> request) async { + return getAuthorizedCertificate(call, await request); + } + + $async.Future<$8.AuthorizedCertificate> createAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$2.CreateAuthorizedCertificateRequest> request) async { + return createAuthorizedCertificate(call, await request); + } + + $async.Future<$8.AuthorizedCertificate> updateAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$2.UpdateAuthorizedCertificateRequest> request) async { + return updateAuthorizedCertificate(call, await request); + } + + $async.Future<$1.Empty> deleteAuthorizedCertificate_Pre( + $grpc.ServiceCall call, + $async.Future<$2.DeleteAuthorizedCertificateRequest> request) async { + return deleteAuthorizedCertificate(call, await request); + } + + $async.Future<$2.ListAuthorizedCertificatesResponse> + listAuthorizedCertificates( + $grpc.ServiceCall call, $2.ListAuthorizedCertificatesRequest request); + $async.Future<$8.AuthorizedCertificate> getAuthorizedCertificate( + $grpc.ServiceCall call, $2.GetAuthorizedCertificateRequest request); + $async.Future<$8.AuthorizedCertificate> createAuthorizedCertificate( + $grpc.ServiceCall call, $2.CreateAuthorizedCertificateRequest request); + $async.Future<$8.AuthorizedCertificate> updateAuthorizedCertificate( + $grpc.ServiceCall call, $2.UpdateAuthorizedCertificateRequest request); + $async.Future<$1.Empty> deleteAuthorizedCertificate( + $grpc.ServiceCall call, $2.DeleteAuthorizedCertificateRequest request); +} + +@$pb.GrpcServiceName('google.appengine.v1beta.DomainMappings') +class DomainMappingsClient extends $grpc.Client { + static final _$listDomainMappings = $grpc.ClientMethod< + $2.ListDomainMappingsRequest, $2.ListDomainMappingsResponse>( + '/google.appengine.v1beta.DomainMappings/ListDomainMappings', + ($2.ListDomainMappingsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $2.ListDomainMappingsResponse.fromBuffer(value)); + static final _$getDomainMapping = + $grpc.ClientMethod<$2.GetDomainMappingRequest, $9.DomainMapping>( + '/google.appengine.v1beta.DomainMappings/GetDomainMapping', + ($2.GetDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $9.DomainMapping.fromBuffer(value)); + static final _$createDomainMapping = + $grpc.ClientMethod<$2.CreateDomainMappingRequest, $0.Operation>( + '/google.appengine.v1beta.DomainMappings/CreateDomainMapping', + ($2.CreateDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateDomainMapping = + $grpc.ClientMethod<$2.UpdateDomainMappingRequest, $0.Operation>( + '/google.appengine.v1beta.DomainMappings/UpdateDomainMapping', + ($2.UpdateDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteDomainMapping = + $grpc.ClientMethod<$2.DeleteDomainMappingRequest, $0.Operation>( + '/google.appengine.v1beta.DomainMappings/DeleteDomainMapping', + ($2.DeleteDomainMappingRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + DomainMappingsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$2.ListDomainMappingsResponse> listDomainMappings( + $2.ListDomainMappingsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listDomainMappings, request, options: options); + } + + $grpc.ResponseFuture<$9.DomainMapping> getDomainMapping( + $2.GetDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getDomainMapping, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createDomainMapping( + $2.CreateDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createDomainMapping, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateDomainMapping( + $2.UpdateDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateDomainMapping, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteDomainMapping( + $2.DeleteDomainMappingRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteDomainMapping, request, options: options); + } +} + +@$pb.GrpcServiceName('google.appengine.v1beta.DomainMappings') +abstract class DomainMappingsServiceBase extends $grpc.Service { + $core.String get $name => 'google.appengine.v1beta.DomainMappings'; + + DomainMappingsServiceBase() { + $addMethod($grpc.ServiceMethod<$2.ListDomainMappingsRequest, + $2.ListDomainMappingsResponse>( + 'ListDomainMappings', + listDomainMappings_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.ListDomainMappingsRequest.fromBuffer(value), + ($2.ListDomainMappingsResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$2.GetDomainMappingRequest, $9.DomainMapping>( + 'GetDomainMapping', + getDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.GetDomainMappingRequest.fromBuffer(value), + ($9.DomainMapping value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.CreateDomainMappingRequest, $0.Operation>( + 'CreateDomainMapping', + createDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.CreateDomainMappingRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.UpdateDomainMappingRequest, $0.Operation>( + 'UpdateDomainMapping', + updateDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.UpdateDomainMappingRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$2.DeleteDomainMappingRequest, $0.Operation>( + 'DeleteDomainMapping', + deleteDomainMapping_Pre, + false, + false, + ($core.List<$core.int> value) => + $2.DeleteDomainMappingRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$2.ListDomainMappingsResponse> listDomainMappings_Pre( + $grpc.ServiceCall call, + $async.Future<$2.ListDomainMappingsRequest> request) async { + return listDomainMappings(call, await request); + } + + $async.Future<$9.DomainMapping> getDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$2.GetDomainMappingRequest> request) async { + return getDomainMapping(call, await request); + } + + $async.Future<$0.Operation> createDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$2.CreateDomainMappingRequest> request) async { + return createDomainMapping(call, await request); + } + + $async.Future<$0.Operation> updateDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$2.UpdateDomainMappingRequest> request) async { + return updateDomainMapping(call, await request); + } + + $async.Future<$0.Operation> deleteDomainMapping_Pre($grpc.ServiceCall call, + $async.Future<$2.DeleteDomainMappingRequest> request) async { + return deleteDomainMapping(call, await request); + } + + $async.Future<$2.ListDomainMappingsResponse> listDomainMappings( + $grpc.ServiceCall call, $2.ListDomainMappingsRequest request); + $async.Future<$9.DomainMapping> getDomainMapping( + $grpc.ServiceCall call, $2.GetDomainMappingRequest request); + $async.Future<$0.Operation> createDomainMapping( + $grpc.ServiceCall call, $2.CreateDomainMappingRequest request); + $async.Future<$0.Operation> updateDomainMapping( + $grpc.ServiceCall call, $2.UpdateDomainMappingRequest request); + $async.Future<$0.Operation> deleteDomainMapping( + $grpc.ServiceCall call, $2.DeleteDomainMappingRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbjson.dart new file mode 100644 index 00000000..4cbc6f0b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/appengine.pbjson.dart @@ -0,0 +1,904 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/appengine.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use versionViewDescriptor instead') +const VersionView$json = { + '1': 'VersionView', + '2': [ + {'1': 'BASIC', '2': 0}, + {'1': 'FULL', '2': 1}, + ], +}; + +/// Descriptor for `VersionView`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List versionViewDescriptor = + $convert.base64Decode('CgtWZXJzaW9uVmlldxIJCgVCQVNJQxAAEggKBEZVTEwQAQ=='); + +@$core.Deprecated('Use authorizedCertificateViewDescriptor instead') +const AuthorizedCertificateView$json = { + '1': 'AuthorizedCertificateView', + '2': [ + {'1': 'BASIC_CERTIFICATE', '2': 0}, + {'1': 'FULL_CERTIFICATE', '2': 1}, + ], +}; + +/// Descriptor for `AuthorizedCertificateView`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List authorizedCertificateViewDescriptor = + $convert.base64Decode( + 'ChlBdXRob3JpemVkQ2VydGlmaWNhdGVWaWV3EhUKEUJBU0lDX0NFUlRJRklDQVRFEAASFAoQRl' + 'VMTF9DRVJUSUZJQ0FURRAB'); + +@$core.Deprecated('Use domainOverrideStrategyDescriptor instead') +const DomainOverrideStrategy$json = { + '1': 'DomainOverrideStrategy', + '2': [ + {'1': 'UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY', '2': 0}, + {'1': 'STRICT', '2': 1}, + {'1': 'OVERRIDE', '2': 2}, + ], +}; + +/// Descriptor for `DomainOverrideStrategy`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List domainOverrideStrategyDescriptor = + $convert.base64Decode( + 'ChZEb21haW5PdmVycmlkZVN0cmF0ZWd5EigKJFVOU1BFQ0lGSUVEX0RPTUFJTl9PVkVSUklERV' + '9TVFJBVEVHWRAAEgoKBlNUUklDVBABEgwKCE9WRVJSSURFEAI='); + +@$core.Deprecated('Use getApplicationRequestDescriptor instead') +const GetApplicationRequest$json = { + '1': 'GetApplicationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getApplicationRequestDescriptor = + $convert.base64Decode( + 'ChVHZXRBcHBsaWNhdGlvblJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use createApplicationRequestDescriptor instead') +const CreateApplicationRequest$json = { + '1': 'CreateApplicationRequest', + '2': [ + { + '1': 'application', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Application', + '10': 'application' + }, + ], +}; + +/// Descriptor for `CreateApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createApplicationRequestDescriptor = + $convert.base64Decode( + 'ChhDcmVhdGVBcHBsaWNhdGlvblJlcXVlc3QSRgoLYXBwbGljYXRpb24YAiABKAsyJC5nb29nbG' + 'UuYXBwZW5naW5lLnYxYmV0YS5BcHBsaWNhdGlvblILYXBwbGljYXRpb24='); + +@$core.Deprecated('Use updateApplicationRequestDescriptor instead') +const UpdateApplicationRequest$json = { + '1': 'UpdateApplicationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'application', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Application', + '10': 'application' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateApplicationRequestDescriptor = $convert.base64Decode( + 'ChhVcGRhdGVBcHBsaWNhdGlvblJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRJGCgthcHBsaW' + 'NhdGlvbhgCIAEoCzIkLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkFwcGxpY2F0aW9uUgthcHBs' + 'aWNhdGlvbhI7Cgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2' + 'tSCnVwZGF0ZU1hc2s='); + +@$core.Deprecated('Use repairApplicationRequestDescriptor instead') +const RepairApplicationRequest$json = { + '1': 'RepairApplicationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `RepairApplicationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List repairApplicationRequestDescriptor = + $convert.base64Decode( + 'ChhSZXBhaXJBcHBsaWNhdGlvblJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use listServicesRequestDescriptor instead') +const ListServicesRequest$json = { + '1': 'ListServicesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0U2VydmljZXNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCXBhZ2Vfc2' + 'l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listServicesResponseDescriptor instead') +const ListServicesResponse$json = { + '1': 'ListServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Service', + '10': 'services' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServicesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0U2VydmljZXNSZXNwb25zZRI8CghzZXJ2aWNlcxgBIAMoCzIgLmdvb2dsZS5hcHBlbm' + 'dpbmUudjFiZXRhLlNlcnZpY2VSCHNlcnZpY2VzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVIN' + 'bmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getServiceRequestDescriptor instead') +const GetServiceRequest$json = { + '1': 'GetServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceRequestDescriptor = $convert + .base64Decode('ChFHZXRTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use updateServiceRequestDescriptor instead') +const UpdateServiceRequest$json = { + '1': 'UpdateServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'service', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Service', + '10': 'service' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + {'1': 'migrate_traffic', '3': 4, '4': 1, '5': 8, '10': 'migrateTraffic'}, + ], +}; + +/// Descriptor for `UpdateServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateServiceRequestDescriptor = $convert.base64Decode( + 'ChRVcGRhdGVTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjoKB3NlcnZpY2UYAi' + 'ABKAsyIC5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5TZXJ2aWNlUgdzZXJ2aWNlEjsKC3VwZGF0' + 'ZV9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IKdXBkYXRlTWFzaxInCg' + '9taWdyYXRlX3RyYWZmaWMYBCABKAhSDm1pZ3JhdGVUcmFmZmlj'); + +@$core.Deprecated('Use deleteServiceRequestDescriptor instead') +const DeleteServiceRequest$json = { + '1': 'DeleteServiceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteServiceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteServiceRequestDescriptor = $convert + .base64Decode('ChREZWxldGVTZXJ2aWNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use listVersionsRequestDescriptor instead') +const ListVersionsRequest$json = { + '1': 'ListVersionsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.VersionView', + '10': 'view' + }, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 4, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListVersionsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listVersionsRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0VmVyc2lvbnNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EjgKBHZpZXcYAi' + 'ABKA4yJC5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5WZXJzaW9uVmlld1IEdmlldxIbCglwYWdl' + 'X3NpemUYAyABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YBCABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listVersionsResponseDescriptor instead') +const ListVersionsResponse$json = { + '1': 'ListVersionsResponse', + '2': [ + { + '1': 'versions', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Version', + '10': 'versions' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListVersionsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listVersionsResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0VmVyc2lvbnNSZXNwb25zZRI8Cgh2ZXJzaW9ucxgBIAMoCzIgLmdvb2dsZS5hcHBlbm' + 'dpbmUudjFiZXRhLlZlcnNpb25SCHZlcnNpb25zEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVIN' + 'bmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getVersionRequestDescriptor instead') +const GetVersionRequest$json = { + '1': 'GetVersionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.VersionView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `GetVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getVersionRequestDescriptor = $convert.base64Decode( + 'ChFHZXRWZXJzaW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjgKBHZpZXcYAiABKA4yJC' + '5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5WZXJzaW9uVmlld1IEdmlldw=='); + +@$core.Deprecated('Use createVersionRequestDescriptor instead') +const CreateVersionRequest$json = { + '1': 'CreateVersionRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'version', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Version', + '10': 'version' + }, + ], +}; + +/// Descriptor for `CreateVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createVersionRequestDescriptor = $convert.base64Decode( + 'ChRDcmVhdGVWZXJzaW9uUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBI6Cgd2ZXJzaW' + '9uGAIgASgLMiAuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuVmVyc2lvblIHdmVyc2lvbg=='); + +@$core.Deprecated('Use updateVersionRequestDescriptor instead') +const UpdateVersionRequest$json = { + '1': 'UpdateVersionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'version', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Version', + '10': 'version' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateVersionRequestDescriptor = $convert.base64Decode( + 'ChRVcGRhdGVWZXJzaW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjoKB3ZlcnNpb24YAi' + 'ABKAsyIC5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5WZXJzaW9uUgd2ZXJzaW9uEjsKC3VwZGF0' + 'ZV9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use deleteVersionRequestDescriptor instead') +const DeleteVersionRequest$json = { + '1': 'DeleteVersionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteVersionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteVersionRequestDescriptor = $convert + .base64Decode('ChREZWxldGVWZXJzaW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use listInstancesRequestDescriptor instead') +const ListInstancesRequest$json = { + '1': 'ListInstancesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListInstancesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listInstancesRequestDescriptor = $convert.base64Decode( + 'ChRMaXN0SW5zdGFuY2VzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIbCglwYWdlX3' + 'NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YAyABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listInstancesResponseDescriptor instead') +const ListInstancesResponse$json = { + '1': 'ListInstancesResponse', + '2': [ + { + '1': 'instances', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Instance', + '10': 'instances' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListInstancesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listInstancesResponseDescriptor = $convert.base64Decode( + 'ChVMaXN0SW5zdGFuY2VzUmVzcG9uc2USPwoJaW5zdGFuY2VzGAEgAygLMiEuZ29vZ2xlLmFwcG' + 'VuZ2luZS52MWJldGEuSW5zdGFuY2VSCWluc3RhbmNlcxImCg9uZXh0X3BhZ2VfdG9rZW4YAiAB' + 'KAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use getInstanceRequestDescriptor instead') +const GetInstanceRequest$json = { + '1': 'GetInstanceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetInstanceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getInstanceRequestDescriptor = $convert + .base64Decode('ChJHZXRJbnN0YW5jZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use deleteInstanceRequestDescriptor instead') +const DeleteInstanceRequest$json = { + '1': 'DeleteInstanceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteInstanceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteInstanceRequestDescriptor = + $convert.base64Decode( + 'ChVEZWxldGVJbnN0YW5jZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use debugInstanceRequestDescriptor instead') +const DebugInstanceRequest$json = { + '1': 'DebugInstanceRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'ssh_key', '3': 2, '4': 1, '5': 9, '10': 'sshKey'}, + ], +}; + +/// Descriptor for `DebugInstanceRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List debugInstanceRequestDescriptor = $convert.base64Decode( + 'ChREZWJ1Z0luc3RhbmNlUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEhcKB3NzaF9rZXkYAi' + 'ABKAlSBnNzaEtleQ=='); + +@$core.Deprecated('Use listIngressRulesRequestDescriptor instead') +const ListIngressRulesRequest$json = { + '1': 'ListIngressRulesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'matching_address', '3': 4, '4': 1, '5': 9, '10': 'matchingAddress'}, + ], +}; + +/// Descriptor for `ListIngressRulesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listIngressRulesRequestDescriptor = $convert.base64Decode( + 'ChdMaXN0SW5ncmVzc1J1bGVzUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBIbCglwYW' + 'dlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YAyABKAlSCXBhZ2VUb2tlbhIp' + 'ChBtYXRjaGluZ19hZGRyZXNzGAQgASgJUg9tYXRjaGluZ0FkZHJlc3M='); + +@$core.Deprecated('Use listIngressRulesResponseDescriptor instead') +const ListIngressRulesResponse$json = { + '1': 'ListIngressRulesResponse', + '2': [ + { + '1': 'ingress_rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.FirewallRule', + '10': 'ingressRules' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListIngressRulesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listIngressRulesResponseDescriptor = $convert.base64Decode( + 'ChhMaXN0SW5ncmVzc1J1bGVzUmVzcG9uc2USSgoNaW5ncmVzc19ydWxlcxgBIAMoCzIlLmdvb2' + 'dsZS5hcHBlbmdpbmUudjFiZXRhLkZpcmV3YWxsUnVsZVIMaW5ncmVzc1J1bGVzEiYKD25leHRf' + 'cGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use batchUpdateIngressRulesRequestDescriptor instead') +const BatchUpdateIngressRulesRequest$json = { + '1': 'BatchUpdateIngressRulesRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'ingress_rules', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.FirewallRule', + '10': 'ingressRules' + }, + ], +}; + +/// Descriptor for `BatchUpdateIngressRulesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchUpdateIngressRulesRequestDescriptor = + $convert.base64Decode( + 'Ch5CYXRjaFVwZGF0ZUluZ3Jlc3NSdWxlc1JlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRJKCg' + '1pbmdyZXNzX3J1bGVzGAIgAygLMiUuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuRmlyZXdhbGxS' + 'dWxlUgxpbmdyZXNzUnVsZXM='); + +@$core.Deprecated('Use batchUpdateIngressRulesResponseDescriptor instead') +const BatchUpdateIngressRulesResponse$json = { + '1': 'BatchUpdateIngressRulesResponse', + '2': [ + { + '1': 'ingress_rules', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.FirewallRule', + '10': 'ingressRules' + }, + ], +}; + +/// Descriptor for `BatchUpdateIngressRulesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batchUpdateIngressRulesResponseDescriptor = + $convert.base64Decode( + 'Ch9CYXRjaFVwZGF0ZUluZ3Jlc3NSdWxlc1Jlc3BvbnNlEkoKDWluZ3Jlc3NfcnVsZXMYASADKA' + 'syJS5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5GaXJld2FsbFJ1bGVSDGluZ3Jlc3NSdWxlcw=='); + +@$core.Deprecated('Use createIngressRuleRequestDescriptor instead') +const CreateIngressRuleRequest$json = { + '1': 'CreateIngressRuleRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'rule', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.FirewallRule', + '10': 'rule' + }, + ], +}; + +/// Descriptor for `CreateIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createIngressRuleRequestDescriptor = $convert.base64Decode( + 'ChhDcmVhdGVJbmdyZXNzUnVsZVJlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYXJlbnQSOQoEcn' + 'VsZRgCIAEoCzIlLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkZpcmV3YWxsUnVsZVIEcnVsZQ=='); + +@$core.Deprecated('Use getIngressRuleRequestDescriptor instead') +const GetIngressRuleRequest$json = { + '1': 'GetIngressRuleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getIngressRuleRequestDescriptor = + $convert.base64Decode( + 'ChVHZXRJbmdyZXNzUnVsZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use updateIngressRuleRequestDescriptor instead') +const UpdateIngressRuleRequest$json = { + '1': 'UpdateIngressRuleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'rule', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.FirewallRule', + '10': 'rule' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateIngressRuleRequestDescriptor = $convert.base64Decode( + 'ChhVcGRhdGVJbmdyZXNzUnVsZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRI5CgRydWxlGA' + 'IgASgLMiUuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuRmlyZXdhbGxSdWxlUgRydWxlEjsKC3Vw' + 'ZGF0ZV9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IKdXBkYXRlTWFzaw' + '=='); + +@$core.Deprecated('Use deleteIngressRuleRequestDescriptor instead') +const DeleteIngressRuleRequest$json = { + '1': 'DeleteIngressRuleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteIngressRuleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteIngressRuleRequestDescriptor = + $convert.base64Decode( + 'ChhEZWxldGVJbmdyZXNzUnVsZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use listAuthorizedDomainsRequestDescriptor instead') +const ListAuthorizedDomainsRequest$json = { + '1': 'ListAuthorizedDomainsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedDomainsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedDomainsRequestDescriptor = + $convert.base64Decode( + 'ChxMaXN0QXV0aG9yaXplZERvbWFpbnNSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50Eh' + 'sKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRv' + 'a2Vu'); + +@$core.Deprecated('Use listAuthorizedDomainsResponseDescriptor instead') +const ListAuthorizedDomainsResponse$json = { + '1': 'ListAuthorizedDomainsResponse', + '2': [ + { + '1': 'domains', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.AuthorizedDomain', + '10': 'domains' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedDomainsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedDomainsResponseDescriptor = + $convert.base64Decode( + 'Ch1MaXN0QXV0aG9yaXplZERvbWFpbnNSZXNwb25zZRJDCgdkb21haW5zGAEgAygLMikuZ29vZ2' + 'xlLmFwcGVuZ2luZS52MWJldGEuQXV0aG9yaXplZERvbWFpblIHZG9tYWlucxImCg9uZXh0X3Bh' + 'Z2VfdG9rZW4YAiABKAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use listAuthorizedCertificatesRequestDescriptor instead') +const ListAuthorizedCertificatesRequest$json = { + '1': 'ListAuthorizedCertificatesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'view', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.AuthorizedCertificateView', + '10': 'view' + }, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedCertificatesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedCertificatesRequestDescriptor = + $convert.base64Decode( + 'CiFMaXN0QXV0aG9yaXplZENlcnRpZmljYXRlc1JlcXVlc3QSFgoGcGFyZW50GAEgASgJUgZwYX' + 'JlbnQSRgoEdmlldxgEIAEoDjIyLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkF1dGhvcml6ZWRD' + 'ZXJ0aWZpY2F0ZVZpZXdSBHZpZXcSGwoJcGFnZV9zaXplGAIgASgFUghwYWdlU2l6ZRIdCgpwYW' + 'dlX3Rva2VuGAMgASgJUglwYWdlVG9rZW4='); + +@$core.Deprecated('Use listAuthorizedCertificatesResponseDescriptor instead') +const ListAuthorizedCertificatesResponse$json = { + '1': 'ListAuthorizedCertificatesResponse', + '2': [ + { + '1': 'certificates', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.AuthorizedCertificate', + '10': 'certificates' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListAuthorizedCertificatesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listAuthorizedCertificatesResponseDescriptor = + $convert.base64Decode( + 'CiJMaXN0QXV0aG9yaXplZENlcnRpZmljYXRlc1Jlc3BvbnNlElIKDGNlcnRpZmljYXRlcxgBIA' + 'MoCzIuLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkF1dGhvcml6ZWRDZXJ0aWZpY2F0ZVIMY2Vy' + 'dGlmaWNhdGVzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getAuthorizedCertificateRequestDescriptor instead') +const GetAuthorizedCertificateRequest$json = { + '1': 'GetAuthorizedCertificateRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.AuthorizedCertificateView', + '10': 'view' + }, + ], +}; + +/// Descriptor for `GetAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'Ch9HZXRBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUSRg' + 'oEdmlldxgCIAEoDjIyLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkF1dGhvcml6ZWRDZXJ0aWZp' + 'Y2F0ZVZpZXdSBHZpZXc='); + +@$core.Deprecated('Use createAuthorizedCertificateRequestDescriptor instead') +const CreateAuthorizedCertificateRequest$json = { + '1': 'CreateAuthorizedCertificateRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'certificate', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.AuthorizedCertificate', + '10': 'certificate' + }, + ], +}; + +/// Descriptor for `CreateAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'CiJDcmVhdGVBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcG' + 'FyZW50ElAKC2NlcnRpZmljYXRlGAIgASgLMi4uZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuQXV0' + 'aG9yaXplZENlcnRpZmljYXRlUgtjZXJ0aWZpY2F0ZQ=='); + +@$core.Deprecated('Use updateAuthorizedCertificateRequestDescriptor instead') +const UpdateAuthorizedCertificateRequest$json = { + '1': 'UpdateAuthorizedCertificateRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'certificate', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.AuthorizedCertificate', + '10': 'certificate' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'CiJVcGRhdGVBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbW' + 'USUAoLY2VydGlmaWNhdGUYAiABKAsyLi5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5BdXRob3Jp' + 'emVkQ2VydGlmaWNhdGVSC2NlcnRpZmljYXRlEjsKC3VwZGF0ZV9tYXNrGAMgASgLMhouZ29vZ2' + 'xlLnByb3RvYnVmLkZpZWxkTWFza1IKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use deleteAuthorizedCertificateRequestDescriptor instead') +const DeleteAuthorizedCertificateRequest$json = { + '1': 'DeleteAuthorizedCertificateRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteAuthorizedCertificateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteAuthorizedCertificateRequestDescriptor = + $convert.base64Decode( + 'CiJEZWxldGVBdXRob3JpemVkQ2VydGlmaWNhdGVSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbW' + 'U='); + +@$core.Deprecated('Use listDomainMappingsRequestDescriptor instead') +const ListDomainMappingsRequest$json = { + '1': 'ListDomainMappingsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListDomainMappingsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listDomainMappingsRequestDescriptor = $convert.base64Decode( + 'ChlMaXN0RG9tYWluTWFwcGluZ3NSZXF1ZXN0EhYKBnBhcmVudBgBIAEoCVIGcGFyZW50EhsKCX' + 'BhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listDomainMappingsResponseDescriptor instead') +const ListDomainMappingsResponse$json = { + '1': 'ListDomainMappingsResponse', + '2': [ + { + '1': 'domain_mappings', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.DomainMapping', + '10': 'domainMappings' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListDomainMappingsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listDomainMappingsResponseDescriptor = + $convert.base64Decode( + 'ChpMaXN0RG9tYWluTWFwcGluZ3NSZXNwb25zZRJPCg9kb21haW5fbWFwcGluZ3MYASADKAsyJi' + '5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5Eb21haW5NYXBwaW5nUg5kb21haW5NYXBwaW5ncxIm' + 'Cg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use getDomainMappingRequestDescriptor instead') +const GetDomainMappingRequest$json = { + '1': 'GetDomainMappingRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getDomainMappingRequestDescriptor = + $convert.base64Decode( + 'ChdHZXREb21haW5NYXBwaW5nUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use createDomainMappingRequestDescriptor instead') +const CreateDomainMappingRequest$json = { + '1': 'CreateDomainMappingRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '10': 'parent'}, + { + '1': 'domain_mapping', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.DomainMapping', + '10': 'domainMapping' + }, + { + '1': 'override_strategy', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.DomainOverrideStrategy', + '10': 'overrideStrategy' + }, + ], +}; + +/// Descriptor for `CreateDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createDomainMappingRequestDescriptor = $convert.base64Decode( + 'ChpDcmVhdGVEb21haW5NYXBwaW5nUmVxdWVzdBIWCgZwYXJlbnQYASABKAlSBnBhcmVudBJNCg' + '5kb21haW5fbWFwcGluZxgCIAEoCzImLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkRvbWFpbk1h' + 'cHBpbmdSDWRvbWFpbk1hcHBpbmcSXAoRb3ZlcnJpZGVfc3RyYXRlZ3kYBCABKA4yLy5nb29nbG' + 'UuYXBwZW5naW5lLnYxYmV0YS5Eb21haW5PdmVycmlkZVN0cmF0ZWd5UhBvdmVycmlkZVN0cmF0' + 'ZWd5'); + +@$core.Deprecated('Use updateDomainMappingRequestDescriptor instead') +const UpdateDomainMappingRequest$json = { + '1': 'UpdateDomainMappingRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'domain_mapping', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.DomainMapping', + '10': 'domainMapping' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateDomainMappingRequestDescriptor = $convert.base64Decode( + 'ChpVcGRhdGVEb21haW5NYXBwaW5nUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEk0KDmRvbW' + 'Fpbl9tYXBwaW5nGAIgASgLMiYuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuRG9tYWluTWFwcGlu' + 'Z1INZG9tYWluTWFwcGluZxI7Cgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi' + '5GaWVsZE1hc2tSCnVwZGF0ZU1hc2s='); + +@$core.Deprecated('Use deleteDomainMappingRequestDescriptor instead') +const DeleteDomainMappingRequest$json = { + '1': 'DeleteDomainMappingRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteDomainMappingRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteDomainMappingRequestDescriptor = + $convert.base64Decode( + 'ChpEZWxldGVEb21haW5NYXBwaW5nUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pb.dart new file mode 100644 index 00000000..f42b20ec --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pb.dart @@ -0,0 +1,696 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/application.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import 'application.pbenum.dart'; + +export 'application.pbenum.dart'; + +/// Identity-Aware Proxy +class Application_IdentityAwareProxy extends $pb.GeneratedMessage { + factory Application_IdentityAwareProxy({ + $core.bool? enabled, + $core.String? oauth2ClientId, + $core.String? oauth2ClientSecret, + $core.String? oauth2ClientSecretSha256, + }) { + final $result = create(); + if (enabled != null) { + $result.enabled = enabled; + } + if (oauth2ClientId != null) { + $result.oauth2ClientId = oauth2ClientId; + } + if (oauth2ClientSecret != null) { + $result.oauth2ClientSecret = oauth2ClientSecret; + } + if (oauth2ClientSecretSha256 != null) { + $result.oauth2ClientSecretSha256 = oauth2ClientSecretSha256; + } + return $result; + } + Application_IdentityAwareProxy._() : super(); + factory Application_IdentityAwareProxy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Application_IdentityAwareProxy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Application.IdentityAwareProxy', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'enabled') + ..aOS(2, _omitFieldNames ? '' : 'oauth2ClientId') + ..aOS(3, _omitFieldNames ? '' : 'oauth2ClientSecret') + ..aOS(4, _omitFieldNames ? '' : 'oauth2ClientSecretSha256') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Application_IdentityAwareProxy clone() => + Application_IdentityAwareProxy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Application_IdentityAwareProxy copyWith( + void Function(Application_IdentityAwareProxy) updates) => + super.copyWith( + (message) => updates(message as Application_IdentityAwareProxy)) + as Application_IdentityAwareProxy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Application_IdentityAwareProxy create() => + Application_IdentityAwareProxy._(); + Application_IdentityAwareProxy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Application_IdentityAwareProxy getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Application_IdentityAwareProxy? _defaultInstance; + + /// Whether the serving infrastructure will authenticate and + /// authorize all incoming requests. + /// + /// If true, the `oauth2_client_id` and `oauth2_client_secret` + /// fields must be non-empty. + @$pb.TagNumber(1) + $core.bool get enabled => $_getBF(0); + @$pb.TagNumber(1) + set enabled($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearEnabled() => clearField(1); + + /// OAuth2 client ID to use for the authentication flow. + @$pb.TagNumber(2) + $core.String get oauth2ClientId => $_getSZ(1); + @$pb.TagNumber(2) + set oauth2ClientId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOauth2ClientId() => $_has(1); + @$pb.TagNumber(2) + void clearOauth2ClientId() => clearField(2); + + /// OAuth2 client secret to use for the authentication flow. + /// + /// For security reasons, this value cannot be retrieved via the API. + /// Instead, the SHA-256 hash of the value is returned in the + /// `oauth2_client_secret_sha256` field. + /// + /// @InputOnly + @$pb.TagNumber(3) + $core.String get oauth2ClientSecret => $_getSZ(2); + @$pb.TagNumber(3) + set oauth2ClientSecret($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOauth2ClientSecret() => $_has(2); + @$pb.TagNumber(3) + void clearOauth2ClientSecret() => clearField(3); + + /// Hex-encoded SHA-256 hash of the client secret. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.String get oauth2ClientSecretSha256 => $_getSZ(3); + @$pb.TagNumber(4) + set oauth2ClientSecretSha256($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasOauth2ClientSecretSha256() => $_has(3); + @$pb.TagNumber(4) + void clearOauth2ClientSecretSha256() => clearField(4); +} + +/// The feature specific settings to be used in the application. These define +/// behaviors that are user configurable. +class Application_FeatureSettings extends $pb.GeneratedMessage { + factory Application_FeatureSettings({ + $core.bool? splitHealthChecks, + $core.bool? useContainerOptimizedOs, + }) { + final $result = create(); + if (splitHealthChecks != null) { + $result.splitHealthChecks = splitHealthChecks; + } + if (useContainerOptimizedOs != null) { + $result.useContainerOptimizedOs = useContainerOptimizedOs; + } + return $result; + } + Application_FeatureSettings._() : super(); + factory Application_FeatureSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Application_FeatureSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Application.FeatureSettings', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'splitHealthChecks') + ..aOB(2, _omitFieldNames ? '' : 'useContainerOptimizedOs') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Application_FeatureSettings clone() => + Application_FeatureSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Application_FeatureSettings copyWith( + void Function(Application_FeatureSettings) updates) => + super.copyWith( + (message) => updates(message as Application_FeatureSettings)) + as Application_FeatureSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Application_FeatureSettings create() => + Application_FeatureSettings._(); + Application_FeatureSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Application_FeatureSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Application_FeatureSettings? _defaultInstance; + + /// Boolean value indicating if split health checks should be used instead + /// of the legacy health checks. At an app.yaml level, this means defaulting + /// to 'readiness_check' and 'liveness_check' values instead of + /// 'health_check' ones. Once the legacy 'health_check' behavior is + /// deprecated, and this value is always true, this setting can + /// be removed. + @$pb.TagNumber(1) + $core.bool get splitHealthChecks => $_getBF(0); + @$pb.TagNumber(1) + set splitHealthChecks($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSplitHealthChecks() => $_has(0); + @$pb.TagNumber(1) + void clearSplitHealthChecks() => clearField(1); + + /// If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) + /// base image for VMs, rather than a base Debian image. + @$pb.TagNumber(2) + $core.bool get useContainerOptimizedOs => $_getBF(1); + @$pb.TagNumber(2) + set useContainerOptimizedOs($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUseContainerOptimizedOs() => $_has(1); + @$pb.TagNumber(2) + void clearUseContainerOptimizedOs() => clearField(2); +} + +/// An Application resource contains the top-level configuration of an App +/// Engine application. +class Application extends $pb.GeneratedMessage { + factory Application({ + $core.String? name, + $core.String? id, + $core.Iterable? dispatchRules, + $core.String? authDomain, + $core.String? locationId, + $core.String? codeBucket, + $51.Duration? defaultCookieExpiration, + Application_ServingStatus? servingStatus, + $core.String? defaultHostname, + $core.String? defaultBucket, + Application_IdentityAwareProxy? iap, + $core.String? gcrDomain, + Application_DatabaseType? databaseType, + Application_FeatureSettings? featureSettings, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (dispatchRules != null) { + $result.dispatchRules.addAll(dispatchRules); + } + if (authDomain != null) { + $result.authDomain = authDomain; + } + if (locationId != null) { + $result.locationId = locationId; + } + if (codeBucket != null) { + $result.codeBucket = codeBucket; + } + if (defaultCookieExpiration != null) { + $result.defaultCookieExpiration = defaultCookieExpiration; + } + if (servingStatus != null) { + $result.servingStatus = servingStatus; + } + if (defaultHostname != null) { + $result.defaultHostname = defaultHostname; + } + if (defaultBucket != null) { + $result.defaultBucket = defaultBucket; + } + if (iap != null) { + $result.iap = iap; + } + if (gcrDomain != null) { + $result.gcrDomain = gcrDomain; + } + if (databaseType != null) { + $result.databaseType = databaseType; + } + if (featureSettings != null) { + $result.featureSettings = featureSettings; + } + return $result; + } + Application._() : super(); + factory Application.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Application.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Application', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..pc( + 3, _omitFieldNames ? '' : 'dispatchRules', $pb.PbFieldType.PM, + subBuilder: UrlDispatchRule.create) + ..aOS(6, _omitFieldNames ? '' : 'authDomain') + ..aOS(7, _omitFieldNames ? '' : 'locationId') + ..aOS(8, _omitFieldNames ? '' : 'codeBucket') + ..aOM<$51.Duration>(9, _omitFieldNames ? '' : 'defaultCookieExpiration', + subBuilder: $51.Duration.create) + ..e( + 10, _omitFieldNames ? '' : 'servingStatus', $pb.PbFieldType.OE, + defaultOrMaker: Application_ServingStatus.UNSPECIFIED, + valueOf: Application_ServingStatus.valueOf, + enumValues: Application_ServingStatus.values) + ..aOS(11, _omitFieldNames ? '' : 'defaultHostname') + ..aOS(12, _omitFieldNames ? '' : 'defaultBucket') + ..aOM(14, _omitFieldNames ? '' : 'iap', + subBuilder: Application_IdentityAwareProxy.create) + ..aOS(16, _omitFieldNames ? '' : 'gcrDomain') + ..e( + 17, _omitFieldNames ? '' : 'databaseType', $pb.PbFieldType.OE, + defaultOrMaker: Application_DatabaseType.DATABASE_TYPE_UNSPECIFIED, + valueOf: Application_DatabaseType.valueOf, + enumValues: Application_DatabaseType.values) + ..aOM( + 18, _omitFieldNames ? '' : 'featureSettings', + subBuilder: Application_FeatureSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Application clone() => Application()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Application copyWith(void Function(Application) updates) => + super.copyWith((message) => updates(message as Application)) + as Application; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Application create() => Application._(); + Application createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Application getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Application? _defaultInstance; + + /// Full path to the Application resource in the API. + /// Example: `apps/myapp`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Identifier of the Application resource. This identifier is equivalent + /// to the project ID of the Google Cloud Platform project where you want to + /// deploy your application. + /// Example: `myapp`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// HTTP path dispatch rules for requests to the application that do not + /// explicitly target a service or version. Rules are order-dependent. + /// Up to 20 dispatch rules can be supported. + @$pb.TagNumber(3) + $core.List get dispatchRules => $_getList(2); + + /// Google Apps authentication domain that controls which users can access + /// this application. + /// + /// Defaults to open access for any Google Account. + @$pb.TagNumber(6) + $core.String get authDomain => $_getSZ(3); + @$pb.TagNumber(6) + set authDomain($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(6) + $core.bool hasAuthDomain() => $_has(3); + @$pb.TagNumber(6) + void clearAuthDomain() => clearField(6); + + /// Location from which this application runs. Application instances + /// run out of the data centers in the specified location, which is also where + /// all of the application's end user content is stored. + /// + /// Defaults to `us-central`. + /// + /// View the list of + /// [supported locations](https://cloud.google.com/appengine/docs/locations). + @$pb.TagNumber(7) + $core.String get locationId => $_getSZ(4); + @$pb.TagNumber(7) + set locationId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(7) + $core.bool hasLocationId() => $_has(4); + @$pb.TagNumber(7) + void clearLocationId() => clearField(7); + + /// Google Cloud Storage bucket that can be used for storing files + /// associated with this application. This bucket is associated with the + /// application and can be used by the gcloud deployment commands. + /// + /// @OutputOnly + @$pb.TagNumber(8) + $core.String get codeBucket => $_getSZ(5); + @$pb.TagNumber(8) + set codeBucket($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(8) + $core.bool hasCodeBucket() => $_has(5); + @$pb.TagNumber(8) + void clearCodeBucket() => clearField(8); + + /// Cookie expiration policy for this application. + @$pb.TagNumber(9) + $51.Duration get defaultCookieExpiration => $_getN(6); + @$pb.TagNumber(9) + set defaultCookieExpiration($51.Duration v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasDefaultCookieExpiration() => $_has(6); + @$pb.TagNumber(9) + void clearDefaultCookieExpiration() => clearField(9); + @$pb.TagNumber(9) + $51.Duration ensureDefaultCookieExpiration() => $_ensure(6); + + /// Serving status of this application. + @$pb.TagNumber(10) + Application_ServingStatus get servingStatus => $_getN(7); + @$pb.TagNumber(10) + set servingStatus(Application_ServingStatus v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasServingStatus() => $_has(7); + @$pb.TagNumber(10) + void clearServingStatus() => clearField(10); + + /// Hostname used to reach this application, as resolved by App Engine. + /// + /// @OutputOnly + @$pb.TagNumber(11) + $core.String get defaultHostname => $_getSZ(8); + @$pb.TagNumber(11) + set defaultHostname($core.String v) { + $_setString(8, v); + } + + @$pb.TagNumber(11) + $core.bool hasDefaultHostname() => $_has(8); + @$pb.TagNumber(11) + void clearDefaultHostname() => clearField(11); + + /// Google Cloud Storage bucket that can be used by this application to store + /// content. + /// + /// @OutputOnly + @$pb.TagNumber(12) + $core.String get defaultBucket => $_getSZ(9); + @$pb.TagNumber(12) + set defaultBucket($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(12) + $core.bool hasDefaultBucket() => $_has(9); + @$pb.TagNumber(12) + void clearDefaultBucket() => clearField(12); + + @$pb.TagNumber(14) + Application_IdentityAwareProxy get iap => $_getN(10); + @$pb.TagNumber(14) + set iap(Application_IdentityAwareProxy v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasIap() => $_has(10); + @$pb.TagNumber(14) + void clearIap() => clearField(14); + @$pb.TagNumber(14) + Application_IdentityAwareProxy ensureIap() => $_ensure(10); + + /// The Google Container Registry domain used for storing managed build docker + /// images for this application. + @$pb.TagNumber(16) + $core.String get gcrDomain => $_getSZ(11); + @$pb.TagNumber(16) + set gcrDomain($core.String v) { + $_setString(11, v); + } + + @$pb.TagNumber(16) + $core.bool hasGcrDomain() => $_has(11); + @$pb.TagNumber(16) + void clearGcrDomain() => clearField(16); + + /// The type of the Cloud Firestore or Cloud Datastore database associated with + /// this application. + @$pb.TagNumber(17) + Application_DatabaseType get databaseType => $_getN(12); + @$pb.TagNumber(17) + set databaseType(Application_DatabaseType v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasDatabaseType() => $_has(12); + @$pb.TagNumber(17) + void clearDatabaseType() => clearField(17); + + /// The feature specific settings to be used in the application. + @$pb.TagNumber(18) + Application_FeatureSettings get featureSettings => $_getN(13); + @$pb.TagNumber(18) + set featureSettings(Application_FeatureSettings v) { + setField(18, v); + } + + @$pb.TagNumber(18) + $core.bool hasFeatureSettings() => $_has(13); + @$pb.TagNumber(18) + void clearFeatureSettings() => clearField(18); + @$pb.TagNumber(18) + Application_FeatureSettings ensureFeatureSettings() => $_ensure(13); +} + +/// Rules to match an HTTP request and dispatch that request to a service. +class UrlDispatchRule extends $pb.GeneratedMessage { + factory UrlDispatchRule({ + $core.String? domain, + $core.String? path, + $core.String? service, + }) { + final $result = create(); + if (domain != null) { + $result.domain = domain; + } + if (path != null) { + $result.path = path; + } + if (service != null) { + $result.service = service; + } + return $result; + } + UrlDispatchRule._() : super(); + factory UrlDispatchRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UrlDispatchRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UrlDispatchRule', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'domain') + ..aOS(2, _omitFieldNames ? '' : 'path') + ..aOS(3, _omitFieldNames ? '' : 'service') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UrlDispatchRule clone() => UrlDispatchRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UrlDispatchRule copyWith(void Function(UrlDispatchRule) updates) => + super.copyWith((message) => updates(message as UrlDispatchRule)) + as UrlDispatchRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UrlDispatchRule create() => UrlDispatchRule._(); + UrlDispatchRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UrlDispatchRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UrlDispatchRule? _defaultInstance; + + /// Domain name to match against. The wildcard "`*`" is supported if + /// specified before a period: "`*.`". + /// + /// Defaults to matching all domains: "`*`". + @$pb.TagNumber(1) + $core.String get domain => $_getSZ(0); + @$pb.TagNumber(1) + set domain($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDomain() => $_has(0); + @$pb.TagNumber(1) + void clearDomain() => clearField(1); + + /// Pathname within the host. Must start with a "`/`". A + /// single "`*`" can be included at the end of the path. + /// + /// The sum of the lengths of the domain and path may not + /// exceed 100 characters. + @$pb.TagNumber(2) + $core.String get path => $_getSZ(1); + @$pb.TagNumber(2) + set path($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPath() => $_has(1); + @$pb.TagNumber(2) + void clearPath() => clearField(2); + + /// Resource ID of a service in this application that should + /// serve the matched request. The service must already + /// exist. Example: `default`. + @$pb.TagNumber(3) + $core.String get service => $_getSZ(2); + @$pb.TagNumber(3) + set service($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasService() => $_has(2); + @$pb.TagNumber(3) + void clearService() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pbenum.dart new file mode 100644 index 00000000..613f75c7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pbenum.dart @@ -0,0 +1,68 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/application.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class Application_ServingStatus extends $pb.ProtobufEnum { + static const Application_ServingStatus UNSPECIFIED = + Application_ServingStatus._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const Application_ServingStatus SERVING = + Application_ServingStatus._(1, _omitEnumNames ? '' : 'SERVING'); + static const Application_ServingStatus USER_DISABLED = + Application_ServingStatus._(2, _omitEnumNames ? '' : 'USER_DISABLED'); + static const Application_ServingStatus SYSTEM_DISABLED = + Application_ServingStatus._(3, _omitEnumNames ? '' : 'SYSTEM_DISABLED'); + + static const $core.List values = + [ + UNSPECIFIED, + SERVING, + USER_DISABLED, + SYSTEM_DISABLED, + ]; + + static final $core.Map<$core.int, Application_ServingStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Application_ServingStatus? valueOf($core.int value) => _byValue[value]; + + const Application_ServingStatus._($core.int v, $core.String n) : super(v, n); +} + +class Application_DatabaseType extends $pb.ProtobufEnum { + static const Application_DatabaseType DATABASE_TYPE_UNSPECIFIED = + Application_DatabaseType._( + 0, _omitEnumNames ? '' : 'DATABASE_TYPE_UNSPECIFIED'); + static const Application_DatabaseType CLOUD_DATASTORE = + Application_DatabaseType._(1, _omitEnumNames ? '' : 'CLOUD_DATASTORE'); + static const Application_DatabaseType CLOUD_FIRESTORE = + Application_DatabaseType._(2, _omitEnumNames ? '' : 'CLOUD_FIRESTORE'); + static const Application_DatabaseType CLOUD_DATASTORE_COMPATIBILITY = + Application_DatabaseType._( + 3, _omitEnumNames ? '' : 'CLOUD_DATASTORE_COMPATIBILITY'); + + static const $core.List values = + [ + DATABASE_TYPE_UNSPECIFIED, + CLOUD_DATASTORE, + CLOUD_FIRESTORE, + CLOUD_DATASTORE_COMPATIBILITY, + ]; + + static final $core.Map<$core.int, Application_DatabaseType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Application_DatabaseType? valueOf($core.int value) => _byValue[value]; + + const Application_DatabaseType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pbjson.dart new file mode 100644 index 00000000..df81dafa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/application.pbjson.dart @@ -0,0 +1,187 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/application.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application$json = { + '1': 'Application', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'dispatch_rules', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.UrlDispatchRule', + '10': 'dispatchRules' + }, + {'1': 'auth_domain', '3': 6, '4': 1, '5': 9, '10': 'authDomain'}, + {'1': 'location_id', '3': 7, '4': 1, '5': 9, '10': 'locationId'}, + {'1': 'code_bucket', '3': 8, '4': 1, '5': 9, '10': 'codeBucket'}, + { + '1': 'default_cookie_expiration', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'defaultCookieExpiration' + }, + { + '1': 'serving_status', + '3': 10, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.Application.ServingStatus', + '10': 'servingStatus' + }, + {'1': 'default_hostname', '3': 11, '4': 1, '5': 9, '10': 'defaultHostname'}, + {'1': 'default_bucket', '3': 12, '4': 1, '5': 9, '10': 'defaultBucket'}, + { + '1': 'iap', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Application.IdentityAwareProxy', + '10': 'iap' + }, + {'1': 'gcr_domain', '3': 16, '4': 1, '5': 9, '10': 'gcrDomain'}, + { + '1': 'database_type', + '3': 17, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.Application.DatabaseType', + '10': 'databaseType' + }, + { + '1': 'feature_settings', + '3': 18, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Application.FeatureSettings', + '10': 'featureSettings' + }, + ], + '3': [Application_IdentityAwareProxy$json, Application_FeatureSettings$json], + '4': [Application_ServingStatus$json, Application_DatabaseType$json], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_IdentityAwareProxy$json = { + '1': 'IdentityAwareProxy', + '2': [ + {'1': 'enabled', '3': 1, '4': 1, '5': 8, '10': 'enabled'}, + {'1': 'oauth2_client_id', '3': 2, '4': 1, '5': 9, '10': 'oauth2ClientId'}, + { + '1': 'oauth2_client_secret', + '3': 3, + '4': 1, + '5': 9, + '10': 'oauth2ClientSecret' + }, + { + '1': 'oauth2_client_secret_sha256', + '3': 4, + '4': 1, + '5': 9, + '10': 'oauth2ClientSecretSha256' + }, + ], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_FeatureSettings$json = { + '1': 'FeatureSettings', + '2': [ + { + '1': 'split_health_checks', + '3': 1, + '4': 1, + '5': 8, + '10': 'splitHealthChecks' + }, + { + '1': 'use_container_optimized_os', + '3': 2, + '4': 1, + '5': 8, + '10': 'useContainerOptimizedOs' + }, + ], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_ServingStatus$json = { + '1': 'ServingStatus', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'SERVING', '2': 1}, + {'1': 'USER_DISABLED', '2': 2}, + {'1': 'SYSTEM_DISABLED', '2': 3}, + ], +}; + +@$core.Deprecated('Use applicationDescriptor instead') +const Application_DatabaseType$json = { + '1': 'DatabaseType', + '2': [ + {'1': 'DATABASE_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'CLOUD_DATASTORE', '2': 1}, + {'1': 'CLOUD_FIRESTORE', '2': 2}, + {'1': 'CLOUD_DATASTORE_COMPATIBILITY', '2': 3}, + ], +}; + +/// Descriptor for `Application`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List applicationDescriptor = $convert.base64Decode( + 'CgtBcHBsaWNhdGlvbhISCgRuYW1lGAEgASgJUgRuYW1lEg4KAmlkGAIgASgJUgJpZBJPCg5kaX' + 'NwYXRjaF9ydWxlcxgDIAMoCzIoLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLlVybERpc3BhdGNo' + 'UnVsZVINZGlzcGF0Y2hSdWxlcxIfCgthdXRoX2RvbWFpbhgGIAEoCVIKYXV0aERvbWFpbhIfCg' + 'tsb2NhdGlvbl9pZBgHIAEoCVIKbG9jYXRpb25JZBIfCgtjb2RlX2J1Y2tldBgIIAEoCVIKY29k' + 'ZUJ1Y2tldBJVChlkZWZhdWx0X2Nvb2tpZV9leHBpcmF0aW9uGAkgASgLMhkuZ29vZ2xlLnByb3' + 'RvYnVmLkR1cmF0aW9uUhdkZWZhdWx0Q29va2llRXhwaXJhdGlvbhJZCg5zZXJ2aW5nX3N0YXR1' + 'cxgKIAEoDjIyLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkFwcGxpY2F0aW9uLlNlcnZpbmdTdG' + 'F0dXNSDXNlcnZpbmdTdGF0dXMSKQoQZGVmYXVsdF9ob3N0bmFtZRgLIAEoCVIPZGVmYXVsdEhv' + 'c3RuYW1lEiUKDmRlZmF1bHRfYnVja2V0GAwgASgJUg1kZWZhdWx0QnVja2V0EkkKA2lhcBgOIA' + 'EoCzI3Lmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkFwcGxpY2F0aW9uLklkZW50aXR5QXdhcmVQ' + 'cm94eVIDaWFwEh0KCmdjcl9kb21haW4YECABKAlSCWdjckRvbWFpbhJWCg1kYXRhYmFzZV90eX' + 'BlGBEgASgOMjEuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuQXBwbGljYXRpb24uRGF0YWJhc2VU' + 'eXBlUgxkYXRhYmFzZVR5cGUSXwoQZmVhdHVyZV9zZXR0aW5ncxgSIAEoCzI0Lmdvb2dsZS5hcH' + 'BlbmdpbmUudjFiZXRhLkFwcGxpY2F0aW9uLkZlYXR1cmVTZXR0aW5nc1IPZmVhdHVyZVNldHRp' + 'bmdzGskBChJJZGVudGl0eUF3YXJlUHJveHkSGAoHZW5hYmxlZBgBIAEoCFIHZW5hYmxlZBIoCh' + 'BvYXV0aDJfY2xpZW50X2lkGAIgASgJUg5vYXV0aDJDbGllbnRJZBIwChRvYXV0aDJfY2xpZW50' + 'X3NlY3JldBgDIAEoCVISb2F1dGgyQ2xpZW50U2VjcmV0Ej0KG29hdXRoMl9jbGllbnRfc2Vjcm' + 'V0X3NoYTI1NhgEIAEoCVIYb2F1dGgyQ2xpZW50U2VjcmV0U2hhMjU2Gn4KD0ZlYXR1cmVTZXR0' + 'aW5ncxIuChNzcGxpdF9oZWFsdGhfY2hlY2tzGAEgASgIUhFzcGxpdEhlYWx0aENoZWNrcxI7Ch' + 'p1c2VfY29udGFpbmVyX29wdGltaXplZF9vcxgCIAEoCFIXdXNlQ29udGFpbmVyT3B0aW1pemVk' + 'T3MiVQoNU2VydmluZ1N0YXR1cxIPCgtVTlNQRUNJRklFRBAAEgsKB1NFUlZJTkcQARIRCg1VU0' + 'VSX0RJU0FCTEVEEAISEwoPU1lTVEVNX0RJU0FCTEVEEAMiegoMRGF0YWJhc2VUeXBlEh0KGURB' + 'VEFCQVNFX1RZUEVfVU5TUEVDSUZJRUQQABITCg9DTE9VRF9EQVRBU1RPUkUQARITCg9DTE9VRF' + '9GSVJFU1RPUkUQAhIhCh1DTE9VRF9EQVRBU1RPUkVfQ09NUEFUSUJJTElUWRAD'); + +@$core.Deprecated('Use urlDispatchRuleDescriptor instead') +const UrlDispatchRule$json = { + '1': 'UrlDispatchRule', + '2': [ + {'1': 'domain', '3': 1, '4': 1, '5': 9, '10': 'domain'}, + {'1': 'path', '3': 2, '4': 1, '5': 9, '10': 'path'}, + {'1': 'service', '3': 3, '4': 1, '5': 9, '10': 'service'}, + ], +}; + +/// Descriptor for `UrlDispatchRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List urlDispatchRuleDescriptor = $convert.base64Decode( + 'Cg9VcmxEaXNwYXRjaFJ1bGUSFgoGZG9tYWluGAEgASgJUgZkb21haW4SEgoEcGF0aBgCIAEoCV' + 'IEcGF0aBIYCgdzZXJ2aWNlGAMgASgJUgdzZXJ2aWNl'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pb.dart new file mode 100644 index 00000000..9f920b8a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pb.dart @@ -0,0 +1,251 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'appengine.pb.dart' as $2; + +enum AuditData_Method { updateService, createVersion, notSet } + +/// App Engine admin service audit log. +class AuditData extends $pb.GeneratedMessage { + factory AuditData({ + UpdateServiceMethod? updateService, + CreateVersionMethod? createVersion, + }) { + final $result = create(); + if (updateService != null) { + $result.updateService = updateService; + } + if (createVersion != null) { + $result.createVersion = createVersion; + } + return $result; + } + AuditData._() : super(); + factory AuditData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, AuditData_Method> _AuditData_MethodByTag = { + 1: AuditData_Method.updateService, + 2: AuditData_Method.createVersion, + 0: AuditData_Method.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditData', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'updateService', + subBuilder: UpdateServiceMethod.create) + ..aOM(2, _omitFieldNames ? '' : 'createVersion', + subBuilder: CreateVersionMethod.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditData clone() => AuditData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditData copyWith(void Function(AuditData) updates) => + super.copyWith((message) => updates(message as AuditData)) as AuditData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditData create() => AuditData._(); + AuditData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditData getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AuditData? _defaultInstance; + + AuditData_Method whichMethod() => _AuditData_MethodByTag[$_whichOneof(0)]!; + void clearMethod() => clearField($_whichOneof(0)); + + /// Detailed information about UpdateService call. + @$pb.TagNumber(1) + UpdateServiceMethod get updateService => $_getN(0); + @$pb.TagNumber(1) + set updateService(UpdateServiceMethod v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasUpdateService() => $_has(0); + @$pb.TagNumber(1) + void clearUpdateService() => clearField(1); + @$pb.TagNumber(1) + UpdateServiceMethod ensureUpdateService() => $_ensure(0); + + /// Detailed information about CreateVersion call. + @$pb.TagNumber(2) + CreateVersionMethod get createVersion => $_getN(1); + @$pb.TagNumber(2) + set createVersion(CreateVersionMethod v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCreateVersion() => $_has(1); + @$pb.TagNumber(2) + void clearCreateVersion() => clearField(2); + @$pb.TagNumber(2) + CreateVersionMethod ensureCreateVersion() => $_ensure(1); +} + +/// Detailed information about UpdateService call. +class UpdateServiceMethod extends $pb.GeneratedMessage { + factory UpdateServiceMethod({ + $2.UpdateServiceRequest? request, + }) { + final $result = create(); + if (request != null) { + $result.request = request; + } + return $result; + } + UpdateServiceMethod._() : super(); + factory UpdateServiceMethod.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateServiceMethod.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateServiceMethod', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$2.UpdateServiceRequest>(1, _omitFieldNames ? '' : 'request', + subBuilder: $2.UpdateServiceRequest.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateServiceMethod clone() => UpdateServiceMethod()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateServiceMethod copyWith(void Function(UpdateServiceMethod) updates) => + super.copyWith((message) => updates(message as UpdateServiceMethod)) + as UpdateServiceMethod; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateServiceMethod create() => UpdateServiceMethod._(); + UpdateServiceMethod createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateServiceMethod getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateServiceMethod? _defaultInstance; + + /// Update service request. + @$pb.TagNumber(1) + $2.UpdateServiceRequest get request => $_getN(0); + @$pb.TagNumber(1) + set request($2.UpdateServiceRequest v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequest() => $_has(0); + @$pb.TagNumber(1) + void clearRequest() => clearField(1); + @$pb.TagNumber(1) + $2.UpdateServiceRequest ensureRequest() => $_ensure(0); +} + +/// Detailed information about CreateVersion call. +class CreateVersionMethod extends $pb.GeneratedMessage { + factory CreateVersionMethod({ + $2.CreateVersionRequest? request, + }) { + final $result = create(); + if (request != null) { + $result.request = request; + } + return $result; + } + CreateVersionMethod._() : super(); + factory CreateVersionMethod.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateVersionMethod.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateVersionMethod', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$2.CreateVersionRequest>(1, _omitFieldNames ? '' : 'request', + subBuilder: $2.CreateVersionRequest.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateVersionMethod clone() => CreateVersionMethod()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateVersionMethod copyWith(void Function(CreateVersionMethod) updates) => + super.copyWith((message) => updates(message as CreateVersionMethod)) + as CreateVersionMethod; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateVersionMethod create() => CreateVersionMethod._(); + CreateVersionMethod createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateVersionMethod getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateVersionMethod? _defaultInstance; + + /// Create version request. + @$pb.TagNumber(1) + $2.CreateVersionRequest get request => $_getN(0); + @$pb.TagNumber(1) + set request($2.CreateVersionRequest v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequest() => $_has(0); + @$pb.TagNumber(1) + void clearRequest() => clearField(1); + @$pb.TagNumber(1) + $2.CreateVersionRequest ensureRequest() => $_ensure(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pbenum.dart new file mode 100644 index 00000000..1f848070 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pbjson.dart new file mode 100644 index 00000000..962e608e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/audit_data.pbjson.dart @@ -0,0 +1,89 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData$json = { + '1': 'AuditData', + '2': [ + { + '1': 'update_service', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.UpdateServiceMethod', + '9': 0, + '10': 'updateService' + }, + { + '1': 'create_version', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.CreateVersionMethod', + '9': 0, + '10': 'createVersion' + }, + ], + '8': [ + {'1': 'method'}, + ], +}; + +/// Descriptor for `AuditData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditDataDescriptor = $convert.base64Decode( + 'CglBdWRpdERhdGESVQoOdXBkYXRlX3NlcnZpY2UYASABKAsyLC5nb29nbGUuYXBwZW5naW5lLn' + 'YxYmV0YS5VcGRhdGVTZXJ2aWNlTWV0aG9kSABSDXVwZGF0ZVNlcnZpY2USVQoOY3JlYXRlX3Zl' + 'cnNpb24YAiABKAsyLC5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5DcmVhdGVWZXJzaW9uTWV0aG' + '9kSABSDWNyZWF0ZVZlcnNpb25CCAoGbWV0aG9k'); + +@$core.Deprecated('Use updateServiceMethodDescriptor instead') +const UpdateServiceMethod$json = { + '1': 'UpdateServiceMethod', + '2': [ + { + '1': 'request', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.UpdateServiceRequest', + '10': 'request' + }, + ], +}; + +/// Descriptor for `UpdateServiceMethod`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateServiceMethodDescriptor = $convert.base64Decode( + 'ChNVcGRhdGVTZXJ2aWNlTWV0aG9kEkcKB3JlcXVlc3QYASABKAsyLS5nb29nbGUuYXBwZW5naW' + '5lLnYxYmV0YS5VcGRhdGVTZXJ2aWNlUmVxdWVzdFIHcmVxdWVzdA=='); + +@$core.Deprecated('Use createVersionMethodDescriptor instead') +const CreateVersionMethod$json = { + '1': 'CreateVersionMethod', + '2': [ + { + '1': 'request', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.CreateVersionRequest', + '10': 'request' + }, + ], +}; + +/// Descriptor for `CreateVersionMethod`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createVersionMethodDescriptor = $convert.base64Decode( + 'ChNDcmVhdGVWZXJzaW9uTWV0aG9kEkcKB3JlcXVlc3QYASABKAsyLS5nb29nbGUuYXBwZW5naW' + '5lLnYxYmV0YS5DcmVhdGVWZXJzaW9uUmVxdWVzdFIHcmVxdWVzdA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pb.dart new file mode 100644 index 00000000..9052e047 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pb.dart @@ -0,0 +1,456 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/certificate.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'certificate.pbenum.dart'; + +export 'certificate.pbenum.dart'; + +/// An SSL certificate that a user has been authorized to administer. A user +/// is authorized to administer any certificate that applies to one of their +/// authorized domains. +class AuthorizedCertificate extends $pb.GeneratedMessage { + factory AuthorizedCertificate({ + $core.String? name, + $core.String? id, + $core.String? displayName, + $core.Iterable<$core.String>? domainNames, + $50.Timestamp? expireTime, + CertificateRawData? certificateRawData, + ManagedCertificate? managedCertificate, + $core.Iterable<$core.String>? visibleDomainMappings, + $core.int? domainMappingsCount, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (domainNames != null) { + $result.domainNames.addAll(domainNames); + } + if (expireTime != null) { + $result.expireTime = expireTime; + } + if (certificateRawData != null) { + $result.certificateRawData = certificateRawData; + } + if (managedCertificate != null) { + $result.managedCertificate = managedCertificate; + } + if (visibleDomainMappings != null) { + $result.visibleDomainMappings.addAll(visibleDomainMappings); + } + if (domainMappingsCount != null) { + $result.domainMappingsCount = domainMappingsCount; + } + return $result; + } + AuthorizedCertificate._() : super(); + factory AuthorizedCertificate.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthorizedCertificate.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthorizedCertificate', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOS(3, _omitFieldNames ? '' : 'displayName') + ..pPS(4, _omitFieldNames ? '' : 'domainNames') + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'expireTime', + subBuilder: $50.Timestamp.create) + ..aOM(6, _omitFieldNames ? '' : 'certificateRawData', + subBuilder: CertificateRawData.create) + ..aOM(7, _omitFieldNames ? '' : 'managedCertificate', + subBuilder: ManagedCertificate.create) + ..pPS(8, _omitFieldNames ? '' : 'visibleDomainMappings') + ..a<$core.int>( + 9, _omitFieldNames ? '' : 'domainMappingsCount', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthorizedCertificate clone() => + AuthorizedCertificate()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthorizedCertificate copyWith( + void Function(AuthorizedCertificate) updates) => + super.copyWith((message) => updates(message as AuthorizedCertificate)) + as AuthorizedCertificate; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthorizedCertificate create() => AuthorizedCertificate._(); + AuthorizedCertificate createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthorizedCertificate getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthorizedCertificate? _defaultInstance; + + /// Full path to the `AuthorizedCertificate` resource in the API. Example: + /// `apps/myapp/authorizedCertificates/12345`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the certificate. This is a unique value autogenerated + /// on `AuthorizedCertificate` resource creation. Example: `12345`. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// The user-specified display name of the certificate. This is not + /// guaranteed to be unique. Example: `My Certificate`. + @$pb.TagNumber(3) + $core.String get displayName => $_getSZ(2); + @$pb.TagNumber(3) + set displayName($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDisplayName() => $_has(2); + @$pb.TagNumber(3) + void clearDisplayName() => clearField(3); + + /// Topmost applicable domains of this certificate. This certificate + /// applies to these domains and their subdomains. Example: `example.com`. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.List<$core.String> get domainNames => $_getList(3); + + /// The time when this certificate expires. To update the renewal time on this + /// certificate, upload an SSL certificate with a different expiration time + /// using [`AuthorizedCertificates.UpdateAuthorizedCertificate`](). + /// + /// @OutputOnly + @$pb.TagNumber(5) + $50.Timestamp get expireTime => $_getN(4); + @$pb.TagNumber(5) + set expireTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasExpireTime() => $_has(4); + @$pb.TagNumber(5) + void clearExpireTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureExpireTime() => $_ensure(4); + + /// The SSL certificate serving the `AuthorizedCertificate` resource. This + /// must be obtained independently from a certificate authority. + @$pb.TagNumber(6) + CertificateRawData get certificateRawData => $_getN(5); + @$pb.TagNumber(6) + set certificateRawData(CertificateRawData v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCertificateRawData() => $_has(5); + @$pb.TagNumber(6) + void clearCertificateRawData() => clearField(6); + @$pb.TagNumber(6) + CertificateRawData ensureCertificateRawData() => $_ensure(5); + + /// Only applicable if this certificate is managed by App Engine. Managed + /// certificates are tied to the lifecycle of a `DomainMapping` and cannot be + /// updated or deleted via the `AuthorizedCertificates` API. If this + /// certificate is manually administered by the user, this field will be empty. + /// + /// @OutputOnly + @$pb.TagNumber(7) + ManagedCertificate get managedCertificate => $_getN(6); + @$pb.TagNumber(7) + set managedCertificate(ManagedCertificate v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasManagedCertificate() => $_has(6); + @$pb.TagNumber(7) + void clearManagedCertificate() => clearField(7); + @$pb.TagNumber(7) + ManagedCertificate ensureManagedCertificate() => $_ensure(6); + + /// The full paths to user visible Domain Mapping resources that have this + /// certificate mapped. Example: `apps/myapp/domainMappings/example.com`. + /// + /// This may not represent the full list of mapped domain mappings if the user + /// does not have `VIEWER` permissions on all of the applications that have + /// this certificate mapped. See `domain_mappings_count` for a complete count. + /// + /// Only returned by `GET` or `LIST` requests when specifically requested by + /// the `view=FULL_CERTIFICATE` option. + /// + /// @OutputOnly + @$pb.TagNumber(8) + $core.List<$core.String> get visibleDomainMappings => $_getList(7); + + /// Aggregate count of the domain mappings with this certificate mapped. This + /// count includes domain mappings on applications for which the user does not + /// have `VIEWER` permissions. + /// + /// Only returned by `GET` or `LIST` requests when specifically requested by + /// the `view=FULL_CERTIFICATE` option. + /// + /// @OutputOnly + @$pb.TagNumber(9) + $core.int get domainMappingsCount => $_getIZ(8); + @$pb.TagNumber(9) + set domainMappingsCount($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasDomainMappingsCount() => $_has(8); + @$pb.TagNumber(9) + void clearDomainMappingsCount() => clearField(9); +} + +/// An SSL certificate obtained from a certificate authority. +class CertificateRawData extends $pb.GeneratedMessage { + factory CertificateRawData({ + $core.String? publicCertificate, + $core.String? privateKey, + }) { + final $result = create(); + if (publicCertificate != null) { + $result.publicCertificate = publicCertificate; + } + if (privateKey != null) { + $result.privateKey = privateKey; + } + return $result; + } + CertificateRawData._() : super(); + factory CertificateRawData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CertificateRawData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CertificateRawData', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'publicCertificate') + ..aOS(2, _omitFieldNames ? '' : 'privateKey') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CertificateRawData clone() => CertificateRawData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CertificateRawData copyWith(void Function(CertificateRawData) updates) => + super.copyWith((message) => updates(message as CertificateRawData)) + as CertificateRawData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CertificateRawData create() => CertificateRawData._(); + CertificateRawData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CertificateRawData getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CertificateRawData? _defaultInstance; + + /// PEM encoded x.509 public key certificate. This field is set once on + /// certificate creation. Must include the header and footer. Example: + ///

+  /// -----BEGIN CERTIFICATE-----
+  /// 
+  /// -----END CERTIFICATE-----
+  /// 
+ @$pb.TagNumber(1) + $core.String get publicCertificate => $_getSZ(0); + @$pb.TagNumber(1) + set publicCertificate($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPublicCertificate() => $_has(0); + @$pb.TagNumber(1) + void clearPublicCertificate() => clearField(1); + + /// Unencrypted PEM encoded RSA private key. This field is set once on + /// certificate creation and then encrypted. The key size must be 2048 + /// bits or fewer. Must include the header and footer. Example: + ///
+  /// -----BEGIN RSA PRIVATE KEY-----
+  /// 
+  /// -----END RSA PRIVATE KEY-----
+  /// 
+ /// @InputOnly + @$pb.TagNumber(2) + $core.String get privateKey => $_getSZ(1); + @$pb.TagNumber(2) + set privateKey($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPrivateKey() => $_has(1); + @$pb.TagNumber(2) + void clearPrivateKey() => clearField(2); +} + +/// A certificate managed by App Engine. +class ManagedCertificate extends $pb.GeneratedMessage { + factory ManagedCertificate({ + $50.Timestamp? lastRenewalTime, + ManagementStatus? status, + }) { + final $result = create(); + if (lastRenewalTime != null) { + $result.lastRenewalTime = lastRenewalTime; + } + if (status != null) { + $result.status = status; + } + return $result; + } + ManagedCertificate._() : super(); + factory ManagedCertificate.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ManagedCertificate.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ManagedCertificate', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'lastRenewalTime', + subBuilder: $50.Timestamp.create) + ..e( + 2, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, + defaultOrMaker: ManagementStatus.MANAGEMENT_STATUS_UNSPECIFIED, + valueOf: ManagementStatus.valueOf, + enumValues: ManagementStatus.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ManagedCertificate clone() => ManagedCertificate()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ManagedCertificate copyWith(void Function(ManagedCertificate) updates) => + super.copyWith((message) => updates(message as ManagedCertificate)) + as ManagedCertificate; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ManagedCertificate create() => ManagedCertificate._(); + ManagedCertificate createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ManagedCertificate getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ManagedCertificate? _defaultInstance; + + /// Time at which the certificate was last renewed. The renewal process is + /// fully managed. Certificate renewal will automatically occur before the + /// certificate expires. Renewal errors can be tracked via `ManagementStatus`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $50.Timestamp get lastRenewalTime => $_getN(0); + @$pb.TagNumber(1) + set lastRenewalTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasLastRenewalTime() => $_has(0); + @$pb.TagNumber(1) + void clearLastRenewalTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureLastRenewalTime() => $_ensure(0); + + /// Status of certificate management. Refers to the most recent certificate + /// acquisition or renewal attempt. + /// + /// @OutputOnly + @$pb.TagNumber(2) + ManagementStatus get status => $_getN(1); + @$pb.TagNumber(2) + set status(ManagementStatus v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStatus() => $_has(1); + @$pb.TagNumber(2) + void clearStatus() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pbenum.dart new file mode 100644 index 00000000..a37ed9b7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pbenum.dart @@ -0,0 +1,55 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/certificate.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// State of certificate management. Refers to the most recent certificate +/// acquisition or renewal attempt. +class ManagementStatus extends $pb.ProtobufEnum { + static const ManagementStatus MANAGEMENT_STATUS_UNSPECIFIED = + ManagementStatus._( + 0, _omitEnumNames ? '' : 'MANAGEMENT_STATUS_UNSPECIFIED'); + static const ManagementStatus OK = + ManagementStatus._(1, _omitEnumNames ? '' : 'OK'); + static const ManagementStatus PENDING = + ManagementStatus._(2, _omitEnumNames ? '' : 'PENDING'); + static const ManagementStatus FAILED_RETRYING_NOT_VISIBLE = + ManagementStatus._( + 4, _omitEnumNames ? '' : 'FAILED_RETRYING_NOT_VISIBLE'); + static const ManagementStatus FAILED_PERMANENT = + ManagementStatus._(6, _omitEnumNames ? '' : 'FAILED_PERMANENT'); + static const ManagementStatus FAILED_RETRYING_CAA_FORBIDDEN = + ManagementStatus._( + 7, _omitEnumNames ? '' : 'FAILED_RETRYING_CAA_FORBIDDEN'); + static const ManagementStatus FAILED_RETRYING_CAA_CHECKING = + ManagementStatus._( + 8, _omitEnumNames ? '' : 'FAILED_RETRYING_CAA_CHECKING'); + + static const $core.List values = [ + MANAGEMENT_STATUS_UNSPECIFIED, + OK, + PENDING, + FAILED_RETRYING_NOT_VISIBLE, + FAILED_PERMANENT, + FAILED_RETRYING_CAA_FORBIDDEN, + FAILED_RETRYING_CAA_CHECKING, + ]; + + static final $core.Map<$core.int, ManagementStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ManagementStatus? valueOf($core.int value) => _byValue[value]; + + const ManagementStatus._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pbjson.dart new file mode 100644 index 00000000..7627f6d1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/certificate.pbjson.dart @@ -0,0 +1,145 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/certificate.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use managementStatusDescriptor instead') +const ManagementStatus$json = { + '1': 'ManagementStatus', + '2': [ + {'1': 'MANAGEMENT_STATUS_UNSPECIFIED', '2': 0}, + {'1': 'OK', '2': 1}, + {'1': 'PENDING', '2': 2}, + {'1': 'FAILED_RETRYING_NOT_VISIBLE', '2': 4}, + {'1': 'FAILED_PERMANENT', '2': 6}, + {'1': 'FAILED_RETRYING_CAA_FORBIDDEN', '2': 7}, + {'1': 'FAILED_RETRYING_CAA_CHECKING', '2': 8}, + ], +}; + +/// Descriptor for `ManagementStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List managementStatusDescriptor = $convert.base64Decode( + 'ChBNYW5hZ2VtZW50U3RhdHVzEiEKHU1BTkFHRU1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBg' + 'oCT0sQARILCgdQRU5ESU5HEAISHwobRkFJTEVEX1JFVFJZSU5HX05PVF9WSVNJQkxFEAQSFAoQ' + 'RkFJTEVEX1BFUk1BTkVOVBAGEiEKHUZBSUxFRF9SRVRSWUlOR19DQUFfRk9SQklEREVOEAcSIA' + 'ocRkFJTEVEX1JFVFJZSU5HX0NBQV9DSEVDS0lORxAI'); + +@$core.Deprecated('Use authorizedCertificateDescriptor instead') +const AuthorizedCertificate$json = { + '1': 'AuthorizedCertificate', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + {'1': 'display_name', '3': 3, '4': 1, '5': 9, '10': 'displayName'}, + {'1': 'domain_names', '3': 4, '4': 3, '5': 9, '10': 'domainNames'}, + { + '1': 'expire_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'expireTime' + }, + { + '1': 'certificate_raw_data', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.CertificateRawData', + '10': 'certificateRawData' + }, + { + '1': 'managed_certificate', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ManagedCertificate', + '10': 'managedCertificate' + }, + { + '1': 'visible_domain_mappings', + '3': 8, + '4': 3, + '5': 9, + '10': 'visibleDomainMappings' + }, + { + '1': 'domain_mappings_count', + '3': 9, + '4': 1, + '5': 5, + '10': 'domainMappingsCount' + }, + ], +}; + +/// Descriptor for `AuthorizedCertificate`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authorizedCertificateDescriptor = $convert.base64Decode( + 'ChVBdXRob3JpemVkQ2VydGlmaWNhdGUSEgoEbmFtZRgBIAEoCVIEbmFtZRIOCgJpZBgCIAEoCV' + 'ICaWQSIQoMZGlzcGxheV9uYW1lGAMgASgJUgtkaXNwbGF5TmFtZRIhCgxkb21haW5fbmFtZXMY' + 'BCADKAlSC2RvbWFpbk5hbWVzEjsKC2V4cGlyZV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYn' + 'VmLlRpbWVzdGFtcFIKZXhwaXJlVGltZRJdChRjZXJ0aWZpY2F0ZV9yYXdfZGF0YRgGIAEoCzIr' + 'Lmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkNlcnRpZmljYXRlUmF3RGF0YVISY2VydGlmaWNhdG' + 'VSYXdEYXRhElwKE21hbmFnZWRfY2VydGlmaWNhdGUYByABKAsyKy5nb29nbGUuYXBwZW5naW5l' + 'LnYxYmV0YS5NYW5hZ2VkQ2VydGlmaWNhdGVSEm1hbmFnZWRDZXJ0aWZpY2F0ZRI2Chd2aXNpYm' + 'xlX2RvbWFpbl9tYXBwaW5ncxgIIAMoCVIVdmlzaWJsZURvbWFpbk1hcHBpbmdzEjIKFWRvbWFp' + 'bl9tYXBwaW5nc19jb3VudBgJIAEoBVITZG9tYWluTWFwcGluZ3NDb3VudA=='); + +@$core.Deprecated('Use certificateRawDataDescriptor instead') +const CertificateRawData$json = { + '1': 'CertificateRawData', + '2': [ + { + '1': 'public_certificate', + '3': 1, + '4': 1, + '5': 9, + '10': 'publicCertificate' + }, + {'1': 'private_key', '3': 2, '4': 1, '5': 9, '10': 'privateKey'}, + ], +}; + +/// Descriptor for `CertificateRawData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List certificateRawDataDescriptor = $convert.base64Decode( + 'ChJDZXJ0aWZpY2F0ZVJhd0RhdGESLQoScHVibGljX2NlcnRpZmljYXRlGAEgASgJUhFwdWJsaW' + 'NDZXJ0aWZpY2F0ZRIfCgtwcml2YXRlX2tleRgCIAEoCVIKcHJpdmF0ZUtleQ=='); + +@$core.Deprecated('Use managedCertificateDescriptor instead') +const ManagedCertificate$json = { + '1': 'ManagedCertificate', + '2': [ + { + '1': 'last_renewal_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'lastRenewalTime' + }, + { + '1': 'status', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.ManagementStatus', + '10': 'status' + }, + ], +}; + +/// Descriptor for `ManagedCertificate`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List managedCertificateDescriptor = $convert.base64Decode( + 'ChJNYW5hZ2VkQ2VydGlmaWNhdGUSRgoRbGFzdF9yZW5ld2FsX3RpbWUYASABKAsyGi5nb29nbG' + 'UucHJvdG9idWYuVGltZXN0YW1wUg9sYXN0UmVuZXdhbFRpbWUSQQoGc3RhdHVzGAIgASgOMiku' + 'Z29vZ2xlLmFwcGVuZ2luZS52MWJldGEuTWFuYWdlbWVudFN0YXR1c1IGc3RhdHVz'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pb.dart new file mode 100644 index 00000000..ca60c8a8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pb.dart @@ -0,0 +1,582 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/deploy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; + +/// Code and application artifacts used to deploy a version to App Engine. +class Deployment extends $pb.GeneratedMessage { + factory Deployment({ + $core.Map<$core.String, FileInfo>? files, + ContainerInfo? container, + ZipInfo? zip, + BuildInfo? build, + CloudBuildOptions? cloudBuildOptions, + }) { + final $result = create(); + if (files != null) { + $result.files.addAll(files); + } + if (container != null) { + $result.container = container; + } + if (zip != null) { + $result.zip = zip; + } + if (build != null) { + $result.build = build; + } + if (cloudBuildOptions != null) { + $result.cloudBuildOptions = cloudBuildOptions; + } + return $result; + } + Deployment._() : super(); + factory Deployment.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Deployment.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Deployment', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..m<$core.String, FileInfo>(1, _omitFieldNames ? '' : 'files', + entryClassName: 'Deployment.FilesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: FileInfo.create, + valueDefaultOrMaker: FileInfo.getDefault, + packageName: const $pb.PackageName('google.appengine.v1beta')) + ..aOM(2, _omitFieldNames ? '' : 'container', + subBuilder: ContainerInfo.create) + ..aOM(3, _omitFieldNames ? '' : 'zip', subBuilder: ZipInfo.create) + ..aOM(5, _omitFieldNames ? '' : 'build', + subBuilder: BuildInfo.create) + ..aOM(6, _omitFieldNames ? '' : 'cloudBuildOptions', + subBuilder: CloudBuildOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Deployment clone() => Deployment()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Deployment copyWith(void Function(Deployment) updates) => + super.copyWith((message) => updates(message as Deployment)) as Deployment; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Deployment create() => Deployment._(); + Deployment createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Deployment getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Deployment? _defaultInstance; + + /// Manifest of the files stored in Google Cloud Storage that are included + /// as part of this version. All files must be readable using the + /// credentials supplied with this call. + @$pb.TagNumber(1) + $core.Map<$core.String, FileInfo> get files => $_getMap(0); + + /// The Docker image for the container that runs the version. + /// Only applicable for instances running in the App Engine flexible environment. + @$pb.TagNumber(2) + ContainerInfo get container => $_getN(1); + @$pb.TagNumber(2) + set container(ContainerInfo v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasContainer() => $_has(1); + @$pb.TagNumber(2) + void clearContainer() => clearField(2); + @$pb.TagNumber(2) + ContainerInfo ensureContainer() => $_ensure(1); + + /// The zip file for this deployment, if this is a zip deployment. + @$pb.TagNumber(3) + ZipInfo get zip => $_getN(2); + @$pb.TagNumber(3) + set zip(ZipInfo v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasZip() => $_has(2); + @$pb.TagNumber(3) + void clearZip() => clearField(3); + @$pb.TagNumber(3) + ZipInfo ensureZip() => $_ensure(2); + + /// Google Cloud Build build information. Only applicable for instances running + /// in the App Engine flexible environment. + @$pb.TagNumber(5) + BuildInfo get build => $_getN(3); + @$pb.TagNumber(5) + set build(BuildInfo v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasBuild() => $_has(3); + @$pb.TagNumber(5) + void clearBuild() => clearField(5); + @$pb.TagNumber(5) + BuildInfo ensureBuild() => $_ensure(3); + + /// Options for any Google Cloud Build builds created as a part of this + /// deployment. + /// + /// These options will only be used if a new build is created, such as when + /// deploying to the App Engine flexible environment using files or zip. + @$pb.TagNumber(6) + CloudBuildOptions get cloudBuildOptions => $_getN(4); + @$pb.TagNumber(6) + set cloudBuildOptions(CloudBuildOptions v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCloudBuildOptions() => $_has(4); + @$pb.TagNumber(6) + void clearCloudBuildOptions() => clearField(6); + @$pb.TagNumber(6) + CloudBuildOptions ensureCloudBuildOptions() => $_ensure(4); +} + +/// Single source file that is part of the version to be deployed. Each source +/// file that is deployed must be specified separately. +class FileInfo extends $pb.GeneratedMessage { + factory FileInfo({ + $core.String? sourceUrl, + $core.String? sha1Sum, + $core.String? mimeType, + }) { + final $result = create(); + if (sourceUrl != null) { + $result.sourceUrl = sourceUrl; + } + if (sha1Sum != null) { + $result.sha1Sum = sha1Sum; + } + if (mimeType != null) { + $result.mimeType = mimeType; + } + return $result; + } + FileInfo._() : super(); + factory FileInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FileInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FileInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sourceUrl') + ..aOS(2, _omitFieldNames ? '' : 'sha1Sum') + ..aOS(3, _omitFieldNames ? '' : 'mimeType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileInfo clone() => FileInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileInfo copyWith(void Function(FileInfo) updates) => + super.copyWith((message) => updates(message as FileInfo)) as FileInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileInfo create() => FileInfo._(); + FileInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FileInfo? _defaultInstance; + + /// URL source to use to fetch this file. Must be a URL to a resource in + /// Google Cloud Storage in the form + /// 'http(s)://storage.googleapis.com/\/\'. + @$pb.TagNumber(1) + $core.String get sourceUrl => $_getSZ(0); + @$pb.TagNumber(1) + set sourceUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSourceUrl() => $_has(0); + @$pb.TagNumber(1) + void clearSourceUrl() => clearField(1); + + /// The SHA1 hash of the file, in hex. + @$pb.TagNumber(2) + $core.String get sha1Sum => $_getSZ(1); + @$pb.TagNumber(2) + set sha1Sum($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSha1Sum() => $_has(1); + @$pb.TagNumber(2) + void clearSha1Sum() => clearField(2); + + /// The MIME type of the file. + /// + /// Defaults to the value from Google Cloud Storage. + @$pb.TagNumber(3) + $core.String get mimeType => $_getSZ(2); + @$pb.TagNumber(3) + set mimeType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMimeType() => $_has(2); + @$pb.TagNumber(3) + void clearMimeType() => clearField(3); +} + +/// Docker image that is used to create a container and start a VM instance for +/// the version that you deploy. Only applicable for instances running in the App +/// Engine flexible environment. +class ContainerInfo extends $pb.GeneratedMessage { + factory ContainerInfo({ + $core.String? image, + }) { + final $result = create(); + if (image != null) { + $result.image = image; + } + return $result; + } + ContainerInfo._() : super(); + factory ContainerInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ContainerInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ContainerInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'image') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ContainerInfo clone() => ContainerInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ContainerInfo copyWith(void Function(ContainerInfo) updates) => + super.copyWith((message) => updates(message as ContainerInfo)) + as ContainerInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ContainerInfo create() => ContainerInfo._(); + ContainerInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ContainerInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ContainerInfo? _defaultInstance; + + /// URI to the hosted container image in Google Container Registry. The URI + /// must be fully qualified and include a tag or digest. + /// Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" + @$pb.TagNumber(1) + $core.String get image => $_getSZ(0); + @$pb.TagNumber(1) + set image($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasImage() => $_has(0); + @$pb.TagNumber(1) + void clearImage() => clearField(1); +} + +/// Google Cloud Build information. +class BuildInfo extends $pb.GeneratedMessage { + factory BuildInfo({ + $core.String? cloudBuildId, + }) { + final $result = create(); + if (cloudBuildId != null) { + $result.cloudBuildId = cloudBuildId; + } + return $result; + } + BuildInfo._() : super(); + factory BuildInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BuildInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BuildInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'cloudBuildId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BuildInfo clone() => BuildInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BuildInfo copyWith(void Function(BuildInfo) updates) => + super.copyWith((message) => updates(message as BuildInfo)) as BuildInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BuildInfo create() => BuildInfo._(); + BuildInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BuildInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BuildInfo? _defaultInstance; + + /// The Google Cloud Build id. + /// Example: "f966068f-08b2-42c8-bdfe-74137dff2bf9" + @$pb.TagNumber(1) + $core.String get cloudBuildId => $_getSZ(0); + @$pb.TagNumber(1) + set cloudBuildId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCloudBuildId() => $_has(0); + @$pb.TagNumber(1) + void clearCloudBuildId() => clearField(1); +} + +/// Options for the build operations performed as a part of the version +/// deployment. Only applicable for App Engine flexible environment when creating +/// a version using source code directly. +class CloudBuildOptions extends $pb.GeneratedMessage { + factory CloudBuildOptions({ + $core.String? appYamlPath, + $51.Duration? cloudBuildTimeout, + }) { + final $result = create(); + if (appYamlPath != null) { + $result.appYamlPath = appYamlPath; + } + if (cloudBuildTimeout != null) { + $result.cloudBuildTimeout = cloudBuildTimeout; + } + return $result; + } + CloudBuildOptions._() : super(); + factory CloudBuildOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CloudBuildOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CloudBuildOptions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'appYamlPath') + ..aOM<$51.Duration>(2, _omitFieldNames ? '' : 'cloudBuildTimeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CloudBuildOptions clone() => CloudBuildOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CloudBuildOptions copyWith(void Function(CloudBuildOptions) updates) => + super.copyWith((message) => updates(message as CloudBuildOptions)) + as CloudBuildOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CloudBuildOptions create() => CloudBuildOptions._(); + CloudBuildOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CloudBuildOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CloudBuildOptions? _defaultInstance; + + /// Path to the yaml file used in deployment, used to determine runtime + /// configuration details. + /// + /// Required for flexible environment builds. + /// + /// See https://cloud.google.com/appengine/docs/standard/python/config/appref + /// for more details. + @$pb.TagNumber(1) + $core.String get appYamlPath => $_getSZ(0); + @$pb.TagNumber(1) + set appYamlPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasAppYamlPath() => $_has(0); + @$pb.TagNumber(1) + void clearAppYamlPath() => clearField(1); + + /// The Cloud Build timeout used as part of any dependent builds performed by + /// version creation. Defaults to 10 minutes. + @$pb.TagNumber(2) + $51.Duration get cloudBuildTimeout => $_getN(1); + @$pb.TagNumber(2) + set cloudBuildTimeout($51.Duration v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCloudBuildTimeout() => $_has(1); + @$pb.TagNumber(2) + void clearCloudBuildTimeout() => clearField(2); + @$pb.TagNumber(2) + $51.Duration ensureCloudBuildTimeout() => $_ensure(1); +} + +/// The zip file information for a zip deployment. +class ZipInfo extends $pb.GeneratedMessage { + factory ZipInfo({ + $core.String? sourceUrl, + $core.int? filesCount, + }) { + final $result = create(); + if (sourceUrl != null) { + $result.sourceUrl = sourceUrl; + } + if (filesCount != null) { + $result.filesCount = filesCount; + } + return $result; + } + ZipInfo._() : super(); + factory ZipInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ZipInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ZipInfo', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(3, _omitFieldNames ? '' : 'sourceUrl') + ..a<$core.int>(4, _omitFieldNames ? '' : 'filesCount', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ZipInfo clone() => ZipInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ZipInfo copyWith(void Function(ZipInfo) updates) => + super.copyWith((message) => updates(message as ZipInfo)) as ZipInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ZipInfo create() => ZipInfo._(); + ZipInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ZipInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ZipInfo? _defaultInstance; + + /// URL of the zip file to deploy from. Must be a URL to a resource in + /// Google Cloud Storage in the form + /// 'http(s)://storage.googleapis.com/\/\'. + @$pb.TagNumber(3) + $core.String get sourceUrl => $_getSZ(0); + @$pb.TagNumber(3) + set sourceUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceUrl() => $_has(0); + @$pb.TagNumber(3) + void clearSourceUrl() => clearField(3); + + /// An estimate of the number of files in a zip for a zip deployment. + /// If set, must be greater than or equal to the actual number of files. + /// Used for optimizing performance; if not provided, deployment may be slow. + @$pb.TagNumber(4) + $core.int get filesCount => $_getIZ(1); + @$pb.TagNumber(4) + set filesCount($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilesCount() => $_has(1); + @$pb.TagNumber(4) + void clearFilesCount() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pbenum.dart new file mode 100644 index 00000000..55a438a7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/deploy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pbjson.dart new file mode 100644 index 00000000..206b4936 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/deploy.pbjson.dart @@ -0,0 +1,166 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/deploy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use deploymentDescriptor instead') +const Deployment$json = { + '1': 'Deployment', + '2': [ + { + '1': 'files', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Deployment.FilesEntry', + '10': 'files' + }, + { + '1': 'container', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ContainerInfo', + '10': 'container' + }, + { + '1': 'zip', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ZipInfo', + '10': 'zip' + }, + { + '1': 'build', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.BuildInfo', + '10': 'build' + }, + { + '1': 'cloud_build_options', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.CloudBuildOptions', + '10': 'cloudBuildOptions' + }, + ], + '3': [Deployment_FilesEntry$json], +}; + +@$core.Deprecated('Use deploymentDescriptor instead') +const Deployment_FilesEntry$json = { + '1': 'FilesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.FileInfo', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Deployment`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deploymentDescriptor = $convert.base64Decode( + 'CgpEZXBsb3ltZW50EkQKBWZpbGVzGAEgAygLMi4uZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuRG' + 'VwbG95bWVudC5GaWxlc0VudHJ5UgVmaWxlcxJECgljb250YWluZXIYAiABKAsyJi5nb29nbGUu' + 'YXBwZW5naW5lLnYxYmV0YS5Db250YWluZXJJbmZvUgljb250YWluZXISMgoDemlwGAMgASgLMi' + 'AuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuWmlwSW5mb1IDemlwEjgKBWJ1aWxkGAUgASgLMiIu' + 'Z29vZ2xlLmFwcGVuZ2luZS52MWJldGEuQnVpbGRJbmZvUgVidWlsZBJaChNjbG91ZF9idWlsZF' + '9vcHRpb25zGAYgASgLMiouZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuQ2xvdWRCdWlsZE9wdGlv' + 'bnNSEWNsb3VkQnVpbGRPcHRpb25zGlsKCkZpbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSNw' + 'oFdmFsdWUYAiABKAsyIS5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5GaWxlSW5mb1IFdmFsdWU6' + 'AjgB'); + +@$core.Deprecated('Use fileInfoDescriptor instead') +const FileInfo$json = { + '1': 'FileInfo', + '2': [ + {'1': 'source_url', '3': 1, '4': 1, '5': 9, '10': 'sourceUrl'}, + {'1': 'sha1_sum', '3': 2, '4': 1, '5': 9, '10': 'sha1Sum'}, + {'1': 'mime_type', '3': 3, '4': 1, '5': 9, '10': 'mimeType'}, + ], +}; + +/// Descriptor for `FileInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileInfoDescriptor = $convert.base64Decode( + 'CghGaWxlSW5mbxIdCgpzb3VyY2VfdXJsGAEgASgJUglzb3VyY2VVcmwSGQoIc2hhMV9zdW0YAi' + 'ABKAlSB3NoYTFTdW0SGwoJbWltZV90eXBlGAMgASgJUghtaW1lVHlwZQ=='); + +@$core.Deprecated('Use containerInfoDescriptor instead') +const ContainerInfo$json = { + '1': 'ContainerInfo', + '2': [ + {'1': 'image', '3': 1, '4': 1, '5': 9, '10': 'image'}, + ], +}; + +/// Descriptor for `ContainerInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List containerInfoDescriptor = $convert + .base64Decode('Cg1Db250YWluZXJJbmZvEhQKBWltYWdlGAEgASgJUgVpbWFnZQ=='); + +@$core.Deprecated('Use buildInfoDescriptor instead') +const BuildInfo$json = { + '1': 'BuildInfo', + '2': [ + {'1': 'cloud_build_id', '3': 1, '4': 1, '5': 9, '10': 'cloudBuildId'}, + ], +}; + +/// Descriptor for `BuildInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List buildInfoDescriptor = $convert.base64Decode( + 'CglCdWlsZEluZm8SJAoOY2xvdWRfYnVpbGRfaWQYASABKAlSDGNsb3VkQnVpbGRJZA=='); + +@$core.Deprecated('Use cloudBuildOptionsDescriptor instead') +const CloudBuildOptions$json = { + '1': 'CloudBuildOptions', + '2': [ + {'1': 'app_yaml_path', '3': 1, '4': 1, '5': 9, '10': 'appYamlPath'}, + { + '1': 'cloud_build_timeout', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'cloudBuildTimeout' + }, + ], +}; + +/// Descriptor for `CloudBuildOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cloudBuildOptionsDescriptor = $convert.base64Decode( + 'ChFDbG91ZEJ1aWxkT3B0aW9ucxIiCg1hcHBfeWFtbF9wYXRoGAEgASgJUgthcHBZYW1sUGF0aB' + 'JJChNjbG91ZF9idWlsZF90aW1lb3V0GAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9u' + 'UhFjbG91ZEJ1aWxkVGltZW91dA=='); + +@$core.Deprecated('Use zipInfoDescriptor instead') +const ZipInfo$json = { + '1': 'ZipInfo', + '2': [ + {'1': 'source_url', '3': 3, '4': 1, '5': 9, '10': 'sourceUrl'}, + {'1': 'files_count', '3': 4, '4': 1, '5': 5, '10': 'filesCount'}, + ], +}; + +/// Descriptor for `ZipInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List zipInfoDescriptor = $convert.base64Decode( + 'CgdaaXBJbmZvEh0KCnNvdXJjZV91cmwYAyABKAlSCXNvdXJjZVVybBIfCgtmaWxlc19jb3VudB' + 'gEIAEoBVIKZmlsZXNDb3VudA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pb.dart new file mode 100644 index 00000000..52d3c4c2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pb.dart @@ -0,0 +1,106 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/domain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A domain that a user has been authorized to administer. To authorize use +/// of a domain, verify ownership via +/// [Search Console](https://search.google.com/search-console/welcome). +class AuthorizedDomain extends $pb.GeneratedMessage { + factory AuthorizedDomain({ + $core.String? name, + $core.String? id, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + return $result; + } + AuthorizedDomain._() : super(); + factory AuthorizedDomain.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuthorizedDomain.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuthorizedDomain', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuthorizedDomain clone() => AuthorizedDomain()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuthorizedDomain copyWith(void Function(AuthorizedDomain) updates) => + super.copyWith((message) => updates(message as AuthorizedDomain)) + as AuthorizedDomain; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuthorizedDomain create() => AuthorizedDomain._(); + AuthorizedDomain createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuthorizedDomain getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuthorizedDomain? _defaultInstance; + + /// Full path to the `AuthorizedDomain` resource in the API. Example: + /// `apps/myapp/authorizedDomains/example.com`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Fully qualified domain name of the domain authorized for use. Example: + /// `example.com`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pbenum.dart new file mode 100644 index 00000000..2101228b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/domain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pbjson.dart new file mode 100644 index 00000000..7844ce37 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain.pbjson.dart @@ -0,0 +1,27 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/domain.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use authorizedDomainDescriptor instead') +const AuthorizedDomain$json = { + '1': 'AuthorizedDomain', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + ], +}; + +/// Descriptor for `AuthorizedDomain`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List authorizedDomainDescriptor = $convert.base64Decode( + 'ChBBdXRob3JpemVkRG9tYWluEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlk'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pb.dart new file mode 100644 index 00000000..a33005c3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pb.dart @@ -0,0 +1,372 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/domain_mapping.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'domain_mapping.pbenum.dart'; + +export 'domain_mapping.pbenum.dart'; + +/// A domain serving an App Engine application. +class DomainMapping extends $pb.GeneratedMessage { + factory DomainMapping({ + $core.String? name, + $core.String? id, + SslSettings? sslSettings, + $core.Iterable? resourceRecords, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (sslSettings != null) { + $result.sslSettings = sslSettings; + } + if (resourceRecords != null) { + $result.resourceRecords.addAll(resourceRecords); + } + return $result; + } + DomainMapping._() : super(); + factory DomainMapping.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DomainMapping.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DomainMapping', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'sslSettings', + subBuilder: SslSettings.create) + ..pc( + 4, _omitFieldNames ? '' : 'resourceRecords', $pb.PbFieldType.PM, + subBuilder: ResourceRecord.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DomainMapping clone() => DomainMapping()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DomainMapping copyWith(void Function(DomainMapping) updates) => + super.copyWith((message) => updates(message as DomainMapping)) + as DomainMapping; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DomainMapping create() => DomainMapping._(); + DomainMapping createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DomainMapping getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DomainMapping? _defaultInstance; + + /// Full path to the `DomainMapping` resource in the API. Example: + /// `apps/myapp/domainMapping/example.com`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the domain serving the application. Example: + /// `example.com`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// SSL configuration for this domain. If unconfigured, this domain will not + /// serve with SSL. + @$pb.TagNumber(3) + SslSettings get sslSettings => $_getN(2); + @$pb.TagNumber(3) + set sslSettings(SslSettings v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSslSettings() => $_has(2); + @$pb.TagNumber(3) + void clearSslSettings() => clearField(3); + @$pb.TagNumber(3) + SslSettings ensureSslSettings() => $_ensure(2); + + /// The resource records required to configure this domain mapping. These + /// records must be added to the domain's DNS configuration in order to + /// serve the application via this domain mapping. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.List get resourceRecords => $_getList(3); +} + +/// SSL configuration for a `DomainMapping` resource. +class SslSettings extends $pb.GeneratedMessage { + factory SslSettings({ + $core.String? certificateId, + SslSettings_SslManagementType? sslManagementType, + $core.String? pendingManagedCertificateId, + }) { + final $result = create(); + if (certificateId != null) { + $result.certificateId = certificateId; + } + if (sslManagementType != null) { + $result.sslManagementType = sslManagementType; + } + if (pendingManagedCertificateId != null) { + $result.pendingManagedCertificateId = pendingManagedCertificateId; + } + return $result; + } + SslSettings._() : super(); + factory SslSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SslSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SslSettings', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'certificateId') + ..e( + 3, _omitFieldNames ? '' : 'sslManagementType', $pb.PbFieldType.OE, + defaultOrMaker: SslSettings_SslManagementType.AUTOMATIC, + valueOf: SslSettings_SslManagementType.valueOf, + enumValues: SslSettings_SslManagementType.values) + ..aOS(4, _omitFieldNames ? '' : 'pendingManagedCertificateId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SslSettings clone() => SslSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SslSettings copyWith(void Function(SslSettings) updates) => + super.copyWith((message) => updates(message as SslSettings)) + as SslSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SslSettings create() => SslSettings._(); + SslSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SslSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SslSettings? _defaultInstance; + + /// ID of the `AuthorizedCertificate` resource configuring SSL for the + /// application. Clearing this field will remove SSL support. + /// + /// By default, a managed certificate is automatically created for every + /// domain mapping. To omit SSL support or to configure SSL manually, specify + /// `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must + /// be authorized to administer the `AuthorizedCertificate` resource to + /// manually map it to a `DomainMapping` resource. + /// Example: `12345`. + @$pb.TagNumber(1) + $core.String get certificateId => $_getSZ(0); + @$pb.TagNumber(1) + set certificateId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCertificateId() => $_has(0); + @$pb.TagNumber(1) + void clearCertificateId() => clearField(1); + + /// SSL management type for this domain. If `AUTOMATIC`, a managed certificate + /// is automatically provisioned. If `MANUAL`, `certificate_id` must be + /// manually specified in order to configure SSL for this domain. + @$pb.TagNumber(3) + SslSettings_SslManagementType get sslManagementType => $_getN(1); + @$pb.TagNumber(3) + set sslManagementType(SslSettings_SslManagementType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSslManagementType() => $_has(1); + @$pb.TagNumber(3) + void clearSslManagementType() => clearField(3); + + /// ID of the managed `AuthorizedCertificate` resource currently being + /// provisioned, if applicable. Until the new managed certificate has been + /// successfully provisioned, the previous SSL state will be preserved. Once + /// the provisioning process completes, the `certificate_id` field will reflect + /// the new managed certificate and this field will be left empty. To remove + /// SSL support while there is still a pending managed certificate, clear the + /// `certificate_id` field with an `UpdateDomainMappingRequest`. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.String get pendingManagedCertificateId => $_getSZ(2); + @$pb.TagNumber(4) + set pendingManagedCertificateId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPendingManagedCertificateId() => $_has(2); + @$pb.TagNumber(4) + void clearPendingManagedCertificateId() => clearField(4); +} + +/// A DNS resource record. +class ResourceRecord extends $pb.GeneratedMessage { + factory ResourceRecord({ + $core.String? name, + $core.String? rrdata, + ResourceRecord_RecordType? type, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (rrdata != null) { + $result.rrdata = rrdata; + } + if (type != null) { + $result.type = type; + } + return $result; + } + ResourceRecord._() : super(); + factory ResourceRecord.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ResourceRecord.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ResourceRecord', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'rrdata') + ..e( + 3, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, + defaultOrMaker: ResourceRecord_RecordType.A, + valueOf: ResourceRecord_RecordType.valueOf, + enumValues: ResourceRecord_RecordType.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResourceRecord clone() => ResourceRecord()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResourceRecord copyWith(void Function(ResourceRecord) updates) => + super.copyWith((message) => updates(message as ResourceRecord)) + as ResourceRecord; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResourceRecord create() => ResourceRecord._(); + ResourceRecord createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResourceRecord getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ResourceRecord? _defaultInstance; + + /// Relative name of the object affected by this record. Only applicable for + /// `CNAME` records. Example: 'www'. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Data for this record. Values vary by record type, as defined in RFC 1035 + /// (section 5) and RFC 1034 (section 3.6.1). + @$pb.TagNumber(2) + $core.String get rrdata => $_getSZ(1); + @$pb.TagNumber(2) + set rrdata($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRrdata() => $_has(1); + @$pb.TagNumber(2) + void clearRrdata() => clearField(2); + + /// Resource record type. Example: `AAAA`. + @$pb.TagNumber(3) + ResourceRecord_RecordType get type => $_getN(2); + @$pb.TagNumber(3) + set type(ResourceRecord_RecordType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasType() => $_has(2); + @$pb.TagNumber(3) + void clearType() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pbenum.dart new file mode 100644 index 00000000..91864f4f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pbenum.dart @@ -0,0 +1,61 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/domain_mapping.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The SSL management type for this domain. +class SslSettings_SslManagementType extends $pb.ProtobufEnum { + static const SslSettings_SslManagementType AUTOMATIC = + SslSettings_SslManagementType._(0, _omitEnumNames ? '' : 'AUTOMATIC'); + static const SslSettings_SslManagementType MANUAL = + SslSettings_SslManagementType._(1, _omitEnumNames ? '' : 'MANUAL'); + + static const $core.List values = + [ + AUTOMATIC, + MANUAL, + ]; + + static final $core.Map<$core.int, SslSettings_SslManagementType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static SslSettings_SslManagementType? valueOf($core.int value) => + _byValue[value]; + + const SslSettings_SslManagementType._($core.int v, $core.String n) + : super(v, n); +} + +/// A resource record type. +class ResourceRecord_RecordType extends $pb.ProtobufEnum { + static const ResourceRecord_RecordType A = + ResourceRecord_RecordType._(0, _omitEnumNames ? '' : 'A'); + static const ResourceRecord_RecordType AAAA = + ResourceRecord_RecordType._(1, _omitEnumNames ? '' : 'AAAA'); + static const ResourceRecord_RecordType CNAME = + ResourceRecord_RecordType._(2, _omitEnumNames ? '' : 'CNAME'); + + static const $core.List values = + [ + A, + AAAA, + CNAME, + ]; + + static final $core.Map<$core.int, ResourceRecord_RecordType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ResourceRecord_RecordType? valueOf($core.int value) => _byValue[value]; + + const ResourceRecord_RecordType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pbjson.dart new file mode 100644 index 00000000..c4ba44bb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/domain_mapping.pbjson.dart @@ -0,0 +1,122 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/domain_mapping.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use domainMappingDescriptor instead') +const DomainMapping$json = { + '1': 'DomainMapping', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'ssl_settings', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.SslSettings', + '10': 'sslSettings' + }, + { + '1': 'resource_records', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.ResourceRecord', + '10': 'resourceRecords' + }, + ], +}; + +/// Descriptor for `DomainMapping`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List domainMappingDescriptor = $convert.base64Decode( + 'Cg1Eb21haW5NYXBwaW5nEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlkEkcKDH' + 'NzbF9zZXR0aW5ncxgDIAEoCzIkLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLlNzbFNldHRpbmdz' + 'Ugtzc2xTZXR0aW5ncxJSChByZXNvdXJjZV9yZWNvcmRzGAQgAygLMicuZ29vZ2xlLmFwcGVuZ2' + 'luZS52MWJldGEuUmVzb3VyY2VSZWNvcmRSD3Jlc291cmNlUmVjb3Jkcw=='); + +@$core.Deprecated('Use sslSettingsDescriptor instead') +const SslSettings$json = { + '1': 'SslSettings', + '2': [ + {'1': 'certificate_id', '3': 1, '4': 1, '5': 9, '10': 'certificateId'}, + { + '1': 'ssl_management_type', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.SslSettings.SslManagementType', + '10': 'sslManagementType' + }, + { + '1': 'pending_managed_certificate_id', + '3': 4, + '4': 1, + '5': 9, + '10': 'pendingManagedCertificateId' + }, + ], + '4': [SslSettings_SslManagementType$json], +}; + +@$core.Deprecated('Use sslSettingsDescriptor instead') +const SslSettings_SslManagementType$json = { + '1': 'SslManagementType', + '2': [ + {'1': 'AUTOMATIC', '2': 0}, + {'1': 'MANUAL', '2': 1}, + ], +}; + +/// Descriptor for `SslSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sslSettingsDescriptor = $convert.base64Decode( + 'CgtTc2xTZXR0aW5ncxIlCg5jZXJ0aWZpY2F0ZV9pZBgBIAEoCVINY2VydGlmaWNhdGVJZBJmCh' + 'Nzc2xfbWFuYWdlbWVudF90eXBlGAMgASgOMjYuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuU3Ns' + 'U2V0dGluZ3MuU3NsTWFuYWdlbWVudFR5cGVSEXNzbE1hbmFnZW1lbnRUeXBlEkMKHnBlbmRpbm' + 'dfbWFuYWdlZF9jZXJ0aWZpY2F0ZV9pZBgEIAEoCVIbcGVuZGluZ01hbmFnZWRDZXJ0aWZpY2F0' + 'ZUlkIi4KEVNzbE1hbmFnZW1lbnRUeXBlEg0KCUFVVE9NQVRJQxAAEgoKBk1BTlVBTBAB'); + +@$core.Deprecated('Use resourceRecordDescriptor instead') +const ResourceRecord$json = { + '1': 'ResourceRecord', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'rrdata', '3': 2, '4': 1, '5': 9, '10': 'rrdata'}, + { + '1': 'type', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.ResourceRecord.RecordType', + '10': 'type' + }, + ], + '4': [ResourceRecord_RecordType$json], +}; + +@$core.Deprecated('Use resourceRecordDescriptor instead') +const ResourceRecord_RecordType$json = { + '1': 'RecordType', + '2': [ + {'1': 'A', '2': 0}, + {'1': 'AAAA', '2': 1}, + {'1': 'CNAME', '2': 2}, + ], +}; + +/// Descriptor for `ResourceRecord`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourceRecordDescriptor = $convert.base64Decode( + 'Cg5SZXNvdXJjZVJlY29yZBISCgRuYW1lGAEgASgJUgRuYW1lEhYKBnJyZGF0YRgCIAEoCVIGcn' + 'JkYXRhEkYKBHR5cGUYAyABKA4yMi5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5SZXNvdXJjZVJl' + 'Y29yZC5SZWNvcmRUeXBlUgR0eXBlIigKClJlY29yZFR5cGUSBQoBQRAAEggKBEFBQUEQARIJCg' + 'VDTkFNRRAC'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pb.dart new file mode 100644 index 00000000..ae80532c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pb.dart @@ -0,0 +1,161 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/firewall.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'firewall.pbenum.dart'; + +export 'firewall.pbenum.dart'; + +/// A single firewall rule that is evaluated against incoming traffic +/// and provides an action to take on matched requests. +class FirewallRule extends $pb.GeneratedMessage { + factory FirewallRule({ + $core.int? priority, + FirewallRule_Action? action, + $core.String? sourceRange, + $core.String? description, + }) { + final $result = create(); + if (priority != null) { + $result.priority = priority; + } + if (action != null) { + $result.action = action; + } + if (sourceRange != null) { + $result.sourceRange = sourceRange; + } + if (description != null) { + $result.description = description; + } + return $result; + } + FirewallRule._() : super(); + factory FirewallRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FirewallRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FirewallRule', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'priority', $pb.PbFieldType.O3) + ..e( + 2, _omitFieldNames ? '' : 'action', $pb.PbFieldType.OE, + defaultOrMaker: FirewallRule_Action.UNSPECIFIED_ACTION, + valueOf: FirewallRule_Action.valueOf, + enumValues: FirewallRule_Action.values) + ..aOS(3, _omitFieldNames ? '' : 'sourceRange') + ..aOS(4, _omitFieldNames ? '' : 'description') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FirewallRule clone() => FirewallRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FirewallRule copyWith(void Function(FirewallRule) updates) => + super.copyWith((message) => updates(message as FirewallRule)) + as FirewallRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FirewallRule create() => FirewallRule._(); + FirewallRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FirewallRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FirewallRule? _defaultInstance; + + /// A positive integer between [1, Int32.MaxValue-1] that defines the order of + /// rule evaluation. Rules with the lowest priority are evaluated first. + /// + /// A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + /// when no previous rule matches. Only the action of this rule can be modified + /// by the user. + @$pb.TagNumber(1) + $core.int get priority => $_getIZ(0); + @$pb.TagNumber(1) + set priority($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPriority() => $_has(0); + @$pb.TagNumber(1) + void clearPriority() => clearField(1); + + /// The action to take on matched requests. + @$pb.TagNumber(2) + FirewallRule_Action get action => $_getN(1); + @$pb.TagNumber(2) + set action(FirewallRule_Action v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasAction() => $_has(1); + @$pb.TagNumber(2) + void clearAction() => clearField(2); + + /// IP address or range, defined using CIDR notation, of requests that this + /// rule applies to. You can use the wildcard character "*" to match all IPs + /// equivalent to "0/0" and "::/0" together. + /// Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` + /// or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + /// + /// + ///

Truncation will be silently performed on addresses which are not + /// properly truncated. For example, `1.2.3.4/24` is accepted as the same + /// address as `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` is accepted + /// as the same address as `2001:db8::/32`. + @$pb.TagNumber(3) + $core.String get sourceRange => $_getSZ(2); + @$pb.TagNumber(3) + set sourceRange($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSourceRange() => $_has(2); + @$pb.TagNumber(3) + void clearSourceRange() => clearField(3); + + /// An optional string description of this rule. + /// This field has a maximum length of 100 characters. + @$pb.TagNumber(4) + $core.String get description => $_getSZ(3); + @$pb.TagNumber(4) + set description($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDescription() => $_has(3); + @$pb.TagNumber(4) + void clearDescription() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pbenum.dart new file mode 100644 index 00000000..5c9f7fec --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pbenum.dart @@ -0,0 +1,38 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/firewall.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Available actions to take on matching requests. +class FirewallRule_Action extends $pb.ProtobufEnum { + static const FirewallRule_Action UNSPECIFIED_ACTION = + FirewallRule_Action._(0, _omitEnumNames ? '' : 'UNSPECIFIED_ACTION'); + static const FirewallRule_Action ALLOW = + FirewallRule_Action._(1, _omitEnumNames ? '' : 'ALLOW'); + static const FirewallRule_Action DENY = + FirewallRule_Action._(2, _omitEnumNames ? '' : 'DENY'); + + static const $core.List values = [ + UNSPECIFIED_ACTION, + ALLOW, + DENY, + ]; + + static final $core.Map<$core.int, FirewallRule_Action> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FirewallRule_Action? valueOf($core.int value) => _byValue[value]; + + const FirewallRule_Action._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pbjson.dart new file mode 100644 index 00000000..b103c46b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/firewall.pbjson.dart @@ -0,0 +1,51 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/firewall.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use firewallRuleDescriptor instead') +const FirewallRule$json = { + '1': 'FirewallRule', + '2': [ + {'1': 'priority', '3': 1, '4': 1, '5': 5, '10': 'priority'}, + { + '1': 'action', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.FirewallRule.Action', + '10': 'action' + }, + {'1': 'source_range', '3': 3, '4': 1, '5': 9, '10': 'sourceRange'}, + {'1': 'description', '3': 4, '4': 1, '5': 9, '10': 'description'}, + ], + '4': [FirewallRule_Action$json], +}; + +@$core.Deprecated('Use firewallRuleDescriptor instead') +const FirewallRule_Action$json = { + '1': 'Action', + '2': [ + {'1': 'UNSPECIFIED_ACTION', '2': 0}, + {'1': 'ALLOW', '2': 1}, + {'1': 'DENY', '2': 2}, + ], +}; + +/// Descriptor for `FirewallRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List firewallRuleDescriptor = $convert.base64Decode( + 'CgxGaXJld2FsbFJ1bGUSGgoIcHJpb3JpdHkYASABKAVSCHByaW9yaXR5EkQKBmFjdGlvbhgCIA' + 'EoDjIsLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkZpcmV3YWxsUnVsZS5BY3Rpb25SBmFjdGlv' + 'bhIhCgxzb3VyY2VfcmFuZ2UYAyABKAlSC3NvdXJjZVJhbmdlEiAKC2Rlc2NyaXB0aW9uGAQgAS' + 'gJUgtkZXNjcmlwdGlvbiI1CgZBY3Rpb24SFgoSVU5TUEVDSUZJRURfQUNUSU9OEAASCQoFQUxM' + 'T1cQARIICgRERU5ZEAI='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pb.dart new file mode 100644 index 00000000..9caa45d6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pb.dart @@ -0,0 +1,441 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/instance.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'instance.pbenum.dart'; + +export 'instance.pbenum.dart'; + +/// Wrapper for LivenessState enum. +class Instance_Liveness extends $pb.GeneratedMessage { + factory Instance_Liveness() => create(); + Instance_Liveness._() : super(); + factory Instance_Liveness.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Instance_Liveness.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Instance.Liveness', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Instance_Liveness clone() => Instance_Liveness()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Instance_Liveness copyWith(void Function(Instance_Liveness) updates) => + super.copyWith((message) => updates(message as Instance_Liveness)) + as Instance_Liveness; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Instance_Liveness create() => Instance_Liveness._(); + Instance_Liveness createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Instance_Liveness getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Instance_Liveness? _defaultInstance; +} + +/// An Instance resource is the computing unit that App Engine uses to +/// automatically scale an application. +class Instance extends $pb.GeneratedMessage { + factory Instance({ + $core.String? name, + $core.String? id, + $core.String? appEngineRelease, + Instance_Availability? availability, + $core.String? vmName, + $core.String? vmZoneName, + $core.String? vmId, + $50.Timestamp? startTime, + $core.int? requests, + $core.int? errors, + $core.double? qps, + $core.int? averageLatency, + $fixnum.Int64? memoryUsage, + $core.String? vmStatus, + $core.bool? vmDebugEnabled, + $core.String? vmIp, + Instance_Liveness_LivenessState? vmLiveness, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (appEngineRelease != null) { + $result.appEngineRelease = appEngineRelease; + } + if (availability != null) { + $result.availability = availability; + } + if (vmName != null) { + $result.vmName = vmName; + } + if (vmZoneName != null) { + $result.vmZoneName = vmZoneName; + } + if (vmId != null) { + $result.vmId = vmId; + } + if (startTime != null) { + $result.startTime = startTime; + } + if (requests != null) { + $result.requests = requests; + } + if (errors != null) { + $result.errors = errors; + } + if (qps != null) { + $result.qps = qps; + } + if (averageLatency != null) { + $result.averageLatency = averageLatency; + } + if (memoryUsage != null) { + $result.memoryUsage = memoryUsage; + } + if (vmStatus != null) { + $result.vmStatus = vmStatus; + } + if (vmDebugEnabled != null) { + $result.vmDebugEnabled = vmDebugEnabled; + } + if (vmIp != null) { + $result.vmIp = vmIp; + } + if (vmLiveness != null) { + $result.vmLiveness = vmLiveness; + } + return $result; + } + Instance._() : super(); + factory Instance.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Instance.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Instance', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOS(3, _omitFieldNames ? '' : 'appEngineRelease') + ..e( + 4, _omitFieldNames ? '' : 'availability', $pb.PbFieldType.OE, + defaultOrMaker: Instance_Availability.UNSPECIFIED, + valueOf: Instance_Availability.valueOf, + enumValues: Instance_Availability.values) + ..aOS(5, _omitFieldNames ? '' : 'vmName') + ..aOS(6, _omitFieldNames ? '' : 'vmZoneName') + ..aOS(7, _omitFieldNames ? '' : 'vmId') + ..aOM<$50.Timestamp>(8, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'requests', $pb.PbFieldType.O3) + ..a<$core.int>(10, _omitFieldNames ? '' : 'errors', $pb.PbFieldType.O3) + ..a<$core.double>(11, _omitFieldNames ? '' : 'qps', $pb.PbFieldType.OF) + ..a<$core.int>( + 12, _omitFieldNames ? '' : 'averageLatency', $pb.PbFieldType.O3) + ..aInt64(13, _omitFieldNames ? '' : 'memoryUsage') + ..aOS(14, _omitFieldNames ? '' : 'vmStatus') + ..aOB(15, _omitFieldNames ? '' : 'vmDebugEnabled') + ..aOS(16, _omitFieldNames ? '' : 'vmIp') + ..e( + 17, _omitFieldNames ? '' : 'vmLiveness', $pb.PbFieldType.OE, + defaultOrMaker: + Instance_Liveness_LivenessState.LIVENESS_STATE_UNSPECIFIED, + valueOf: Instance_Liveness_LivenessState.valueOf, + enumValues: Instance_Liveness_LivenessState.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Instance clone() => Instance()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Instance copyWith(void Function(Instance) updates) => + super.copyWith((message) => updates(message as Instance)) as Instance; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Instance create() => Instance._(); + Instance createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Instance getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Instance? _defaultInstance; + + /// Output only. Full path to the Instance resource in the API. + /// Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Output only. Relative name of the instance within the version. + /// Example: `instance-1`. + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// Output only. App Engine release this instance is running on. + @$pb.TagNumber(3) + $core.String get appEngineRelease => $_getSZ(2); + @$pb.TagNumber(3) + set appEngineRelease($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasAppEngineRelease() => $_has(2); + @$pb.TagNumber(3) + void clearAppEngineRelease() => clearField(3); + + /// Output only. Availability of the instance. + @$pb.TagNumber(4) + Instance_Availability get availability => $_getN(3); + @$pb.TagNumber(4) + set availability(Instance_Availability v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasAvailability() => $_has(3); + @$pb.TagNumber(4) + void clearAvailability() => clearField(4); + + /// Output only. Name of the virtual machine where this instance lives. Only applicable + /// for instances in App Engine flexible environment. + @$pb.TagNumber(5) + $core.String get vmName => $_getSZ(4); + @$pb.TagNumber(5) + set vmName($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasVmName() => $_has(4); + @$pb.TagNumber(5) + void clearVmName() => clearField(5); + + /// Output only. Zone where the virtual machine is located. Only applicable for instances + /// in App Engine flexible environment. + @$pb.TagNumber(6) + $core.String get vmZoneName => $_getSZ(5); + @$pb.TagNumber(6) + set vmZoneName($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasVmZoneName() => $_has(5); + @$pb.TagNumber(6) + void clearVmZoneName() => clearField(6); + + /// Output only. Virtual machine ID of this instance. Only applicable for instances in + /// App Engine flexible environment. + @$pb.TagNumber(7) + $core.String get vmId => $_getSZ(6); + @$pb.TagNumber(7) + set vmId($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasVmId() => $_has(6); + @$pb.TagNumber(7) + void clearVmId() => clearField(7); + + /// Output only. Time that this instance was started. + /// + /// @OutputOnly + @$pb.TagNumber(8) + $50.Timestamp get startTime => $_getN(7); + @$pb.TagNumber(8) + set startTime($50.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasStartTime() => $_has(7); + @$pb.TagNumber(8) + void clearStartTime() => clearField(8); + @$pb.TagNumber(8) + $50.Timestamp ensureStartTime() => $_ensure(7); + + /// Output only. Number of requests since this instance was started. + @$pb.TagNumber(9) + $core.int get requests => $_getIZ(8); + @$pb.TagNumber(9) + set requests($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasRequests() => $_has(8); + @$pb.TagNumber(9) + void clearRequests() => clearField(9); + + /// Output only. Number of errors since this instance was started. + @$pb.TagNumber(10) + $core.int get errors => $_getIZ(9); + @$pb.TagNumber(10) + set errors($core.int v) { + $_setSignedInt32(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasErrors() => $_has(9); + @$pb.TagNumber(10) + void clearErrors() => clearField(10); + + /// Output only. Average queries per second (QPS) over the last minute. + @$pb.TagNumber(11) + $core.double get qps => $_getN(10); + @$pb.TagNumber(11) + set qps($core.double v) { + $_setFloat(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasQps() => $_has(10); + @$pb.TagNumber(11) + void clearQps() => clearField(11); + + /// Output only. Average latency (ms) over the last minute. + @$pb.TagNumber(12) + $core.int get averageLatency => $_getIZ(11); + @$pb.TagNumber(12) + set averageLatency($core.int v) { + $_setSignedInt32(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasAverageLatency() => $_has(11); + @$pb.TagNumber(12) + void clearAverageLatency() => clearField(12); + + /// Output only. Total memory in use (bytes). + @$pb.TagNumber(13) + $fixnum.Int64 get memoryUsage => $_getI64(12); + @$pb.TagNumber(13) + set memoryUsage($fixnum.Int64 v) { + $_setInt64(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasMemoryUsage() => $_has(12); + @$pb.TagNumber(13) + void clearMemoryUsage() => clearField(13); + + /// Output only. Status of the virtual machine where this instance lives. Only applicable + /// for instances in App Engine flexible environment. + @$pb.TagNumber(14) + $core.String get vmStatus => $_getSZ(13); + @$pb.TagNumber(14) + set vmStatus($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasVmStatus() => $_has(13); + @$pb.TagNumber(14) + void clearVmStatus() => clearField(14); + + /// Output only. Whether this instance is in debug mode. Only applicable for instances in + /// App Engine flexible environment. + @$pb.TagNumber(15) + $core.bool get vmDebugEnabled => $_getBF(14); + @$pb.TagNumber(15) + set vmDebugEnabled($core.bool v) { + $_setBool(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasVmDebugEnabled() => $_has(14); + @$pb.TagNumber(15) + void clearVmDebugEnabled() => clearField(15); + + /// Output only. The IP address of this instance. Only applicable for instances in App + /// Engine flexible environment. + @$pb.TagNumber(16) + $core.String get vmIp => $_getSZ(15); + @$pb.TagNumber(16) + set vmIp($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(16) + $core.bool hasVmIp() => $_has(15); + @$pb.TagNumber(16) + void clearVmIp() => clearField(16); + + /// Output only. The liveness health check of this instance. Only applicable for instances + /// in App Engine flexible environment. + @$pb.TagNumber(17) + Instance_Liveness_LivenessState get vmLiveness => $_getN(16); + @$pb.TagNumber(17) + set vmLiveness(Instance_Liveness_LivenessState v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasVmLiveness() => $_has(16); + @$pb.TagNumber(17) + void clearVmLiveness() => clearField(17); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pbenum.dart new file mode 100644 index 00000000..31b7121c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pbenum.dart @@ -0,0 +1,74 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/instance.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Availability of the instance. +class Instance_Availability extends $pb.ProtobufEnum { + static const Instance_Availability UNSPECIFIED = + Instance_Availability._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const Instance_Availability RESIDENT = + Instance_Availability._(1, _omitEnumNames ? '' : 'RESIDENT'); + static const Instance_Availability DYNAMIC = + Instance_Availability._(2, _omitEnumNames ? '' : 'DYNAMIC'); + + static const $core.List values = + [ + UNSPECIFIED, + RESIDENT, + DYNAMIC, + ]; + + static final $core.Map<$core.int, Instance_Availability> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Instance_Availability? valueOf($core.int value) => _byValue[value]; + + const Instance_Availability._($core.int v, $core.String n) : super(v, n); +} + +/// Liveness health check status for Flex instances. +class Instance_Liveness_LivenessState extends $pb.ProtobufEnum { + static const Instance_Liveness_LivenessState LIVENESS_STATE_UNSPECIFIED = + Instance_Liveness_LivenessState._( + 0, _omitEnumNames ? '' : 'LIVENESS_STATE_UNSPECIFIED'); + static const Instance_Liveness_LivenessState UNKNOWN = + Instance_Liveness_LivenessState._(1, _omitEnumNames ? '' : 'UNKNOWN'); + static const Instance_Liveness_LivenessState HEALTHY = + Instance_Liveness_LivenessState._(2, _omitEnumNames ? '' : 'HEALTHY'); + static const Instance_Liveness_LivenessState UNHEALTHY = + Instance_Liveness_LivenessState._(3, _omitEnumNames ? '' : 'UNHEALTHY'); + static const Instance_Liveness_LivenessState DRAINING = + Instance_Liveness_LivenessState._(4, _omitEnumNames ? '' : 'DRAINING'); + static const Instance_Liveness_LivenessState TIMEOUT = + Instance_Liveness_LivenessState._(5, _omitEnumNames ? '' : 'TIMEOUT'); + + static const $core.List values = + [ + LIVENESS_STATE_UNSPECIFIED, + UNKNOWN, + HEALTHY, + UNHEALTHY, + DRAINING, + TIMEOUT, + ]; + + static final $core.Map<$core.int, Instance_Liveness_LivenessState> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Instance_Liveness_LivenessState? valueOf($core.int value) => + _byValue[value]; + + const Instance_Liveness_LivenessState._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pbjson.dart new file mode 100644 index 00000000..c0154ee5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/instance.pbjson.dart @@ -0,0 +1,144 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/instance.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance$json = { + '1': 'Instance', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'id'}, + { + '1': 'app_engine_release', + '3': 3, + '4': 1, + '5': 9, + '8': {}, + '10': 'appEngineRelease' + }, + { + '1': 'availability', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.Instance.Availability', + '8': {}, + '10': 'availability' + }, + {'1': 'vm_name', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'vmName'}, + {'1': 'vm_zone_name', '3': 6, '4': 1, '5': 9, '8': {}, '10': 'vmZoneName'}, + {'1': 'vm_id', '3': 7, '4': 1, '5': 9, '8': {}, '10': 'vmId'}, + { + '1': 'start_time', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'startTime' + }, + {'1': 'requests', '3': 9, '4': 1, '5': 5, '8': {}, '10': 'requests'}, + {'1': 'errors', '3': 10, '4': 1, '5': 5, '8': {}, '10': 'errors'}, + {'1': 'qps', '3': 11, '4': 1, '5': 2, '8': {}, '10': 'qps'}, + { + '1': 'average_latency', + '3': 12, + '4': 1, + '5': 5, + '8': {}, + '10': 'averageLatency' + }, + { + '1': 'memory_usage', + '3': 13, + '4': 1, + '5': 3, + '8': {}, + '10': 'memoryUsage' + }, + {'1': 'vm_status', '3': 14, '4': 1, '5': 9, '8': {}, '10': 'vmStatus'}, + { + '1': 'vm_debug_enabled', + '3': 15, + '4': 1, + '5': 8, + '8': {}, + '10': 'vmDebugEnabled' + }, + {'1': 'vm_ip', '3': 16, '4': 1, '5': 9, '8': {}, '10': 'vmIp'}, + { + '1': 'vm_liveness', + '3': 17, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.Instance.Liveness.LivenessState', + '8': {}, + '10': 'vmLiveness' + }, + ], + '3': [Instance_Liveness$json], + '4': [Instance_Availability$json], + '7': {}, +}; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance_Liveness$json = { + '1': 'Liveness', + '4': [Instance_Liveness_LivenessState$json], +}; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance_Liveness_LivenessState$json = { + '1': 'LivenessState', + '2': [ + {'1': 'LIVENESS_STATE_UNSPECIFIED', '2': 0}, + {'1': 'UNKNOWN', '2': 1}, + {'1': 'HEALTHY', '2': 2}, + {'1': 'UNHEALTHY', '2': 3}, + {'1': 'DRAINING', '2': 4}, + {'1': 'TIMEOUT', '2': 5}, + ], +}; + +@$core.Deprecated('Use instanceDescriptor instead') +const Instance_Availability$json = { + '1': 'Availability', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'RESIDENT', '2': 1}, + {'1': 'DYNAMIC', '2': 2}, + ], +}; + +/// Descriptor for `Instance`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List instanceDescriptor = $convert.base64Decode( + 'CghJbnN0YW5jZRIXCgRuYW1lGAEgASgJQgPgQQNSBG5hbWUSEwoCaWQYAiABKAlCA+BBA1ICaW' + 'QSMQoSYXBwX2VuZ2luZV9yZWxlYXNlGAMgASgJQgPgQQNSEGFwcEVuZ2luZVJlbGVhc2USVwoM' + 'YXZhaWxhYmlsaXR5GAQgASgOMi4uZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuSW5zdGFuY2UuQX' + 'ZhaWxhYmlsaXR5QgPgQQNSDGF2YWlsYWJpbGl0eRIcCgd2bV9uYW1lGAUgASgJQgPgQQNSBnZt' + 'TmFtZRIlCgx2bV96b25lX25hbWUYBiABKAlCA+BBA1IKdm1ab25lTmFtZRIYCgV2bV9pZBgHIA' + 'EoCUID4EEDUgR2bUlkEj4KCnN0YXJ0X3RpbWUYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt' + 'ZXN0YW1wQgPgQQNSCXN0YXJ0VGltZRIfCghyZXF1ZXN0cxgJIAEoBUID4EEDUghyZXF1ZXN0cx' + 'IbCgZlcnJvcnMYCiABKAVCA+BBA1IGZXJyb3JzEhUKA3FwcxgLIAEoAkID4EEDUgNxcHMSLAoP' + 'YXZlcmFnZV9sYXRlbmN5GAwgASgFQgPgQQNSDmF2ZXJhZ2VMYXRlbmN5EiYKDG1lbW9yeV91c2' + 'FnZRgNIAEoA0ID4EEDUgttZW1vcnlVc2FnZRIgCgl2bV9zdGF0dXMYDiABKAlCA+BBA1IIdm1T' + 'dGF0dXMSLQoQdm1fZGVidWdfZW5hYmxlZBgPIAEoCEID4EEDUg52bURlYnVnRW5hYmxlZBIYCg' + 'V2bV9pcBgQIAEoCUID4EEDUgR2bUlwEl4KC3ZtX2xpdmVuZXNzGBEgASgOMjguZ29vZ2xlLmFw' + 'cGVuZ2luZS52MWJldGEuSW5zdGFuY2UuTGl2ZW5lc3MuTGl2ZW5lc3NTdGF0ZUID4EEDUgp2bU' + 'xpdmVuZXNzGn8KCExpdmVuZXNzInMKDUxpdmVuZXNzU3RhdGUSHgoaTElWRU5FU1NfU1RBVEVf' + 'VU5TUEVDSUZJRUQQABILCgdVTktOT1dOEAESCwoHSEVBTFRIWRACEg0KCVVOSEVBTFRIWRADEg' + 'wKCERSQUlOSU5HEAQSCwoHVElNRU9VVBAFIjoKDEF2YWlsYWJpbGl0eRIPCgtVTlNQRUNJRklF' + 'RBAAEgwKCFJFU0lERU5UEAESCwoHRFlOQU1JQxACOm3qQWoKIWFwcGVuZ2luZS5nb29nbGVhcG' + 'lzLmNvbS9JbnN0YW5jZRJFYXBwcy97YXBwfS9zZXJ2aWNlcy97c2VydmljZX0vdmVyc2lvbnMv' + 'e3ZlcnNpb259L2luc3RhbmNlcy97aW5zdGFuY2V9'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pb.dart new file mode 100644 index 00000000..8d185cc5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pb.dart @@ -0,0 +1,123 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/location.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. +class LocationMetadata extends $pb.GeneratedMessage { + factory LocationMetadata({ + $core.bool? standardEnvironmentAvailable, + $core.bool? flexibleEnvironmentAvailable, + $core.bool? searchApiAvailable, + }) { + final $result = create(); + if (standardEnvironmentAvailable != null) { + $result.standardEnvironmentAvailable = standardEnvironmentAvailable; + } + if (flexibleEnvironmentAvailable != null) { + $result.flexibleEnvironmentAvailable = flexibleEnvironmentAvailable; + } + if (searchApiAvailable != null) { + $result.searchApiAvailable = searchApiAvailable; + } + return $result; + } + LocationMetadata._() : super(); + factory LocationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LocationMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOB(2, _omitFieldNames ? '' : 'standardEnvironmentAvailable') + ..aOB(4, _omitFieldNames ? '' : 'flexibleEnvironmentAvailable') + ..aOB(6, _omitFieldNames ? '' : 'searchApiAvailable') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationMetadata clone() => LocationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationMetadata copyWith(void Function(LocationMetadata) updates) => + super.copyWith((message) => updates(message as LocationMetadata)) + as LocationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationMetadata create() => LocationMetadata._(); + LocationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LocationMetadata? _defaultInstance; + + /// App Engine standard environment is available in the given location. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $core.bool get standardEnvironmentAvailable => $_getBF(0); + @$pb.TagNumber(2) + set standardEnvironmentAvailable($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasStandardEnvironmentAvailable() => $_has(0); + @$pb.TagNumber(2) + void clearStandardEnvironmentAvailable() => clearField(2); + + /// App Engine flexible environment is available in the given location. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.bool get flexibleEnvironmentAvailable => $_getBF(1); + @$pb.TagNumber(4) + set flexibleEnvironmentAvailable($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasFlexibleEnvironmentAvailable() => $_has(1); + @$pb.TagNumber(4) + void clearFlexibleEnvironmentAvailable() => clearField(4); + + /// Output only. [Search API](https://cloud.google.com/appengine/docs/standard/python/search) + /// is available in the given location. + @$pb.TagNumber(6) + $core.bool get searchApiAvailable => $_getBF(2); + @$pb.TagNumber(6) + set searchApiAvailable($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(6) + $core.bool hasSearchApiAvailable() => $_has(2); + @$pb.TagNumber(6) + void clearSearchApiAvailable() => clearField(6); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pbenum.dart new file mode 100644 index 00000000..f6748722 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/location.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pbjson.dart new file mode 100644 index 00000000..f07bfc17 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/location.pbjson.dart @@ -0,0 +1,50 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/location.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use locationMetadataDescriptor instead') +const LocationMetadata$json = { + '1': 'LocationMetadata', + '2': [ + { + '1': 'standard_environment_available', + '3': 2, + '4': 1, + '5': 8, + '10': 'standardEnvironmentAvailable' + }, + { + '1': 'flexible_environment_available', + '3': 4, + '4': 1, + '5': 8, + '10': 'flexibleEnvironmentAvailable' + }, + { + '1': 'search_api_available', + '3': 6, + '4': 1, + '5': 8, + '8': {}, + '10': 'searchApiAvailable' + }, + ], +}; + +/// Descriptor for `LocationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List locationMetadataDescriptor = $convert.base64Decode( + 'ChBMb2NhdGlvbk1ldGFkYXRhEkQKHnN0YW5kYXJkX2Vudmlyb25tZW50X2F2YWlsYWJsZRgCIA' + 'EoCFIcc3RhbmRhcmRFbnZpcm9ubWVudEF2YWlsYWJsZRJECh5mbGV4aWJsZV9lbnZpcm9ubWVu' + 'dF9hdmFpbGFibGUYBCABKAhSHGZsZXhpYmxlRW52aXJvbm1lbnRBdmFpbGFibGUSNQoUc2Vhcm' + 'NoX2FwaV9hdmFpbGFibGUYBiABKAhCA+BBA1ISc2VhcmNoQXBpQXZhaWxhYmxl'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pb.dart new file mode 100644 index 00000000..50d19220 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pb.dart @@ -0,0 +1,92 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/network_settings.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'network_settings.pbenum.dart'; + +export 'network_settings.pbenum.dart'; + +/// A NetworkSettings resource is a container for ingress settings for a version +/// or service. +class NetworkSettings extends $pb.GeneratedMessage { + factory NetworkSettings({ + NetworkSettings_IngressTrafficAllowed? ingressTrafficAllowed, + }) { + final $result = create(); + if (ingressTrafficAllowed != null) { + $result.ingressTrafficAllowed = ingressTrafficAllowed; + } + return $result; + } + NetworkSettings._() : super(); + factory NetworkSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NetworkSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NetworkSettings', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'ingressTrafficAllowed', $pb.PbFieldType.OE, + defaultOrMaker: NetworkSettings_IngressTrafficAllowed + .INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED, + valueOf: NetworkSettings_IngressTrafficAllowed.valueOf, + enumValues: NetworkSettings_IngressTrafficAllowed.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NetworkSettings clone() => NetworkSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NetworkSettings copyWith(void Function(NetworkSettings) updates) => + super.copyWith((message) => updates(message as NetworkSettings)) + as NetworkSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NetworkSettings create() => NetworkSettings._(); + NetworkSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NetworkSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NetworkSettings? _defaultInstance; + + /// The ingress settings for version or service. + @$pb.TagNumber(1) + NetworkSettings_IngressTrafficAllowed get ingressTrafficAllowed => $_getN(0); + @$pb.TagNumber(1) + set ingressTrafficAllowed(NetworkSettings_IngressTrafficAllowed v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasIngressTrafficAllowed() => $_has(0); + @$pb.TagNumber(1) + void clearIngressTrafficAllowed() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pbenum.dart new file mode 100644 index 00000000..333194d8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pbenum.dart @@ -0,0 +1,51 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/network_settings.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// If unspecified, INGRESS_TRAFFIC_ALLOWED_ALL will be used. +class NetworkSettings_IngressTrafficAllowed extends $pb.ProtobufEnum { + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED = + NetworkSettings_IngressTrafficAllowed._( + 0, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED'); + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_ALL = NetworkSettings_IngressTrafficAllowed._( + 1, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_ALL'); + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY = + NetworkSettings_IngressTrafficAllowed._( + 2, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY'); + static const NetworkSettings_IngressTrafficAllowed + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB = + NetworkSettings_IngressTrafficAllowed._( + 3, _omitEnumNames ? '' : 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB'); + + static const $core.List values = + [ + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED, + INGRESS_TRAFFIC_ALLOWED_ALL, + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY, + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB, + ]; + + static final $core.Map<$core.int, NetworkSettings_IngressTrafficAllowed> + _byValue = $pb.ProtobufEnum.initByValue(values); + static NetworkSettings_IngressTrafficAllowed? valueOf($core.int value) => + _byValue[value]; + + const NetworkSettings_IngressTrafficAllowed._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pbjson.dart new file mode 100644 index 00000000..6f87d375 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/network_settings.pbjson.dart @@ -0,0 +1,50 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/network_settings.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use networkSettingsDescriptor instead') +const NetworkSettings$json = { + '1': 'NetworkSettings', + '2': [ + { + '1': 'ingress_traffic_allowed', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.NetworkSettings.IngressTrafficAllowed', + '10': 'ingressTrafficAllowed' + }, + ], + '4': [NetworkSettings_IngressTrafficAllowed$json], +}; + +@$core.Deprecated('Use networkSettingsDescriptor instead') +const NetworkSettings_IngressTrafficAllowed$json = { + '1': 'IngressTrafficAllowed', + '2': [ + {'1': 'INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED', '2': 0}, + {'1': 'INGRESS_TRAFFIC_ALLOWED_ALL', '2': 1}, + {'1': 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY', '2': 2}, + {'1': 'INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB', '2': 3}, + ], +}; + +/// Descriptor for `NetworkSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List networkSettingsDescriptor = $convert.base64Decode( + 'Cg9OZXR3b3JrU2V0dGluZ3MSdgoXaW5ncmVzc190cmFmZmljX2FsbG93ZWQYASABKA4yPi5nb2' + '9nbGUuYXBwZW5naW5lLnYxYmV0YS5OZXR3b3JrU2V0dGluZ3MuSW5ncmVzc1RyYWZmaWNBbGxv' + 'd2VkUhVpbmdyZXNzVHJhZmZpY0FsbG93ZWQiuQEKFUluZ3Jlc3NUcmFmZmljQWxsb3dlZBInCi' + 'NJTkdSRVNTX1RSQUZGSUNfQUxMT1dFRF9VTlNQRUNJRklFRBAAEh8KG0lOR1JFU1NfVFJBRkZJ' + 'Q19BTExPV0VEX0FMTBABEikKJUlOR1JFU1NfVFJBRkZJQ19BTExPV0VEX0lOVEVSTkFMX09OTF' + 'kQAhIrCidJTkdSRVNTX1RSQUZGSUNfQUxMT1dFRF9JTlRFUk5BTF9BTkRfTEIQAw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pb.dart new file mode 100644 index 00000000..d1f26957 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pb.dart @@ -0,0 +1,308 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; + +enum OperationMetadataV1Beta_MethodMetadata { createVersionMetadata, notSet } + +/// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation]. +class OperationMetadataV1Beta extends $pb.GeneratedMessage { + factory OperationMetadataV1Beta({ + $core.String? method, + $50.Timestamp? insertTime, + $50.Timestamp? endTime, + $core.String? user, + $core.String? target, + $core.String? ephemeralMessage, + $core.Iterable<$core.String>? warning, + CreateVersionMetadataV1Beta? createVersionMetadata, + }) { + final $result = create(); + if (method != null) { + $result.method = method; + } + if (insertTime != null) { + $result.insertTime = insertTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (user != null) { + $result.user = user; + } + if (target != null) { + $result.target = target; + } + if (ephemeralMessage != null) { + $result.ephemeralMessage = ephemeralMessage; + } + if (warning != null) { + $result.warning.addAll(warning); + } + if (createVersionMetadata != null) { + $result.createVersionMetadata = createVersionMetadata; + } + return $result; + } + OperationMetadataV1Beta._() : super(); + factory OperationMetadataV1Beta.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationMetadataV1Beta.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, OperationMetadataV1Beta_MethodMetadata> + _OperationMetadataV1Beta_MethodMetadataByTag = { + 8: OperationMetadataV1Beta_MethodMetadata.createVersionMetadata, + 0: OperationMetadataV1Beta_MethodMetadata.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationMetadataV1Beta', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..oo(0, [8]) + ..aOS(1, _omitFieldNames ? '' : 'method') + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'insertTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..aOS(4, _omitFieldNames ? '' : 'user') + ..aOS(5, _omitFieldNames ? '' : 'target') + ..aOS(6, _omitFieldNames ? '' : 'ephemeralMessage') + ..pPS(7, _omitFieldNames ? '' : 'warning') + ..aOM( + 8, _omitFieldNames ? '' : 'createVersionMetadata', + subBuilder: CreateVersionMetadataV1Beta.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationMetadataV1Beta clone() => + OperationMetadataV1Beta()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationMetadataV1Beta copyWith( + void Function(OperationMetadataV1Beta) updates) => + super.copyWith((message) => updates(message as OperationMetadataV1Beta)) + as OperationMetadataV1Beta; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationMetadataV1Beta create() => OperationMetadataV1Beta._(); + OperationMetadataV1Beta createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationMetadataV1Beta getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationMetadataV1Beta? _defaultInstance; + + OperationMetadataV1Beta_MethodMetadata whichMethodMetadata() => + _OperationMetadataV1Beta_MethodMetadataByTag[$_whichOneof(0)]!; + void clearMethodMetadata() => clearField($_whichOneof(0)); + + /// API method that initiated this operation. Example: + /// `google.appengine.v1beta.Versions.CreateVersion`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get method => $_getSZ(0); + @$pb.TagNumber(1) + set method($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMethod() => $_has(0); + @$pb.TagNumber(1) + void clearMethod() => clearField(1); + + /// Time that this operation was created. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $50.Timestamp get insertTime => $_getN(1); + @$pb.TagNumber(2) + set insertTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasInsertTime() => $_has(1); + @$pb.TagNumber(2) + void clearInsertTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureInsertTime() => $_ensure(1); + + /// Time that this operation completed. + /// + /// @OutputOnly + @$pb.TagNumber(3) + $50.Timestamp get endTime => $_getN(2); + @$pb.TagNumber(3) + set endTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEndTime() => $_has(2); + @$pb.TagNumber(3) + void clearEndTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureEndTime() => $_ensure(2); + + /// User who requested this operation. + /// + /// @OutputOnly + @$pb.TagNumber(4) + $core.String get user => $_getSZ(3); + @$pb.TagNumber(4) + set user($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasUser() => $_has(3); + @$pb.TagNumber(4) + void clearUser() => clearField(4); + + /// Name of the resource that this operation is acting on. Example: + /// `apps/myapp/services/default`. + /// + /// @OutputOnly + @$pb.TagNumber(5) + $core.String get target => $_getSZ(4); + @$pb.TagNumber(5) + set target($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasTarget() => $_has(4); + @$pb.TagNumber(5) + void clearTarget() => clearField(5); + + /// Ephemeral message that may change every time the operation is polled. + /// @OutputOnly + @$pb.TagNumber(6) + $core.String get ephemeralMessage => $_getSZ(5); + @$pb.TagNumber(6) + set ephemeralMessage($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasEphemeralMessage() => $_has(5); + @$pb.TagNumber(6) + void clearEphemeralMessage() => clearField(6); + + /// Durable messages that persist on every operation poll. + /// @OutputOnly + @$pb.TagNumber(7) + $core.List<$core.String> get warning => $_getList(6); + + @$pb.TagNumber(8) + CreateVersionMetadataV1Beta get createVersionMetadata => $_getN(7); + @$pb.TagNumber(8) + set createVersionMetadata(CreateVersionMetadataV1Beta v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasCreateVersionMetadata() => $_has(7); + @$pb.TagNumber(8) + void clearCreateVersionMetadata() => clearField(8); + @$pb.TagNumber(8) + CreateVersionMetadataV1Beta ensureCreateVersionMetadata() => $_ensure(7); +} + +/// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation] during a +/// [google.appengine.v1beta.CreateVersionRequest][google.appengine.v1beta.CreateVersionRequest]. +class CreateVersionMetadataV1Beta extends $pb.GeneratedMessage { + factory CreateVersionMetadataV1Beta({ + $core.String? cloudBuildId, + }) { + final $result = create(); + if (cloudBuildId != null) { + $result.cloudBuildId = cloudBuildId; + } + return $result; + } + CreateVersionMetadataV1Beta._() : super(); + factory CreateVersionMetadataV1Beta.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateVersionMetadataV1Beta.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateVersionMetadataV1Beta', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'cloudBuildId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateVersionMetadataV1Beta clone() => + CreateVersionMetadataV1Beta()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateVersionMetadataV1Beta copyWith( + void Function(CreateVersionMetadataV1Beta) updates) => + super.copyWith( + (message) => updates(message as CreateVersionMetadataV1Beta)) + as CreateVersionMetadataV1Beta; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateVersionMetadataV1Beta create() => + CreateVersionMetadataV1Beta._(); + CreateVersionMetadataV1Beta createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateVersionMetadataV1Beta getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateVersionMetadataV1Beta? _defaultInstance; + + /// The Cloud Build ID if one was created as part of the version create. + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get cloudBuildId => $_getSZ(0); + @$pb.TagNumber(1) + set cloudBuildId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCloudBuildId() => $_has(0); + @$pb.TagNumber(1) + void clearCloudBuildId() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pbenum.dart new file mode 100644 index 00000000..8e465b31 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pbjson.dart new file mode 100644 index 00000000..f25b511c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/operation.pbjson.dart @@ -0,0 +1,85 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/operation.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationMetadataV1BetaDescriptor instead') +const OperationMetadataV1Beta$json = { + '1': 'OperationMetadataV1Beta', + '2': [ + {'1': 'method', '3': 1, '4': 1, '5': 9, '10': 'method'}, + { + '1': 'insert_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'insertTime' + }, + { + '1': 'end_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + {'1': 'user', '3': 4, '4': 1, '5': 9, '10': 'user'}, + {'1': 'target', '3': 5, '4': 1, '5': 9, '10': 'target'}, + { + '1': 'ephemeral_message', + '3': 6, + '4': 1, + '5': 9, + '10': 'ephemeralMessage' + }, + {'1': 'warning', '3': 7, '4': 3, '5': 9, '10': 'warning'}, + { + '1': 'create_version_metadata', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.CreateVersionMetadataV1Beta', + '9': 0, + '10': 'createVersionMetadata' + }, + ], + '8': [ + {'1': 'method_metadata'}, + ], +}; + +/// Descriptor for `OperationMetadataV1Beta`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationMetadataV1BetaDescriptor = $convert.base64Decode( + 'ChdPcGVyYXRpb25NZXRhZGF0YVYxQmV0YRIWCgZtZXRob2QYASABKAlSBm1ldGhvZBI7Cgtpbn' + 'NlcnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCmluc2VydFRpbWUS' + 'NQoIZW5kX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdlbmRUaW1lEh' + 'IKBHVzZXIYBCABKAlSBHVzZXISFgoGdGFyZ2V0GAUgASgJUgZ0YXJnZXQSKwoRZXBoZW1lcmFs' + 'X21lc3NhZ2UYBiABKAlSEGVwaGVtZXJhbE1lc3NhZ2USGAoHd2FybmluZxgHIAMoCVIHd2Fybm' + 'luZxJuChdjcmVhdGVfdmVyc2lvbl9tZXRhZGF0YRgIIAEoCzI0Lmdvb2dsZS5hcHBlbmdpbmUu' + 'djFiZXRhLkNyZWF0ZVZlcnNpb25NZXRhZGF0YVYxQmV0YUgAUhVjcmVhdGVWZXJzaW9uTWV0YW' + 'RhdGFCEQoPbWV0aG9kX21ldGFkYXRh'); + +@$core.Deprecated('Use createVersionMetadataV1BetaDescriptor instead') +const CreateVersionMetadataV1Beta$json = { + '1': 'CreateVersionMetadataV1Beta', + '2': [ + {'1': 'cloud_build_id', '3': 1, '4': 1, '5': 9, '10': 'cloudBuildId'}, + ], +}; + +/// Descriptor for `CreateVersionMetadataV1Beta`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createVersionMetadataV1BetaDescriptor = + $convert.base64Decode( + 'ChtDcmVhdGVWZXJzaW9uTWV0YWRhdGFWMUJldGESJAoOY2xvdWRfYnVpbGRfaWQYASABKAlSDG' + 'Nsb3VkQnVpbGRJZA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pb.dart new file mode 100644 index 00000000..b0ecb63b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pb.dart @@ -0,0 +1,249 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'network_settings.pb.dart' as $54; +import 'service.pbenum.dart'; + +export 'service.pbenum.dart'; + +/// A Service resource is a logical component of an application that can share +/// state and communicate in a secure fashion with other services. +/// For example, an application that handles customer requests might +/// include separate services to handle tasks such as backend data +/// analysis or API requests from mobile devices. Each service has a +/// collection of versions that define a specific set of code used to +/// implement the functionality of that service. +class Service extends $pb.GeneratedMessage { + factory Service({ + $core.String? name, + $core.String? id, + TrafficSplit? split, + $54.NetworkSettings? networkSettings, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (split != null) { + $result.split = split; + } + if (networkSettings != null) { + $result.networkSettings = networkSettings; + } + return $result; + } + Service._() : super(); + factory Service.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Service.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Service', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'split', + subBuilder: TrafficSplit.create) + ..aOM<$54.NetworkSettings>(6, _omitFieldNames ? '' : 'networkSettings', + subBuilder: $54.NetworkSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Service clone() => Service()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Service copyWith(void Function(Service) updates) => + super.copyWith((message) => updates(message as Service)) as Service; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Service create() => Service._(); + Service createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Service getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Service? _defaultInstance; + + /// Full path to the Service resource in the API. + /// Example: `apps/myapp/services/default`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the service within the application. + /// Example: `default`. + /// + /// @OutputOnly + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// Mapping that defines fractional HTTP traffic diversion to + /// different versions within the service. + @$pb.TagNumber(3) + TrafficSplit get split => $_getN(2); + @$pb.TagNumber(3) + set split(TrafficSplit v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSplit() => $_has(2); + @$pb.TagNumber(3) + void clearSplit() => clearField(3); + @$pb.TagNumber(3) + TrafficSplit ensureSplit() => $_ensure(2); + + /// Ingress settings for this service. Will apply to all versions. + @$pb.TagNumber(6) + $54.NetworkSettings get networkSettings => $_getN(3); + @$pb.TagNumber(6) + set networkSettings($54.NetworkSettings v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasNetworkSettings() => $_has(3); + @$pb.TagNumber(6) + void clearNetworkSettings() => clearField(6); + @$pb.TagNumber(6) + $54.NetworkSettings ensureNetworkSettings() => $_ensure(3); +} + +/// Traffic routing configuration for versions within a single service. Traffic +/// splits define how traffic directed to the service is assigned to versions. +class TrafficSplit extends $pb.GeneratedMessage { + factory TrafficSplit({ + TrafficSplit_ShardBy? shardBy, + $core.Map<$core.String, $core.double>? allocations, + }) { + final $result = create(); + if (shardBy != null) { + $result.shardBy = shardBy; + } + if (allocations != null) { + $result.allocations.addAll(allocations); + } + return $result; + } + TrafficSplit._() : super(); + factory TrafficSplit.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TrafficSplit.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TrafficSplit', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'shardBy', $pb.PbFieldType.OE, + defaultOrMaker: TrafficSplit_ShardBy.UNSPECIFIED, + valueOf: TrafficSplit_ShardBy.valueOf, + enumValues: TrafficSplit_ShardBy.values) + ..m<$core.String, $core.double>(2, _omitFieldNames ? '' : 'allocations', + entryClassName: 'TrafficSplit.AllocationsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OD, + packageName: const $pb.PackageName('google.appengine.v1beta')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrafficSplit clone() => TrafficSplit()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrafficSplit copyWith(void Function(TrafficSplit) updates) => + super.copyWith((message) => updates(message as TrafficSplit)) + as TrafficSplit; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrafficSplit create() => TrafficSplit._(); + TrafficSplit createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrafficSplit getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TrafficSplit? _defaultInstance; + + /// Mechanism used to determine which version a request is sent to. + /// The traffic selection algorithm will + /// be stable for either type until allocations are changed. + @$pb.TagNumber(1) + TrafficSplit_ShardBy get shardBy => $_getN(0); + @$pb.TagNumber(1) + set shardBy(TrafficSplit_ShardBy v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasShardBy() => $_has(0); + @$pb.TagNumber(1) + void clearShardBy() => clearField(1); + + /// Mapping from version IDs within the service to fractional + /// (0.000, 1] allocations of traffic for that version. Each version can + /// be specified only once, but some versions in the service may not + /// have any traffic allocation. Services that have traffic allocated + /// cannot be deleted until either the service is deleted or + /// their traffic allocation is removed. Allocations must sum to 1. + /// Up to two decimal place precision is supported for IP-based splits and + /// up to three decimal places is supported for cookie-based splits. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.double> get allocations => $_getMap(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pbenum.dart new file mode 100644 index 00000000..a9c78ca5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pbenum.dart @@ -0,0 +1,41 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Available sharding mechanisms. +class TrafficSplit_ShardBy extends $pb.ProtobufEnum { + static const TrafficSplit_ShardBy UNSPECIFIED = + TrafficSplit_ShardBy._(0, _omitEnumNames ? '' : 'UNSPECIFIED'); + static const TrafficSplit_ShardBy COOKIE = + TrafficSplit_ShardBy._(1, _omitEnumNames ? '' : 'COOKIE'); + static const TrafficSplit_ShardBy IP = + TrafficSplit_ShardBy._(2, _omitEnumNames ? '' : 'IP'); + static const TrafficSplit_ShardBy RANDOM = + TrafficSplit_ShardBy._(3, _omitEnumNames ? '' : 'RANDOM'); + + static const $core.List values = [ + UNSPECIFIED, + COOKIE, + IP, + RANDOM, + ]; + + static final $core.Map<$core.int, TrafficSplit_ShardBy> _byValue = + $pb.ProtobufEnum.initByValue(values); + static TrafficSplit_ShardBy? valueOf($core.int value) => _byValue[value]; + + const TrafficSplit_ShardBy._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pbjson.dart new file mode 100644 index 00000000..8f1a1276 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/service.pbjson.dart @@ -0,0 +1,101 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/service.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use serviceDescriptor instead') +const Service$json = { + '1': 'Service', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'split', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.TrafficSplit', + '10': 'split' + }, + { + '1': 'network_settings', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.NetworkSettings', + '10': 'networkSettings' + }, + ], +}; + +/// Descriptor for `Service`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptor = $convert.base64Decode( + 'CgdTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlkEjsKBXNwbGl0GA' + 'MgASgLMiUuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuVHJhZmZpY1NwbGl0UgVzcGxpdBJTChBu' + 'ZXR3b3JrX3NldHRpbmdzGAYgASgLMiguZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuTmV0d29ya1' + 'NldHRpbmdzUg9uZXR3b3JrU2V0dGluZ3M='); + +@$core.Deprecated('Use trafficSplitDescriptor instead') +const TrafficSplit$json = { + '1': 'TrafficSplit', + '2': [ + { + '1': 'shard_by', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.TrafficSplit.ShardBy', + '10': 'shardBy' + }, + { + '1': 'allocations', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.TrafficSplit.AllocationsEntry', + '10': 'allocations' + }, + ], + '3': [TrafficSplit_AllocationsEntry$json], + '4': [TrafficSplit_ShardBy$json], +}; + +@$core.Deprecated('Use trafficSplitDescriptor instead') +const TrafficSplit_AllocationsEntry$json = { + '1': 'AllocationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 1, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use trafficSplitDescriptor instead') +const TrafficSplit_ShardBy$json = { + '1': 'ShardBy', + '2': [ + {'1': 'UNSPECIFIED', '2': 0}, + {'1': 'COOKIE', '2': 1}, + {'1': 'IP', '2': 2}, + {'1': 'RANDOM', '2': 3}, + ], +}; + +/// Descriptor for `TrafficSplit`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trafficSplitDescriptor = $convert.base64Decode( + 'CgxUcmFmZmljU3BsaXQSSAoIc2hhcmRfYnkYASABKA4yLS5nb29nbGUuYXBwZW5naW5lLnYxYm' + 'V0YS5UcmFmZmljU3BsaXQuU2hhcmRCeVIHc2hhcmRCeRJYCgthbGxvY2F0aW9ucxgCIAMoCzI2' + 'Lmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLlRyYWZmaWNTcGxpdC5BbGxvY2F0aW9uc0VudHJ5Ug' + 'thbGxvY2F0aW9ucxo+ChBBbGxvY2F0aW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZh' + 'bHVlGAIgASgBUgV2YWx1ZToCOAEiOgoHU2hhcmRCeRIPCgtVTlNQRUNJRklFRBAAEgoKBkNPT0' + 'tJRRABEgYKAklQEAISCgoGUkFORE9NEAM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pb.dart new file mode 100644 index 00000000..825d2d4c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pb.dart @@ -0,0 +1,2741 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/version.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import '../../protobuf/timestamp.pb.dart' as $50; +import 'app_yaml.pb.dart' as $52; +import 'deploy.pb.dart' as $53; +import 'version.pbenum.dart'; + +export 'version.pbenum.dart'; + +enum Version_Scaling { automaticScaling, basicScaling, manualScaling, notSet } + +/// A Version resource is a specific set of source code and configuration files +/// that are deployed into a service. +class Version extends $pb.GeneratedMessage { + factory Version({ + $core.String? name, + $core.String? id, + AutomaticScaling? automaticScaling, + BasicScaling? basicScaling, + ManualScaling? manualScaling, + $core.Iterable? inboundServices, + $core.String? instanceClass, + Network? network, + Resources? resources, + $core.String? runtime, + $core.bool? threadsafe, + $core.bool? vm, + $core.Map<$core.String, $core.String>? betaSettings, + $core.String? env, + ServingStatus? servingStatus, + $core.String? createdBy, + $50.Timestamp? createTime, + $fixnum.Int64? diskUsageBytes, + $core.String? runtimeApiVersion, + $core.String? runtimeMainExecutablePath, + $core.Iterable<$52.UrlMap>? handlers, + $core.Iterable<$52.ErrorHandler>? errorHandlers, + $core.Iterable<$52.Library>? libraries, + $52.ApiConfigHandler? apiConfig, + $core.Map<$core.String, $core.String>? envVariables, + $51.Duration? defaultExpiration, + $52.HealthCheck? healthCheck, + $core.String? nobuildFilesRegex, + $53.Deployment? deployment, + $core.String? versionUrl, + EndpointsApiService? endpointsApiService, + $52.ReadinessCheck? readinessCheck, + $52.LivenessCheck? livenessCheck, + $core.String? runtimeChannel, + $core.Iterable<$core.String>? zones, + VpcAccessConnector? vpcAccessConnector, + Entrypoint? entrypoint, + $core.Map<$core.String, $core.String>? buildEnvVariables, + $core.String? serviceAccount, + $core.bool? appEngineApis, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (id != null) { + $result.id = id; + } + if (automaticScaling != null) { + $result.automaticScaling = automaticScaling; + } + if (basicScaling != null) { + $result.basicScaling = basicScaling; + } + if (manualScaling != null) { + $result.manualScaling = manualScaling; + } + if (inboundServices != null) { + $result.inboundServices.addAll(inboundServices); + } + if (instanceClass != null) { + $result.instanceClass = instanceClass; + } + if (network != null) { + $result.network = network; + } + if (resources != null) { + $result.resources = resources; + } + if (runtime != null) { + $result.runtime = runtime; + } + if (threadsafe != null) { + $result.threadsafe = threadsafe; + } + if (vm != null) { + $result.vm = vm; + } + if (betaSettings != null) { + $result.betaSettings.addAll(betaSettings); + } + if (env != null) { + $result.env = env; + } + if (servingStatus != null) { + $result.servingStatus = servingStatus; + } + if (createdBy != null) { + $result.createdBy = createdBy; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (diskUsageBytes != null) { + $result.diskUsageBytes = diskUsageBytes; + } + if (runtimeApiVersion != null) { + $result.runtimeApiVersion = runtimeApiVersion; + } + if (runtimeMainExecutablePath != null) { + $result.runtimeMainExecutablePath = runtimeMainExecutablePath; + } + if (handlers != null) { + $result.handlers.addAll(handlers); + } + if (errorHandlers != null) { + $result.errorHandlers.addAll(errorHandlers); + } + if (libraries != null) { + $result.libraries.addAll(libraries); + } + if (apiConfig != null) { + $result.apiConfig = apiConfig; + } + if (envVariables != null) { + $result.envVariables.addAll(envVariables); + } + if (defaultExpiration != null) { + $result.defaultExpiration = defaultExpiration; + } + if (healthCheck != null) { + $result.healthCheck = healthCheck; + } + if (nobuildFilesRegex != null) { + $result.nobuildFilesRegex = nobuildFilesRegex; + } + if (deployment != null) { + $result.deployment = deployment; + } + if (versionUrl != null) { + $result.versionUrl = versionUrl; + } + if (endpointsApiService != null) { + $result.endpointsApiService = endpointsApiService; + } + if (readinessCheck != null) { + $result.readinessCheck = readinessCheck; + } + if (livenessCheck != null) { + $result.livenessCheck = livenessCheck; + } + if (runtimeChannel != null) { + $result.runtimeChannel = runtimeChannel; + } + if (zones != null) { + $result.zones.addAll(zones); + } + if (vpcAccessConnector != null) { + $result.vpcAccessConnector = vpcAccessConnector; + } + if (entrypoint != null) { + $result.entrypoint = entrypoint; + } + if (buildEnvVariables != null) { + $result.buildEnvVariables.addAll(buildEnvVariables); + } + if (serviceAccount != null) { + $result.serviceAccount = serviceAccount; + } + if (appEngineApis != null) { + $result.appEngineApis = appEngineApis; + } + return $result; + } + Version._() : super(); + factory Version.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Version.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Version_Scaling> _Version_ScalingByTag = { + 3: Version_Scaling.automaticScaling, + 4: Version_Scaling.basicScaling, + 5: Version_Scaling.manualScaling, + 0: Version_Scaling.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Version', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..oo(0, [3, 4, 5]) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'id') + ..aOM(3, _omitFieldNames ? '' : 'automaticScaling', + subBuilder: AutomaticScaling.create) + ..aOM(4, _omitFieldNames ? '' : 'basicScaling', + subBuilder: BasicScaling.create) + ..aOM(5, _omitFieldNames ? '' : 'manualScaling', + subBuilder: ManualScaling.create) + ..pc( + 6, _omitFieldNames ? '' : 'inboundServices', $pb.PbFieldType.KE, + valueOf: InboundServiceType.valueOf, + enumValues: InboundServiceType.values, + defaultEnumValue: InboundServiceType.INBOUND_SERVICE_UNSPECIFIED) + ..aOS(7, _omitFieldNames ? '' : 'instanceClass') + ..aOM(8, _omitFieldNames ? '' : 'network', + subBuilder: Network.create) + ..aOM(9, _omitFieldNames ? '' : 'resources', + subBuilder: Resources.create) + ..aOS(10, _omitFieldNames ? '' : 'runtime') + ..aOB(11, _omitFieldNames ? '' : 'threadsafe') + ..aOB(12, _omitFieldNames ? '' : 'vm') + ..m<$core.String, $core.String>(13, _omitFieldNames ? '' : 'betaSettings', + entryClassName: 'Version.BetaSettingsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1beta')) + ..aOS(14, _omitFieldNames ? '' : 'env') + ..e( + 15, _omitFieldNames ? '' : 'servingStatus', $pb.PbFieldType.OE, + defaultOrMaker: ServingStatus.SERVING_STATUS_UNSPECIFIED, + valueOf: ServingStatus.valueOf, + enumValues: ServingStatus.values) + ..aOS(16, _omitFieldNames ? '' : 'createdBy') + ..aOM<$50.Timestamp>(17, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aInt64(18, _omitFieldNames ? '' : 'diskUsageBytes') + ..aOS(21, _omitFieldNames ? '' : 'runtimeApiVersion') + ..aOS(22, _omitFieldNames ? '' : 'runtimeMainExecutablePath') + ..pc<$52.UrlMap>(100, _omitFieldNames ? '' : 'handlers', $pb.PbFieldType.PM, + subBuilder: $52.UrlMap.create) + ..pc<$52.ErrorHandler>( + 101, _omitFieldNames ? '' : 'errorHandlers', $pb.PbFieldType.PM, + subBuilder: $52.ErrorHandler.create) + ..pc<$52.Library>( + 102, _omitFieldNames ? '' : 'libraries', $pb.PbFieldType.PM, + subBuilder: $52.Library.create) + ..aOM<$52.ApiConfigHandler>(103, _omitFieldNames ? '' : 'apiConfig', + subBuilder: $52.ApiConfigHandler.create) + ..m<$core.String, $core.String>(104, _omitFieldNames ? '' : 'envVariables', + entryClassName: 'Version.EnvVariablesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1beta')) + ..aOM<$51.Duration>(105, _omitFieldNames ? '' : 'defaultExpiration', + subBuilder: $51.Duration.create) + ..aOM<$52.HealthCheck>(106, _omitFieldNames ? '' : 'healthCheck', + subBuilder: $52.HealthCheck.create) + ..aOS(107, _omitFieldNames ? '' : 'nobuildFilesRegex') + ..aOM<$53.Deployment>(108, _omitFieldNames ? '' : 'deployment', + subBuilder: $53.Deployment.create) + ..aOS(109, _omitFieldNames ? '' : 'versionUrl') + ..aOM( + 110, _omitFieldNames ? '' : 'endpointsApiService', + subBuilder: EndpointsApiService.create) + ..aOM<$52.ReadinessCheck>(112, _omitFieldNames ? '' : 'readinessCheck', + subBuilder: $52.ReadinessCheck.create) + ..aOM<$52.LivenessCheck>(113, _omitFieldNames ? '' : 'livenessCheck', + subBuilder: $52.LivenessCheck.create) + ..aOS(117, _omitFieldNames ? '' : 'runtimeChannel') + ..pPS(118, _omitFieldNames ? '' : 'zones') + ..aOM(121, _omitFieldNames ? '' : 'vpcAccessConnector', + subBuilder: VpcAccessConnector.create) + ..aOM(122, _omitFieldNames ? '' : 'entrypoint', + subBuilder: Entrypoint.create) + ..m<$core.String, $core.String>( + 125, _omitFieldNames ? '' : 'buildEnvVariables', + entryClassName: 'Version.BuildEnvVariablesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.appengine.v1beta')) + ..aOS(127, _omitFieldNames ? '' : 'serviceAccount') + ..aOB(128, _omitFieldNames ? '' : 'appEngineApis') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Version clone() => Version()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Version copyWith(void Function(Version) updates) => + super.copyWith((message) => updates(message as Version)) as Version; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Version create() => Version._(); + Version createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Version getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Version? _defaultInstance; + + Version_Scaling whichScaling() => _Version_ScalingByTag[$_whichOneof(0)]!; + void clearScaling() => clearField($_whichOneof(0)); + + /// Full path to the Version resource in the API. Example: + /// `apps/myapp/services/default/versions/v1`. + /// + /// @OutputOnly + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Relative name of the version within the service. Example: `v1`. + /// Version names can contain only lowercase letters, numbers, or hyphens. + /// Reserved names: "default", "latest", and any name with the prefix "ah-". + @$pb.TagNumber(2) + $core.String get id => $_getSZ(1); + @$pb.TagNumber(2) + set id($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// Automatic scaling is based on request rate, response latencies, and other + /// application metrics. Instances are dynamically created and destroyed as + /// needed in order to handle traffic. + @$pb.TagNumber(3) + AutomaticScaling get automaticScaling => $_getN(2); + @$pb.TagNumber(3) + set automaticScaling(AutomaticScaling v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasAutomaticScaling() => $_has(2); + @$pb.TagNumber(3) + void clearAutomaticScaling() => clearField(3); + @$pb.TagNumber(3) + AutomaticScaling ensureAutomaticScaling() => $_ensure(2); + + /// A service with basic scaling will create an instance when the application + /// receives a request. The instance will be turned down when the app becomes + /// idle. Basic scaling is ideal for work that is intermittent or driven by + /// user activity. + @$pb.TagNumber(4) + BasicScaling get basicScaling => $_getN(3); + @$pb.TagNumber(4) + set basicScaling(BasicScaling v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasBasicScaling() => $_has(3); + @$pb.TagNumber(4) + void clearBasicScaling() => clearField(4); + @$pb.TagNumber(4) + BasicScaling ensureBasicScaling() => $_ensure(3); + + /// A service with manual scaling runs continuously, allowing you to perform + /// complex initialization and rely on the state of its memory over time. + /// Manually scaled versions are sometimes referred to as "backends". + @$pb.TagNumber(5) + ManualScaling get manualScaling => $_getN(4); + @$pb.TagNumber(5) + set manualScaling(ManualScaling v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasManualScaling() => $_has(4); + @$pb.TagNumber(5) + void clearManualScaling() => clearField(5); + @$pb.TagNumber(5) + ManualScaling ensureManualScaling() => $_ensure(4); + + /// Before an application can receive email or XMPP messages, the application + /// must be configured to enable the service. + @$pb.TagNumber(6) + $core.List get inboundServices => $_getList(5); + + /// Instance class that is used to run this version. Valid values are: + /// + /// * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` + /// * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` + /// + /// Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or + /// BasicScaling. + @$pb.TagNumber(7) + $core.String get instanceClass => $_getSZ(6); + @$pb.TagNumber(7) + set instanceClass($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasInstanceClass() => $_has(6); + @$pb.TagNumber(7) + void clearInstanceClass() => clearField(7); + + /// Extra network settings. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(8) + Network get network => $_getN(7); + @$pb.TagNumber(8) + set network(Network v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasNetwork() => $_has(7); + @$pb.TagNumber(8) + void clearNetwork() => clearField(8); + @$pb.TagNumber(8) + Network ensureNetwork() => $_ensure(7); + + /// Machine resources for this version. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(9) + Resources get resources => $_getN(8); + @$pb.TagNumber(9) + set resources(Resources v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasResources() => $_has(8); + @$pb.TagNumber(9) + void clearResources() => clearField(9); + @$pb.TagNumber(9) + Resources ensureResources() => $_ensure(8); + + /// Desired runtime. Example: `python27`. + @$pb.TagNumber(10) + $core.String get runtime => $_getSZ(9); + @$pb.TagNumber(10) + set runtime($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasRuntime() => $_has(9); + @$pb.TagNumber(10) + void clearRuntime() => clearField(10); + + /// Whether multiple requests can be dispatched to this version at once. + @$pb.TagNumber(11) + $core.bool get threadsafe => $_getBF(10); + @$pb.TagNumber(11) + set threadsafe($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasThreadsafe() => $_has(10); + @$pb.TagNumber(11) + void clearThreadsafe() => clearField(11); + + /// Whether to deploy this version in a container on a virtual machine. + @$pb.TagNumber(12) + $core.bool get vm => $_getBF(11); + @$pb.TagNumber(12) + set vm($core.bool v) { + $_setBool(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasVm() => $_has(11); + @$pb.TagNumber(12) + void clearVm() => clearField(12); + + /// Metadata settings that are supplied to this version to enable + /// beta runtime features. + @$pb.TagNumber(13) + $core.Map<$core.String, $core.String> get betaSettings => $_getMap(12); + + /// App Engine execution environment for this version. + /// + /// Defaults to `standard`. + @$pb.TagNumber(14) + $core.String get env => $_getSZ(13); + @$pb.TagNumber(14) + set env($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasEnv() => $_has(13); + @$pb.TagNumber(14) + void clearEnv() => clearField(14); + + /// Current serving status of this version. Only the versions with a + /// `SERVING` status create instances and can be billed. + /// + /// `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`. + @$pb.TagNumber(15) + ServingStatus get servingStatus => $_getN(14); + @$pb.TagNumber(15) + set servingStatus(ServingStatus v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasServingStatus() => $_has(14); + @$pb.TagNumber(15) + void clearServingStatus() => clearField(15); + + /// Email address of the user who created this version. + /// + /// @OutputOnly + @$pb.TagNumber(16) + $core.String get createdBy => $_getSZ(15); + @$pb.TagNumber(16) + set createdBy($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(16) + $core.bool hasCreatedBy() => $_has(15); + @$pb.TagNumber(16) + void clearCreatedBy() => clearField(16); + + /// Time that this version was created. + /// + /// @OutputOnly + @$pb.TagNumber(17) + $50.Timestamp get createTime => $_getN(16); + @$pb.TagNumber(17) + set createTime($50.Timestamp v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasCreateTime() => $_has(16); + @$pb.TagNumber(17) + void clearCreateTime() => clearField(17); + @$pb.TagNumber(17) + $50.Timestamp ensureCreateTime() => $_ensure(16); + + /// Total size in bytes of all the files that are included in this version + /// and currently hosted on the App Engine disk. + /// + /// @OutputOnly + @$pb.TagNumber(18) + $fixnum.Int64 get diskUsageBytes => $_getI64(17); + @$pb.TagNumber(18) + set diskUsageBytes($fixnum.Int64 v) { + $_setInt64(17, v); + } + + @$pb.TagNumber(18) + $core.bool hasDiskUsageBytes() => $_has(17); + @$pb.TagNumber(18) + void clearDiskUsageBytes() => clearField(18); + + /// The version of the API in the given runtime environment. Please see the + /// app.yaml reference for valid values at + /// https://cloud.google.com/appengine/docs/standard//config/appref + @$pb.TagNumber(21) + $core.String get runtimeApiVersion => $_getSZ(18); + @$pb.TagNumber(21) + set runtimeApiVersion($core.String v) { + $_setString(18, v); + } + + @$pb.TagNumber(21) + $core.bool hasRuntimeApiVersion() => $_has(18); + @$pb.TagNumber(21) + void clearRuntimeApiVersion() => clearField(21); + + /// The path or name of the app's main executable. + @$pb.TagNumber(22) + $core.String get runtimeMainExecutablePath => $_getSZ(19); + @$pb.TagNumber(22) + set runtimeMainExecutablePath($core.String v) { + $_setString(19, v); + } + + @$pb.TagNumber(22) + $core.bool hasRuntimeMainExecutablePath() => $_has(19); + @$pb.TagNumber(22) + void clearRuntimeMainExecutablePath() => clearField(22); + + /// An ordered list of URL-matching patterns that should be applied to incoming + /// requests. The first matching URL handles the request and other request + /// handlers are not attempted. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(100) + $core.List<$52.UrlMap> get handlers => $_getList(20); + + /// Custom static error pages. Limited to 10KB per page. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(101) + $core.List<$52.ErrorHandler> get errorHandlers => $_getList(21); + + /// Configuration for third-party Python runtime libraries that are required + /// by the application. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(102) + $core.List<$52.Library> get libraries => $_getList(22); + + /// Serving configuration for + /// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(103) + $52.ApiConfigHandler get apiConfig => $_getN(23); + @$pb.TagNumber(103) + set apiConfig($52.ApiConfigHandler v) { + setField(103, v); + } + + @$pb.TagNumber(103) + $core.bool hasApiConfig() => $_has(23); + @$pb.TagNumber(103) + void clearApiConfig() => clearField(103); + @$pb.TagNumber(103) + $52.ApiConfigHandler ensureApiConfig() => $_ensure(23); + + /// Environment variables available to the application. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(104) + $core.Map<$core.String, $core.String> get envVariables => $_getMap(24); + + /// Duration that static files should be cached by web proxies and browsers. + /// Only applicable if the corresponding + /// [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StaticFilesHandler) + /// does not specify its own expiration time. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(105) + $51.Duration get defaultExpiration => $_getN(25); + @$pb.TagNumber(105) + set defaultExpiration($51.Duration v) { + setField(105, v); + } + + @$pb.TagNumber(105) + $core.bool hasDefaultExpiration() => $_has(25); + @$pb.TagNumber(105) + void clearDefaultExpiration() => clearField(105); + @$pb.TagNumber(105) + $51.Duration ensureDefaultExpiration() => $_ensure(25); + + /// Configures health checking for instances. Unhealthy instances are + /// stopped and replaced with new instances. + /// Only applicable in the App Engine flexible environment. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(106) + $52.HealthCheck get healthCheck => $_getN(26); + @$pb.TagNumber(106) + set healthCheck($52.HealthCheck v) { + setField(106, v); + } + + @$pb.TagNumber(106) + $core.bool hasHealthCheck() => $_has(26); + @$pb.TagNumber(106) + void clearHealthCheck() => clearField(106); + @$pb.TagNumber(106) + $52.HealthCheck ensureHealthCheck() => $_ensure(26); + + /// Files that match this pattern will not be built into this version. + /// Only applicable for Go runtimes. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(107) + $core.String get nobuildFilesRegex => $_getSZ(27); + @$pb.TagNumber(107) + set nobuildFilesRegex($core.String v) { + $_setString(27, v); + } + + @$pb.TagNumber(107) + $core.bool hasNobuildFilesRegex() => $_has(27); + @$pb.TagNumber(107) + void clearNobuildFilesRegex() => clearField(107); + + /// Code and application artifacts that make up this version. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(108) + $53.Deployment get deployment => $_getN(28); + @$pb.TagNumber(108) + set deployment($53.Deployment v) { + setField(108, v); + } + + @$pb.TagNumber(108) + $core.bool hasDeployment() => $_has(28); + @$pb.TagNumber(108) + void clearDeployment() => clearField(108); + @$pb.TagNumber(108) + $53.Deployment ensureDeployment() => $_ensure(28); + + /// Serving URL for this version. Example: + /// "https://myversion-dot-myservice-dot-myapp.appspot.com" + /// + /// @OutputOnly + @$pb.TagNumber(109) + $core.String get versionUrl => $_getSZ(29); + @$pb.TagNumber(109) + set versionUrl($core.String v) { + $_setString(29, v); + } + + @$pb.TagNumber(109) + $core.bool hasVersionUrl() => $_has(29); + @$pb.TagNumber(109) + void clearVersionUrl() => clearField(109); + + /// Cloud Endpoints configuration. + /// + /// If endpoints_api_service is set, the Cloud Endpoints Extensible Service + /// Proxy will be provided to serve the API implemented by the app. + @$pb.TagNumber(110) + EndpointsApiService get endpointsApiService => $_getN(30); + @$pb.TagNumber(110) + set endpointsApiService(EndpointsApiService v) { + setField(110, v); + } + + @$pb.TagNumber(110) + $core.bool hasEndpointsApiService() => $_has(30); + @$pb.TagNumber(110) + void clearEndpointsApiService() => clearField(110); + @$pb.TagNumber(110) + EndpointsApiService ensureEndpointsApiService() => $_ensure(30); + + /// Configures readiness health checking for instances. + /// Unhealthy instances are not put into the backend traffic rotation. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(112) + $52.ReadinessCheck get readinessCheck => $_getN(31); + @$pb.TagNumber(112) + set readinessCheck($52.ReadinessCheck v) { + setField(112, v); + } + + @$pb.TagNumber(112) + $core.bool hasReadinessCheck() => $_has(31); + @$pb.TagNumber(112) + void clearReadinessCheck() => clearField(112); + @$pb.TagNumber(112) + $52.ReadinessCheck ensureReadinessCheck() => $_ensure(31); + + /// Configures liveness health checking for instances. + /// Unhealthy instances are stopped and replaced with new instances + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(113) + $52.LivenessCheck get livenessCheck => $_getN(32); + @$pb.TagNumber(113) + set livenessCheck($52.LivenessCheck v) { + setField(113, v); + } + + @$pb.TagNumber(113) + $core.bool hasLivenessCheck() => $_has(32); + @$pb.TagNumber(113) + void clearLivenessCheck() => clearField(113); + @$pb.TagNumber(113) + $52.LivenessCheck ensureLivenessCheck() => $_ensure(32); + + /// The channel of the runtime to use. Only available for some + /// runtimes. Defaults to the `default` channel. + @$pb.TagNumber(117) + $core.String get runtimeChannel => $_getSZ(33); + @$pb.TagNumber(117) + set runtimeChannel($core.String v) { + $_setString(33, v); + } + + @$pb.TagNumber(117) + $core.bool hasRuntimeChannel() => $_has(33); + @$pb.TagNumber(117) + void clearRuntimeChannel() => clearField(117); + + /// The Google Compute Engine zones that are supported by this version in the + /// App Engine flexible environment. Deprecated. + @$pb.TagNumber(118) + $core.List<$core.String> get zones => $_getList(34); + + /// Enables VPC connectivity for standard apps. + @$pb.TagNumber(121) + VpcAccessConnector get vpcAccessConnector => $_getN(35); + @$pb.TagNumber(121) + set vpcAccessConnector(VpcAccessConnector v) { + setField(121, v); + } + + @$pb.TagNumber(121) + $core.bool hasVpcAccessConnector() => $_has(35); + @$pb.TagNumber(121) + void clearVpcAccessConnector() => clearField(121); + @$pb.TagNumber(121) + VpcAccessConnector ensureVpcAccessConnector() => $_ensure(35); + + /// The entrypoint for the application. + @$pb.TagNumber(122) + Entrypoint get entrypoint => $_getN(36); + @$pb.TagNumber(122) + set entrypoint(Entrypoint v) { + setField(122, v); + } + + @$pb.TagNumber(122) + $core.bool hasEntrypoint() => $_has(36); + @$pb.TagNumber(122) + void clearEntrypoint() => clearField(122); + @$pb.TagNumber(122) + Entrypoint ensureEntrypoint() => $_ensure(36); + + /// Environment variables available to the build environment. + /// + /// Only returned in `GET` requests if `view=FULL` is set. + @$pb.TagNumber(125) + $core.Map<$core.String, $core.String> get buildEnvVariables => $_getMap(37); + + /// The identity that the deployed version will run as. + /// Admin API will use the App Engine Appspot service account as default if + /// this field is neither provided in app.yaml file nor through CLI flag. + @$pb.TagNumber(127) + $core.String get serviceAccount => $_getSZ(38); + @$pb.TagNumber(127) + set serviceAccount($core.String v) { + $_setString(38, v); + } + + @$pb.TagNumber(127) + $core.bool hasServiceAccount() => $_has(38); + @$pb.TagNumber(127) + void clearServiceAccount() => clearField(127); + + /// app_engine_apis allows second generation runtimes to access the + /// App Engine APIs. + @$pb.TagNumber(128) + $core.bool get appEngineApis => $_getBF(39); + @$pb.TagNumber(128) + set appEngineApis($core.bool v) { + $_setBool(39, v); + } + + @$pb.TagNumber(128) + $core.bool hasAppEngineApis() => $_has(39); + @$pb.TagNumber(128) + void clearAppEngineApis() => clearField(128); +} + +/// [Cloud Endpoints](https://cloud.google.com/endpoints) configuration. +/// The Endpoints API Service provides tooling for serving Open API and gRPC +/// endpoints via an NGINX proxy. Only valid for App Engine Flexible environment +/// deployments. +/// +/// The fields here refer to the name and configuration ID of a "service" +/// resource in the [Service Management API](https://cloud.google.com/service-management/overview). +class EndpointsApiService extends $pb.GeneratedMessage { + factory EndpointsApiService({ + $core.String? name, + $core.String? configId, + EndpointsApiService_RolloutStrategy? rolloutStrategy, + $core.bool? disableTraceSampling, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (configId != null) { + $result.configId = configId; + } + if (rolloutStrategy != null) { + $result.rolloutStrategy = rolloutStrategy; + } + if (disableTraceSampling != null) { + $result.disableTraceSampling = disableTraceSampling; + } + return $result; + } + EndpointsApiService._() : super(); + factory EndpointsApiService.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EndpointsApiService.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EndpointsApiService', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'configId') + ..e( + 3, _omitFieldNames ? '' : 'rolloutStrategy', $pb.PbFieldType.OE, + defaultOrMaker: + EndpointsApiService_RolloutStrategy.UNSPECIFIED_ROLLOUT_STRATEGY, + valueOf: EndpointsApiService_RolloutStrategy.valueOf, + enumValues: EndpointsApiService_RolloutStrategy.values) + ..aOB(4, _omitFieldNames ? '' : 'disableTraceSampling') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EndpointsApiService clone() => EndpointsApiService()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EndpointsApiService copyWith(void Function(EndpointsApiService) updates) => + super.copyWith((message) => updates(message as EndpointsApiService)) + as EndpointsApiService; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EndpointsApiService create() => EndpointsApiService._(); + EndpointsApiService createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EndpointsApiService getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EndpointsApiService? _defaultInstance; + + /// Endpoints service name which is the name of the "service" resource in the + /// Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Endpoints service configuration ID as specified by the Service Management + /// API. For example "2016-09-19r1". + /// + /// By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`. + /// This means that Endpoints starts up with a particular configuration ID. + /// When a new configuration is rolled out, Endpoints must be given the new + /// configuration ID. The `config_id` field is used to give the configuration + /// ID and is required in this case. + /// + /// Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`. + /// When using this, Endpoints fetches the latest configuration and does not + /// need the configuration ID. In this case, `config_id` must be omitted. + @$pb.TagNumber(2) + $core.String get configId => $_getSZ(1); + @$pb.TagNumber(2) + set configId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasConfigId() => $_has(1); + @$pb.TagNumber(2) + void clearConfigId() => clearField(2); + + /// Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If + /// `MANAGED`, `config_id` must be omitted. + @$pb.TagNumber(3) + EndpointsApiService_RolloutStrategy get rolloutStrategy => $_getN(2); + @$pb.TagNumber(3) + set rolloutStrategy(EndpointsApiService_RolloutStrategy v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasRolloutStrategy() => $_has(2); + @$pb.TagNumber(3) + void clearRolloutStrategy() => clearField(3); + + /// Enable or disable trace sampling. By default, this is set to false for + /// enabled. + @$pb.TagNumber(4) + $core.bool get disableTraceSampling => $_getBF(3); + @$pb.TagNumber(4) + set disableTraceSampling($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisableTraceSampling() => $_has(3); + @$pb.TagNumber(4) + void clearDisableTraceSampling() => clearField(4); +} + +/// Automatic scaling is based on request rate, response latencies, and other +/// application metrics. +class AutomaticScaling extends $pb.GeneratedMessage { + factory AutomaticScaling({ + $51.Duration? coolDownPeriod, + CpuUtilization? cpuUtilization, + $core.int? maxConcurrentRequests, + $core.int? maxIdleInstances, + $core.int? maxTotalInstances, + $51.Duration? maxPendingLatency, + $core.int? minIdleInstances, + $core.int? minTotalInstances, + $51.Duration? minPendingLatency, + RequestUtilization? requestUtilization, + DiskUtilization? diskUtilization, + NetworkUtilization? networkUtilization, + StandardSchedulerSettings? standardSchedulerSettings, + $core.Iterable? customMetrics, + }) { + final $result = create(); + if (coolDownPeriod != null) { + $result.coolDownPeriod = coolDownPeriod; + } + if (cpuUtilization != null) { + $result.cpuUtilization = cpuUtilization; + } + if (maxConcurrentRequests != null) { + $result.maxConcurrentRequests = maxConcurrentRequests; + } + if (maxIdleInstances != null) { + $result.maxIdleInstances = maxIdleInstances; + } + if (maxTotalInstances != null) { + $result.maxTotalInstances = maxTotalInstances; + } + if (maxPendingLatency != null) { + $result.maxPendingLatency = maxPendingLatency; + } + if (minIdleInstances != null) { + $result.minIdleInstances = minIdleInstances; + } + if (minTotalInstances != null) { + $result.minTotalInstances = minTotalInstances; + } + if (minPendingLatency != null) { + $result.minPendingLatency = minPendingLatency; + } + if (requestUtilization != null) { + $result.requestUtilization = requestUtilization; + } + if (diskUtilization != null) { + $result.diskUtilization = diskUtilization; + } + if (networkUtilization != null) { + $result.networkUtilization = networkUtilization; + } + if (standardSchedulerSettings != null) { + $result.standardSchedulerSettings = standardSchedulerSettings; + } + if (customMetrics != null) { + $result.customMetrics.addAll(customMetrics); + } + return $result; + } + AutomaticScaling._() : super(); + factory AutomaticScaling.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AutomaticScaling.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AutomaticScaling', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'coolDownPeriod', + subBuilder: $51.Duration.create) + ..aOM(2, _omitFieldNames ? '' : 'cpuUtilization', + subBuilder: CpuUtilization.create) + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'maxConcurrentRequests', $pb.PbFieldType.O3) + ..a<$core.int>( + 4, _omitFieldNames ? '' : 'maxIdleInstances', $pb.PbFieldType.O3) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'maxTotalInstances', $pb.PbFieldType.O3) + ..aOM<$51.Duration>(6, _omitFieldNames ? '' : 'maxPendingLatency', + subBuilder: $51.Duration.create) + ..a<$core.int>( + 7, _omitFieldNames ? '' : 'minIdleInstances', $pb.PbFieldType.O3) + ..a<$core.int>( + 8, _omitFieldNames ? '' : 'minTotalInstances', $pb.PbFieldType.O3) + ..aOM<$51.Duration>(9, _omitFieldNames ? '' : 'minPendingLatency', + subBuilder: $51.Duration.create) + ..aOM(10, _omitFieldNames ? '' : 'requestUtilization', + subBuilder: RequestUtilization.create) + ..aOM(11, _omitFieldNames ? '' : 'diskUtilization', + subBuilder: DiskUtilization.create) + ..aOM(12, _omitFieldNames ? '' : 'networkUtilization', + subBuilder: NetworkUtilization.create) + ..aOM( + 20, _omitFieldNames ? '' : 'standardSchedulerSettings', + subBuilder: StandardSchedulerSettings.create) + ..pc( + 21, _omitFieldNames ? '' : 'customMetrics', $pb.PbFieldType.PM, + subBuilder: CustomMetric.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AutomaticScaling clone() => AutomaticScaling()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AutomaticScaling copyWith(void Function(AutomaticScaling) updates) => + super.copyWith((message) => updates(message as AutomaticScaling)) + as AutomaticScaling; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AutomaticScaling create() => AutomaticScaling._(); + AutomaticScaling createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AutomaticScaling getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AutomaticScaling? _defaultInstance; + + /// The time period that the + /// [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) + /// should wait before it starts collecting information from a new instance. + /// This prevents the autoscaler from collecting information when the instance + /// is initializing, during which the collected usage would not be reliable. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(1) + $51.Duration get coolDownPeriod => $_getN(0); + @$pb.TagNumber(1) + set coolDownPeriod($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCoolDownPeriod() => $_has(0); + @$pb.TagNumber(1) + void clearCoolDownPeriod() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureCoolDownPeriod() => $_ensure(0); + + /// Target scaling by CPU usage. + @$pb.TagNumber(2) + CpuUtilization get cpuUtilization => $_getN(1); + @$pb.TagNumber(2) + set cpuUtilization(CpuUtilization v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCpuUtilization() => $_has(1); + @$pb.TagNumber(2) + void clearCpuUtilization() => clearField(2); + @$pb.TagNumber(2) + CpuUtilization ensureCpuUtilization() => $_ensure(1); + + /// Number of concurrent requests an automatic scaling instance can accept + /// before the scheduler spawns a new instance. + /// + /// Defaults to a runtime-specific value. + @$pb.TagNumber(3) + $core.int get maxConcurrentRequests => $_getIZ(2); + @$pb.TagNumber(3) + set maxConcurrentRequests($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMaxConcurrentRequests() => $_has(2); + @$pb.TagNumber(3) + void clearMaxConcurrentRequests() => clearField(3); + + /// Maximum number of idle instances that should be maintained for this + /// version. + @$pb.TagNumber(4) + $core.int get maxIdleInstances => $_getIZ(3); + @$pb.TagNumber(4) + set maxIdleInstances($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMaxIdleInstances() => $_has(3); + @$pb.TagNumber(4) + void clearMaxIdleInstances() => clearField(4); + + /// Maximum number of instances that should be started to handle requests for + /// this version. + @$pb.TagNumber(5) + $core.int get maxTotalInstances => $_getIZ(4); + @$pb.TagNumber(5) + set maxTotalInstances($core.int v) { + $_setSignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasMaxTotalInstances() => $_has(4); + @$pb.TagNumber(5) + void clearMaxTotalInstances() => clearField(5); + + /// Maximum amount of time that a request should wait in the pending queue + /// before starting a new instance to handle it. + @$pb.TagNumber(6) + $51.Duration get maxPendingLatency => $_getN(5); + @$pb.TagNumber(6) + set maxPendingLatency($51.Duration v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasMaxPendingLatency() => $_has(5); + @$pb.TagNumber(6) + void clearMaxPendingLatency() => clearField(6); + @$pb.TagNumber(6) + $51.Duration ensureMaxPendingLatency() => $_ensure(5); + + /// Minimum number of idle instances that should be maintained for + /// this version. Only applicable for the default version of a service. + @$pb.TagNumber(7) + $core.int get minIdleInstances => $_getIZ(6); + @$pb.TagNumber(7) + set minIdleInstances($core.int v) { + $_setSignedInt32(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasMinIdleInstances() => $_has(6); + @$pb.TagNumber(7) + void clearMinIdleInstances() => clearField(7); + + /// Minimum number of running instances that should be maintained for this + /// version. + @$pb.TagNumber(8) + $core.int get minTotalInstances => $_getIZ(7); + @$pb.TagNumber(8) + set minTotalInstances($core.int v) { + $_setSignedInt32(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasMinTotalInstances() => $_has(7); + @$pb.TagNumber(8) + void clearMinTotalInstances() => clearField(8); + + /// Minimum amount of time a request should wait in the pending queue before + /// starting a new instance to handle it. + @$pb.TagNumber(9) + $51.Duration get minPendingLatency => $_getN(8); + @$pb.TagNumber(9) + set minPendingLatency($51.Duration v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasMinPendingLatency() => $_has(8); + @$pb.TagNumber(9) + void clearMinPendingLatency() => clearField(9); + @$pb.TagNumber(9) + $51.Duration ensureMinPendingLatency() => $_ensure(8); + + /// Target scaling by request utilization. + @$pb.TagNumber(10) + RequestUtilization get requestUtilization => $_getN(9); + @$pb.TagNumber(10) + set requestUtilization(RequestUtilization v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasRequestUtilization() => $_has(9); + @$pb.TagNumber(10) + void clearRequestUtilization() => clearField(10); + @$pb.TagNumber(10) + RequestUtilization ensureRequestUtilization() => $_ensure(9); + + /// Target scaling by disk usage. + @$pb.TagNumber(11) + DiskUtilization get diskUtilization => $_getN(10); + @$pb.TagNumber(11) + set diskUtilization(DiskUtilization v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasDiskUtilization() => $_has(10); + @$pb.TagNumber(11) + void clearDiskUtilization() => clearField(11); + @$pb.TagNumber(11) + DiskUtilization ensureDiskUtilization() => $_ensure(10); + + /// Target scaling by network usage. + @$pb.TagNumber(12) + NetworkUtilization get networkUtilization => $_getN(11); + @$pb.TagNumber(12) + set networkUtilization(NetworkUtilization v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasNetworkUtilization() => $_has(11); + @$pb.TagNumber(12) + void clearNetworkUtilization() => clearField(12); + @$pb.TagNumber(12) + NetworkUtilization ensureNetworkUtilization() => $_ensure(11); + + /// Scheduler settings for standard environment. + @$pb.TagNumber(20) + StandardSchedulerSettings get standardSchedulerSettings => $_getN(12); + @$pb.TagNumber(20) + set standardSchedulerSettings(StandardSchedulerSettings v) { + setField(20, v); + } + + @$pb.TagNumber(20) + $core.bool hasStandardSchedulerSettings() => $_has(12); + @$pb.TagNumber(20) + void clearStandardSchedulerSettings() => clearField(20); + @$pb.TagNumber(20) + StandardSchedulerSettings ensureStandardSchedulerSettings() => $_ensure(12); + + /// Target scaling by user-provided metrics. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(21) + $core.List get customMetrics => $_getList(13); +} + +/// A service with basic scaling will create an instance when the application +/// receives a request. The instance will be turned down when the app becomes +/// idle. Basic scaling is ideal for work that is intermittent or driven by +/// user activity. +class BasicScaling extends $pb.GeneratedMessage { + factory BasicScaling({ + $51.Duration? idleTimeout, + $core.int? maxInstances, + }) { + final $result = create(); + if (idleTimeout != null) { + $result.idleTimeout = idleTimeout; + } + if (maxInstances != null) { + $result.maxInstances = maxInstances; + } + return $result; + } + BasicScaling._() : super(); + factory BasicScaling.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BasicScaling.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BasicScaling', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'idleTimeout', + subBuilder: $51.Duration.create) + ..a<$core.int>(2, _omitFieldNames ? '' : 'maxInstances', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BasicScaling clone() => BasicScaling()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BasicScaling copyWith(void Function(BasicScaling) updates) => + super.copyWith((message) => updates(message as BasicScaling)) + as BasicScaling; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BasicScaling create() => BasicScaling._(); + BasicScaling createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BasicScaling getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BasicScaling? _defaultInstance; + + /// Duration of time after the last request that an instance must wait before + /// the instance is shut down. + @$pb.TagNumber(1) + $51.Duration get idleTimeout => $_getN(0); + @$pb.TagNumber(1) + set idleTimeout($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasIdleTimeout() => $_has(0); + @$pb.TagNumber(1) + void clearIdleTimeout() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureIdleTimeout() => $_ensure(0); + + /// Maximum number of instances to create for this version. + @$pb.TagNumber(2) + $core.int get maxInstances => $_getIZ(1); + @$pb.TagNumber(2) + set maxInstances($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMaxInstances() => $_has(1); + @$pb.TagNumber(2) + void clearMaxInstances() => clearField(2); +} + +/// A service with manual scaling runs continuously, allowing you to perform +/// complex initialization and rely on the state of its memory over time. +class ManualScaling extends $pb.GeneratedMessage { + factory ManualScaling({ + $core.int? instances, + }) { + final $result = create(); + if (instances != null) { + $result.instances = instances; + } + return $result; + } + ManualScaling._() : super(); + factory ManualScaling.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ManualScaling.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ManualScaling', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'instances', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ManualScaling clone() => ManualScaling()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ManualScaling copyWith(void Function(ManualScaling) updates) => + super.copyWith((message) => updates(message as ManualScaling)) + as ManualScaling; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ManualScaling create() => ManualScaling._(); + ManualScaling createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ManualScaling getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ManualScaling? _defaultInstance; + + /// Number of instances to assign to the service at the start. This number + /// can later be altered by using the + /// [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) + /// `set_num_instances()` function. + @$pb.TagNumber(1) + $core.int get instances => $_getIZ(0); + @$pb.TagNumber(1) + set instances($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInstances() => $_has(0); + @$pb.TagNumber(1) + void clearInstances() => clearField(1); +} + +/// Target scaling by CPU usage. +class CpuUtilization extends $pb.GeneratedMessage { + factory CpuUtilization({ + $51.Duration? aggregationWindowLength, + $core.double? targetUtilization, + }) { + final $result = create(); + if (aggregationWindowLength != null) { + $result.aggregationWindowLength = aggregationWindowLength; + } + if (targetUtilization != null) { + $result.targetUtilization = targetUtilization; + } + return $result; + } + CpuUtilization._() : super(); + factory CpuUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CpuUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CpuUtilization', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOM<$51.Duration>(1, _omitFieldNames ? '' : 'aggregationWindowLength', + subBuilder: $51.Duration.create) + ..a<$core.double>( + 2, _omitFieldNames ? '' : 'targetUtilization', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CpuUtilization clone() => CpuUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CpuUtilization copyWith(void Function(CpuUtilization) updates) => + super.copyWith((message) => updates(message as CpuUtilization)) + as CpuUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CpuUtilization create() => CpuUtilization._(); + CpuUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CpuUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CpuUtilization? _defaultInstance; + + /// Period of time over which CPU utilization is calculated. + @$pb.TagNumber(1) + $51.Duration get aggregationWindowLength => $_getN(0); + @$pb.TagNumber(1) + set aggregationWindowLength($51.Duration v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasAggregationWindowLength() => $_has(0); + @$pb.TagNumber(1) + void clearAggregationWindowLength() => clearField(1); + @$pb.TagNumber(1) + $51.Duration ensureAggregationWindowLength() => $_ensure(0); + + /// Target CPU utilization ratio to maintain when scaling. Must be between 0 + /// and 1. + @$pb.TagNumber(2) + $core.double get targetUtilization => $_getN(1); + @$pb.TagNumber(2) + set targetUtilization($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetUtilization() => $_has(1); + @$pb.TagNumber(2) + void clearTargetUtilization() => clearField(2); +} + +/// Target scaling by request utilization. +/// Only applicable in the App Engine flexible environment. +class RequestUtilization extends $pb.GeneratedMessage { + factory RequestUtilization({ + $core.int? targetRequestCountPerSecond, + $core.int? targetConcurrentRequests, + }) { + final $result = create(); + if (targetRequestCountPerSecond != null) { + $result.targetRequestCountPerSecond = targetRequestCountPerSecond; + } + if (targetConcurrentRequests != null) { + $result.targetConcurrentRequests = targetConcurrentRequests; + } + return $result; + } + RequestUtilization._() : super(); + factory RequestUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RequestUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RequestUtilization', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'targetRequestCountPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'targetConcurrentRequests', + $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RequestUtilization clone() => RequestUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RequestUtilization copyWith(void Function(RequestUtilization) updates) => + super.copyWith((message) => updates(message as RequestUtilization)) + as RequestUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RequestUtilization create() => RequestUtilization._(); + RequestUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RequestUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RequestUtilization? _defaultInstance; + + /// Target requests per second. + @$pb.TagNumber(1) + $core.int get targetRequestCountPerSecond => $_getIZ(0); + @$pb.TagNumber(1) + set targetRequestCountPerSecond($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTargetRequestCountPerSecond() => $_has(0); + @$pb.TagNumber(1) + void clearTargetRequestCountPerSecond() => clearField(1); + + /// Target number of concurrent requests. + @$pb.TagNumber(2) + $core.int get targetConcurrentRequests => $_getIZ(1); + @$pb.TagNumber(2) + set targetConcurrentRequests($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetConcurrentRequests() => $_has(1); + @$pb.TagNumber(2) + void clearTargetConcurrentRequests() => clearField(2); +} + +/// Target scaling by disk usage. +/// Only applicable in the App Engine flexible environment. +class DiskUtilization extends $pb.GeneratedMessage { + factory DiskUtilization({ + $core.int? targetWriteBytesPerSecond, + $core.int? targetWriteOpsPerSecond, + $core.int? targetReadBytesPerSecond, + $core.int? targetReadOpsPerSecond, + }) { + final $result = create(); + if (targetWriteBytesPerSecond != null) { + $result.targetWriteBytesPerSecond = targetWriteBytesPerSecond; + } + if (targetWriteOpsPerSecond != null) { + $result.targetWriteOpsPerSecond = targetWriteOpsPerSecond; + } + if (targetReadBytesPerSecond != null) { + $result.targetReadBytesPerSecond = targetReadBytesPerSecond; + } + if (targetReadOpsPerSecond != null) { + $result.targetReadOpsPerSecond = targetReadOpsPerSecond; + } + return $result; + } + DiskUtilization._() : super(); + factory DiskUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DiskUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DiskUtilization', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.int>(14, _omitFieldNames ? '' : 'targetWriteBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(15, _omitFieldNames ? '' : 'targetWriteOpsPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(16, _omitFieldNames ? '' : 'targetReadBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>( + 17, _omitFieldNames ? '' : 'targetReadOpsPerSecond', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DiskUtilization clone() => DiskUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DiskUtilization copyWith(void Function(DiskUtilization) updates) => + super.copyWith((message) => updates(message as DiskUtilization)) + as DiskUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DiskUtilization create() => DiskUtilization._(); + DiskUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DiskUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DiskUtilization? _defaultInstance; + + /// Target bytes written per second. + @$pb.TagNumber(14) + $core.int get targetWriteBytesPerSecond => $_getIZ(0); + @$pb.TagNumber(14) + set targetWriteBytesPerSecond($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(14) + $core.bool hasTargetWriteBytesPerSecond() => $_has(0); + @$pb.TagNumber(14) + void clearTargetWriteBytesPerSecond() => clearField(14); + + /// Target ops written per second. + @$pb.TagNumber(15) + $core.int get targetWriteOpsPerSecond => $_getIZ(1); + @$pb.TagNumber(15) + set targetWriteOpsPerSecond($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(15) + $core.bool hasTargetWriteOpsPerSecond() => $_has(1); + @$pb.TagNumber(15) + void clearTargetWriteOpsPerSecond() => clearField(15); + + /// Target bytes read per second. + @$pb.TagNumber(16) + $core.int get targetReadBytesPerSecond => $_getIZ(2); + @$pb.TagNumber(16) + set targetReadBytesPerSecond($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(16) + $core.bool hasTargetReadBytesPerSecond() => $_has(2); + @$pb.TagNumber(16) + void clearTargetReadBytesPerSecond() => clearField(16); + + /// Target ops read per seconds. + @$pb.TagNumber(17) + $core.int get targetReadOpsPerSecond => $_getIZ(3); + @$pb.TagNumber(17) + set targetReadOpsPerSecond($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(17) + $core.bool hasTargetReadOpsPerSecond() => $_has(3); + @$pb.TagNumber(17) + void clearTargetReadOpsPerSecond() => clearField(17); +} + +/// Target scaling by network usage. +/// Only applicable in the App Engine flexible environment. +class NetworkUtilization extends $pb.GeneratedMessage { + factory NetworkUtilization({ + $core.int? targetSentBytesPerSecond, + $core.int? targetSentPacketsPerSecond, + $core.int? targetReceivedBytesPerSecond, + $core.int? targetReceivedPacketsPerSecond, + }) { + final $result = create(); + if (targetSentBytesPerSecond != null) { + $result.targetSentBytesPerSecond = targetSentBytesPerSecond; + } + if (targetSentPacketsPerSecond != null) { + $result.targetSentPacketsPerSecond = targetSentPacketsPerSecond; + } + if (targetReceivedBytesPerSecond != null) { + $result.targetReceivedBytesPerSecond = targetReceivedBytesPerSecond; + } + if (targetReceivedPacketsPerSecond != null) { + $result.targetReceivedPacketsPerSecond = targetReceivedPacketsPerSecond; + } + return $result; + } + NetworkUtilization._() : super(); + factory NetworkUtilization.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NetworkUtilization.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NetworkUtilization', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'targetSentBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(11, _omitFieldNames ? '' : 'targetSentPacketsPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(12, _omitFieldNames ? '' : 'targetReceivedBytesPerSecond', + $pb.PbFieldType.O3) + ..a<$core.int>(13, _omitFieldNames ? '' : 'targetReceivedPacketsPerSecond', + $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NetworkUtilization clone() => NetworkUtilization()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NetworkUtilization copyWith(void Function(NetworkUtilization) updates) => + super.copyWith((message) => updates(message as NetworkUtilization)) + as NetworkUtilization; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NetworkUtilization create() => NetworkUtilization._(); + NetworkUtilization createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NetworkUtilization getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NetworkUtilization? _defaultInstance; + + /// Target bytes sent per second. + @$pb.TagNumber(1) + $core.int get targetSentBytesPerSecond => $_getIZ(0); + @$pb.TagNumber(1) + set targetSentBytesPerSecond($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTargetSentBytesPerSecond() => $_has(0); + @$pb.TagNumber(1) + void clearTargetSentBytesPerSecond() => clearField(1); + + /// Target packets sent per second. + @$pb.TagNumber(11) + $core.int get targetSentPacketsPerSecond => $_getIZ(1); + @$pb.TagNumber(11) + set targetSentPacketsPerSecond($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(11) + $core.bool hasTargetSentPacketsPerSecond() => $_has(1); + @$pb.TagNumber(11) + void clearTargetSentPacketsPerSecond() => clearField(11); + + /// Target bytes received per second. + @$pb.TagNumber(12) + $core.int get targetReceivedBytesPerSecond => $_getIZ(2); + @$pb.TagNumber(12) + set targetReceivedBytesPerSecond($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(12) + $core.bool hasTargetReceivedBytesPerSecond() => $_has(2); + @$pb.TagNumber(12) + void clearTargetReceivedBytesPerSecond() => clearField(12); + + /// Target packets received per second. + @$pb.TagNumber(13) + $core.int get targetReceivedPacketsPerSecond => $_getIZ(3); + @$pb.TagNumber(13) + set targetReceivedPacketsPerSecond($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(13) + $core.bool hasTargetReceivedPacketsPerSecond() => $_has(3); + @$pb.TagNumber(13) + void clearTargetReceivedPacketsPerSecond() => clearField(13); +} + +enum CustomMetric_TargetSpec { + targetUtilization, + singleInstanceAssignment, + notSet +} + +/// Allows autoscaling based on Stackdriver metrics. +class CustomMetric extends $pb.GeneratedMessage { + factory CustomMetric({ + $core.String? metricName, + $core.String? targetType, + $core.double? targetUtilization, + $core.double? singleInstanceAssignment, + $core.String? filter, + }) { + final $result = create(); + if (metricName != null) { + $result.metricName = metricName; + } + if (targetType != null) { + $result.targetType = targetType; + } + if (targetUtilization != null) { + $result.targetUtilization = targetUtilization; + } + if (singleInstanceAssignment != null) { + $result.singleInstanceAssignment = singleInstanceAssignment; + } + if (filter != null) { + $result.filter = filter; + } + return $result; + } + CustomMetric._() : super(); + factory CustomMetric.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CustomMetric.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, CustomMetric_TargetSpec> + _CustomMetric_TargetSpecByTag = { + 3: CustomMetric_TargetSpec.targetUtilization, + 4: CustomMetric_TargetSpec.singleInstanceAssignment, + 0: CustomMetric_TargetSpec.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CustomMetric', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..oo(0, [3, 4]) + ..aOS(1, _omitFieldNames ? '' : 'metricName') + ..aOS(2, _omitFieldNames ? '' : 'targetType') + ..a<$core.double>( + 3, _omitFieldNames ? '' : 'targetUtilization', $pb.PbFieldType.OD) + ..a<$core.double>(4, _omitFieldNames ? '' : 'singleInstanceAssignment', + $pb.PbFieldType.OD) + ..aOS(5, _omitFieldNames ? '' : 'filter') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CustomMetric clone() => CustomMetric()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CustomMetric copyWith(void Function(CustomMetric) updates) => + super.copyWith((message) => updates(message as CustomMetric)) + as CustomMetric; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CustomMetric create() => CustomMetric._(); + CustomMetric createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CustomMetric getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CustomMetric? _defaultInstance; + + CustomMetric_TargetSpec whichTargetSpec() => + _CustomMetric_TargetSpecByTag[$_whichOneof(0)]!; + void clearTargetSpec() => clearField($_whichOneof(0)); + + /// The name of the metric. + @$pb.TagNumber(1) + $core.String get metricName => $_getSZ(0); + @$pb.TagNumber(1) + set metricName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMetricName() => $_has(0); + @$pb.TagNumber(1) + void clearMetricName() => clearField(1); + + /// The type of the metric. Must be a string representing a Stackdriver + /// metric type e.g. GAGUE, DELTA_PER_SECOND, etc. + @$pb.TagNumber(2) + $core.String get targetType => $_getSZ(1); + @$pb.TagNumber(2) + set targetType($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetType() => $_has(1); + @$pb.TagNumber(2) + void clearTargetType() => clearField(2); + + /// The target value for the metric. + @$pb.TagNumber(3) + $core.double get targetUtilization => $_getN(2); + @$pb.TagNumber(3) + set targetUtilization($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasTargetUtilization() => $_has(2); + @$pb.TagNumber(3) + void clearTargetUtilization() => clearField(3); + + /// May be used instead of `target_utilization` when an instance can handle a + /// specific amount of work/resources and the metric value is equal to the + /// current amount of work remaining. The autoscaler will try to keep the + /// number of instances equal to the metric value divided by + /// `single_instance_assignment`. + @$pb.TagNumber(4) + $core.double get singleInstanceAssignment => $_getN(3); + @$pb.TagNumber(4) + set singleInstanceAssignment($core.double v) { + $_setDouble(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSingleInstanceAssignment() => $_has(3); + @$pb.TagNumber(4) + void clearSingleInstanceAssignment() => clearField(4); + + /// Allows filtering on the metric's fields. + @$pb.TagNumber(5) + $core.String get filter => $_getSZ(4); + @$pb.TagNumber(5) + set filter($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasFilter() => $_has(4); + @$pb.TagNumber(5) + void clearFilter() => clearField(5); +} + +/// Scheduler settings for standard environment. +class StandardSchedulerSettings extends $pb.GeneratedMessage { + factory StandardSchedulerSettings({ + $core.double? targetCpuUtilization, + $core.double? targetThroughputUtilization, + $core.int? minInstances, + $core.int? maxInstances, + }) { + final $result = create(); + if (targetCpuUtilization != null) { + $result.targetCpuUtilization = targetCpuUtilization; + } + if (targetThroughputUtilization != null) { + $result.targetThroughputUtilization = targetThroughputUtilization; + } + if (minInstances != null) { + $result.minInstances = minInstances; + } + if (maxInstances != null) { + $result.maxInstances = maxInstances; + } + return $result; + } + StandardSchedulerSettings._() : super(); + factory StandardSchedulerSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory StandardSchedulerSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'StandardSchedulerSettings', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.double>( + 1, _omitFieldNames ? '' : 'targetCpuUtilization', $pb.PbFieldType.OD) + ..a<$core.double>(2, _omitFieldNames ? '' : 'targetThroughputUtilization', + $pb.PbFieldType.OD) + ..a<$core.int>(3, _omitFieldNames ? '' : 'minInstances', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'maxInstances', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StandardSchedulerSettings clone() => + StandardSchedulerSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StandardSchedulerSettings copyWith( + void Function(StandardSchedulerSettings) updates) => + super.copyWith((message) => updates(message as StandardSchedulerSettings)) + as StandardSchedulerSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StandardSchedulerSettings create() => StandardSchedulerSettings._(); + StandardSchedulerSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StandardSchedulerSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static StandardSchedulerSettings? _defaultInstance; + + /// Target CPU utilization ratio to maintain when scaling. + @$pb.TagNumber(1) + $core.double get targetCpuUtilization => $_getN(0); + @$pb.TagNumber(1) + set targetCpuUtilization($core.double v) { + $_setDouble(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTargetCpuUtilization() => $_has(0); + @$pb.TagNumber(1) + void clearTargetCpuUtilization() => clearField(1); + + /// Target throughput utilization ratio to maintain when scaling + @$pb.TagNumber(2) + $core.double get targetThroughputUtilization => $_getN(1); + @$pb.TagNumber(2) + set targetThroughputUtilization($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTargetThroughputUtilization() => $_has(1); + @$pb.TagNumber(2) + void clearTargetThroughputUtilization() => clearField(2); + + /// Minimum number of instances to run for this version. Set to zero to disable + /// `min_instances` configuration. + @$pb.TagNumber(3) + $core.int get minInstances => $_getIZ(2); + @$pb.TagNumber(3) + set minInstances($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMinInstances() => $_has(2); + @$pb.TagNumber(3) + void clearMinInstances() => clearField(3); + + /// Maximum number of instances to run for this version. Set to zero to disable + /// `max_instances` configuration. + @$pb.TagNumber(4) + $core.int get maxInstances => $_getIZ(3); + @$pb.TagNumber(4) + set maxInstances($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasMaxInstances() => $_has(3); + @$pb.TagNumber(4) + void clearMaxInstances() => clearField(4); +} + +/// Extra network settings. +/// Only applicable in the App Engine flexible environment. +class Network extends $pb.GeneratedMessage { + factory Network({ + $core.Iterable<$core.String>? forwardedPorts, + $core.String? instanceTag, + $core.String? name, + $core.String? subnetworkName, + $core.bool? sessionAffinity, + }) { + final $result = create(); + if (forwardedPorts != null) { + $result.forwardedPorts.addAll(forwardedPorts); + } + if (instanceTag != null) { + $result.instanceTag = instanceTag; + } + if (name != null) { + $result.name = name; + } + if (subnetworkName != null) { + $result.subnetworkName = subnetworkName; + } + if (sessionAffinity != null) { + $result.sessionAffinity = sessionAffinity; + } + return $result; + } + Network._() : super(); + factory Network.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Network.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Network', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'forwardedPorts') + ..aOS(2, _omitFieldNames ? '' : 'instanceTag') + ..aOS(3, _omitFieldNames ? '' : 'name') + ..aOS(4, _omitFieldNames ? '' : 'subnetworkName') + ..aOB(5, _omitFieldNames ? '' : 'sessionAffinity') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Network clone() => Network()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Network copyWith(void Function(Network) updates) => + super.copyWith((message) => updates(message as Network)) as Network; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Network create() => Network._(); + Network createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Network getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Network? _defaultInstance; + + /// List of ports, or port pairs, to forward from the virtual machine to the + /// application container. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(1) + $core.List<$core.String> get forwardedPorts => $_getList(0); + + /// Tag to apply to the instance during creation. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(2) + $core.String get instanceTag => $_getSZ(1); + @$pb.TagNumber(2) + set instanceTag($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasInstanceTag() => $_has(1); + @$pb.TagNumber(2) + void clearInstanceTag() => clearField(2); + + /// Google Compute Engine network where the virtual machines are created. + /// Specify the short name, not the resource path. + /// + /// Defaults to `default`. + @$pb.TagNumber(3) + $core.String get name => $_getSZ(2); + @$pb.TagNumber(3) + set name($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasName() => $_has(2); + @$pb.TagNumber(3) + void clearName() => clearField(3); + + /// Google Cloud Platform sub-network where the virtual machines are created. + /// Specify the short name, not the resource path. + /// + /// If a subnetwork name is specified, a network name will also be required + /// unless it is for the default network. + /// + /// * If the network that the instance is being created in is a Legacy network, + /// then the IP address is allocated from the IPv4Range. + /// * If the network that the instance is being created in is an auto Subnet + /// Mode Network, then only network name should be specified (not the + /// subnetwork_name) and the IP address is created from the IPCidrRange of the + /// subnetwork that exists in that zone for that network. + /// * If the network that the instance is being created in is a custom Subnet + /// Mode Network, then the subnetwork_name must be specified and the + /// IP address is created from the IPCidrRange of the subnetwork. + /// + /// If specified, the subnetwork must exist in the same region as the + /// App Engine flexible environment application. + @$pb.TagNumber(4) + $core.String get subnetworkName => $_getSZ(3); + @$pb.TagNumber(4) + set subnetworkName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasSubnetworkName() => $_has(3); + @$pb.TagNumber(4) + void clearSubnetworkName() => clearField(4); + + /// Enable session affinity. + /// Only applicable in the App Engine flexible environment. + @$pb.TagNumber(5) + $core.bool get sessionAffinity => $_getBF(4); + @$pb.TagNumber(5) + set sessionAffinity($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasSessionAffinity() => $_has(4); + @$pb.TagNumber(5) + void clearSessionAffinity() => clearField(5); +} + +/// Volumes mounted within the app container. +/// Only applicable in the App Engine flexible environment. +class Volume extends $pb.GeneratedMessage { + factory Volume({ + $core.String? name, + $core.String? volumeType, + $core.double? sizeGb, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (volumeType != null) { + $result.volumeType = volumeType; + } + if (sizeGb != null) { + $result.sizeGb = sizeGb; + } + return $result; + } + Volume._() : super(); + factory Volume.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Volume.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Volume', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'volumeType') + ..a<$core.double>(3, _omitFieldNames ? '' : 'sizeGb', $pb.PbFieldType.OD) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Volume clone() => Volume()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Volume copyWith(void Function(Volume) updates) => + super.copyWith((message) => updates(message as Volume)) as Volume; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Volume create() => Volume._(); + Volume createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Volume getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Volume? _defaultInstance; + + /// Unique name for the volume. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Underlying volume type, e.g. 'tmpfs'. + @$pb.TagNumber(2) + $core.String get volumeType => $_getSZ(1); + @$pb.TagNumber(2) + set volumeType($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasVolumeType() => $_has(1); + @$pb.TagNumber(2) + void clearVolumeType() => clearField(2); + + /// Volume size in gigabytes. + @$pb.TagNumber(3) + $core.double get sizeGb => $_getN(2); + @$pb.TagNumber(3) + set sizeGb($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSizeGb() => $_has(2); + @$pb.TagNumber(3) + void clearSizeGb() => clearField(3); +} + +/// Machine resources for a version. +class Resources extends $pb.GeneratedMessage { + factory Resources({ + $core.double? cpu, + $core.double? diskGb, + $core.double? memoryGb, + $core.Iterable? volumes, + $core.String? kmsKeyReference, + }) { + final $result = create(); + if (cpu != null) { + $result.cpu = cpu; + } + if (diskGb != null) { + $result.diskGb = diskGb; + } + if (memoryGb != null) { + $result.memoryGb = memoryGb; + } + if (volumes != null) { + $result.volumes.addAll(volumes); + } + if (kmsKeyReference != null) { + $result.kmsKeyReference = kmsKeyReference; + } + return $result; + } + Resources._() : super(); + factory Resources.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Resources.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Resources', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..a<$core.double>(1, _omitFieldNames ? '' : 'cpu', $pb.PbFieldType.OD) + ..a<$core.double>(2, _omitFieldNames ? '' : 'diskGb', $pb.PbFieldType.OD) + ..a<$core.double>(3, _omitFieldNames ? '' : 'memoryGb', $pb.PbFieldType.OD) + ..pc(4, _omitFieldNames ? '' : 'volumes', $pb.PbFieldType.PM, + subBuilder: Volume.create) + ..aOS(5, _omitFieldNames ? '' : 'kmsKeyReference') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Resources clone() => Resources()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Resources copyWith(void Function(Resources) updates) => + super.copyWith((message) => updates(message as Resources)) as Resources; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Resources create() => Resources._(); + Resources createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Resources getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Resources? _defaultInstance; + + /// Number of CPU cores needed. + @$pb.TagNumber(1) + $core.double get cpu => $_getN(0); + @$pb.TagNumber(1) + set cpu($core.double v) { + $_setDouble(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasCpu() => $_has(0); + @$pb.TagNumber(1) + void clearCpu() => clearField(1); + + /// Disk size (GB) needed. + @$pb.TagNumber(2) + $core.double get diskGb => $_getN(1); + @$pb.TagNumber(2) + set diskGb($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDiskGb() => $_has(1); + @$pb.TagNumber(2) + void clearDiskGb() => clearField(2); + + /// Memory (GB) needed. + @$pb.TagNumber(3) + $core.double get memoryGb => $_getN(2); + @$pb.TagNumber(3) + set memoryGb($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMemoryGb() => $_has(2); + @$pb.TagNumber(3) + void clearMemoryGb() => clearField(3); + + /// User specified volumes. + @$pb.TagNumber(4) + $core.List get volumes => $_getList(3); + + /// The name of the encryption key that is stored in Google Cloud KMS. + /// Only should be used by Cloud Composer to encrypt the vm disk + @$pb.TagNumber(5) + $core.String get kmsKeyReference => $_getSZ(4); + @$pb.TagNumber(5) + set kmsKeyReference($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasKmsKeyReference() => $_has(4); + @$pb.TagNumber(5) + void clearKmsKeyReference() => clearField(5); +} + +/// VPC access connector specification. +class VpcAccessConnector extends $pb.GeneratedMessage { + factory VpcAccessConnector({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + VpcAccessConnector._() : super(); + factory VpcAccessConnector.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory VpcAccessConnector.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'VpcAccessConnector', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + VpcAccessConnector clone() => VpcAccessConnector()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VpcAccessConnector copyWith(void Function(VpcAccessConnector) updates) => + super.copyWith((message) => updates(message as VpcAccessConnector)) + as VpcAccessConnector; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static VpcAccessConnector create() => VpcAccessConnector._(); + VpcAccessConnector createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static VpcAccessConnector getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static VpcAccessConnector? _defaultInstance; + + /// Full Serverless VPC Access Connector name e.g. + /// /projects/my-project/locations/us-central1/connectors/c1. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +enum Entrypoint_Command { shell, notSet } + +/// The entrypoint for the application. +class Entrypoint extends $pb.GeneratedMessage { + factory Entrypoint({ + $core.String? shell, + }) { + final $result = create(); + if (shell != null) { + $result.shell = shell; + } + return $result; + } + Entrypoint._() : super(); + factory Entrypoint.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Entrypoint.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Entrypoint_Command> + _Entrypoint_CommandByTag = { + 1: Entrypoint_Command.shell, + 0: Entrypoint_Command.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Entrypoint', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.appengine.v1beta'), + createEmptyInstance: create) + ..oo(0, [1]) + ..aOS(1, _omitFieldNames ? '' : 'shell') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Entrypoint clone() => Entrypoint()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Entrypoint copyWith(void Function(Entrypoint) updates) => + super.copyWith((message) => updates(message as Entrypoint)) as Entrypoint; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Entrypoint create() => Entrypoint._(); + Entrypoint createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Entrypoint getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Entrypoint? _defaultInstance; + + Entrypoint_Command whichCommand() => + _Entrypoint_CommandByTag[$_whichOneof(0)]!; + void clearCommand() => clearField($_whichOneof(0)); + + /// The format should be a shell command that can be fed to `bash -c`. + @$pb.TagNumber(1) + $core.String get shell => $_getSZ(0); + @$pb.TagNumber(1) + set shell($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasShell() => $_has(0); + @$pb.TagNumber(1) + void clearShell() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pbenum.dart new file mode 100644 index 00000000..fcfc3adf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pbenum.dart @@ -0,0 +1,111 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/version.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Available inbound services. +class InboundServiceType extends $pb.ProtobufEnum { + static const InboundServiceType INBOUND_SERVICE_UNSPECIFIED = + InboundServiceType._( + 0, _omitEnumNames ? '' : 'INBOUND_SERVICE_UNSPECIFIED'); + static const InboundServiceType INBOUND_SERVICE_MAIL = + InboundServiceType._(1, _omitEnumNames ? '' : 'INBOUND_SERVICE_MAIL'); + static const InboundServiceType INBOUND_SERVICE_MAIL_BOUNCE = + InboundServiceType._( + 2, _omitEnumNames ? '' : 'INBOUND_SERVICE_MAIL_BOUNCE'); + static const InboundServiceType INBOUND_SERVICE_XMPP_ERROR = + InboundServiceType._( + 3, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_ERROR'); + static const InboundServiceType INBOUND_SERVICE_XMPP_MESSAGE = + InboundServiceType._( + 4, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_MESSAGE'); + static const InboundServiceType INBOUND_SERVICE_XMPP_SUBSCRIBE = + InboundServiceType._( + 5, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_SUBSCRIBE'); + static const InboundServiceType INBOUND_SERVICE_XMPP_PRESENCE = + InboundServiceType._( + 6, _omitEnumNames ? '' : 'INBOUND_SERVICE_XMPP_PRESENCE'); + static const InboundServiceType INBOUND_SERVICE_CHANNEL_PRESENCE = + InboundServiceType._( + 7, _omitEnumNames ? '' : 'INBOUND_SERVICE_CHANNEL_PRESENCE'); + static const InboundServiceType INBOUND_SERVICE_WARMUP = + InboundServiceType._(9, _omitEnumNames ? '' : 'INBOUND_SERVICE_WARMUP'); + + static const $core.List values = [ + INBOUND_SERVICE_UNSPECIFIED, + INBOUND_SERVICE_MAIL, + INBOUND_SERVICE_MAIL_BOUNCE, + INBOUND_SERVICE_XMPP_ERROR, + INBOUND_SERVICE_XMPP_MESSAGE, + INBOUND_SERVICE_XMPP_SUBSCRIBE, + INBOUND_SERVICE_XMPP_PRESENCE, + INBOUND_SERVICE_CHANNEL_PRESENCE, + INBOUND_SERVICE_WARMUP, + ]; + + static final $core.Map<$core.int, InboundServiceType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static InboundServiceType? valueOf($core.int value) => _byValue[value]; + + const InboundServiceType._($core.int v, $core.String n) : super(v, n); +} + +/// Run states of a version. +class ServingStatus extends $pb.ProtobufEnum { + static const ServingStatus SERVING_STATUS_UNSPECIFIED = + ServingStatus._(0, _omitEnumNames ? '' : 'SERVING_STATUS_UNSPECIFIED'); + static const ServingStatus SERVING = + ServingStatus._(1, _omitEnumNames ? '' : 'SERVING'); + static const ServingStatus STOPPED = + ServingStatus._(2, _omitEnumNames ? '' : 'STOPPED'); + + static const $core.List values = [ + SERVING_STATUS_UNSPECIFIED, + SERVING, + STOPPED, + ]; + + static final $core.Map<$core.int, ServingStatus> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServingStatus? valueOf($core.int value) => _byValue[value]; + + const ServingStatus._($core.int v, $core.String n) : super(v, n); +} + +/// Available rollout strategies. +class EndpointsApiService_RolloutStrategy extends $pb.ProtobufEnum { + static const EndpointsApiService_RolloutStrategy + UNSPECIFIED_ROLLOUT_STRATEGY = EndpointsApiService_RolloutStrategy._( + 0, _omitEnumNames ? '' : 'UNSPECIFIED_ROLLOUT_STRATEGY'); + static const EndpointsApiService_RolloutStrategy FIXED = + EndpointsApiService_RolloutStrategy._(1, _omitEnumNames ? '' : 'FIXED'); + static const EndpointsApiService_RolloutStrategy MANAGED = + EndpointsApiService_RolloutStrategy._(2, _omitEnumNames ? '' : 'MANAGED'); + + static const $core.List values = + [ + UNSPECIFIED_ROLLOUT_STRATEGY, + FIXED, + MANAGED, + ]; + + static final $core.Map<$core.int, EndpointsApiService_RolloutStrategy> + _byValue = $pb.ProtobufEnum.initByValue(values); + static EndpointsApiService_RolloutStrategy? valueOf($core.int value) => + _byValue[value]; + + const EndpointsApiService_RolloutStrategy._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pbjson.dart new file mode 100644 index 00000000..0e246305 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/appengine/v1beta/version.pbjson.dart @@ -0,0 +1,882 @@ +// +// Generated code. Do not modify. +// source: google/appengine/v1beta/version.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use inboundServiceTypeDescriptor instead') +const InboundServiceType$json = { + '1': 'InboundServiceType', + '2': [ + {'1': 'INBOUND_SERVICE_UNSPECIFIED', '2': 0}, + {'1': 'INBOUND_SERVICE_MAIL', '2': 1}, + {'1': 'INBOUND_SERVICE_MAIL_BOUNCE', '2': 2}, + {'1': 'INBOUND_SERVICE_XMPP_ERROR', '2': 3}, + {'1': 'INBOUND_SERVICE_XMPP_MESSAGE', '2': 4}, + {'1': 'INBOUND_SERVICE_XMPP_SUBSCRIBE', '2': 5}, + {'1': 'INBOUND_SERVICE_XMPP_PRESENCE', '2': 6}, + {'1': 'INBOUND_SERVICE_CHANNEL_PRESENCE', '2': 7}, + {'1': 'INBOUND_SERVICE_WARMUP', '2': 9}, + ], +}; + +/// Descriptor for `InboundServiceType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List inboundServiceTypeDescriptor = $convert.base64Decode( + 'ChJJbmJvdW5kU2VydmljZVR5cGUSHwobSU5CT1VORF9TRVJWSUNFX1VOU1BFQ0lGSUVEEAASGA' + 'oUSU5CT1VORF9TRVJWSUNFX01BSUwQARIfChtJTkJPVU5EX1NFUlZJQ0VfTUFJTF9CT1VOQ0UQ' + 'AhIeChpJTkJPVU5EX1NFUlZJQ0VfWE1QUF9FUlJPUhADEiAKHElOQk9VTkRfU0VSVklDRV9YTV' + 'BQX01FU1NBR0UQBBIiCh5JTkJPVU5EX1NFUlZJQ0VfWE1QUF9TVUJTQ1JJQkUQBRIhCh1JTkJP' + 'VU5EX1NFUlZJQ0VfWE1QUF9QUkVTRU5DRRAGEiQKIElOQk9VTkRfU0VSVklDRV9DSEFOTkVMX1' + 'BSRVNFTkNFEAcSGgoWSU5CT1VORF9TRVJWSUNFX1dBUk1VUBAJ'); + +@$core.Deprecated('Use servingStatusDescriptor instead') +const ServingStatus$json = { + '1': 'ServingStatus', + '2': [ + {'1': 'SERVING_STATUS_UNSPECIFIED', '2': 0}, + {'1': 'SERVING', '2': 1}, + {'1': 'STOPPED', '2': 2}, + ], +}; + +/// Descriptor for `ServingStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List servingStatusDescriptor = $convert.base64Decode( + 'Cg1TZXJ2aW5nU3RhdHVzEh4KGlNFUlZJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCwoHU0VSVk' + 'lORxABEgsKB1NUT1BQRUQQAg=='); + +@$core.Deprecated('Use versionDescriptor instead') +const Version$json = { + '1': 'Version', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, + { + '1': 'automatic_scaling', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.AutomaticScaling', + '9': 0, + '10': 'automaticScaling' + }, + { + '1': 'basic_scaling', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.BasicScaling', + '9': 0, + '10': 'basicScaling' + }, + { + '1': 'manual_scaling', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ManualScaling', + '9': 0, + '10': 'manualScaling' + }, + { + '1': 'inbound_services', + '3': 6, + '4': 3, + '5': 14, + '6': '.google.appengine.v1beta.InboundServiceType', + '10': 'inboundServices' + }, + {'1': 'instance_class', '3': 7, '4': 1, '5': 9, '10': 'instanceClass'}, + { + '1': 'network', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Network', + '10': 'network' + }, + {'1': 'zones', '3': 118, '4': 3, '5': 9, '10': 'zones'}, + { + '1': 'resources', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Resources', + '10': 'resources' + }, + {'1': 'runtime', '3': 10, '4': 1, '5': 9, '10': 'runtime'}, + {'1': 'runtime_channel', '3': 117, '4': 1, '5': 9, '10': 'runtimeChannel'}, + {'1': 'threadsafe', '3': 11, '4': 1, '5': 8, '10': 'threadsafe'}, + {'1': 'vm', '3': 12, '4': 1, '5': 8, '10': 'vm'}, + {'1': 'app_engine_apis', '3': 128, '4': 1, '5': 8, '10': 'appEngineApis'}, + { + '1': 'beta_settings', + '3': 13, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Version.BetaSettingsEntry', + '10': 'betaSettings' + }, + {'1': 'env', '3': 14, '4': 1, '5': 9, '10': 'env'}, + { + '1': 'serving_status', + '3': 15, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.ServingStatus', + '10': 'servingStatus' + }, + {'1': 'created_by', '3': 16, '4': 1, '5': 9, '10': 'createdBy'}, + { + '1': 'create_time', + '3': 17, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + {'1': 'disk_usage_bytes', '3': 18, '4': 1, '5': 3, '10': 'diskUsageBytes'}, + { + '1': 'runtime_api_version', + '3': 21, + '4': 1, + '5': 9, + '10': 'runtimeApiVersion' + }, + { + '1': 'runtime_main_executable_path', + '3': 22, + '4': 1, + '5': 9, + '10': 'runtimeMainExecutablePath' + }, + {'1': 'service_account', '3': 127, '4': 1, '5': 9, '10': 'serviceAccount'}, + { + '1': 'handlers', + '3': 100, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.UrlMap', + '10': 'handlers' + }, + { + '1': 'error_handlers', + '3': 101, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.ErrorHandler', + '10': 'errorHandlers' + }, + { + '1': 'libraries', + '3': 102, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Library', + '10': 'libraries' + }, + { + '1': 'api_config', + '3': 103, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ApiConfigHandler', + '10': 'apiConfig' + }, + { + '1': 'env_variables', + '3': 104, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Version.EnvVariablesEntry', + '10': 'envVariables' + }, + { + '1': 'build_env_variables', + '3': 125, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Version.BuildEnvVariablesEntry', + '10': 'buildEnvVariables' + }, + { + '1': 'default_expiration', + '3': 105, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'defaultExpiration' + }, + { + '1': 'health_check', + '3': 106, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.HealthCheck', + '10': 'healthCheck' + }, + { + '1': 'readiness_check', + '3': 112, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.ReadinessCheck', + '10': 'readinessCheck' + }, + { + '1': 'liveness_check', + '3': 113, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.LivenessCheck', + '10': 'livenessCheck' + }, + { + '1': 'nobuild_files_regex', + '3': 107, + '4': 1, + '5': 9, + '10': 'nobuildFilesRegex' + }, + { + '1': 'deployment', + '3': 108, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Deployment', + '10': 'deployment' + }, + {'1': 'version_url', '3': 109, '4': 1, '5': 9, '10': 'versionUrl'}, + { + '1': 'endpoints_api_service', + '3': 110, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.EndpointsApiService', + '10': 'endpointsApiService' + }, + { + '1': 'entrypoint', + '3': 122, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.Entrypoint', + '10': 'entrypoint' + }, + { + '1': 'vpc_access_connector', + '3': 121, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.VpcAccessConnector', + '10': 'vpcAccessConnector' + }, + ], + '3': [ + Version_BetaSettingsEntry$json, + Version_EnvVariablesEntry$json, + Version_BuildEnvVariablesEntry$json + ], + '8': [ + {'1': 'scaling'}, + ], +}; + +@$core.Deprecated('Use versionDescriptor instead') +const Version_BetaSettingsEntry$json = { + '1': 'BetaSettingsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use versionDescriptor instead') +const Version_EnvVariablesEntry$json = { + '1': 'EnvVariablesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use versionDescriptor instead') +const Version_BuildEnvVariablesEntry$json = { + '1': 'BuildEnvVariablesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Version`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List versionDescriptor = $convert.base64Decode( + 'CgdWZXJzaW9uEhIKBG5hbWUYASABKAlSBG5hbWUSDgoCaWQYAiABKAlSAmlkElgKEWF1dG9tYX' + 'RpY19zY2FsaW5nGAMgASgLMikuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuQXV0b21hdGljU2Nh' + 'bGluZ0gAUhBhdXRvbWF0aWNTY2FsaW5nEkwKDWJhc2ljX3NjYWxpbmcYBCABKAsyJS5nb29nbG' + 'UuYXBwZW5naW5lLnYxYmV0YS5CYXNpY1NjYWxpbmdIAFIMYmFzaWNTY2FsaW5nEk8KDm1hbnVh' + 'bF9zY2FsaW5nGAUgASgLMiYuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuTWFudWFsU2NhbGluZ0' + 'gAUg1tYW51YWxTY2FsaW5nElYKEGluYm91bmRfc2VydmljZXMYBiADKA4yKy5nb29nbGUuYXBw' + 'ZW5naW5lLnYxYmV0YS5JbmJvdW5kU2VydmljZVR5cGVSD2luYm91bmRTZXJ2aWNlcxIlCg5pbn' + 'N0YW5jZV9jbGFzcxgHIAEoCVINaW5zdGFuY2VDbGFzcxI6CgduZXR3b3JrGAggASgLMiAuZ29v' + 'Z2xlLmFwcGVuZ2luZS52MWJldGEuTmV0d29ya1IHbmV0d29yaxIUCgV6b25lcxh2IAMoCVIFem' + '9uZXMSQAoJcmVzb3VyY2VzGAkgASgLMiIuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuUmVzb3Vy' + 'Y2VzUglyZXNvdXJjZXMSGAoHcnVudGltZRgKIAEoCVIHcnVudGltZRInCg9ydW50aW1lX2NoYW' + '5uZWwYdSABKAlSDnJ1bnRpbWVDaGFubmVsEh4KCnRocmVhZHNhZmUYCyABKAhSCnRocmVhZHNh' + 'ZmUSDgoCdm0YDCABKAhSAnZtEicKD2FwcF9lbmdpbmVfYXBpcxiAASABKAhSDWFwcEVuZ2luZU' + 'FwaXMSVwoNYmV0YV9zZXR0aW5ncxgNIAMoCzIyLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLlZl' + 'cnNpb24uQmV0YVNldHRpbmdzRW50cnlSDGJldGFTZXR0aW5ncxIQCgNlbnYYDiABKAlSA2Vudh' + 'JNCg5zZXJ2aW5nX3N0YXR1cxgPIAEoDjImLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLlNlcnZp' + 'bmdTdGF0dXNSDXNlcnZpbmdTdGF0dXMSHQoKY3JlYXRlZF9ieRgQIAEoCVIJY3JlYXRlZEJ5Ej' + 'sKC2NyZWF0ZV90aW1lGBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKY3JlYXRl' + 'VGltZRIoChBkaXNrX3VzYWdlX2J5dGVzGBIgASgDUg5kaXNrVXNhZ2VCeXRlcxIuChNydW50aW' + '1lX2FwaV92ZXJzaW9uGBUgASgJUhFydW50aW1lQXBpVmVyc2lvbhI/ChxydW50aW1lX21haW5f' + 'ZXhlY3V0YWJsZV9wYXRoGBYgASgJUhlydW50aW1lTWFpbkV4ZWN1dGFibGVQYXRoEicKD3Nlcn' + 'ZpY2VfYWNjb3VudBh/IAEoCVIOc2VydmljZUFjY291bnQSOwoIaGFuZGxlcnMYZCADKAsyHy5n' + 'b29nbGUuYXBwZW5naW5lLnYxYmV0YS5VcmxNYXBSCGhhbmRsZXJzEkwKDmVycm9yX2hhbmRsZX' + 'JzGGUgAygLMiUuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuRXJyb3JIYW5kbGVyUg1lcnJvckhh' + 'bmRsZXJzEj4KCWxpYnJhcmllcxhmIAMoCzIgLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkxpYn' + 'JhcnlSCWxpYnJhcmllcxJICgphcGlfY29uZmlnGGcgASgLMikuZ29vZ2xlLmFwcGVuZ2luZS52' + 'MWJldGEuQXBpQ29uZmlnSGFuZGxlclIJYXBpQ29uZmlnElcKDWVudl92YXJpYWJsZXMYaCADKA' + 'syMi5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5WZXJzaW9uLkVudlZhcmlhYmxlc0VudHJ5Ugxl' + 'bnZWYXJpYWJsZXMSZwoTYnVpbGRfZW52X3ZhcmlhYmxlcxh9IAMoCzI3Lmdvb2dsZS5hcHBlbm' + 'dpbmUudjFiZXRhLlZlcnNpb24uQnVpbGRFbnZWYXJpYWJsZXNFbnRyeVIRYnVpbGRFbnZWYXJp' + 'YWJsZXMSSAoSZGVmYXVsdF9leHBpcmF0aW9uGGkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cm' + 'F0aW9uUhFkZWZhdWx0RXhwaXJhdGlvbhJHCgxoZWFsdGhfY2hlY2sYaiABKAsyJC5nb29nbGUu' + 'YXBwZW5naW5lLnYxYmV0YS5IZWFsdGhDaGVja1ILaGVhbHRoQ2hlY2sSUAoPcmVhZGluZXNzX2' + 'NoZWNrGHAgASgLMicuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuUmVhZGluZXNzQ2hlY2tSDnJl' + 'YWRpbmVzc0NoZWNrEk0KDmxpdmVuZXNzX2NoZWNrGHEgASgLMiYuZ29vZ2xlLmFwcGVuZ2luZS' + '52MWJldGEuTGl2ZW5lc3NDaGVja1INbGl2ZW5lc3NDaGVjaxIuChNub2J1aWxkX2ZpbGVzX3Jl' + 'Z2V4GGsgASgJUhFub2J1aWxkRmlsZXNSZWdleBJDCgpkZXBsb3ltZW50GGwgASgLMiMuZ29vZ2' + 'xlLmFwcGVuZ2luZS52MWJldGEuRGVwbG95bWVudFIKZGVwbG95bWVudBIfCgt2ZXJzaW9uX3Vy' + 'bBhtIAEoCVIKdmVyc2lvblVybBJgChVlbmRwb2ludHNfYXBpX3NlcnZpY2UYbiABKAsyLC5nb2' + '9nbGUuYXBwZW5naW5lLnYxYmV0YS5FbmRwb2ludHNBcGlTZXJ2aWNlUhNlbmRwb2ludHNBcGlT' + 'ZXJ2aWNlEkMKCmVudHJ5cG9pbnQYeiABKAsyIy5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5Fbn' + 'RyeXBvaW50UgplbnRyeXBvaW50El0KFHZwY19hY2Nlc3NfY29ubmVjdG9yGHkgASgLMisuZ29v' + 'Z2xlLmFwcGVuZ2luZS52MWJldGEuVnBjQWNjZXNzQ29ubmVjdG9yUhJ2cGNBY2Nlc3NDb25uZW' + 'N0b3IaPwoRQmV0YVNldHRpbmdzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiAB' + 'KAlSBXZhbHVlOgI4ARo/ChFFbnZWYXJpYWJsZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCg' + 'V2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkQKFkJ1aWxkRW52VmFyaWFibGVzRW50cnkSEAoDa2V5' + 'GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AUIJCgdzY2FsaW5n'); + +@$core.Deprecated('Use endpointsApiServiceDescriptor instead') +const EndpointsApiService$json = { + '1': 'EndpointsApiService', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'config_id', '3': 2, '4': 1, '5': 9, '10': 'configId'}, + { + '1': 'rollout_strategy', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.appengine.v1beta.EndpointsApiService.RolloutStrategy', + '10': 'rolloutStrategy' + }, + { + '1': 'disable_trace_sampling', + '3': 4, + '4': 1, + '5': 8, + '10': 'disableTraceSampling' + }, + ], + '4': [EndpointsApiService_RolloutStrategy$json], +}; + +@$core.Deprecated('Use endpointsApiServiceDescriptor instead') +const EndpointsApiService_RolloutStrategy$json = { + '1': 'RolloutStrategy', + '2': [ + {'1': 'UNSPECIFIED_ROLLOUT_STRATEGY', '2': 0}, + {'1': 'FIXED', '2': 1}, + {'1': 'MANAGED', '2': 2}, + ], +}; + +/// Descriptor for `EndpointsApiService`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List endpointsApiServiceDescriptor = $convert.base64Decode( + 'ChNFbmRwb2ludHNBcGlTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG5hbWUSGwoJY29uZmlnX2lkGA' + 'IgASgJUghjb25maWdJZBJnChByb2xsb3V0X3N0cmF0ZWd5GAMgASgOMjwuZ29vZ2xlLmFwcGVu' + 'Z2luZS52MWJldGEuRW5kcG9pbnRzQXBpU2VydmljZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdX' + 'RTdHJhdGVneRI0ChZkaXNhYmxlX3RyYWNlX3NhbXBsaW5nGAQgASgIUhRkaXNhYmxlVHJhY2VT' + 'YW1wbGluZyJLCg9Sb2xsb3V0U3RyYXRlZ3kSIAocVU5TUEVDSUZJRURfUk9MTE9VVF9TVFJBVE' + 'VHWRAAEgkKBUZJWEVEEAESCwoHTUFOQUdFRBAC'); + +@$core.Deprecated('Use automaticScalingDescriptor instead') +const AutomaticScaling$json = { + '1': 'AutomaticScaling', + '2': [ + { + '1': 'cool_down_period', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'coolDownPeriod' + }, + { + '1': 'cpu_utilization', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.CpuUtilization', + '10': 'cpuUtilization' + }, + { + '1': 'max_concurrent_requests', + '3': 3, + '4': 1, + '5': 5, + '10': 'maxConcurrentRequests' + }, + { + '1': 'max_idle_instances', + '3': 4, + '4': 1, + '5': 5, + '10': 'maxIdleInstances' + }, + { + '1': 'max_total_instances', + '3': 5, + '4': 1, + '5': 5, + '10': 'maxTotalInstances' + }, + { + '1': 'max_pending_latency', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'maxPendingLatency' + }, + { + '1': 'min_idle_instances', + '3': 7, + '4': 1, + '5': 5, + '10': 'minIdleInstances' + }, + { + '1': 'min_total_instances', + '3': 8, + '4': 1, + '5': 5, + '10': 'minTotalInstances' + }, + { + '1': 'min_pending_latency', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'minPendingLatency' + }, + { + '1': 'request_utilization', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.RequestUtilization', + '10': 'requestUtilization' + }, + { + '1': 'disk_utilization', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.DiskUtilization', + '10': 'diskUtilization' + }, + { + '1': 'network_utilization', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.NetworkUtilization', + '10': 'networkUtilization' + }, + { + '1': 'custom_metrics', + '3': 21, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.CustomMetric', + '10': 'customMetrics' + }, + { + '1': 'standard_scheduler_settings', + '3': 20, + '4': 1, + '5': 11, + '6': '.google.appengine.v1beta.StandardSchedulerSettings', + '10': 'standardSchedulerSettings' + }, + ], +}; + +/// Descriptor for `AutomaticScaling`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List automaticScalingDescriptor = $convert.base64Decode( + 'ChBBdXRvbWF0aWNTY2FsaW5nEkMKEGNvb2xfZG93bl9wZXJpb2QYASABKAsyGS5nb29nbGUucH' + 'JvdG9idWYuRHVyYXRpb25SDmNvb2xEb3duUGVyaW9kElAKD2NwdV91dGlsaXphdGlvbhgCIAEo' + 'CzInLmdvb2dsZS5hcHBlbmdpbmUudjFiZXRhLkNwdVV0aWxpemF0aW9uUg5jcHVVdGlsaXphdG' + 'lvbhI2ChdtYXhfY29uY3VycmVudF9yZXF1ZXN0cxgDIAEoBVIVbWF4Q29uY3VycmVudFJlcXVl' + 'c3RzEiwKEm1heF9pZGxlX2luc3RhbmNlcxgEIAEoBVIQbWF4SWRsZUluc3RhbmNlcxIuChNtYX' + 'hfdG90YWxfaW5zdGFuY2VzGAUgASgFUhFtYXhUb3RhbEluc3RhbmNlcxJJChNtYXhfcGVuZGlu' + 'Z19sYXRlbmN5GAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUhFtYXhQZW5kaW5nTG' + 'F0ZW5jeRIsChJtaW5faWRsZV9pbnN0YW5jZXMYByABKAVSEG1pbklkbGVJbnN0YW5jZXMSLgoT' + 'bWluX3RvdGFsX2luc3RhbmNlcxgIIAEoBVIRbWluVG90YWxJbnN0YW5jZXMSSQoTbWluX3Blbm' + 'RpbmdfbGF0ZW5jeRgJIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIRbWluUGVuZGlu' + 'Z0xhdGVuY3kSXAoTcmVxdWVzdF91dGlsaXphdGlvbhgKIAEoCzIrLmdvb2dsZS5hcHBlbmdpbm' + 'UudjFiZXRhLlJlcXVlc3RVdGlsaXphdGlvblIScmVxdWVzdFV0aWxpemF0aW9uElMKEGRpc2tf' + 'dXRpbGl6YXRpb24YCyABKAsyKC5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5EaXNrVXRpbGl6YX' + 'Rpb25SD2Rpc2tVdGlsaXphdGlvbhJcChNuZXR3b3JrX3V0aWxpemF0aW9uGAwgASgLMisuZ29v' + 'Z2xlLmFwcGVuZ2luZS52MWJldGEuTmV0d29ya1V0aWxpemF0aW9uUhJuZXR3b3JrVXRpbGl6YX' + 'Rpb24STAoOY3VzdG9tX21ldHJpY3MYFSADKAsyJS5nb29nbGUuYXBwZW5naW5lLnYxYmV0YS5D' + 'dXN0b21NZXRyaWNSDWN1c3RvbU1ldHJpY3MScgobc3RhbmRhcmRfc2NoZWR1bGVyX3NldHRpbm' + 'dzGBQgASgLMjIuZ29vZ2xlLmFwcGVuZ2luZS52MWJldGEuU3RhbmRhcmRTY2hlZHVsZXJTZXR0' + 'aW5nc1IZc3RhbmRhcmRTY2hlZHVsZXJTZXR0aW5ncw=='); + +@$core.Deprecated('Use basicScalingDescriptor instead') +const BasicScaling$json = { + '1': 'BasicScaling', + '2': [ + { + '1': 'idle_timeout', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'idleTimeout' + }, + {'1': 'max_instances', '3': 2, '4': 1, '5': 5, '10': 'maxInstances'}, + ], +}; + +/// Descriptor for `BasicScaling`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List basicScalingDescriptor = $convert.base64Decode( + 'CgxCYXNpY1NjYWxpbmcSPAoMaWRsZV90aW1lb3V0GAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLk' + 'R1cmF0aW9uUgtpZGxlVGltZW91dBIjCg1tYXhfaW5zdGFuY2VzGAIgASgFUgxtYXhJbnN0YW5j' + 'ZXM='); + +@$core.Deprecated('Use manualScalingDescriptor instead') +const ManualScaling$json = { + '1': 'ManualScaling', + '2': [ + {'1': 'instances', '3': 1, '4': 1, '5': 5, '10': 'instances'}, + ], +}; + +/// Descriptor for `ManualScaling`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List manualScalingDescriptor = $convert.base64Decode( + 'Cg1NYW51YWxTY2FsaW5nEhwKCWluc3RhbmNlcxgBIAEoBVIJaW5zdGFuY2Vz'); + +@$core.Deprecated('Use cpuUtilizationDescriptor instead') +const CpuUtilization$json = { + '1': 'CpuUtilization', + '2': [ + { + '1': 'aggregation_window_length', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'aggregationWindowLength' + }, + { + '1': 'target_utilization', + '3': 2, + '4': 1, + '5': 1, + '10': 'targetUtilization' + }, + ], +}; + +/// Descriptor for `CpuUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cpuUtilizationDescriptor = $convert.base64Decode( + 'Cg5DcHVVdGlsaXphdGlvbhJVChlhZ2dyZWdhdGlvbl93aW5kb3dfbGVuZ3RoGAEgASgLMhkuZ2' + '9vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUhdhZ2dyZWdhdGlvbldpbmRvd0xlbmd0aBItChJ0YXJn' + 'ZXRfdXRpbGl6YXRpb24YAiABKAFSEXRhcmdldFV0aWxpemF0aW9u'); + +@$core.Deprecated('Use requestUtilizationDescriptor instead') +const RequestUtilization$json = { + '1': 'RequestUtilization', + '2': [ + { + '1': 'target_request_count_per_second', + '3': 1, + '4': 1, + '5': 5, + '10': 'targetRequestCountPerSecond' + }, + { + '1': 'target_concurrent_requests', + '3': 2, + '4': 1, + '5': 5, + '10': 'targetConcurrentRequests' + }, + ], +}; + +/// Descriptor for `RequestUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List requestUtilizationDescriptor = $convert.base64Decode( + 'ChJSZXF1ZXN0VXRpbGl6YXRpb24SRAofdGFyZ2V0X3JlcXVlc3RfY291bnRfcGVyX3NlY29uZB' + 'gBIAEoBVIbdGFyZ2V0UmVxdWVzdENvdW50UGVyU2Vjb25kEjwKGnRhcmdldF9jb25jdXJyZW50' + 'X3JlcXVlc3RzGAIgASgFUhh0YXJnZXRDb25jdXJyZW50UmVxdWVzdHM='); + +@$core.Deprecated('Use diskUtilizationDescriptor instead') +const DiskUtilization$json = { + '1': 'DiskUtilization', + '2': [ + { + '1': 'target_write_bytes_per_second', + '3': 14, + '4': 1, + '5': 5, + '10': 'targetWriteBytesPerSecond' + }, + { + '1': 'target_write_ops_per_second', + '3': 15, + '4': 1, + '5': 5, + '10': 'targetWriteOpsPerSecond' + }, + { + '1': 'target_read_bytes_per_second', + '3': 16, + '4': 1, + '5': 5, + '10': 'targetReadBytesPerSecond' + }, + { + '1': 'target_read_ops_per_second', + '3': 17, + '4': 1, + '5': 5, + '10': 'targetReadOpsPerSecond' + }, + ], +}; + +/// Descriptor for `DiskUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List diskUtilizationDescriptor = $convert.base64Decode( + 'Cg9EaXNrVXRpbGl6YXRpb24SQAoddGFyZ2V0X3dyaXRlX2J5dGVzX3Blcl9zZWNvbmQYDiABKA' + 'VSGXRhcmdldFdyaXRlQnl0ZXNQZXJTZWNvbmQSPAobdGFyZ2V0X3dyaXRlX29wc19wZXJfc2Vj' + 'b25kGA8gASgFUhd0YXJnZXRXcml0ZU9wc1BlclNlY29uZBI+Chx0YXJnZXRfcmVhZF9ieXRlc1' + '9wZXJfc2Vjb25kGBAgASgFUhh0YXJnZXRSZWFkQnl0ZXNQZXJTZWNvbmQSOgoadGFyZ2V0X3Jl' + 'YWRfb3BzX3Blcl9zZWNvbmQYESABKAVSFnRhcmdldFJlYWRPcHNQZXJTZWNvbmQ='); + +@$core.Deprecated('Use networkUtilizationDescriptor instead') +const NetworkUtilization$json = { + '1': 'NetworkUtilization', + '2': [ + { + '1': 'target_sent_bytes_per_second', + '3': 1, + '4': 1, + '5': 5, + '10': 'targetSentBytesPerSecond' + }, + { + '1': 'target_sent_packets_per_second', + '3': 11, + '4': 1, + '5': 5, + '10': 'targetSentPacketsPerSecond' + }, + { + '1': 'target_received_bytes_per_second', + '3': 12, + '4': 1, + '5': 5, + '10': 'targetReceivedBytesPerSecond' + }, + { + '1': 'target_received_packets_per_second', + '3': 13, + '4': 1, + '5': 5, + '10': 'targetReceivedPacketsPerSecond' + }, + ], +}; + +/// Descriptor for `NetworkUtilization`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List networkUtilizationDescriptor = $convert.base64Decode( + 'ChJOZXR3b3JrVXRpbGl6YXRpb24SPgocdGFyZ2V0X3NlbnRfYnl0ZXNfcGVyX3NlY29uZBgBIA' + 'EoBVIYdGFyZ2V0U2VudEJ5dGVzUGVyU2Vjb25kEkIKHnRhcmdldF9zZW50X3BhY2tldHNfcGVy' + 'X3NlY29uZBgLIAEoBVIadGFyZ2V0U2VudFBhY2tldHNQZXJTZWNvbmQSRgogdGFyZ2V0X3JlY2' + 'VpdmVkX2J5dGVzX3Blcl9zZWNvbmQYDCABKAVSHHRhcmdldFJlY2VpdmVkQnl0ZXNQZXJTZWNv' + 'bmQSSgoidGFyZ2V0X3JlY2VpdmVkX3BhY2tldHNfcGVyX3NlY29uZBgNIAEoBVIedGFyZ2V0Um' + 'VjZWl2ZWRQYWNrZXRzUGVyU2Vjb25k'); + +@$core.Deprecated('Use customMetricDescriptor instead') +const CustomMetric$json = { + '1': 'CustomMetric', + '2': [ + {'1': 'metric_name', '3': 1, '4': 1, '5': 9, '10': 'metricName'}, + {'1': 'target_type', '3': 2, '4': 1, '5': 9, '10': 'targetType'}, + { + '1': 'target_utilization', + '3': 3, + '4': 1, + '5': 1, + '9': 0, + '10': 'targetUtilization' + }, + { + '1': 'single_instance_assignment', + '3': 4, + '4': 1, + '5': 1, + '9': 0, + '10': 'singleInstanceAssignment' + }, + {'1': 'filter', '3': 5, '4': 1, '5': 9, '10': 'filter'}, + ], + '8': [ + {'1': 'target_spec'}, + ], +}; + +/// Descriptor for `CustomMetric`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List customMetricDescriptor = $convert.base64Decode( + 'CgxDdXN0b21NZXRyaWMSHwoLbWV0cmljX25hbWUYASABKAlSCm1ldHJpY05hbWUSHwoLdGFyZ2' + 'V0X3R5cGUYAiABKAlSCnRhcmdldFR5cGUSLwoSdGFyZ2V0X3V0aWxpemF0aW9uGAMgASgBSABS' + 'EXRhcmdldFV0aWxpemF0aW9uEj4KGnNpbmdsZV9pbnN0YW5jZV9hc3NpZ25tZW50GAQgASgBSA' + 'BSGHNpbmdsZUluc3RhbmNlQXNzaWdubWVudBIWCgZmaWx0ZXIYBSABKAlSBmZpbHRlckINCgt0' + 'YXJnZXRfc3BlYw=='); + +@$core.Deprecated('Use standardSchedulerSettingsDescriptor instead') +const StandardSchedulerSettings$json = { + '1': 'StandardSchedulerSettings', + '2': [ + { + '1': 'target_cpu_utilization', + '3': 1, + '4': 1, + '5': 1, + '10': 'targetCpuUtilization' + }, + { + '1': 'target_throughput_utilization', + '3': 2, + '4': 1, + '5': 1, + '10': 'targetThroughputUtilization' + }, + {'1': 'min_instances', '3': 3, '4': 1, '5': 5, '10': 'minInstances'}, + {'1': 'max_instances', '3': 4, '4': 1, '5': 5, '10': 'maxInstances'}, + ], +}; + +/// Descriptor for `StandardSchedulerSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List standardSchedulerSettingsDescriptor = $convert.base64Decode( + 'ChlTdGFuZGFyZFNjaGVkdWxlclNldHRpbmdzEjQKFnRhcmdldF9jcHVfdXRpbGl6YXRpb24YAS' + 'ABKAFSFHRhcmdldENwdVV0aWxpemF0aW9uEkIKHXRhcmdldF90aHJvdWdocHV0X3V0aWxpemF0' + 'aW9uGAIgASgBUht0YXJnZXRUaHJvdWdocHV0VXRpbGl6YXRpb24SIwoNbWluX2luc3RhbmNlcx' + 'gDIAEoBVIMbWluSW5zdGFuY2VzEiMKDW1heF9pbnN0YW5jZXMYBCABKAVSDG1heEluc3RhbmNl' + 'cw=='); + +@$core.Deprecated('Use networkDescriptor instead') +const Network$json = { + '1': 'Network', + '2': [ + {'1': 'forwarded_ports', '3': 1, '4': 3, '5': 9, '10': 'forwardedPorts'}, + {'1': 'instance_tag', '3': 2, '4': 1, '5': 9, '10': 'instanceTag'}, + {'1': 'name', '3': 3, '4': 1, '5': 9, '10': 'name'}, + {'1': 'subnetwork_name', '3': 4, '4': 1, '5': 9, '10': 'subnetworkName'}, + {'1': 'session_affinity', '3': 5, '4': 1, '5': 8, '10': 'sessionAffinity'}, + ], +}; + +/// Descriptor for `Network`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List networkDescriptor = $convert.base64Decode( + 'CgdOZXR3b3JrEicKD2ZvcndhcmRlZF9wb3J0cxgBIAMoCVIOZm9yd2FyZGVkUG9ydHMSIQoMaW' + '5zdGFuY2VfdGFnGAIgASgJUgtpbnN0YW5jZVRhZxISCgRuYW1lGAMgASgJUgRuYW1lEicKD3N1' + 'Ym5ldHdvcmtfbmFtZRgEIAEoCVIOc3VibmV0d29ya05hbWUSKQoQc2Vzc2lvbl9hZmZpbml0eR' + 'gFIAEoCFIPc2Vzc2lvbkFmZmluaXR5'); + +@$core.Deprecated('Use volumeDescriptor instead') +const Volume$json = { + '1': 'Volume', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'volume_type', '3': 2, '4': 1, '5': 9, '10': 'volumeType'}, + {'1': 'size_gb', '3': 3, '4': 1, '5': 1, '10': 'sizeGb'}, + ], +}; + +/// Descriptor for `Volume`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List volumeDescriptor = $convert.base64Decode( + 'CgZWb2x1bWUSEgoEbmFtZRgBIAEoCVIEbmFtZRIfCgt2b2x1bWVfdHlwZRgCIAEoCVIKdm9sdW' + '1lVHlwZRIXCgdzaXplX2diGAMgASgBUgZzaXplR2I='); + +@$core.Deprecated('Use resourcesDescriptor instead') +const Resources$json = { + '1': 'Resources', + '2': [ + {'1': 'cpu', '3': 1, '4': 1, '5': 1, '10': 'cpu'}, + {'1': 'disk_gb', '3': 2, '4': 1, '5': 1, '10': 'diskGb'}, + {'1': 'memory_gb', '3': 3, '4': 1, '5': 1, '10': 'memoryGb'}, + { + '1': 'volumes', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.appengine.v1beta.Volume', + '10': 'volumes' + }, + {'1': 'kms_key_reference', '3': 5, '4': 1, '5': 9, '10': 'kmsKeyReference'}, + ], +}; + +/// Descriptor for `Resources`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resourcesDescriptor = $convert.base64Decode( + 'CglSZXNvdXJjZXMSEAoDY3B1GAEgASgBUgNjcHUSFwoHZGlza19nYhgCIAEoAVIGZGlza0diEh' + 'sKCW1lbW9yeV9nYhgDIAEoAVIIbWVtb3J5R2ISOQoHdm9sdW1lcxgEIAMoCzIfLmdvb2dsZS5h' + 'cHBlbmdpbmUudjFiZXRhLlZvbHVtZVIHdm9sdW1lcxIqChFrbXNfa2V5X3JlZmVyZW5jZRgFIA' + 'EoCVIPa21zS2V5UmVmZXJlbmNl'); + +@$core.Deprecated('Use vpcAccessConnectorDescriptor instead') +const VpcAccessConnector$json = { + '1': 'VpcAccessConnector', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `VpcAccessConnector`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List vpcAccessConnectorDescriptor = $convert + .base64Decode('ChJWcGNBY2Nlc3NDb25uZWN0b3ISEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use entrypointDescriptor instead') +const Entrypoint$json = { + '1': 'Entrypoint', + '2': [ + {'1': 'shell', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'shell'}, + ], + '8': [ + {'1': 'command'}, + ], +}; + +/// Descriptor for `Entrypoint`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entrypointDescriptor = $convert.base64Decode( + 'CgpFbnRyeXBvaW50EhYKBXNoZWxsGAEgASgJSABSBXNoZWxsQgkKB2NvbW1hbmQ='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pb.dart new file mode 100644 index 00000000..965e08c7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pb.dart @@ -0,0 +1,1651 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/timestamp.pb.dart' as $50; +import 'datastore_admin.pbenum.dart'; +import 'index.pb.dart' as $24; +import 'migration.pbenum.dart' as $79; + +export 'datastore_admin.pbenum.dart'; + +/// Metadata common to all Datastore Admin operations. +class CommonMetadata extends $pb.GeneratedMessage { + factory CommonMetadata({ + $50.Timestamp? startTime, + $50.Timestamp? endTime, + OperationType? operationType, + $core.Map<$core.String, $core.String>? labels, + CommonMetadata_State? state, + }) { + final $result = create(); + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (operationType != null) { + $result.operationType = operationType; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (state != null) { + $result.state = state; + } + return $result; + } + CommonMetadata._() : super(); + factory CommonMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommonMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommonMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..e( + 3, _omitFieldNames ? '' : 'operationType', $pb.PbFieldType.OE, + defaultOrMaker: OperationType.OPERATION_TYPE_UNSPECIFIED, + valueOf: OperationType.valueOf, + enumValues: OperationType.values) + ..m<$core.String, $core.String>(4, _omitFieldNames ? '' : 'labels', + entryClassName: 'CommonMetadata.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.datastore.admin.v1')) + ..e( + 5, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: CommonMetadata_State.STATE_UNSPECIFIED, + valueOf: CommonMetadata_State.valueOf, + enumValues: CommonMetadata_State.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommonMetadata clone() => CommonMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommonMetadata copyWith(void Function(CommonMetadata) updates) => + super.copyWith((message) => updates(message as CommonMetadata)) + as CommonMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommonMetadata create() => CommonMetadata._(); + CommonMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommonMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommonMetadata? _defaultInstance; + + /// The time that work began on the operation. + @$pb.TagNumber(1) + $50.Timestamp get startTime => $_getN(0); + @$pb.TagNumber(1) + set startTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStartTime() => $_has(0); + @$pb.TagNumber(1) + void clearStartTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureStartTime() => $_ensure(0); + + /// The time the operation ended, either successfully or otherwise. + @$pb.TagNumber(2) + $50.Timestamp get endTime => $_getN(1); + @$pb.TagNumber(2) + set endTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEndTime() => $_has(1); + @$pb.TagNumber(2) + void clearEndTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureEndTime() => $_ensure(1); + + /// The type of the operation. Can be used as a filter in + /// ListOperationsRequest. + @$pb.TagNumber(3) + OperationType get operationType => $_getN(2); + @$pb.TagNumber(3) + set operationType(OperationType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOperationType() => $_has(2); + @$pb.TagNumber(3) + void clearOperationType() => clearField(3); + + /// The client-assigned labels which were provided when the operation was + /// created. May also include additional labels. + @$pb.TagNumber(4) + $core.Map<$core.String, $core.String> get labels => $_getMap(3); + + /// The current state of the Operation. + @$pb.TagNumber(5) + CommonMetadata_State get state => $_getN(4); + @$pb.TagNumber(5) + set state(CommonMetadata_State v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasState() => $_has(4); + @$pb.TagNumber(5) + void clearState() => clearField(5); +} + +/// Measures the progress of a particular metric. +class Progress extends $pb.GeneratedMessage { + factory Progress({ + $fixnum.Int64? workCompleted, + $fixnum.Int64? workEstimated, + }) { + final $result = create(); + if (workCompleted != null) { + $result.workCompleted = workCompleted; + } + if (workEstimated != null) { + $result.workEstimated = workEstimated; + } + return $result; + } + Progress._() : super(); + factory Progress.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Progress.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Progress', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'workCompleted') + ..aInt64(2, _omitFieldNames ? '' : 'workEstimated') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Progress clone() => Progress()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Progress copyWith(void Function(Progress) updates) => + super.copyWith((message) => updates(message as Progress)) as Progress; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Progress create() => Progress._(); + Progress createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Progress getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Progress? _defaultInstance; + + /// The amount of work that has been completed. Note that this may be greater + /// than work_estimated. + @$pb.TagNumber(1) + $fixnum.Int64 get workCompleted => $_getI64(0); + @$pb.TagNumber(1) + set workCompleted($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasWorkCompleted() => $_has(0); + @$pb.TagNumber(1) + void clearWorkCompleted() => clearField(1); + + /// An estimate of how much work needs to be performed. May be zero if the + /// work estimate is unavailable. + @$pb.TagNumber(2) + $fixnum.Int64 get workEstimated => $_getI64(1); + @$pb.TagNumber(2) + set workEstimated($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasWorkEstimated() => $_has(1); + @$pb.TagNumber(2) + void clearWorkEstimated() => clearField(2); +} + +/// The request for +/// [google.datastore.admin.v1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1.DatastoreAdmin.ExportEntities]. +class ExportEntitiesRequest extends $pb.GeneratedMessage { + factory ExportEntitiesRequest({ + $core.String? projectId, + $core.Map<$core.String, $core.String>? labels, + EntityFilter? entityFilter, + $core.String? outputUrlPrefix, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + if (outputUrlPrefix != null) { + $result.outputUrlPrefix = outputUrlPrefix; + } + return $result; + } + ExportEntitiesRequest._() : super(); + factory ExportEntitiesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExportEntitiesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExportEntitiesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'labels', + entryClassName: 'ExportEntitiesRequest.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.datastore.admin.v1')) + ..aOM(3, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..aOS(4, _omitFieldNames ? '' : 'outputUrlPrefix') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExportEntitiesRequest clone() => + ExportEntitiesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExportEntitiesRequest copyWith( + void Function(ExportEntitiesRequest) updates) => + super.copyWith((message) => updates(message as ExportEntitiesRequest)) + as ExportEntitiesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExportEntitiesRequest create() => ExportEntitiesRequest._(); + ExportEntitiesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExportEntitiesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExportEntitiesRequest? _defaultInstance; + + /// Required. Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// Client-assigned labels. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get labels => $_getMap(1); + + /// Description of what data from the project is included in the export. + @$pb.TagNumber(3) + EntityFilter get entityFilter => $_getN(2); + @$pb.TagNumber(3) + set entityFilter(EntityFilter v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEntityFilter() => $_has(2); + @$pb.TagNumber(3) + void clearEntityFilter() => clearField(3); + @$pb.TagNumber(3) + EntityFilter ensureEntityFilter() => $_ensure(2); + + /// Required. Location for the export metadata and data files. + /// + /// The full resource URL of the external storage location. Currently, only + /// Google Cloud Storage is supported. So output_url_prefix should be of the + /// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the + /// name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + /// Storage namespace path (this is not a Cloud Datastore namespace). For more + /// information about Cloud Storage namespace paths, see + /// [Object name + /// considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + /// + /// The resulting files will be nested deeper than the specified URL prefix. + /// The final output URL will be provided in the + /// [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url] + /// field. That value should be used for subsequent ImportEntities operations. + /// + /// By nesting the data files deeper, the same Cloud Storage bucket can be used + /// in multiple ExportEntities operations without conflict. + @$pb.TagNumber(4) + $core.String get outputUrlPrefix => $_getSZ(3); + @$pb.TagNumber(4) + set outputUrlPrefix($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasOutputUrlPrefix() => $_has(3); + @$pb.TagNumber(4) + void clearOutputUrlPrefix() => clearField(4); +} + +/// The request for +/// [google.datastore.admin.v1.DatastoreAdmin.ImportEntities][google.datastore.admin.v1.DatastoreAdmin.ImportEntities]. +class ImportEntitiesRequest extends $pb.GeneratedMessage { + factory ImportEntitiesRequest({ + $core.String? projectId, + $core.Map<$core.String, $core.String>? labels, + $core.String? inputUrl, + EntityFilter? entityFilter, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (inputUrl != null) { + $result.inputUrl = inputUrl; + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + return $result; + } + ImportEntitiesRequest._() : super(); + factory ImportEntitiesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportEntitiesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportEntitiesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'labels', + entryClassName: 'ImportEntitiesRequest.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.datastore.admin.v1')) + ..aOS(3, _omitFieldNames ? '' : 'inputUrl') + ..aOM(4, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportEntitiesRequest clone() => + ImportEntitiesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportEntitiesRequest copyWith( + void Function(ImportEntitiesRequest) updates) => + super.copyWith((message) => updates(message as ImportEntitiesRequest)) + as ImportEntitiesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportEntitiesRequest create() => ImportEntitiesRequest._(); + ImportEntitiesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportEntitiesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportEntitiesRequest? _defaultInstance; + + /// Required. Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// Client-assigned labels. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get labels => $_getMap(1); + + /// Required. The full resource URL of the external storage location. + /// Currently, only Google Cloud Storage is supported. So input_url should be + /// of the form: + /// `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + /// `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is + /// an optional Cloud Storage namespace path (this is not a Cloud Datastore + /// namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written + /// by the ExportEntities operation. For more information about Cloud Storage + /// namespace paths, see + /// [Object name + /// considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + /// + /// For more information, see + /// [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url]. + @$pb.TagNumber(3) + $core.String get inputUrl => $_getSZ(2); + @$pb.TagNumber(3) + set inputUrl($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasInputUrl() => $_has(2); + @$pb.TagNumber(3) + void clearInputUrl() => clearField(3); + + /// Optionally specify which kinds/namespaces are to be imported. If provided, + /// the list must be a subset of the EntityFilter used in creating the export, + /// otherwise a FAILED_PRECONDITION error will be returned. If no filter is + /// specified then all entities from the export are imported. + @$pb.TagNumber(4) + EntityFilter get entityFilter => $_getN(3); + @$pb.TagNumber(4) + set entityFilter(EntityFilter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEntityFilter() => $_has(3); + @$pb.TagNumber(4) + void clearEntityFilter() => clearField(4); + @$pb.TagNumber(4) + EntityFilter ensureEntityFilter() => $_ensure(3); +} + +/// The response for +/// [google.datastore.admin.v1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1.DatastoreAdmin.ExportEntities]. +class ExportEntitiesResponse extends $pb.GeneratedMessage { + factory ExportEntitiesResponse({ + $core.String? outputUrl, + }) { + final $result = create(); + if (outputUrl != null) { + $result.outputUrl = outputUrl; + } + return $result; + } + ExportEntitiesResponse._() : super(); + factory ExportEntitiesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExportEntitiesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExportEntitiesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'outputUrl') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExportEntitiesResponse clone() => + ExportEntitiesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExportEntitiesResponse copyWith( + void Function(ExportEntitiesResponse) updates) => + super.copyWith((message) => updates(message as ExportEntitiesResponse)) + as ExportEntitiesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExportEntitiesResponse create() => ExportEntitiesResponse._(); + ExportEntitiesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExportEntitiesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExportEntitiesResponse? _defaultInstance; + + /// Location of the output metadata file. This can be used to begin an import + /// into Cloud Datastore (this project or another project). See + /// [google.datastore.admin.v1.ImportEntitiesRequest.input_url][google.datastore.admin.v1.ImportEntitiesRequest.input_url]. + /// Only present if the operation completed successfully. + @$pb.TagNumber(1) + $core.String get outputUrl => $_getSZ(0); + @$pb.TagNumber(1) + set outputUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOutputUrl() => $_has(0); + @$pb.TagNumber(1) + void clearOutputUrl() => clearField(1); +} + +/// Metadata for ExportEntities operations. +class ExportEntitiesMetadata extends $pb.GeneratedMessage { + factory ExportEntitiesMetadata({ + CommonMetadata? common, + Progress? progressEntities, + Progress? progressBytes, + EntityFilter? entityFilter, + $core.String? outputUrlPrefix, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (progressEntities != null) { + $result.progressEntities = progressEntities; + } + if (progressBytes != null) { + $result.progressBytes = progressBytes; + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + if (outputUrlPrefix != null) { + $result.outputUrlPrefix = outputUrlPrefix; + } + return $result; + } + ExportEntitiesMetadata._() : super(); + factory ExportEntitiesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExportEntitiesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExportEntitiesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonMetadata.create) + ..aOM(2, _omitFieldNames ? '' : 'progressEntities', + subBuilder: Progress.create) + ..aOM(3, _omitFieldNames ? '' : 'progressBytes', + subBuilder: Progress.create) + ..aOM(4, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..aOS(5, _omitFieldNames ? '' : 'outputUrlPrefix') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExportEntitiesMetadata clone() => + ExportEntitiesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExportEntitiesMetadata copyWith( + void Function(ExportEntitiesMetadata) updates) => + super.copyWith((message) => updates(message as ExportEntitiesMetadata)) + as ExportEntitiesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExportEntitiesMetadata create() => ExportEntitiesMetadata._(); + ExportEntitiesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExportEntitiesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExportEntitiesMetadata? _defaultInstance; + + /// Metadata common to all Datastore Admin operations. + @$pb.TagNumber(1) + CommonMetadata get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonMetadata v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonMetadata ensureCommon() => $_ensure(0); + + /// An estimate of the number of entities processed. + @$pb.TagNumber(2) + Progress get progressEntities => $_getN(1); + @$pb.TagNumber(2) + set progressEntities(Progress v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProgressEntities() => $_has(1); + @$pb.TagNumber(2) + void clearProgressEntities() => clearField(2); + @$pb.TagNumber(2) + Progress ensureProgressEntities() => $_ensure(1); + + /// An estimate of the number of bytes processed. + @$pb.TagNumber(3) + Progress get progressBytes => $_getN(2); + @$pb.TagNumber(3) + set progressBytes(Progress v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasProgressBytes() => $_has(2); + @$pb.TagNumber(3) + void clearProgressBytes() => clearField(3); + @$pb.TagNumber(3) + Progress ensureProgressBytes() => $_ensure(2); + + /// Description of which entities are being exported. + @$pb.TagNumber(4) + EntityFilter get entityFilter => $_getN(3); + @$pb.TagNumber(4) + set entityFilter(EntityFilter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEntityFilter() => $_has(3); + @$pb.TagNumber(4) + void clearEntityFilter() => clearField(4); + @$pb.TagNumber(4) + EntityFilter ensureEntityFilter() => $_ensure(3); + + /// Location for the export metadata and data files. This will be the same + /// value as the + /// [google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix][google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix] + /// field. The final output location is provided in + /// [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url]. + @$pb.TagNumber(5) + $core.String get outputUrlPrefix => $_getSZ(4); + @$pb.TagNumber(5) + set outputUrlPrefix($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOutputUrlPrefix() => $_has(4); + @$pb.TagNumber(5) + void clearOutputUrlPrefix() => clearField(5); +} + +/// Metadata for ImportEntities operations. +class ImportEntitiesMetadata extends $pb.GeneratedMessage { + factory ImportEntitiesMetadata({ + CommonMetadata? common, + Progress? progressEntities, + Progress? progressBytes, + EntityFilter? entityFilter, + $core.String? inputUrl, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (progressEntities != null) { + $result.progressEntities = progressEntities; + } + if (progressBytes != null) { + $result.progressBytes = progressBytes; + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + if (inputUrl != null) { + $result.inputUrl = inputUrl; + } + return $result; + } + ImportEntitiesMetadata._() : super(); + factory ImportEntitiesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportEntitiesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportEntitiesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonMetadata.create) + ..aOM(2, _omitFieldNames ? '' : 'progressEntities', + subBuilder: Progress.create) + ..aOM(3, _omitFieldNames ? '' : 'progressBytes', + subBuilder: Progress.create) + ..aOM(4, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..aOS(5, _omitFieldNames ? '' : 'inputUrl') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportEntitiesMetadata clone() => + ImportEntitiesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportEntitiesMetadata copyWith( + void Function(ImportEntitiesMetadata) updates) => + super.copyWith((message) => updates(message as ImportEntitiesMetadata)) + as ImportEntitiesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportEntitiesMetadata create() => ImportEntitiesMetadata._(); + ImportEntitiesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportEntitiesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportEntitiesMetadata? _defaultInstance; + + /// Metadata common to all Datastore Admin operations. + @$pb.TagNumber(1) + CommonMetadata get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonMetadata v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonMetadata ensureCommon() => $_ensure(0); + + /// An estimate of the number of entities processed. + @$pb.TagNumber(2) + Progress get progressEntities => $_getN(1); + @$pb.TagNumber(2) + set progressEntities(Progress v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProgressEntities() => $_has(1); + @$pb.TagNumber(2) + void clearProgressEntities() => clearField(2); + @$pb.TagNumber(2) + Progress ensureProgressEntities() => $_ensure(1); + + /// An estimate of the number of bytes processed. + @$pb.TagNumber(3) + Progress get progressBytes => $_getN(2); + @$pb.TagNumber(3) + set progressBytes(Progress v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasProgressBytes() => $_has(2); + @$pb.TagNumber(3) + void clearProgressBytes() => clearField(3); + @$pb.TagNumber(3) + Progress ensureProgressBytes() => $_ensure(2); + + /// Description of which entities are being imported. + @$pb.TagNumber(4) + EntityFilter get entityFilter => $_getN(3); + @$pb.TagNumber(4) + set entityFilter(EntityFilter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEntityFilter() => $_has(3); + @$pb.TagNumber(4) + void clearEntityFilter() => clearField(4); + @$pb.TagNumber(4) + EntityFilter ensureEntityFilter() => $_ensure(3); + + /// The location of the import metadata file. This will be the same value as + /// the + /// [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url] + /// field. + @$pb.TagNumber(5) + $core.String get inputUrl => $_getSZ(4); + @$pb.TagNumber(5) + set inputUrl($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasInputUrl() => $_has(4); + @$pb.TagNumber(5) + void clearInputUrl() => clearField(5); +} + +/// Identifies a subset of entities in a project. This is specified as +/// combinations of kinds and namespaces (either or both of which may be all, as +/// described in the following examples). +/// Example usage: +/// +/// Entire project: +/// kinds=[], namespace_ids=[] +/// +/// Kinds Foo and Bar in all namespaces: +/// kinds=['Foo', 'Bar'], namespace_ids=[] +/// +/// Kinds Foo and Bar only in the default namespace: +/// kinds=['Foo', 'Bar'], namespace_ids=[''] +/// +/// Kinds Foo and Bar in both the default and Baz namespaces: +/// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +/// +/// The entire Baz namespace: +/// kinds=[], namespace_ids=['Baz'] +class EntityFilter extends $pb.GeneratedMessage { + factory EntityFilter({ + $core.Iterable<$core.String>? kinds, + $core.Iterable<$core.String>? namespaceIds, + }) { + final $result = create(); + if (kinds != null) { + $result.kinds.addAll(kinds); + } + if (namespaceIds != null) { + $result.namespaceIds.addAll(namespaceIds); + } + return $result; + } + EntityFilter._() : super(); + factory EntityFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EntityFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EntityFilter', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'kinds') + ..pPS(2, _omitFieldNames ? '' : 'namespaceIds') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EntityFilter clone() => EntityFilter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EntityFilter copyWith(void Function(EntityFilter) updates) => + super.copyWith((message) => updates(message as EntityFilter)) + as EntityFilter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EntityFilter create() => EntityFilter._(); + EntityFilter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EntityFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EntityFilter? _defaultInstance; + + /// If empty, then this represents all kinds. + @$pb.TagNumber(1) + $core.List<$core.String> get kinds => $_getList(0); + + /// An empty list represents all namespaces. This is the preferred + /// usage for projects that don't use namespaces. + /// + /// An empty string element represents the default namespace. This should be + /// used if the project has data in non-default namespaces, but doesn't want to + /// include them. + /// Each namespace in this list must be unique. + @$pb.TagNumber(2) + $core.List<$core.String> get namespaceIds => $_getList(1); +} + +/// The request for +/// [google.datastore.admin.v1.DatastoreAdmin.CreateIndex][google.datastore.admin.v1.DatastoreAdmin.CreateIndex]. +class CreateIndexRequest extends $pb.GeneratedMessage { + factory CreateIndexRequest({ + $core.String? projectId, + $24.Index? index, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (index != null) { + $result.index = index; + } + return $result; + } + CreateIndexRequest._() : super(); + factory CreateIndexRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateIndexRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateIndexRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..aOM<$24.Index>(3, _omitFieldNames ? '' : 'index', + subBuilder: $24.Index.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateIndexRequest clone() => CreateIndexRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateIndexRequest copyWith(void Function(CreateIndexRequest) updates) => + super.copyWith((message) => updates(message as CreateIndexRequest)) + as CreateIndexRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateIndexRequest create() => CreateIndexRequest._(); + CreateIndexRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateIndexRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateIndexRequest? _defaultInstance; + + /// Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// The index to create. The name and state fields are output only and will be + /// ignored. Single property indexes cannot be created or deleted. + @$pb.TagNumber(3) + $24.Index get index => $_getN(1); + @$pb.TagNumber(3) + set index($24.Index v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasIndex() => $_has(1); + @$pb.TagNumber(3) + void clearIndex() => clearField(3); + @$pb.TagNumber(3) + $24.Index ensureIndex() => $_ensure(1); +} + +/// The request for +/// [google.datastore.admin.v1.DatastoreAdmin.DeleteIndex][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex]. +class DeleteIndexRequest extends $pb.GeneratedMessage { + factory DeleteIndexRequest({ + $core.String? projectId, + $core.String? indexId, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (indexId != null) { + $result.indexId = indexId; + } + return $result; + } + DeleteIndexRequest._() : super(); + factory DeleteIndexRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteIndexRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteIndexRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..aOS(3, _omitFieldNames ? '' : 'indexId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteIndexRequest clone() => DeleteIndexRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteIndexRequest copyWith(void Function(DeleteIndexRequest) updates) => + super.copyWith((message) => updates(message as DeleteIndexRequest)) + as DeleteIndexRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteIndexRequest create() => DeleteIndexRequest._(); + DeleteIndexRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteIndexRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteIndexRequest? _defaultInstance; + + /// Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// The resource ID of the index to delete. + @$pb.TagNumber(3) + $core.String get indexId => $_getSZ(1); + @$pb.TagNumber(3) + set indexId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasIndexId() => $_has(1); + @$pb.TagNumber(3) + void clearIndexId() => clearField(3); +} + +/// The request for +/// [google.datastore.admin.v1.DatastoreAdmin.GetIndex][google.datastore.admin.v1.DatastoreAdmin.GetIndex]. +class GetIndexRequest extends $pb.GeneratedMessage { + factory GetIndexRequest({ + $core.String? projectId, + $core.String? indexId, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (indexId != null) { + $result.indexId = indexId; + } + return $result; + } + GetIndexRequest._() : super(); + factory GetIndexRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetIndexRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetIndexRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..aOS(3, _omitFieldNames ? '' : 'indexId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetIndexRequest clone() => GetIndexRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetIndexRequest copyWith(void Function(GetIndexRequest) updates) => + super.copyWith((message) => updates(message as GetIndexRequest)) + as GetIndexRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetIndexRequest create() => GetIndexRequest._(); + GetIndexRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetIndexRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetIndexRequest? _defaultInstance; + + /// Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// The resource ID of the index to get. + @$pb.TagNumber(3) + $core.String get indexId => $_getSZ(1); + @$pb.TagNumber(3) + set indexId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasIndexId() => $_has(1); + @$pb.TagNumber(3) + void clearIndexId() => clearField(3); +} + +/// The request for +/// [google.datastore.admin.v1.DatastoreAdmin.ListIndexes][google.datastore.admin.v1.DatastoreAdmin.ListIndexes]. +class ListIndexesRequest extends $pb.GeneratedMessage { + factory ListIndexesRequest({ + $core.String? projectId, + $core.String? filter, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (filter != null) { + $result.filter = filter; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListIndexesRequest._() : super(); + factory ListIndexesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListIndexesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListIndexesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..aOS(3, _omitFieldNames ? '' : 'filter') + ..a<$core.int>(4, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(5, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListIndexesRequest clone() => ListIndexesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListIndexesRequest copyWith(void Function(ListIndexesRequest) updates) => + super.copyWith((message) => updates(message as ListIndexesRequest)) + as ListIndexesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListIndexesRequest create() => ListIndexesRequest._(); + ListIndexesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListIndexesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListIndexesRequest? _defaultInstance; + + /// Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + @$pb.TagNumber(3) + $core.String get filter => $_getSZ(1); + @$pb.TagNumber(3) + set filter($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasFilter() => $_has(1); + @$pb.TagNumber(3) + void clearFilter() => clearField(3); + + /// The maximum number of items to return. If zero, then all results will be + /// returned. + @$pb.TagNumber(4) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(4) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(4) + void clearPageSize() => clearField(4); + + /// The next_page_token value returned from a previous List request, if any. + @$pb.TagNumber(5) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(5) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(5) + void clearPageToken() => clearField(5); +} + +/// The response for +/// [google.datastore.admin.v1.DatastoreAdmin.ListIndexes][google.datastore.admin.v1.DatastoreAdmin.ListIndexes]. +class ListIndexesResponse extends $pb.GeneratedMessage { + factory ListIndexesResponse({ + $core.Iterable<$24.Index>? indexes, + $core.String? nextPageToken, + }) { + final $result = create(); + if (indexes != null) { + $result.indexes.addAll(indexes); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListIndexesResponse._() : super(); + factory ListIndexesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListIndexesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListIndexesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..pc<$24.Index>(1, _omitFieldNames ? '' : 'indexes', $pb.PbFieldType.PM, + subBuilder: $24.Index.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListIndexesResponse clone() => ListIndexesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListIndexesResponse copyWith(void Function(ListIndexesResponse) updates) => + super.copyWith((message) => updates(message as ListIndexesResponse)) + as ListIndexesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListIndexesResponse create() => ListIndexesResponse._(); + ListIndexesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListIndexesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListIndexesResponse? _defaultInstance; + + /// The indexes. + @$pb.TagNumber(1) + $core.List<$24.Index> get indexes => $_getList(0); + + /// The standard List next-page token. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Metadata for Index operations. +class IndexOperationMetadata extends $pb.GeneratedMessage { + factory IndexOperationMetadata({ + CommonMetadata? common, + Progress? progressEntities, + $core.String? indexId, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (progressEntities != null) { + $result.progressEntities = progressEntities; + } + if (indexId != null) { + $result.indexId = indexId; + } + return $result; + } + IndexOperationMetadata._() : super(); + factory IndexOperationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IndexOperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'IndexOperationMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonMetadata.create) + ..aOM(2, _omitFieldNames ? '' : 'progressEntities', + subBuilder: Progress.create) + ..aOS(3, _omitFieldNames ? '' : 'indexId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IndexOperationMetadata clone() => + IndexOperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IndexOperationMetadata copyWith( + void Function(IndexOperationMetadata) updates) => + super.copyWith((message) => updates(message as IndexOperationMetadata)) + as IndexOperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IndexOperationMetadata create() => IndexOperationMetadata._(); + IndexOperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IndexOperationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static IndexOperationMetadata? _defaultInstance; + + /// Metadata common to all Datastore Admin operations. + @$pb.TagNumber(1) + CommonMetadata get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonMetadata v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonMetadata ensureCommon() => $_ensure(0); + + /// An estimate of the number of entities processed. + @$pb.TagNumber(2) + Progress get progressEntities => $_getN(1); + @$pb.TagNumber(2) + set progressEntities(Progress v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProgressEntities() => $_has(1); + @$pb.TagNumber(2) + void clearProgressEntities() => clearField(2); + @$pb.TagNumber(2) + Progress ensureProgressEntities() => $_ensure(1); + + /// The index resource ID that this operation is acting on. + @$pb.TagNumber(3) + $core.String get indexId => $_getSZ(2); + @$pb.TagNumber(3) + set indexId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasIndexId() => $_has(2); + @$pb.TagNumber(3) + void clearIndexId() => clearField(3); +} + +/// Metadata for Datastore to Firestore migration operations. +/// +/// The DatastoreFirestoreMigration operation is not started by the end-user via +/// an explicit "creation" method. This is an intentional deviation from the LRO +/// design pattern. +/// +/// This singleton resource can be accessed at: +/// "projects/{project_id}/operations/datastore-firestore-migration" +class DatastoreFirestoreMigrationMetadata extends $pb.GeneratedMessage { + factory DatastoreFirestoreMigrationMetadata({ + $79.MigrationState? migrationState, + $79.MigrationStep? migrationStep, + }) { + final $result = create(); + if (migrationState != null) { + $result.migrationState = migrationState; + } + if (migrationStep != null) { + $result.migrationStep = migrationStep; + } + return $result; + } + DatastoreFirestoreMigrationMetadata._() : super(); + factory DatastoreFirestoreMigrationMetadata.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DatastoreFirestoreMigrationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DatastoreFirestoreMigrationMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..e<$79.MigrationState>( + 1, _omitFieldNames ? '' : 'migrationState', $pb.PbFieldType.OE, + defaultOrMaker: $79.MigrationState.MIGRATION_STATE_UNSPECIFIED, + valueOf: $79.MigrationState.valueOf, + enumValues: $79.MigrationState.values) + ..e<$79.MigrationStep>( + 2, _omitFieldNames ? '' : 'migrationStep', $pb.PbFieldType.OE, + defaultOrMaker: $79.MigrationStep.MIGRATION_STEP_UNSPECIFIED, + valueOf: $79.MigrationStep.valueOf, + enumValues: $79.MigrationStep.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DatastoreFirestoreMigrationMetadata clone() => + DatastoreFirestoreMigrationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DatastoreFirestoreMigrationMetadata copyWith( + void Function(DatastoreFirestoreMigrationMetadata) updates) => + super.copyWith((message) => + updates(message as DatastoreFirestoreMigrationMetadata)) + as DatastoreFirestoreMigrationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DatastoreFirestoreMigrationMetadata create() => + DatastoreFirestoreMigrationMetadata._(); + DatastoreFirestoreMigrationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DatastoreFirestoreMigrationMetadata getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + DatastoreFirestoreMigrationMetadata>(create); + static DatastoreFirestoreMigrationMetadata? _defaultInstance; + + /// The current state of migration from Cloud Datastore to Cloud Firestore in + /// Datastore mode. + @$pb.TagNumber(1) + $79.MigrationState get migrationState => $_getN(0); + @$pb.TagNumber(1) + set migrationState($79.MigrationState v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasMigrationState() => $_has(0); + @$pb.TagNumber(1) + void clearMigrationState() => clearField(1); + + /// The current step of migration from Cloud Datastore to Cloud Firestore in + /// Datastore mode. + @$pb.TagNumber(2) + $79.MigrationStep get migrationStep => $_getN(1); + @$pb.TagNumber(2) + set migrationStep($79.MigrationStep v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasMigrationStep() => $_has(1); + @$pb.TagNumber(2) + void clearMigrationStep() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbenum.dart new file mode 100644 index 00000000..b9b7921b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbenum.dart @@ -0,0 +1,81 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Operation types. +class OperationType extends $pb.ProtobufEnum { + static const OperationType OPERATION_TYPE_UNSPECIFIED = + OperationType._(0, _omitEnumNames ? '' : 'OPERATION_TYPE_UNSPECIFIED'); + static const OperationType EXPORT_ENTITIES = + OperationType._(1, _omitEnumNames ? '' : 'EXPORT_ENTITIES'); + static const OperationType IMPORT_ENTITIES = + OperationType._(2, _omitEnumNames ? '' : 'IMPORT_ENTITIES'); + static const OperationType CREATE_INDEX = + OperationType._(3, _omitEnumNames ? '' : 'CREATE_INDEX'); + static const OperationType DELETE_INDEX = + OperationType._(4, _omitEnumNames ? '' : 'DELETE_INDEX'); + + static const $core.List values = [ + OPERATION_TYPE_UNSPECIFIED, + EXPORT_ENTITIES, + IMPORT_ENTITIES, + CREATE_INDEX, + DELETE_INDEX, + ]; + + static final $core.Map<$core.int, OperationType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static OperationType? valueOf($core.int value) => _byValue[value]; + + const OperationType._($core.int v, $core.String n) : super(v, n); +} + +/// The various possible states for an ongoing Operation. +class CommonMetadata_State extends $pb.ProtobufEnum { + static const CommonMetadata_State STATE_UNSPECIFIED = + CommonMetadata_State._(0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const CommonMetadata_State INITIALIZING = + CommonMetadata_State._(1, _omitEnumNames ? '' : 'INITIALIZING'); + static const CommonMetadata_State PROCESSING = + CommonMetadata_State._(2, _omitEnumNames ? '' : 'PROCESSING'); + static const CommonMetadata_State CANCELLING = + CommonMetadata_State._(3, _omitEnumNames ? '' : 'CANCELLING'); + static const CommonMetadata_State FINALIZING = + CommonMetadata_State._(4, _omitEnumNames ? '' : 'FINALIZING'); + static const CommonMetadata_State SUCCESSFUL = + CommonMetadata_State._(5, _omitEnumNames ? '' : 'SUCCESSFUL'); + static const CommonMetadata_State FAILED = + CommonMetadata_State._(6, _omitEnumNames ? '' : 'FAILED'); + static const CommonMetadata_State CANCELLED = + CommonMetadata_State._(7, _omitEnumNames ? '' : 'CANCELLED'); + + static const $core.List values = [ + STATE_UNSPECIFIED, + INITIALIZING, + PROCESSING, + CANCELLING, + FINALIZING, + SUCCESSFUL, + FAILED, + CANCELLED, + ]; + + static final $core.Map<$core.int, CommonMetadata_State> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CommonMetadata_State? valueOf($core.int value) => _byValue[value]; + + const CommonMetadata_State._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbgrpc.dart new file mode 100644 index 00000000..b5730dbb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbgrpc.dart @@ -0,0 +1,193 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../longrunning/operations.pb.dart' as $0; +import 'datastore_admin.pb.dart' as $23; +import 'index.pb.dart' as $24; + +export 'datastore_admin.pb.dart'; + +@$pb.GrpcServiceName('google.datastore.admin.v1.DatastoreAdmin') +class DatastoreAdminClient extends $grpc.Client { + static final _$exportEntities = + $grpc.ClientMethod<$23.ExportEntitiesRequest, $0.Operation>( + '/google.datastore.admin.v1.DatastoreAdmin/ExportEntities', + ($23.ExportEntitiesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$importEntities = + $grpc.ClientMethod<$23.ImportEntitiesRequest, $0.Operation>( + '/google.datastore.admin.v1.DatastoreAdmin/ImportEntities', + ($23.ImportEntitiesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$createIndex = + $grpc.ClientMethod<$23.CreateIndexRequest, $0.Operation>( + '/google.datastore.admin.v1.DatastoreAdmin/CreateIndex', + ($23.CreateIndexRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteIndex = + $grpc.ClientMethod<$23.DeleteIndexRequest, $0.Operation>( + '/google.datastore.admin.v1.DatastoreAdmin/DeleteIndex', + ($23.DeleteIndexRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$getIndex = $grpc.ClientMethod<$23.GetIndexRequest, $24.Index>( + '/google.datastore.admin.v1.DatastoreAdmin/GetIndex', + ($23.GetIndexRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $24.Index.fromBuffer(value)); + static final _$listIndexes = + $grpc.ClientMethod<$23.ListIndexesRequest, $23.ListIndexesResponse>( + '/google.datastore.admin.v1.DatastoreAdmin/ListIndexes', + ($23.ListIndexesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $23.ListIndexesResponse.fromBuffer(value)); + + DatastoreAdminClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.Operation> exportEntities( + $23.ExportEntitiesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$exportEntities, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> importEntities( + $23.ImportEntitiesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$importEntities, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createIndex($23.CreateIndexRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createIndex, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteIndex($23.DeleteIndexRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteIndex, request, options: options); + } + + $grpc.ResponseFuture<$24.Index> getIndex($23.GetIndexRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getIndex, request, options: options); + } + + $grpc.ResponseFuture<$23.ListIndexesResponse> listIndexes( + $23.ListIndexesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listIndexes, request, options: options); + } +} + +@$pb.GrpcServiceName('google.datastore.admin.v1.DatastoreAdmin') +abstract class DatastoreAdminServiceBase extends $grpc.Service { + $core.String get $name => 'google.datastore.admin.v1.DatastoreAdmin'; + + DatastoreAdminServiceBase() { + $addMethod($grpc.ServiceMethod<$23.ExportEntitiesRequest, $0.Operation>( + 'ExportEntities', + exportEntities_Pre, + false, + false, + ($core.List<$core.int> value) => + $23.ExportEntitiesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$23.ImportEntitiesRequest, $0.Operation>( + 'ImportEntities', + importEntities_Pre, + false, + false, + ($core.List<$core.int> value) => + $23.ImportEntitiesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$23.CreateIndexRequest, $0.Operation>( + 'CreateIndex', + createIndex_Pre, + false, + false, + ($core.List<$core.int> value) => + $23.CreateIndexRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$23.DeleteIndexRequest, $0.Operation>( + 'DeleteIndex', + deleteIndex_Pre, + false, + false, + ($core.List<$core.int> value) => + $23.DeleteIndexRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$23.GetIndexRequest, $24.Index>( + 'GetIndex', + getIndex_Pre, + false, + false, + ($core.List<$core.int> value) => $23.GetIndexRequest.fromBuffer(value), + ($24.Index value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$23.ListIndexesRequest, $23.ListIndexesResponse>( + 'ListIndexes', + listIndexes_Pre, + false, + false, + ($core.List<$core.int> value) => + $23.ListIndexesRequest.fromBuffer(value), + ($23.ListIndexesResponse value) => value.writeToBuffer())); + } + + $async.Future<$0.Operation> exportEntities_Pre($grpc.ServiceCall call, + $async.Future<$23.ExportEntitiesRequest> request) async { + return exportEntities(call, await request); + } + + $async.Future<$0.Operation> importEntities_Pre($grpc.ServiceCall call, + $async.Future<$23.ImportEntitiesRequest> request) async { + return importEntities(call, await request); + } + + $async.Future<$0.Operation> createIndex_Pre($grpc.ServiceCall call, + $async.Future<$23.CreateIndexRequest> request) async { + return createIndex(call, await request); + } + + $async.Future<$0.Operation> deleteIndex_Pre($grpc.ServiceCall call, + $async.Future<$23.DeleteIndexRequest> request) async { + return deleteIndex(call, await request); + } + + $async.Future<$24.Index> getIndex_Pre($grpc.ServiceCall call, + $async.Future<$23.GetIndexRequest> request) async { + return getIndex(call, await request); + } + + $async.Future<$23.ListIndexesResponse> listIndexes_Pre($grpc.ServiceCall call, + $async.Future<$23.ListIndexesRequest> request) async { + return listIndexes(call, await request); + } + + $async.Future<$0.Operation> exportEntities( + $grpc.ServiceCall call, $23.ExportEntitiesRequest request); + $async.Future<$0.Operation> importEntities( + $grpc.ServiceCall call, $23.ImportEntitiesRequest request); + $async.Future<$0.Operation> createIndex( + $grpc.ServiceCall call, $23.CreateIndexRequest request); + $async.Future<$0.Operation> deleteIndex( + $grpc.ServiceCall call, $23.DeleteIndexRequest request); + $async.Future<$24.Index> getIndex( + $grpc.ServiceCall call, $23.GetIndexRequest request); + $async.Future<$23.ListIndexesResponse> listIndexes( + $grpc.ServiceCall call, $23.ListIndexesRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbjson.dart new file mode 100644 index 00000000..a62f1018 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/datastore_admin.pbjson.dart @@ -0,0 +1,509 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationTypeDescriptor instead') +const OperationType$json = { + '1': 'OperationType', + '2': [ + {'1': 'OPERATION_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'EXPORT_ENTITIES', '2': 1}, + {'1': 'IMPORT_ENTITIES', '2': 2}, + {'1': 'CREATE_INDEX', '2': 3}, + {'1': 'DELETE_INDEX', '2': 4}, + ], +}; + +/// Descriptor for `OperationType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List operationTypeDescriptor = $convert.base64Decode( + 'Cg1PcGVyYXRpb25UeXBlEh4KGk9QRVJBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASEwoPRVhQT1' + 'JUX0VOVElUSUVTEAESEwoPSU1QT1JUX0VOVElUSUVTEAISEAoMQ1JFQVRFX0lOREVYEAMSEAoM' + 'REVMRVRFX0lOREVYEAQ='); + +@$core.Deprecated('Use commonMetadataDescriptor instead') +const CommonMetadata$json = { + '1': 'CommonMetadata', + '2': [ + { + '1': 'start_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'operation_type', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.OperationType', + '10': 'operationType' + }, + { + '1': 'labels', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1.CommonMetadata.LabelsEntry', + '10': 'labels' + }, + { + '1': 'state', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.CommonMetadata.State', + '10': 'state' + }, + ], + '3': [CommonMetadata_LabelsEntry$json], + '4': [CommonMetadata_State$json], +}; + +@$core.Deprecated('Use commonMetadataDescriptor instead') +const CommonMetadata_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use commonMetadataDescriptor instead') +const CommonMetadata_State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'INITIALIZING', '2': 1}, + {'1': 'PROCESSING', '2': 2}, + {'1': 'CANCELLING', '2': 3}, + {'1': 'FINALIZING', '2': 4}, + {'1': 'SUCCESSFUL', '2': 5}, + {'1': 'FAILED', '2': 6}, + {'1': 'CANCELLED', '2': 7}, + ], +}; + +/// Descriptor for `CommonMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commonMetadataDescriptor = $convert.base64Decode( + 'Cg5Db21tb25NZXRhZGF0YRI5CgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLl' + 'RpbWVzdGFtcFIJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVm' + 'LlRpbWVzdGFtcFIHZW5kVGltZRJPCg5vcGVyYXRpb25fdHlwZRgDIAEoDjIoLmdvb2dsZS5kYX' + 'Rhc3RvcmUuYWRtaW4udjEuT3BlcmF0aW9uVHlwZVINb3BlcmF0aW9uVHlwZRJNCgZsYWJlbHMY' + 'BCADKAsyNS5nb29nbGUuZGF0YXN0b3JlLmFkbWluLnYxLkNvbW1vbk1ldGFkYXRhLkxhYmVsc0' + 'VudHJ5UgZsYWJlbHMSRQoFc3RhdGUYBSABKA4yLy5nb29nbGUuZGF0YXN0b3JlLmFkbWluLnYx' + 'LkNvbW1vbk1ldGFkYXRhLlN0YXRlUgVzdGF0ZRo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKA' + 'lSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIosBCgVTdGF0ZRIVChFTVEFURV9VTlNQ' + 'RUNJRklFRBAAEhAKDElOSVRJQUxJWklORxABEg4KClBST0NFU1NJTkcQAhIOCgpDQU5DRUxMSU' + '5HEAMSDgoKRklOQUxJWklORxAEEg4KClNVQ0NFU1NGVUwQBRIKCgZGQUlMRUQQBhINCglDQU5D' + 'RUxMRUQQBw=='); + +@$core.Deprecated('Use progressDescriptor instead') +const Progress$json = { + '1': 'Progress', + '2': [ + {'1': 'work_completed', '3': 1, '4': 1, '5': 3, '10': 'workCompleted'}, + {'1': 'work_estimated', '3': 2, '4': 1, '5': 3, '10': 'workEstimated'}, + ], +}; + +/// Descriptor for `Progress`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List progressDescriptor = $convert.base64Decode( + 'CghQcm9ncmVzcxIlCg53b3JrX2NvbXBsZXRlZBgBIAEoA1INd29ya0NvbXBsZXRlZBIlCg53b3' + 'JrX2VzdGltYXRlZBgCIAEoA1INd29ya0VzdGltYXRlZA=='); + +@$core.Deprecated('Use exportEntitiesRequestDescriptor instead') +const ExportEntitiesRequest$json = { + '1': 'ExportEntitiesRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1.ExportEntitiesRequest.LabelsEntry', + '10': 'labels' + }, + { + '1': 'entity_filter', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.EntityFilter', + '10': 'entityFilter' + }, + { + '1': 'output_url_prefix', + '3': 4, + '4': 1, + '5': 9, + '8': {}, + '10': 'outputUrlPrefix' + }, + ], + '3': [ExportEntitiesRequest_LabelsEntry$json], +}; + +@$core.Deprecated('Use exportEntitiesRequestDescriptor instead') +const ExportEntitiesRequest_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ExportEntitiesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exportEntitiesRequestDescriptor = $convert.base64Decode( + 'ChVFeHBvcnRFbnRpdGllc1JlcXVlc3QSIgoKcHJvamVjdF9pZBgBIAEoCUID4EECUglwcm9qZW' + 'N0SWQSVAoGbGFiZWxzGAIgAygLMjwuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MS5FeHBvcnRF' + 'bnRpdGllc1JlcXVlc3QuTGFiZWxzRW50cnlSBmxhYmVscxJMCg1lbnRpdHlfZmlsdGVyGAMgAS' + 'gLMicuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MS5FbnRpdHlGaWx0ZXJSDGVudGl0eUZpbHRl' + 'chIvChFvdXRwdXRfdXJsX3ByZWZpeBgEIAEoCUID4EECUg9vdXRwdXRVcmxQcmVmaXgaOQoLTG' + 'FiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use importEntitiesRequestDescriptor instead') +const ImportEntitiesRequest$json = { + '1': 'ImportEntitiesRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1.ImportEntitiesRequest.LabelsEntry', + '10': 'labels' + }, + {'1': 'input_url', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'inputUrl'}, + { + '1': 'entity_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.EntityFilter', + '10': 'entityFilter' + }, + ], + '3': [ImportEntitiesRequest_LabelsEntry$json], +}; + +@$core.Deprecated('Use importEntitiesRequestDescriptor instead') +const ImportEntitiesRequest_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ImportEntitiesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importEntitiesRequestDescriptor = $convert.base64Decode( + 'ChVJbXBvcnRFbnRpdGllc1JlcXVlc3QSIgoKcHJvamVjdF9pZBgBIAEoCUID4EECUglwcm9qZW' + 'N0SWQSVAoGbGFiZWxzGAIgAygLMjwuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MS5JbXBvcnRF' + 'bnRpdGllc1JlcXVlc3QuTGFiZWxzRW50cnlSBmxhYmVscxIgCglpbnB1dF91cmwYAyABKAlCA+' + 'BBAlIIaW5wdXRVcmwSTAoNZW50aXR5X2ZpbHRlchgEIAEoCzInLmdvb2dsZS5kYXRhc3RvcmUu' + 'YWRtaW4udjEuRW50aXR5RmlsdGVyUgxlbnRpdHlGaWx0ZXIaOQoLTGFiZWxzRW50cnkSEAoDa2' + 'V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use exportEntitiesResponseDescriptor instead') +const ExportEntitiesResponse$json = { + '1': 'ExportEntitiesResponse', + '2': [ + {'1': 'output_url', '3': 1, '4': 1, '5': 9, '10': 'outputUrl'}, + ], +}; + +/// Descriptor for `ExportEntitiesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exportEntitiesResponseDescriptor = + $convert.base64Decode( + 'ChZFeHBvcnRFbnRpdGllc1Jlc3BvbnNlEh0KCm91dHB1dF91cmwYASABKAlSCW91dHB1dFVybA' + '=='); + +@$core.Deprecated('Use exportEntitiesMetadataDescriptor instead') +const ExportEntitiesMetadata$json = { + '1': 'ExportEntitiesMetadata', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.CommonMetadata', + '10': 'common' + }, + { + '1': 'progress_entities', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.Progress', + '10': 'progressEntities' + }, + { + '1': 'progress_bytes', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.Progress', + '10': 'progressBytes' + }, + { + '1': 'entity_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.EntityFilter', + '10': 'entityFilter' + }, + {'1': 'output_url_prefix', '3': 5, '4': 1, '5': 9, '10': 'outputUrlPrefix'}, + ], +}; + +/// Descriptor for `ExportEntitiesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exportEntitiesMetadataDescriptor = $convert.base64Decode( + 'ChZFeHBvcnRFbnRpdGllc01ldGFkYXRhEkEKBmNvbW1vbhgBIAEoCzIpLmdvb2dsZS5kYXRhc3' + 'RvcmUuYWRtaW4udjEuQ29tbW9uTWV0YWRhdGFSBmNvbW1vbhJQChFwcm9ncmVzc19lbnRpdGll' + 'cxgCIAEoCzIjLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjEuUHJvZ3Jlc3NSEHByb2dyZXNzRW' + '50aXRpZXMSSgoOcHJvZ3Jlc3NfYnl0ZXMYAyABKAsyIy5nb29nbGUuZGF0YXN0b3JlLmFkbWlu' + 'LnYxLlByb2dyZXNzUg1wcm9ncmVzc0J5dGVzEkwKDWVudGl0eV9maWx0ZXIYBCABKAsyJy5nb2' + '9nbGUuZGF0YXN0b3JlLmFkbWluLnYxLkVudGl0eUZpbHRlclIMZW50aXR5RmlsdGVyEioKEW91' + 'dHB1dF91cmxfcHJlZml4GAUgASgJUg9vdXRwdXRVcmxQcmVmaXg='); + +@$core.Deprecated('Use importEntitiesMetadataDescriptor instead') +const ImportEntitiesMetadata$json = { + '1': 'ImportEntitiesMetadata', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.CommonMetadata', + '10': 'common' + }, + { + '1': 'progress_entities', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.Progress', + '10': 'progressEntities' + }, + { + '1': 'progress_bytes', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.Progress', + '10': 'progressBytes' + }, + { + '1': 'entity_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.EntityFilter', + '10': 'entityFilter' + }, + {'1': 'input_url', '3': 5, '4': 1, '5': 9, '10': 'inputUrl'}, + ], +}; + +/// Descriptor for `ImportEntitiesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importEntitiesMetadataDescriptor = $convert.base64Decode( + 'ChZJbXBvcnRFbnRpdGllc01ldGFkYXRhEkEKBmNvbW1vbhgBIAEoCzIpLmdvb2dsZS5kYXRhc3' + 'RvcmUuYWRtaW4udjEuQ29tbW9uTWV0YWRhdGFSBmNvbW1vbhJQChFwcm9ncmVzc19lbnRpdGll' + 'cxgCIAEoCzIjLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjEuUHJvZ3Jlc3NSEHByb2dyZXNzRW' + '50aXRpZXMSSgoOcHJvZ3Jlc3NfYnl0ZXMYAyABKAsyIy5nb29nbGUuZGF0YXN0b3JlLmFkbWlu' + 'LnYxLlByb2dyZXNzUg1wcm9ncmVzc0J5dGVzEkwKDWVudGl0eV9maWx0ZXIYBCABKAsyJy5nb2' + '9nbGUuZGF0YXN0b3JlLmFkbWluLnYxLkVudGl0eUZpbHRlclIMZW50aXR5RmlsdGVyEhsKCWlu' + 'cHV0X3VybBgFIAEoCVIIaW5wdXRVcmw='); + +@$core.Deprecated('Use entityFilterDescriptor instead') +const EntityFilter$json = { + '1': 'EntityFilter', + '2': [ + {'1': 'kinds', '3': 1, '4': 3, '5': 9, '10': 'kinds'}, + {'1': 'namespace_ids', '3': 2, '4': 3, '5': 9, '10': 'namespaceIds'}, + ], +}; + +/// Descriptor for `EntityFilter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityFilterDescriptor = $convert.base64Decode( + 'CgxFbnRpdHlGaWx0ZXISFAoFa2luZHMYASADKAlSBWtpbmRzEiMKDW5hbWVzcGFjZV9pZHMYAi' + 'ADKAlSDG5hbWVzcGFjZUlkcw=='); + +@$core.Deprecated('Use createIndexRequestDescriptor instead') +const CreateIndexRequest$json = { + '1': 'CreateIndexRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'index', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.Index', + '10': 'index' + }, + ], +}; + +/// Descriptor for `CreateIndexRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createIndexRequestDescriptor = $convert.base64Decode( + 'ChJDcmVhdGVJbmRleFJlcXVlc3QSHQoKcHJvamVjdF9pZBgBIAEoCVIJcHJvamVjdElkEjYKBW' + 'luZGV4GAMgASgLMiAuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MS5JbmRleFIFaW5kZXg='); + +@$core.Deprecated('Use deleteIndexRequestDescriptor instead') +const DeleteIndexRequest$json = { + '1': 'DeleteIndexRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'index_id', '3': 3, '4': 1, '5': 9, '10': 'indexId'}, + ], +}; + +/// Descriptor for `DeleteIndexRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteIndexRequestDescriptor = $convert.base64Decode( + 'ChJEZWxldGVJbmRleFJlcXVlc3QSHQoKcHJvamVjdF9pZBgBIAEoCVIJcHJvamVjdElkEhkKCG' + 'luZGV4X2lkGAMgASgJUgdpbmRleElk'); + +@$core.Deprecated('Use getIndexRequestDescriptor instead') +const GetIndexRequest$json = { + '1': 'GetIndexRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'index_id', '3': 3, '4': 1, '5': 9, '10': 'indexId'}, + ], +}; + +/// Descriptor for `GetIndexRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getIndexRequestDescriptor = $convert.base64Decode( + 'Cg9HZXRJbmRleFJlcXVlc3QSHQoKcHJvamVjdF9pZBgBIAEoCVIJcHJvamVjdElkEhkKCGluZG' + 'V4X2lkGAMgASgJUgdpbmRleElk'); + +@$core.Deprecated('Use listIndexesRequestDescriptor instead') +const ListIndexesRequest$json = { + '1': 'ListIndexesRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'filter', '3': 3, '4': 1, '5': 9, '10': 'filter'}, + {'1': 'page_size', '3': 4, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 5, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListIndexesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listIndexesRequestDescriptor = $convert.base64Decode( + 'ChJMaXN0SW5kZXhlc1JlcXVlc3QSHQoKcHJvamVjdF9pZBgBIAEoCVIJcHJvamVjdElkEhYKBm' + 'ZpbHRlchgDIAEoCVIGZmlsdGVyEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSHQoKcGFn' + 'ZV90b2tlbhgFIAEoCVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listIndexesResponseDescriptor instead') +const ListIndexesResponse$json = { + '1': 'ListIndexesResponse', + '2': [ + { + '1': 'indexes', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1.Index', + '10': 'indexes' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListIndexesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listIndexesResponseDescriptor = $convert.base64Decode( + 'ChNMaXN0SW5kZXhlc1Jlc3BvbnNlEjoKB2luZGV4ZXMYASADKAsyIC5nb29nbGUuZGF0YXN0b3' + 'JlLmFkbWluLnYxLkluZGV4UgdpbmRleGVzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4' + 'dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use indexOperationMetadataDescriptor instead') +const IndexOperationMetadata$json = { + '1': 'IndexOperationMetadata', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.CommonMetadata', + '10': 'common' + }, + { + '1': 'progress_entities', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1.Progress', + '10': 'progressEntities' + }, + {'1': 'index_id', '3': 3, '4': 1, '5': 9, '10': 'indexId'}, + ], +}; + +/// Descriptor for `IndexOperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List indexOperationMetadataDescriptor = $convert.base64Decode( + 'ChZJbmRleE9wZXJhdGlvbk1ldGFkYXRhEkEKBmNvbW1vbhgBIAEoCzIpLmdvb2dsZS5kYXRhc3' + 'RvcmUuYWRtaW4udjEuQ29tbW9uTWV0YWRhdGFSBmNvbW1vbhJQChFwcm9ncmVzc19lbnRpdGll' + 'cxgCIAEoCzIjLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjEuUHJvZ3Jlc3NSEHByb2dyZXNzRW' + '50aXRpZXMSGQoIaW5kZXhfaWQYAyABKAlSB2luZGV4SWQ='); + +@$core.Deprecated('Use datastoreFirestoreMigrationMetadataDescriptor instead') +const DatastoreFirestoreMigrationMetadata$json = { + '1': 'DatastoreFirestoreMigrationMetadata', + '2': [ + { + '1': 'migration_state', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.MigrationState', + '10': 'migrationState' + }, + { + '1': 'migration_step', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.MigrationStep', + '10': 'migrationStep' + }, + ], +}; + +/// Descriptor for `DatastoreFirestoreMigrationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List datastoreFirestoreMigrationMetadataDescriptor = + $convert.base64Decode( + 'CiNEYXRhc3RvcmVGaXJlc3RvcmVNaWdyYXRpb25NZXRhZGF0YRJSCg9taWdyYXRpb25fc3RhdG' + 'UYASABKA4yKS5nb29nbGUuZGF0YXN0b3JlLmFkbWluLnYxLk1pZ3JhdGlvblN0YXRlUg5taWdy' + 'YXRpb25TdGF0ZRJPCg5taWdyYXRpb25fc3RlcBgCIAEoDjIoLmdvb2dsZS5kYXRhc3RvcmUuYW' + 'RtaW4udjEuTWlncmF0aW9uU3RlcFINbWlncmF0aW9uU3RlcA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pb.dart new file mode 100644 index 00000000..76ef497a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pb.dart @@ -0,0 +1,268 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/index.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'index.pbenum.dart'; + +export 'index.pbenum.dart'; + +/// A property of an index. +class Index_IndexedProperty extends $pb.GeneratedMessage { + factory Index_IndexedProperty({ + $core.String? name, + Index_Direction? direction, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (direction != null) { + $result.direction = direction; + } + return $result; + } + Index_IndexedProperty._() : super(); + factory Index_IndexedProperty.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Index_IndexedProperty.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Index.IndexedProperty', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'direction', $pb.PbFieldType.OE, + defaultOrMaker: Index_Direction.DIRECTION_UNSPECIFIED, + valueOf: Index_Direction.valueOf, + enumValues: Index_Direction.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Index_IndexedProperty clone() => + Index_IndexedProperty()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Index_IndexedProperty copyWith( + void Function(Index_IndexedProperty) updates) => + super.copyWith((message) => updates(message as Index_IndexedProperty)) + as Index_IndexedProperty; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Index_IndexedProperty create() => Index_IndexedProperty._(); + Index_IndexedProperty createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Index_IndexedProperty getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Index_IndexedProperty? _defaultInstance; + + /// Required. The property name to index. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The indexed property's direction. Must not be + /// DIRECTION_UNSPECIFIED. + @$pb.TagNumber(2) + Index_Direction get direction => $_getN(1); + @$pb.TagNumber(2) + set direction(Index_Direction v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDirection() => $_has(1); + @$pb.TagNumber(2) + void clearDirection() => clearField(2); +} + +/// Datastore composite index definition. +class Index extends $pb.GeneratedMessage { + factory Index({ + $core.String? projectId, + $core.String? indexId, + $core.String? kind, + Index_AncestorMode? ancestor, + $core.Iterable? properties, + Index_State? state, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (indexId != null) { + $result.indexId = indexId; + } + if (kind != null) { + $result.kind = kind; + } + if (ancestor != null) { + $result.ancestor = ancestor; + } + if (properties != null) { + $result.properties.addAll(properties); + } + if (state != null) { + $result.state = state; + } + return $result; + } + Index._() : super(); + factory Index.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Index.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Index', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..aOS(3, _omitFieldNames ? '' : 'indexId') + ..aOS(4, _omitFieldNames ? '' : 'kind') + ..e( + 5, _omitFieldNames ? '' : 'ancestor', $pb.PbFieldType.OE, + defaultOrMaker: Index_AncestorMode.ANCESTOR_MODE_UNSPECIFIED, + valueOf: Index_AncestorMode.valueOf, + enumValues: Index_AncestorMode.values) + ..pc( + 6, _omitFieldNames ? '' : 'properties', $pb.PbFieldType.PM, + subBuilder: Index_IndexedProperty.create) + ..e(7, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: Index_State.STATE_UNSPECIFIED, + valueOf: Index_State.valueOf, + enumValues: Index_State.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Index clone() => Index()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Index copyWith(void Function(Index) updates) => + super.copyWith((message) => updates(message as Index)) as Index; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Index create() => Index._(); + Index createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Index getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Index? _defaultInstance; + + /// Output only. Project ID. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// Output only. The resource ID of the index. + @$pb.TagNumber(3) + $core.String get indexId => $_getSZ(1); + @$pb.TagNumber(3) + set indexId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasIndexId() => $_has(1); + @$pb.TagNumber(3) + void clearIndexId() => clearField(3); + + /// Required. The entity kind to which this index applies. + @$pb.TagNumber(4) + $core.String get kind => $_getSZ(2); + @$pb.TagNumber(4) + set kind($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasKind() => $_has(2); + @$pb.TagNumber(4) + void clearKind() => clearField(4); + + /// Required. The index's ancestor mode. Must not be + /// ANCESTOR_MODE_UNSPECIFIED. + @$pb.TagNumber(5) + Index_AncestorMode get ancestor => $_getN(3); + @$pb.TagNumber(5) + set ancestor(Index_AncestorMode v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasAncestor() => $_has(3); + @$pb.TagNumber(5) + void clearAncestor() => clearField(5); + + /// Required. An ordered sequence of property names and their index attributes. + /// + /// Requires: + /// + /// * A maximum of 100 properties. + @$pb.TagNumber(6) + $core.List get properties => $_getList(4); + + /// Output only. The state of the index. + @$pb.TagNumber(7) + Index_State get state => $_getN(5); + @$pb.TagNumber(7) + set state(Index_State v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasState() => $_has(5); + @$pb.TagNumber(7) + void clearState() => clearField(7); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pbenum.dart new file mode 100644 index 00000000..26b2ff1d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pbenum.dart @@ -0,0 +1,90 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/index.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// For an ordered index, specifies whether each of the entity's ancestors +/// will be included. +class Index_AncestorMode extends $pb.ProtobufEnum { + static const Index_AncestorMode ANCESTOR_MODE_UNSPECIFIED = + Index_AncestorMode._( + 0, _omitEnumNames ? '' : 'ANCESTOR_MODE_UNSPECIFIED'); + static const Index_AncestorMode NONE = + Index_AncestorMode._(1, _omitEnumNames ? '' : 'NONE'); + static const Index_AncestorMode ALL_ANCESTORS = + Index_AncestorMode._(2, _omitEnumNames ? '' : 'ALL_ANCESTORS'); + + static const $core.List values = [ + ANCESTOR_MODE_UNSPECIFIED, + NONE, + ALL_ANCESTORS, + ]; + + static final $core.Map<$core.int, Index_AncestorMode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Index_AncestorMode? valueOf($core.int value) => _byValue[value]; + + const Index_AncestorMode._($core.int v, $core.String n) : super(v, n); +} + +/// The direction determines how a property is indexed. +class Index_Direction extends $pb.ProtobufEnum { + static const Index_Direction DIRECTION_UNSPECIFIED = + Index_Direction._(0, _omitEnumNames ? '' : 'DIRECTION_UNSPECIFIED'); + static const Index_Direction ASCENDING = + Index_Direction._(1, _omitEnumNames ? '' : 'ASCENDING'); + static const Index_Direction DESCENDING = + Index_Direction._(2, _omitEnumNames ? '' : 'DESCENDING'); + + static const $core.List values = [ + DIRECTION_UNSPECIFIED, + ASCENDING, + DESCENDING, + ]; + + static final $core.Map<$core.int, Index_Direction> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Index_Direction? valueOf($core.int value) => _byValue[value]; + + const Index_Direction._($core.int v, $core.String n) : super(v, n); +} + +/// The possible set of states of an index. +class Index_State extends $pb.ProtobufEnum { + static const Index_State STATE_UNSPECIFIED = + Index_State._(0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const Index_State CREATING = + Index_State._(1, _omitEnumNames ? '' : 'CREATING'); + static const Index_State READY = + Index_State._(2, _omitEnumNames ? '' : 'READY'); + static const Index_State DELETING = + Index_State._(3, _omitEnumNames ? '' : 'DELETING'); + static const Index_State ERROR = + Index_State._(4, _omitEnumNames ? '' : 'ERROR'); + + static const $core.List values = [ + STATE_UNSPECIFIED, + CREATING, + READY, + DELETING, + ERROR, + ]; + + static final $core.Map<$core.int, Index_State> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Index_State? valueOf($core.int value) => _byValue[value]; + + const Index_State._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pbjson.dart new file mode 100644 index 00000000..88b7e355 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/index.pbjson.dart @@ -0,0 +1,118 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/index.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use indexDescriptor instead') +const Index$json = { + '1': 'Index', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'index_id', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'indexId'}, + {'1': 'kind', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'kind'}, + { + '1': 'ancestor', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.Index.AncestorMode', + '8': {}, + '10': 'ancestor' + }, + { + '1': 'properties', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1.Index.IndexedProperty', + '8': {}, + '10': 'properties' + }, + { + '1': 'state', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.Index.State', + '8': {}, + '10': 'state' + }, + ], + '3': [Index_IndexedProperty$json], + '4': [Index_AncestorMode$json, Index_Direction$json, Index_State$json], +}; + +@$core.Deprecated('Use indexDescriptor instead') +const Index_IndexedProperty$json = { + '1': 'IndexedProperty', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'direction', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.Index.Direction', + '8': {}, + '10': 'direction' + }, + ], +}; + +@$core.Deprecated('Use indexDescriptor instead') +const Index_AncestorMode$json = { + '1': 'AncestorMode', + '2': [ + {'1': 'ANCESTOR_MODE_UNSPECIFIED', '2': 0}, + {'1': 'NONE', '2': 1}, + {'1': 'ALL_ANCESTORS', '2': 2}, + ], +}; + +@$core.Deprecated('Use indexDescriptor instead') +const Index_Direction$json = { + '1': 'Direction', + '2': [ + {'1': 'DIRECTION_UNSPECIFIED', '2': 0}, + {'1': 'ASCENDING', '2': 1}, + {'1': 'DESCENDING', '2': 2}, + ], +}; + +@$core.Deprecated('Use indexDescriptor instead') +const Index_State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'CREATING', '2': 1}, + {'1': 'READY', '2': 2}, + {'1': 'DELETING', '2': 3}, + {'1': 'ERROR', '2': 4}, + ], +}; + +/// Descriptor for `Index`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List indexDescriptor = $convert.base64Decode( + 'CgVJbmRleBIiCgpwcm9qZWN0X2lkGAEgASgJQgPgQQNSCXByb2plY3RJZBIeCghpbmRleF9pZB' + 'gDIAEoCUID4EEDUgdpbmRleElkEhcKBGtpbmQYBCABKAlCA+BBAlIEa2luZBJOCghhbmNlc3Rv' + 'chgFIAEoDjItLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjEuSW5kZXguQW5jZXN0b3JNb2RlQg' + 'PgQQJSCGFuY2VzdG9yElUKCnByb3BlcnRpZXMYBiADKAsyMC5nb29nbGUuZGF0YXN0b3JlLmFk' + 'bWluLnYxLkluZGV4LkluZGV4ZWRQcm9wZXJ0eUID4EECUgpwcm9wZXJ0aWVzEkEKBXN0YXRlGA' + 'cgASgOMiYuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MS5JbmRleC5TdGF0ZUID4EEDUgVzdGF0' + 'ZRp5Cg9JbmRleGVkUHJvcGVydHkSFwoEbmFtZRgBIAEoCUID4EECUgRuYW1lEk0KCWRpcmVjdG' + 'lvbhgCIAEoDjIqLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjEuSW5kZXguRGlyZWN0aW9uQgPg' + 'QQJSCWRpcmVjdGlvbiJKCgxBbmNlc3Rvck1vZGUSHQoZQU5DRVNUT1JfTU9ERV9VTlNQRUNJRk' + 'lFRBAAEggKBE5PTkUQARIRCg1BTExfQU5DRVNUT1JTEAIiRQoJRGlyZWN0aW9uEhkKFURJUkVD' + 'VElPTl9VTlNQRUNJRklFRBAAEg0KCUFTQ0VORElORxABEg4KCkRFU0NFTkRJTkcQAiJQCgVTdG' + 'F0ZRIVChFTVEFURV9VTlNQRUNJRklFRBAAEgwKCENSRUFUSU5HEAESCQoFUkVBRFkQAhIMCghE' + 'RUxFVElORxADEgkKBUVSUk9SEAQ='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pb.dart new file mode 100644 index 00000000..df007afd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pb.dart @@ -0,0 +1,390 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/migration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'migration.pbenum.dart'; + +export 'migration.pbenum.dart'; + +/// An event signifying a change in state of a [migration from Cloud Datastore to +/// Cloud Firestore in Datastore +/// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore). +class MigrationStateEvent extends $pb.GeneratedMessage { + factory MigrationStateEvent({ + MigrationState? state, + }) { + final $result = create(); + if (state != null) { + $result.state = state; + } + return $result; + } + MigrationStateEvent._() : super(); + factory MigrationStateEvent.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MigrationStateEvent.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MigrationStateEvent', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: MigrationState.MIGRATION_STATE_UNSPECIFIED, + valueOf: MigrationState.valueOf, + enumValues: MigrationState.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MigrationStateEvent clone() => MigrationStateEvent()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MigrationStateEvent copyWith(void Function(MigrationStateEvent) updates) => + super.copyWith((message) => updates(message as MigrationStateEvent)) + as MigrationStateEvent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MigrationStateEvent create() => MigrationStateEvent._(); + MigrationStateEvent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MigrationStateEvent getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MigrationStateEvent? _defaultInstance; + + /// The new state of the migration. + @$pb.TagNumber(1) + MigrationState get state => $_getN(0); + @$pb.TagNumber(1) + set state(MigrationState v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasState() => $_has(0); + @$pb.TagNumber(1) + void clearState() => clearField(1); +} + +/// Details for the `PREPARE` step. +class MigrationProgressEvent_PrepareStepDetails extends $pb.GeneratedMessage { + factory MigrationProgressEvent_PrepareStepDetails({ + MigrationProgressEvent_ConcurrencyMode? concurrencyMode, + }) { + final $result = create(); + if (concurrencyMode != null) { + $result.concurrencyMode = concurrencyMode; + } + return $result; + } + MigrationProgressEvent_PrepareStepDetails._() : super(); + factory MigrationProgressEvent_PrepareStepDetails.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MigrationProgressEvent_PrepareStepDetails.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MigrationProgressEvent.PrepareStepDetails', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'concurrencyMode', $pb.PbFieldType.OE, + defaultOrMaker: + MigrationProgressEvent_ConcurrencyMode.CONCURRENCY_MODE_UNSPECIFIED, + valueOf: MigrationProgressEvent_ConcurrencyMode.valueOf, + enumValues: MigrationProgressEvent_ConcurrencyMode.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MigrationProgressEvent_PrepareStepDetails clone() => + MigrationProgressEvent_PrepareStepDetails()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MigrationProgressEvent_PrepareStepDetails copyWith( + void Function(MigrationProgressEvent_PrepareStepDetails) updates) => + super.copyWith((message) => + updates(message as MigrationProgressEvent_PrepareStepDetails)) + as MigrationProgressEvent_PrepareStepDetails; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MigrationProgressEvent_PrepareStepDetails create() => + MigrationProgressEvent_PrepareStepDetails._(); + MigrationProgressEvent_PrepareStepDetails createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MigrationProgressEvent_PrepareStepDetails getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + MigrationProgressEvent_PrepareStepDetails>(create); + static MigrationProgressEvent_PrepareStepDetails? _defaultInstance; + + /// The concurrency mode this database will use when it reaches the + /// `REDIRECT_WRITES` step. + @$pb.TagNumber(1) + MigrationProgressEvent_ConcurrencyMode get concurrencyMode => $_getN(0); + @$pb.TagNumber(1) + set concurrencyMode(MigrationProgressEvent_ConcurrencyMode v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasConcurrencyMode() => $_has(0); + @$pb.TagNumber(1) + void clearConcurrencyMode() => clearField(1); +} + +/// Details for the `REDIRECT_WRITES` step. +class MigrationProgressEvent_RedirectWritesStepDetails + extends $pb.GeneratedMessage { + factory MigrationProgressEvent_RedirectWritesStepDetails({ + MigrationProgressEvent_ConcurrencyMode? concurrencyMode, + }) { + final $result = create(); + if (concurrencyMode != null) { + $result.concurrencyMode = concurrencyMode; + } + return $result; + } + MigrationProgressEvent_RedirectWritesStepDetails._() : super(); + factory MigrationProgressEvent_RedirectWritesStepDetails.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MigrationProgressEvent_RedirectWritesStepDetails.fromJson( + $core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames + ? '' + : 'MigrationProgressEvent.RedirectWritesStepDetails', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'concurrencyMode', $pb.PbFieldType.OE, + defaultOrMaker: + MigrationProgressEvent_ConcurrencyMode.CONCURRENCY_MODE_UNSPECIFIED, + valueOf: MigrationProgressEvent_ConcurrencyMode.valueOf, + enumValues: MigrationProgressEvent_ConcurrencyMode.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MigrationProgressEvent_RedirectWritesStepDetails clone() => + MigrationProgressEvent_RedirectWritesStepDetails() + ..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MigrationProgressEvent_RedirectWritesStepDetails copyWith( + void Function(MigrationProgressEvent_RedirectWritesStepDetails) + updates) => + super.copyWith((message) => updates( + message as MigrationProgressEvent_RedirectWritesStepDetails)) + as MigrationProgressEvent_RedirectWritesStepDetails; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MigrationProgressEvent_RedirectWritesStepDetails create() => + MigrationProgressEvent_RedirectWritesStepDetails._(); + MigrationProgressEvent_RedirectWritesStepDetails createEmptyInstance() => + create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MigrationProgressEvent_RedirectWritesStepDetails getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + MigrationProgressEvent_RedirectWritesStepDetails>(create); + static MigrationProgressEvent_RedirectWritesStepDetails? _defaultInstance; + + /// Ths concurrency mode for this database. + @$pb.TagNumber(1) + MigrationProgressEvent_ConcurrencyMode get concurrencyMode => $_getN(0); + @$pb.TagNumber(1) + set concurrencyMode(MigrationProgressEvent_ConcurrencyMode v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasConcurrencyMode() => $_has(0); + @$pb.TagNumber(1) + void clearConcurrencyMode() => clearField(1); +} + +enum MigrationProgressEvent_StepDetails { + prepareStepDetails, + redirectWritesStepDetails, + notSet +} + +/// An event signifying the start of a new step in a [migration from Cloud +/// Datastore to Cloud Firestore in Datastore +/// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore). +class MigrationProgressEvent extends $pb.GeneratedMessage { + factory MigrationProgressEvent({ + MigrationStep? step, + MigrationProgressEvent_PrepareStepDetails? prepareStepDetails, + MigrationProgressEvent_RedirectWritesStepDetails? redirectWritesStepDetails, + }) { + final $result = create(); + if (step != null) { + $result.step = step; + } + if (prepareStepDetails != null) { + $result.prepareStepDetails = prepareStepDetails; + } + if (redirectWritesStepDetails != null) { + $result.redirectWritesStepDetails = redirectWritesStepDetails; + } + return $result; + } + MigrationProgressEvent._() : super(); + factory MigrationProgressEvent.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MigrationProgressEvent.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, MigrationProgressEvent_StepDetails> + _MigrationProgressEvent_StepDetailsByTag = { + 2: MigrationProgressEvent_StepDetails.prepareStepDetails, + 3: MigrationProgressEvent_StepDetails.redirectWritesStepDetails, + 0: MigrationProgressEvent_StepDetails.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MigrationProgressEvent', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..e(1, _omitFieldNames ? '' : 'step', $pb.PbFieldType.OE, + defaultOrMaker: MigrationStep.MIGRATION_STEP_UNSPECIFIED, + valueOf: MigrationStep.valueOf, + enumValues: MigrationStep.values) + ..aOM( + 2, _omitFieldNames ? '' : 'prepareStepDetails', + subBuilder: MigrationProgressEvent_PrepareStepDetails.create) + ..aOM( + 3, _omitFieldNames ? '' : 'redirectWritesStepDetails', + subBuilder: MigrationProgressEvent_RedirectWritesStepDetails.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MigrationProgressEvent clone() => + MigrationProgressEvent()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MigrationProgressEvent copyWith( + void Function(MigrationProgressEvent) updates) => + super.copyWith((message) => updates(message as MigrationProgressEvent)) + as MigrationProgressEvent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MigrationProgressEvent create() => MigrationProgressEvent._(); + MigrationProgressEvent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MigrationProgressEvent getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MigrationProgressEvent? _defaultInstance; + + MigrationProgressEvent_StepDetails whichStepDetails() => + _MigrationProgressEvent_StepDetailsByTag[$_whichOneof(0)]!; + void clearStepDetails() => clearField($_whichOneof(0)); + + /// The step that is starting. + /// + /// An event with step set to `START` indicates that the migration + /// has been reverted back to the initial pre-migration state. + @$pb.TagNumber(1) + MigrationStep get step => $_getN(0); + @$pb.TagNumber(1) + set step(MigrationStep v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStep() => $_has(0); + @$pb.TagNumber(1) + void clearStep() => clearField(1); + + /// Details for the `PREPARE` step. + @$pb.TagNumber(2) + MigrationProgressEvent_PrepareStepDetails get prepareStepDetails => $_getN(1); + @$pb.TagNumber(2) + set prepareStepDetails(MigrationProgressEvent_PrepareStepDetails v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPrepareStepDetails() => $_has(1); + @$pb.TagNumber(2) + void clearPrepareStepDetails() => clearField(2); + @$pb.TagNumber(2) + MigrationProgressEvent_PrepareStepDetails ensurePrepareStepDetails() => + $_ensure(1); + + /// Details for the `REDIRECT_WRITES` step. + @$pb.TagNumber(3) + MigrationProgressEvent_RedirectWritesStepDetails + get redirectWritesStepDetails => $_getN(2); + @$pb.TagNumber(3) + set redirectWritesStepDetails( + MigrationProgressEvent_RedirectWritesStepDetails v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasRedirectWritesStepDetails() => $_has(2); + @$pb.TagNumber(3) + void clearRedirectWritesStepDetails() => clearField(3); + @$pb.TagNumber(3) + MigrationProgressEvent_RedirectWritesStepDetails + ensureRedirectWritesStepDetails() => $_ensure(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pbenum.dart new file mode 100644 index 00000000..3be7f44e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pbenum.dart @@ -0,0 +1,112 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/migration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// States for a migration. +class MigrationState extends $pb.ProtobufEnum { + static const MigrationState MIGRATION_STATE_UNSPECIFIED = + MigrationState._(0, _omitEnumNames ? '' : 'MIGRATION_STATE_UNSPECIFIED'); + static const MigrationState RUNNING = + MigrationState._(1, _omitEnumNames ? '' : 'RUNNING'); + static const MigrationState PAUSED = + MigrationState._(2, _omitEnumNames ? '' : 'PAUSED'); + static const MigrationState COMPLETE = + MigrationState._(3, _omitEnumNames ? '' : 'COMPLETE'); + + static const $core.List values = [ + MIGRATION_STATE_UNSPECIFIED, + RUNNING, + PAUSED, + COMPLETE, + ]; + + static final $core.Map<$core.int, MigrationState> _byValue = + $pb.ProtobufEnum.initByValue(values); + static MigrationState? valueOf($core.int value) => _byValue[value]; + + const MigrationState._($core.int v, $core.String n) : super(v, n); +} + +/// Steps in a migration. +class MigrationStep extends $pb.ProtobufEnum { + static const MigrationStep MIGRATION_STEP_UNSPECIFIED = + MigrationStep._(0, _omitEnumNames ? '' : 'MIGRATION_STEP_UNSPECIFIED'); + static const MigrationStep PREPARE = + MigrationStep._(6, _omitEnumNames ? '' : 'PREPARE'); + static const MigrationStep START = + MigrationStep._(1, _omitEnumNames ? '' : 'START'); + static const MigrationStep APPLY_WRITES_SYNCHRONOUSLY = + MigrationStep._(7, _omitEnumNames ? '' : 'APPLY_WRITES_SYNCHRONOUSLY'); + static const MigrationStep COPY_AND_VERIFY = + MigrationStep._(2, _omitEnumNames ? '' : 'COPY_AND_VERIFY'); + static const MigrationStep REDIRECT_EVENTUALLY_CONSISTENT_READS = + MigrationStep._( + 3, _omitEnumNames ? '' : 'REDIRECT_EVENTUALLY_CONSISTENT_READS'); + static const MigrationStep REDIRECT_STRONGLY_CONSISTENT_READS = + MigrationStep._( + 4, _omitEnumNames ? '' : 'REDIRECT_STRONGLY_CONSISTENT_READS'); + static const MigrationStep REDIRECT_WRITES = + MigrationStep._(5, _omitEnumNames ? '' : 'REDIRECT_WRITES'); + + static const $core.List values = [ + MIGRATION_STEP_UNSPECIFIED, + PREPARE, + START, + APPLY_WRITES_SYNCHRONOUSLY, + COPY_AND_VERIFY, + REDIRECT_EVENTUALLY_CONSISTENT_READS, + REDIRECT_STRONGLY_CONSISTENT_READS, + REDIRECT_WRITES, + ]; + + static final $core.Map<$core.int, MigrationStep> _byValue = + $pb.ProtobufEnum.initByValue(values); + static MigrationStep? valueOf($core.int value) => _byValue[value]; + + const MigrationStep._($core.int v, $core.String n) : super(v, n); +} + +/// Concurrency modes for transactions in Cloud Firestore. +class MigrationProgressEvent_ConcurrencyMode extends $pb.ProtobufEnum { + static const MigrationProgressEvent_ConcurrencyMode + CONCURRENCY_MODE_UNSPECIFIED = MigrationProgressEvent_ConcurrencyMode._( + 0, _omitEnumNames ? '' : 'CONCURRENCY_MODE_UNSPECIFIED'); + static const MigrationProgressEvent_ConcurrencyMode PESSIMISTIC = + MigrationProgressEvent_ConcurrencyMode._( + 1, _omitEnumNames ? '' : 'PESSIMISTIC'); + static const MigrationProgressEvent_ConcurrencyMode OPTIMISTIC = + MigrationProgressEvent_ConcurrencyMode._( + 2, _omitEnumNames ? '' : 'OPTIMISTIC'); + static const MigrationProgressEvent_ConcurrencyMode + OPTIMISTIC_WITH_ENTITY_GROUPS = MigrationProgressEvent_ConcurrencyMode._( + 3, _omitEnumNames ? '' : 'OPTIMISTIC_WITH_ENTITY_GROUPS'); + + static const $core.List values = + [ + CONCURRENCY_MODE_UNSPECIFIED, + PESSIMISTIC, + OPTIMISTIC, + OPTIMISTIC_WITH_ENTITY_GROUPS, + ]; + + static final $core.Map<$core.int, MigrationProgressEvent_ConcurrencyMode> + _byValue = $pb.ProtobufEnum.initByValue(values); + static MigrationProgressEvent_ConcurrencyMode? valueOf($core.int value) => + _byValue[value]; + + const MigrationProgressEvent_ConcurrencyMode._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pbjson.dart new file mode 100644 index 00000000..47318c63 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1/migration.pbjson.dart @@ -0,0 +1,174 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1/migration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use migrationStateDescriptor instead') +const MigrationState$json = { + '1': 'MigrationState', + '2': [ + {'1': 'MIGRATION_STATE_UNSPECIFIED', '2': 0}, + {'1': 'RUNNING', '2': 1}, + {'1': 'PAUSED', '2': 2}, + {'1': 'COMPLETE', '2': 3}, + ], +}; + +/// Descriptor for `MigrationState`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List migrationStateDescriptor = $convert.base64Decode( + 'Cg5NaWdyYXRpb25TdGF0ZRIfChtNSUdSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABILCgdSVU' + '5OSU5HEAESCgoGUEFVU0VEEAISDAoIQ09NUExFVEUQAw=='); + +@$core.Deprecated('Use migrationStepDescriptor instead') +const MigrationStep$json = { + '1': 'MigrationStep', + '2': [ + {'1': 'MIGRATION_STEP_UNSPECIFIED', '2': 0}, + {'1': 'PREPARE', '2': 6}, + {'1': 'START', '2': 1}, + {'1': 'APPLY_WRITES_SYNCHRONOUSLY', '2': 7}, + {'1': 'COPY_AND_VERIFY', '2': 2}, + {'1': 'REDIRECT_EVENTUALLY_CONSISTENT_READS', '2': 3}, + {'1': 'REDIRECT_STRONGLY_CONSISTENT_READS', '2': 4}, + {'1': 'REDIRECT_WRITES', '2': 5}, + ], +}; + +/// Descriptor for `MigrationStep`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List migrationStepDescriptor = $convert.base64Decode( + 'Cg1NaWdyYXRpb25TdGVwEh4KGk1JR1JBVElPTl9TVEVQX1VOU1BFQ0lGSUVEEAASCwoHUFJFUE' + 'FSRRAGEgkKBVNUQVJUEAESHgoaQVBQTFlfV1JJVEVTX1NZTkNIUk9OT1VTTFkQBxITCg9DT1BZ' + 'X0FORF9WRVJJRlkQAhIoCiRSRURJUkVDVF9FVkVOVFVBTExZX0NPTlNJU1RFTlRfUkVBRFMQAx' + 'ImCiJSRURJUkVDVF9TVFJPTkdMWV9DT05TSVNURU5UX1JFQURTEAQSEwoPUkVESVJFQ1RfV1JJ' + 'VEVTEAU='); + +@$core.Deprecated('Use migrationStateEventDescriptor instead') +const MigrationStateEvent$json = { + '1': 'MigrationStateEvent', + '2': [ + { + '1': 'state', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.MigrationState', + '10': 'state' + }, + ], +}; + +/// Descriptor for `MigrationStateEvent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List migrationStateEventDescriptor = $convert.base64Decode( + 'ChNNaWdyYXRpb25TdGF0ZUV2ZW50Ej8KBXN0YXRlGAEgASgOMikuZ29vZ2xlLmRhdGFzdG9yZS' + '5hZG1pbi52MS5NaWdyYXRpb25TdGF0ZVIFc3RhdGU='); + +@$core.Deprecated('Use migrationProgressEventDescriptor instead') +const MigrationProgressEvent$json = { + '1': 'MigrationProgressEvent', + '2': [ + { + '1': 'step', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.MigrationStep', + '10': 'step' + }, + { + '1': 'prepare_step_details', + '3': 2, + '4': 1, + '5': 11, + '6': + '.google.datastore.admin.v1.MigrationProgressEvent.PrepareStepDetails', + '9': 0, + '10': 'prepareStepDetails' + }, + { + '1': 'redirect_writes_step_details', + '3': 3, + '4': 1, + '5': 11, + '6': + '.google.datastore.admin.v1.MigrationProgressEvent.RedirectWritesStepDetails', + '9': 0, + '10': 'redirectWritesStepDetails' + }, + ], + '3': [ + MigrationProgressEvent_PrepareStepDetails$json, + MigrationProgressEvent_RedirectWritesStepDetails$json + ], + '4': [MigrationProgressEvent_ConcurrencyMode$json], + '8': [ + {'1': 'step_details'}, + ], +}; + +@$core.Deprecated('Use migrationProgressEventDescriptor instead') +const MigrationProgressEvent_PrepareStepDetails$json = { + '1': 'PrepareStepDetails', + '2': [ + { + '1': 'concurrency_mode', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode', + '10': 'concurrencyMode' + }, + ], +}; + +@$core.Deprecated('Use migrationProgressEventDescriptor instead') +const MigrationProgressEvent_RedirectWritesStepDetails$json = { + '1': 'RedirectWritesStepDetails', + '2': [ + { + '1': 'concurrency_mode', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1.MigrationProgressEvent.ConcurrencyMode', + '10': 'concurrencyMode' + }, + ], +}; + +@$core.Deprecated('Use migrationProgressEventDescriptor instead') +const MigrationProgressEvent_ConcurrencyMode$json = { + '1': 'ConcurrencyMode', + '2': [ + {'1': 'CONCURRENCY_MODE_UNSPECIFIED', '2': 0}, + {'1': 'PESSIMISTIC', '2': 1}, + {'1': 'OPTIMISTIC', '2': 2}, + {'1': 'OPTIMISTIC_WITH_ENTITY_GROUPS', '2': 3}, + ], +}; + +/// Descriptor for `MigrationProgressEvent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List migrationProgressEventDescriptor = $convert.base64Decode( + 'ChZNaWdyYXRpb25Qcm9ncmVzc0V2ZW50EjwKBHN0ZXAYASABKA4yKC5nb29nbGUuZGF0YXN0b3' + 'JlLmFkbWluLnYxLk1pZ3JhdGlvblN0ZXBSBHN0ZXASeAoUcHJlcGFyZV9zdGVwX2RldGFpbHMY' + 'AiABKAsyRC5nb29nbGUuZGF0YXN0b3JlLmFkbWluLnYxLk1pZ3JhdGlvblByb2dyZXNzRXZlbn' + 'QuUHJlcGFyZVN0ZXBEZXRhaWxzSABSEnByZXBhcmVTdGVwRGV0YWlscxKOAQoccmVkaXJlY3Rf' + 'd3JpdGVzX3N0ZXBfZGV0YWlscxgDIAEoCzJLLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjEuTW' + 'lncmF0aW9uUHJvZ3Jlc3NFdmVudC5SZWRpcmVjdFdyaXRlc1N0ZXBEZXRhaWxzSABSGXJlZGly' + 'ZWN0V3JpdGVzU3RlcERldGFpbHMaggEKElByZXBhcmVTdGVwRGV0YWlscxJsChBjb25jdXJyZW' + '5jeV9tb2RlGAEgASgOMkEuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MS5NaWdyYXRpb25Qcm9n' + 'cmVzc0V2ZW50LkNvbmN1cnJlbmN5TW9kZVIPY29uY3VycmVuY3lNb2RlGokBChlSZWRpcmVjdF' + 'dyaXRlc1N0ZXBEZXRhaWxzEmwKEGNvbmN1cnJlbmN5X21vZGUYASABKA4yQS5nb29nbGUuZGF0' + 'YXN0b3JlLmFkbWluLnYxLk1pZ3JhdGlvblByb2dyZXNzRXZlbnQuQ29uY3VycmVuY3lNb2RlUg' + '9jb25jdXJyZW5jeU1vZGUidwoPQ29uY3VycmVuY3lNb2RlEiAKHENPTkNVUlJFTkNZX01PREVf' + 'VU5TUEVDSUZJRUQQABIPCgtQRVNTSU1JU1RJQxABEg4KCk9QVElNSVNUSUMQAhIhCh1PUFRJTU' + 'lTVElDX1dJVEhfRU5USVRZX0dST1VQUxADQg4KDHN0ZXBfZGV0YWlscw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pb.dart new file mode 100644 index 00000000..b8e72dce --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pb.dart @@ -0,0 +1,988 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1beta1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/timestamp.pb.dart' as $50; +import 'datastore_admin.pbenum.dart'; + +export 'datastore_admin.pbenum.dart'; + +/// Metadata common to all Datastore Admin operations. +class CommonMetadata extends $pb.GeneratedMessage { + factory CommonMetadata({ + $50.Timestamp? startTime, + $50.Timestamp? endTime, + OperationType? operationType, + $core.Map<$core.String, $core.String>? labels, + CommonMetadata_State? state, + }) { + final $result = create(); + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (operationType != null) { + $result.operationType = operationType; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (state != null) { + $result.state = state; + } + return $result; + } + CommonMetadata._() : super(); + factory CommonMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommonMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommonMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..e( + 3, _omitFieldNames ? '' : 'operationType', $pb.PbFieldType.OE, + defaultOrMaker: OperationType.OPERATION_TYPE_UNSPECIFIED, + valueOf: OperationType.valueOf, + enumValues: OperationType.values) + ..m<$core.String, $core.String>(4, _omitFieldNames ? '' : 'labels', + entryClassName: 'CommonMetadata.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.datastore.admin.v1beta1')) + ..e( + 5, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: CommonMetadata_State.STATE_UNSPECIFIED, + valueOf: CommonMetadata_State.valueOf, + enumValues: CommonMetadata_State.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommonMetadata clone() => CommonMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommonMetadata copyWith(void Function(CommonMetadata) updates) => + super.copyWith((message) => updates(message as CommonMetadata)) + as CommonMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommonMetadata create() => CommonMetadata._(); + CommonMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommonMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommonMetadata? _defaultInstance; + + /// The time that work began on the operation. + @$pb.TagNumber(1) + $50.Timestamp get startTime => $_getN(0); + @$pb.TagNumber(1) + set startTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStartTime() => $_has(0); + @$pb.TagNumber(1) + void clearStartTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureStartTime() => $_ensure(0); + + /// The time the operation ended, either successfully or otherwise. + @$pb.TagNumber(2) + $50.Timestamp get endTime => $_getN(1); + @$pb.TagNumber(2) + set endTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEndTime() => $_has(1); + @$pb.TagNumber(2) + void clearEndTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureEndTime() => $_ensure(1); + + /// The type of the operation. Can be used as a filter in + /// ListOperationsRequest. + @$pb.TagNumber(3) + OperationType get operationType => $_getN(2); + @$pb.TagNumber(3) + set operationType(OperationType v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOperationType() => $_has(2); + @$pb.TagNumber(3) + void clearOperationType() => clearField(3); + + /// The client-assigned labels which were provided when the operation was + /// created. May also include additional labels. + @$pb.TagNumber(4) + $core.Map<$core.String, $core.String> get labels => $_getMap(3); + + /// The current state of the Operation. + @$pb.TagNumber(5) + CommonMetadata_State get state => $_getN(4); + @$pb.TagNumber(5) + set state(CommonMetadata_State v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasState() => $_has(4); + @$pb.TagNumber(5) + void clearState() => clearField(5); +} + +/// Measures the progress of a particular metric. +class Progress extends $pb.GeneratedMessage { + factory Progress({ + $fixnum.Int64? workCompleted, + $fixnum.Int64? workEstimated, + }) { + final $result = create(); + if (workCompleted != null) { + $result.workCompleted = workCompleted; + } + if (workEstimated != null) { + $result.workEstimated = workEstimated; + } + return $result; + } + Progress._() : super(); + factory Progress.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Progress.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Progress', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'workCompleted') + ..aInt64(2, _omitFieldNames ? '' : 'workEstimated') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Progress clone() => Progress()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Progress copyWith(void Function(Progress) updates) => + super.copyWith((message) => updates(message as Progress)) as Progress; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Progress create() => Progress._(); + Progress createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Progress getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Progress? _defaultInstance; + + /// The amount of work that has been completed. Note that this may be greater + /// than work_estimated. + @$pb.TagNumber(1) + $fixnum.Int64 get workCompleted => $_getI64(0); + @$pb.TagNumber(1) + set workCompleted($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasWorkCompleted() => $_has(0); + @$pb.TagNumber(1) + void clearWorkCompleted() => clearField(1); + + /// An estimate of how much work needs to be performed. May be zero if the + /// work estimate is unavailable. + @$pb.TagNumber(2) + $fixnum.Int64 get workEstimated => $_getI64(1); + @$pb.TagNumber(2) + set workEstimated($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasWorkEstimated() => $_has(1); + @$pb.TagNumber(2) + void clearWorkEstimated() => clearField(2); +} + +/// The request for +/// [google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities]. +class ExportEntitiesRequest extends $pb.GeneratedMessage { + factory ExportEntitiesRequest({ + $core.String? projectId, + $core.Map<$core.String, $core.String>? labels, + EntityFilter? entityFilter, + $core.String? outputUrlPrefix, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + if (outputUrlPrefix != null) { + $result.outputUrlPrefix = outputUrlPrefix; + } + return $result; + } + ExportEntitiesRequest._() : super(); + factory ExportEntitiesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExportEntitiesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExportEntitiesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'labels', + entryClassName: 'ExportEntitiesRequest.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.datastore.admin.v1beta1')) + ..aOM(3, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..aOS(4, _omitFieldNames ? '' : 'outputUrlPrefix') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExportEntitiesRequest clone() => + ExportEntitiesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExportEntitiesRequest copyWith( + void Function(ExportEntitiesRequest) updates) => + super.copyWith((message) => updates(message as ExportEntitiesRequest)) + as ExportEntitiesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExportEntitiesRequest create() => ExportEntitiesRequest._(); + ExportEntitiesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExportEntitiesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExportEntitiesRequest? _defaultInstance; + + /// Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// Client-assigned labels. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get labels => $_getMap(1); + + /// Description of what data from the project is included in the export. + @$pb.TagNumber(3) + EntityFilter get entityFilter => $_getN(2); + @$pb.TagNumber(3) + set entityFilter(EntityFilter v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEntityFilter() => $_has(2); + @$pb.TagNumber(3) + void clearEntityFilter() => clearField(3); + @$pb.TagNumber(3) + EntityFilter ensureEntityFilter() => $_ensure(2); + + /// Location for the export metadata and data files. + /// + /// The full resource URL of the external storage location. Currently, only + /// Google Cloud Storage is supported. So output_url_prefix should be of the + /// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the + /// name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + /// Storage namespace path (this is not a Cloud Datastore namespace). For more + /// information about Cloud Storage namespace paths, see + /// [Object name + /// considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + /// + /// The resulting files will be nested deeper than the specified URL prefix. + /// The final output URL will be provided in the + /// [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url] + /// field. That value should be used for subsequent ImportEntities operations. + /// + /// By nesting the data files deeper, the same Cloud Storage bucket can be used + /// in multiple ExportEntities operations without conflict. + @$pb.TagNumber(4) + $core.String get outputUrlPrefix => $_getSZ(3); + @$pb.TagNumber(4) + set outputUrlPrefix($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasOutputUrlPrefix() => $_has(3); + @$pb.TagNumber(4) + void clearOutputUrlPrefix() => clearField(4); +} + +/// The request for +/// [google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities]. +class ImportEntitiesRequest extends $pb.GeneratedMessage { + factory ImportEntitiesRequest({ + $core.String? projectId, + $core.Map<$core.String, $core.String>? labels, + $core.String? inputUrl, + EntityFilter? entityFilter, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (inputUrl != null) { + $result.inputUrl = inputUrl; + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + return $result; + } + ImportEntitiesRequest._() : super(); + factory ImportEntitiesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportEntitiesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportEntitiesRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'projectId') + ..m<$core.String, $core.String>(2, _omitFieldNames ? '' : 'labels', + entryClassName: 'ImportEntitiesRequest.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.datastore.admin.v1beta1')) + ..aOS(3, _omitFieldNames ? '' : 'inputUrl') + ..aOM(4, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportEntitiesRequest clone() => + ImportEntitiesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportEntitiesRequest copyWith( + void Function(ImportEntitiesRequest) updates) => + super.copyWith((message) => updates(message as ImportEntitiesRequest)) + as ImportEntitiesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportEntitiesRequest create() => ImportEntitiesRequest._(); + ImportEntitiesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportEntitiesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportEntitiesRequest? _defaultInstance; + + /// Project ID against which to make the request. + @$pb.TagNumber(1) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(1) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(1) + void clearProjectId() => clearField(1); + + /// Client-assigned labels. + @$pb.TagNumber(2) + $core.Map<$core.String, $core.String> get labels => $_getMap(1); + + /// The full resource URL of the external storage location. Currently, only + /// Google Cloud Storage is supported. So input_url should be of the form: + /// `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + /// `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is + /// an optional Cloud Storage namespace path (this is not a Cloud Datastore + /// namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written + /// by the ExportEntities operation. For more information about Cloud Storage + /// namespace paths, see + /// [Object name + /// considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + /// + /// For more information, see + /// [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url]. + @$pb.TagNumber(3) + $core.String get inputUrl => $_getSZ(2); + @$pb.TagNumber(3) + set inputUrl($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasInputUrl() => $_has(2); + @$pb.TagNumber(3) + void clearInputUrl() => clearField(3); + + /// Optionally specify which kinds/namespaces are to be imported. If provided, + /// the list must be a subset of the EntityFilter used in creating the export, + /// otherwise a FAILED_PRECONDITION error will be returned. If no filter is + /// specified then all entities from the export are imported. + @$pb.TagNumber(4) + EntityFilter get entityFilter => $_getN(3); + @$pb.TagNumber(4) + set entityFilter(EntityFilter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEntityFilter() => $_has(3); + @$pb.TagNumber(4) + void clearEntityFilter() => clearField(4); + @$pb.TagNumber(4) + EntityFilter ensureEntityFilter() => $_ensure(3); +} + +/// The response for +/// [google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities]. +class ExportEntitiesResponse extends $pb.GeneratedMessage { + factory ExportEntitiesResponse({ + $core.String? outputUrl, + }) { + final $result = create(); + if (outputUrl != null) { + $result.outputUrl = outputUrl; + } + return $result; + } + ExportEntitiesResponse._() : super(); + factory ExportEntitiesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExportEntitiesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExportEntitiesResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'outputUrl') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExportEntitiesResponse clone() => + ExportEntitiesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExportEntitiesResponse copyWith( + void Function(ExportEntitiesResponse) updates) => + super.copyWith((message) => updates(message as ExportEntitiesResponse)) + as ExportEntitiesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExportEntitiesResponse create() => ExportEntitiesResponse._(); + ExportEntitiesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExportEntitiesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExportEntitiesResponse? _defaultInstance; + + /// Location of the output metadata file. This can be used to begin an import + /// into Cloud Datastore (this project or another project). See + /// [google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url][google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url]. + /// Only present if the operation completed successfully. + @$pb.TagNumber(1) + $core.String get outputUrl => $_getSZ(0); + @$pb.TagNumber(1) + set outputUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOutputUrl() => $_has(0); + @$pb.TagNumber(1) + void clearOutputUrl() => clearField(1); +} + +/// Metadata for ExportEntities operations. +class ExportEntitiesMetadata extends $pb.GeneratedMessage { + factory ExportEntitiesMetadata({ + CommonMetadata? common, + Progress? progressEntities, + Progress? progressBytes, + EntityFilter? entityFilter, + $core.String? outputUrlPrefix, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (progressEntities != null) { + $result.progressEntities = progressEntities; + } + if (progressBytes != null) { + $result.progressBytes = progressBytes; + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + if (outputUrlPrefix != null) { + $result.outputUrlPrefix = outputUrlPrefix; + } + return $result; + } + ExportEntitiesMetadata._() : super(); + factory ExportEntitiesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExportEntitiesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExportEntitiesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonMetadata.create) + ..aOM(2, _omitFieldNames ? '' : 'progressEntities', + subBuilder: Progress.create) + ..aOM(3, _omitFieldNames ? '' : 'progressBytes', + subBuilder: Progress.create) + ..aOM(4, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..aOS(5, _omitFieldNames ? '' : 'outputUrlPrefix') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExportEntitiesMetadata clone() => + ExportEntitiesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExportEntitiesMetadata copyWith( + void Function(ExportEntitiesMetadata) updates) => + super.copyWith((message) => updates(message as ExportEntitiesMetadata)) + as ExportEntitiesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExportEntitiesMetadata create() => ExportEntitiesMetadata._(); + ExportEntitiesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExportEntitiesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExportEntitiesMetadata? _defaultInstance; + + /// Metadata common to all Datastore Admin operations. + @$pb.TagNumber(1) + CommonMetadata get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonMetadata v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonMetadata ensureCommon() => $_ensure(0); + + /// An estimate of the number of entities processed. + @$pb.TagNumber(2) + Progress get progressEntities => $_getN(1); + @$pb.TagNumber(2) + set progressEntities(Progress v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProgressEntities() => $_has(1); + @$pb.TagNumber(2) + void clearProgressEntities() => clearField(2); + @$pb.TagNumber(2) + Progress ensureProgressEntities() => $_ensure(1); + + /// An estimate of the number of bytes processed. + @$pb.TagNumber(3) + Progress get progressBytes => $_getN(2); + @$pb.TagNumber(3) + set progressBytes(Progress v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasProgressBytes() => $_has(2); + @$pb.TagNumber(3) + void clearProgressBytes() => clearField(3); + @$pb.TagNumber(3) + Progress ensureProgressBytes() => $_ensure(2); + + /// Description of which entities are being exported. + @$pb.TagNumber(4) + EntityFilter get entityFilter => $_getN(3); + @$pb.TagNumber(4) + set entityFilter(EntityFilter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEntityFilter() => $_has(3); + @$pb.TagNumber(4) + void clearEntityFilter() => clearField(4); + @$pb.TagNumber(4) + EntityFilter ensureEntityFilter() => $_ensure(3); + + /// Location for the export metadata and data files. This will be the same + /// value as the + /// [google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix][google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix] + /// field. The final output location is provided in + /// [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url]. + @$pb.TagNumber(5) + $core.String get outputUrlPrefix => $_getSZ(4); + @$pb.TagNumber(5) + set outputUrlPrefix($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOutputUrlPrefix() => $_has(4); + @$pb.TagNumber(5) + void clearOutputUrlPrefix() => clearField(5); +} + +/// Metadata for ImportEntities operations. +class ImportEntitiesMetadata extends $pb.GeneratedMessage { + factory ImportEntitiesMetadata({ + CommonMetadata? common, + Progress? progressEntities, + Progress? progressBytes, + EntityFilter? entityFilter, + $core.String? inputUrl, + }) { + final $result = create(); + if (common != null) { + $result.common = common; + } + if (progressEntities != null) { + $result.progressEntities = progressEntities; + } + if (progressBytes != null) { + $result.progressBytes = progressBytes; + } + if (entityFilter != null) { + $result.entityFilter = entityFilter; + } + if (inputUrl != null) { + $result.inputUrl = inputUrl; + } + return $result; + } + ImportEntitiesMetadata._() : super(); + factory ImportEntitiesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ImportEntitiesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ImportEntitiesMetadata', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'common', + subBuilder: CommonMetadata.create) + ..aOM(2, _omitFieldNames ? '' : 'progressEntities', + subBuilder: Progress.create) + ..aOM(3, _omitFieldNames ? '' : 'progressBytes', + subBuilder: Progress.create) + ..aOM(4, _omitFieldNames ? '' : 'entityFilter', + subBuilder: EntityFilter.create) + ..aOS(5, _omitFieldNames ? '' : 'inputUrl') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ImportEntitiesMetadata clone() => + ImportEntitiesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ImportEntitiesMetadata copyWith( + void Function(ImportEntitiesMetadata) updates) => + super.copyWith((message) => updates(message as ImportEntitiesMetadata)) + as ImportEntitiesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ImportEntitiesMetadata create() => ImportEntitiesMetadata._(); + ImportEntitiesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ImportEntitiesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ImportEntitiesMetadata? _defaultInstance; + + /// Metadata common to all Datastore Admin operations. + @$pb.TagNumber(1) + CommonMetadata get common => $_getN(0); + @$pb.TagNumber(1) + set common(CommonMetadata v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCommon() => $_has(0); + @$pb.TagNumber(1) + void clearCommon() => clearField(1); + @$pb.TagNumber(1) + CommonMetadata ensureCommon() => $_ensure(0); + + /// An estimate of the number of entities processed. + @$pb.TagNumber(2) + Progress get progressEntities => $_getN(1); + @$pb.TagNumber(2) + set progressEntities(Progress v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProgressEntities() => $_has(1); + @$pb.TagNumber(2) + void clearProgressEntities() => clearField(2); + @$pb.TagNumber(2) + Progress ensureProgressEntities() => $_ensure(1); + + /// An estimate of the number of bytes processed. + @$pb.TagNumber(3) + Progress get progressBytes => $_getN(2); + @$pb.TagNumber(3) + set progressBytes(Progress v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasProgressBytes() => $_has(2); + @$pb.TagNumber(3) + void clearProgressBytes() => clearField(3); + @$pb.TagNumber(3) + Progress ensureProgressBytes() => $_ensure(2); + + /// Description of which entities are being imported. + @$pb.TagNumber(4) + EntityFilter get entityFilter => $_getN(3); + @$pb.TagNumber(4) + set entityFilter(EntityFilter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEntityFilter() => $_has(3); + @$pb.TagNumber(4) + void clearEntityFilter() => clearField(4); + @$pb.TagNumber(4) + EntityFilter ensureEntityFilter() => $_ensure(3); + + /// The location of the import metadata file. This will be the same value as + /// the + /// [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url] + /// field. + @$pb.TagNumber(5) + $core.String get inputUrl => $_getSZ(4); + @$pb.TagNumber(5) + set inputUrl($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasInputUrl() => $_has(4); + @$pb.TagNumber(5) + void clearInputUrl() => clearField(5); +} + +/// Identifies a subset of entities in a project. This is specified as +/// combinations of kinds and namespaces (either or both of which may be all, as +/// described in the following examples). +/// Example usage: +/// +/// Entire project: +/// kinds=[], namespace_ids=[] +/// +/// Kinds Foo and Bar in all namespaces: +/// kinds=['Foo', 'Bar'], namespace_ids=[] +/// +/// Kinds Foo and Bar only in the default namespace: +/// kinds=['Foo', 'Bar'], namespace_ids=[''] +/// +/// Kinds Foo and Bar in both the default and Baz namespaces: +/// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +/// +/// The entire Baz namespace: +/// kinds=[], namespace_ids=['Baz'] +class EntityFilter extends $pb.GeneratedMessage { + factory EntityFilter({ + $core.Iterable<$core.String>? kinds, + $core.Iterable<$core.String>? namespaceIds, + }) { + final $result = create(); + if (kinds != null) { + $result.kinds.addAll(kinds); + } + if (namespaceIds != null) { + $result.namespaceIds.addAll(namespaceIds); + } + return $result; + } + EntityFilter._() : super(); + factory EntityFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EntityFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EntityFilter', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.admin.v1beta1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'kinds') + ..pPS(2, _omitFieldNames ? '' : 'namespaceIds') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EntityFilter clone() => EntityFilter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EntityFilter copyWith(void Function(EntityFilter) updates) => + super.copyWith((message) => updates(message as EntityFilter)) + as EntityFilter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EntityFilter create() => EntityFilter._(); + EntityFilter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EntityFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EntityFilter? _defaultInstance; + + /// If empty, then this represents all kinds. + @$pb.TagNumber(1) + $core.List<$core.String> get kinds => $_getList(0); + + /// An empty list represents all namespaces. This is the preferred + /// usage for projects that don't use namespaces. + /// + /// An empty string element represents the default namespace. This should be + /// used if the project has data in non-default namespaces, but doesn't want to + /// include them. + /// Each namespace in this list must be unique. + @$pb.TagNumber(2) + $core.List<$core.String> get namespaceIds => $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbenum.dart new file mode 100644 index 00000000..c4971506 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbenum.dart @@ -0,0 +1,75 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1beta1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Operation types. +class OperationType extends $pb.ProtobufEnum { + static const OperationType OPERATION_TYPE_UNSPECIFIED = + OperationType._(0, _omitEnumNames ? '' : 'OPERATION_TYPE_UNSPECIFIED'); + static const OperationType EXPORT_ENTITIES = + OperationType._(1, _omitEnumNames ? '' : 'EXPORT_ENTITIES'); + static const OperationType IMPORT_ENTITIES = + OperationType._(2, _omitEnumNames ? '' : 'IMPORT_ENTITIES'); + + static const $core.List values = [ + OPERATION_TYPE_UNSPECIFIED, + EXPORT_ENTITIES, + IMPORT_ENTITIES, + ]; + + static final $core.Map<$core.int, OperationType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static OperationType? valueOf($core.int value) => _byValue[value]; + + const OperationType._($core.int v, $core.String n) : super(v, n); +} + +/// The various possible states for an ongoing Operation. +class CommonMetadata_State extends $pb.ProtobufEnum { + static const CommonMetadata_State STATE_UNSPECIFIED = + CommonMetadata_State._(0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const CommonMetadata_State INITIALIZING = + CommonMetadata_State._(1, _omitEnumNames ? '' : 'INITIALIZING'); + static const CommonMetadata_State PROCESSING = + CommonMetadata_State._(2, _omitEnumNames ? '' : 'PROCESSING'); + static const CommonMetadata_State CANCELLING = + CommonMetadata_State._(3, _omitEnumNames ? '' : 'CANCELLING'); + static const CommonMetadata_State FINALIZING = + CommonMetadata_State._(4, _omitEnumNames ? '' : 'FINALIZING'); + static const CommonMetadata_State SUCCESSFUL = + CommonMetadata_State._(5, _omitEnumNames ? '' : 'SUCCESSFUL'); + static const CommonMetadata_State FAILED = + CommonMetadata_State._(6, _omitEnumNames ? '' : 'FAILED'); + static const CommonMetadata_State CANCELLED = + CommonMetadata_State._(7, _omitEnumNames ? '' : 'CANCELLED'); + + static const $core.List values = [ + STATE_UNSPECIFIED, + INITIALIZING, + PROCESSING, + CANCELLING, + FINALIZING, + SUCCESSFUL, + FAILED, + CANCELLED, + ]; + + static final $core.Map<$core.int, CommonMetadata_State> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CommonMetadata_State? valueOf($core.int value) => _byValue[value]; + + const CommonMetadata_State._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbgrpc.dart new file mode 100644 index 00000000..328c045e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbgrpc.dart @@ -0,0 +1,91 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1beta1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../longrunning/operations.pb.dart' as $0; +import 'datastore_admin.pb.dart' as $25; + +export 'datastore_admin.pb.dart'; + +@$pb.GrpcServiceName('google.datastore.admin.v1beta1.DatastoreAdmin') +class DatastoreAdminClient extends $grpc.Client { + static final _$exportEntities = + $grpc.ClientMethod<$25.ExportEntitiesRequest, $0.Operation>( + '/google.datastore.admin.v1beta1.DatastoreAdmin/ExportEntities', + ($25.ExportEntitiesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$importEntities = + $grpc.ClientMethod<$25.ImportEntitiesRequest, $0.Operation>( + '/google.datastore.admin.v1beta1.DatastoreAdmin/ImportEntities', + ($25.ImportEntitiesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + DatastoreAdminClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.Operation> exportEntities( + $25.ExportEntitiesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$exportEntities, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> importEntities( + $25.ImportEntitiesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$importEntities, request, options: options); + } +} + +@$pb.GrpcServiceName('google.datastore.admin.v1beta1.DatastoreAdmin') +abstract class DatastoreAdminServiceBase extends $grpc.Service { + $core.String get $name => 'google.datastore.admin.v1beta1.DatastoreAdmin'; + + DatastoreAdminServiceBase() { + $addMethod($grpc.ServiceMethod<$25.ExportEntitiesRequest, $0.Operation>( + 'ExportEntities', + exportEntities_Pre, + false, + false, + ($core.List<$core.int> value) => + $25.ExportEntitiesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$25.ImportEntitiesRequest, $0.Operation>( + 'ImportEntities', + importEntities_Pre, + false, + false, + ($core.List<$core.int> value) => + $25.ImportEntitiesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$0.Operation> exportEntities_Pre($grpc.ServiceCall call, + $async.Future<$25.ExportEntitiesRequest> request) async { + return exportEntities(call, await request); + } + + $async.Future<$0.Operation> importEntities_Pre($grpc.ServiceCall call, + $async.Future<$25.ImportEntitiesRequest> request) async { + return importEntities(call, await request); + } + + $async.Future<$0.Operation> exportEntities( + $grpc.ServiceCall call, $25.ExportEntitiesRequest request); + $async.Future<$0.Operation> importEntities( + $grpc.ServiceCall call, $25.ImportEntitiesRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbjson.dart new file mode 100644 index 00000000..b2398276 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/admin/v1beta1/datastore_admin.pbjson.dart @@ -0,0 +1,350 @@ +// +// Generated code. Do not modify. +// source: google/datastore/admin/v1beta1/datastore_admin.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationTypeDescriptor instead') +const OperationType$json = { + '1': 'OperationType', + '2': [ + {'1': 'OPERATION_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'EXPORT_ENTITIES', '2': 1}, + {'1': 'IMPORT_ENTITIES', '2': 2}, + ], +}; + +/// Descriptor for `OperationType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List operationTypeDescriptor = $convert.base64Decode( + 'Cg1PcGVyYXRpb25UeXBlEh4KGk9QRVJBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASEwoPRVhQT1' + 'JUX0VOVElUSUVTEAESEwoPSU1QT1JUX0VOVElUSUVTEAI='); + +@$core.Deprecated('Use commonMetadataDescriptor instead') +const CommonMetadata$json = { + '1': 'CommonMetadata', + '2': [ + { + '1': 'start_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'operation_type', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1beta1.OperationType', + '10': 'operationType' + }, + { + '1': 'labels', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1beta1.CommonMetadata.LabelsEntry', + '10': 'labels' + }, + { + '1': 'state', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.admin.v1beta1.CommonMetadata.State', + '10': 'state' + }, + ], + '3': [CommonMetadata_LabelsEntry$json], + '4': [CommonMetadata_State$json], +}; + +@$core.Deprecated('Use commonMetadataDescriptor instead') +const CommonMetadata_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use commonMetadataDescriptor instead') +const CommonMetadata_State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'INITIALIZING', '2': 1}, + {'1': 'PROCESSING', '2': 2}, + {'1': 'CANCELLING', '2': 3}, + {'1': 'FINALIZING', '2': 4}, + {'1': 'SUCCESSFUL', '2': 5}, + {'1': 'FAILED', '2': 6}, + {'1': 'CANCELLED', '2': 7}, + ], +}; + +/// Descriptor for `CommonMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commonMetadataDescriptor = $convert.base64Decode( + 'Cg5Db21tb25NZXRhZGF0YRI5CgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLl' + 'RpbWVzdGFtcFIJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVm' + 'LlRpbWVzdGFtcFIHZW5kVGltZRJUCg5vcGVyYXRpb25fdHlwZRgDIAEoDjItLmdvb2dsZS5kYX' + 'Rhc3RvcmUuYWRtaW4udjFiZXRhMS5PcGVyYXRpb25UeXBlUg1vcGVyYXRpb25UeXBlElIKBmxh' + 'YmVscxgEIAMoCzI6Lmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjFiZXRhMS5Db21tb25NZXRhZG' + 'F0YS5MYWJlbHNFbnRyeVIGbGFiZWxzEkoKBXN0YXRlGAUgASgOMjQuZ29vZ2xlLmRhdGFzdG9y' + 'ZS5hZG1pbi52MWJldGExLkNvbW1vbk1ldGFkYXRhLlN0YXRlUgVzdGF0ZRo5CgtMYWJlbHNFbn' + 'RyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIosBCgVTdGF0' + 'ZRIVChFTVEFURV9VTlNQRUNJRklFRBAAEhAKDElOSVRJQUxJWklORxABEg4KClBST0NFU1NJTk' + 'cQAhIOCgpDQU5DRUxMSU5HEAMSDgoKRklOQUxJWklORxAEEg4KClNVQ0NFU1NGVUwQBRIKCgZG' + 'QUlMRUQQBhINCglDQU5DRUxMRUQQBw=='); + +@$core.Deprecated('Use progressDescriptor instead') +const Progress$json = { + '1': 'Progress', + '2': [ + {'1': 'work_completed', '3': 1, '4': 1, '5': 3, '10': 'workCompleted'}, + {'1': 'work_estimated', '3': 2, '4': 1, '5': 3, '10': 'workEstimated'}, + ], +}; + +/// Descriptor for `Progress`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List progressDescriptor = $convert.base64Decode( + 'CghQcm9ncmVzcxIlCg53b3JrX2NvbXBsZXRlZBgBIAEoA1INd29ya0NvbXBsZXRlZBIlCg53b3' + 'JrX2VzdGltYXRlZBgCIAEoA1INd29ya0VzdGltYXRlZA=='); + +@$core.Deprecated('Use exportEntitiesRequestDescriptor instead') +const ExportEntitiesRequest$json = { + '1': 'ExportEntitiesRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1beta1.ExportEntitiesRequest.LabelsEntry', + '10': 'labels' + }, + { + '1': 'entity_filter', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.EntityFilter', + '10': 'entityFilter' + }, + {'1': 'output_url_prefix', '3': 4, '4': 1, '5': 9, '10': 'outputUrlPrefix'}, + ], + '3': [ExportEntitiesRequest_LabelsEntry$json], +}; + +@$core.Deprecated('Use exportEntitiesRequestDescriptor instead') +const ExportEntitiesRequest_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ExportEntitiesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exportEntitiesRequestDescriptor = $convert.base64Decode( + 'ChVFeHBvcnRFbnRpdGllc1JlcXVlc3QSHQoKcHJvamVjdF9pZBgBIAEoCVIJcHJvamVjdElkEl' + 'kKBmxhYmVscxgCIAMoCzJBLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjFiZXRhMS5FeHBvcnRF' + 'bnRpdGllc1JlcXVlc3QuTGFiZWxzRW50cnlSBmxhYmVscxJRCg1lbnRpdHlfZmlsdGVyGAMgAS' + 'gLMiwuZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MWJldGExLkVudGl0eUZpbHRlclIMZW50aXR5' + 'RmlsdGVyEioKEW91dHB1dF91cmxfcHJlZml4GAQgASgJUg9vdXRwdXRVcmxQcmVmaXgaOQoLTG' + 'FiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use importEntitiesRequestDescriptor instead') +const ImportEntitiesRequest$json = { + '1': 'ImportEntitiesRequest', + '2': [ + {'1': 'project_id', '3': 1, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'labels', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.admin.v1beta1.ImportEntitiesRequest.LabelsEntry', + '10': 'labels' + }, + {'1': 'input_url', '3': 3, '4': 1, '5': 9, '10': 'inputUrl'}, + { + '1': 'entity_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.EntityFilter', + '10': 'entityFilter' + }, + ], + '3': [ImportEntitiesRequest_LabelsEntry$json], +}; + +@$core.Deprecated('Use importEntitiesRequestDescriptor instead') +const ImportEntitiesRequest_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `ImportEntitiesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importEntitiesRequestDescriptor = $convert.base64Decode( + 'ChVJbXBvcnRFbnRpdGllc1JlcXVlc3QSHQoKcHJvamVjdF9pZBgBIAEoCVIJcHJvamVjdElkEl' + 'kKBmxhYmVscxgCIAMoCzJBLmdvb2dsZS5kYXRhc3RvcmUuYWRtaW4udjFiZXRhMS5JbXBvcnRF' + 'bnRpdGllc1JlcXVlc3QuTGFiZWxzRW50cnlSBmxhYmVscxIbCglpbnB1dF91cmwYAyABKAlSCG' + 'lucHV0VXJsElEKDWVudGl0eV9maWx0ZXIYBCABKAsyLC5nb29nbGUuZGF0YXN0b3JlLmFkbWlu' + 'LnYxYmV0YTEuRW50aXR5RmlsdGVyUgxlbnRpdHlGaWx0ZXIaOQoLTGFiZWxzRW50cnkSEAoDa2' + 'V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use exportEntitiesResponseDescriptor instead') +const ExportEntitiesResponse$json = { + '1': 'ExportEntitiesResponse', + '2': [ + {'1': 'output_url', '3': 1, '4': 1, '5': 9, '10': 'outputUrl'}, + ], +}; + +/// Descriptor for `ExportEntitiesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exportEntitiesResponseDescriptor = + $convert.base64Decode( + 'ChZFeHBvcnRFbnRpdGllc1Jlc3BvbnNlEh0KCm91dHB1dF91cmwYASABKAlSCW91dHB1dFVybA' + '=='); + +@$core.Deprecated('Use exportEntitiesMetadataDescriptor instead') +const ExportEntitiesMetadata$json = { + '1': 'ExportEntitiesMetadata', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.CommonMetadata', + '10': 'common' + }, + { + '1': 'progress_entities', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.Progress', + '10': 'progressEntities' + }, + { + '1': 'progress_bytes', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.Progress', + '10': 'progressBytes' + }, + { + '1': 'entity_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.EntityFilter', + '10': 'entityFilter' + }, + {'1': 'output_url_prefix', '3': 5, '4': 1, '5': 9, '10': 'outputUrlPrefix'}, + ], +}; + +/// Descriptor for `ExportEntitiesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List exportEntitiesMetadataDescriptor = $convert.base64Decode( + 'ChZFeHBvcnRFbnRpdGllc01ldGFkYXRhEkYKBmNvbW1vbhgBIAEoCzIuLmdvb2dsZS5kYXRhc3' + 'RvcmUuYWRtaW4udjFiZXRhMS5Db21tb25NZXRhZGF0YVIGY29tbW9uElUKEXByb2dyZXNzX2Vu' + 'dGl0aWVzGAIgASgLMiguZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MWJldGExLlByb2dyZXNzUh' + 'Bwcm9ncmVzc0VudGl0aWVzEk8KDnByb2dyZXNzX2J5dGVzGAMgASgLMiguZ29vZ2xlLmRhdGFz' + 'dG9yZS5hZG1pbi52MWJldGExLlByb2dyZXNzUg1wcm9ncmVzc0J5dGVzElEKDWVudGl0eV9maW' + 'x0ZXIYBCABKAsyLC5nb29nbGUuZGF0YXN0b3JlLmFkbWluLnYxYmV0YTEuRW50aXR5RmlsdGVy' + 'UgxlbnRpdHlGaWx0ZXISKgoRb3V0cHV0X3VybF9wcmVmaXgYBSABKAlSD291dHB1dFVybFByZW' + 'ZpeA=='); + +@$core.Deprecated('Use importEntitiesMetadataDescriptor instead') +const ImportEntitiesMetadata$json = { + '1': 'ImportEntitiesMetadata', + '2': [ + { + '1': 'common', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.CommonMetadata', + '10': 'common' + }, + { + '1': 'progress_entities', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.Progress', + '10': 'progressEntities' + }, + { + '1': 'progress_bytes', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.Progress', + '10': 'progressBytes' + }, + { + '1': 'entity_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.admin.v1beta1.EntityFilter', + '10': 'entityFilter' + }, + {'1': 'input_url', '3': 5, '4': 1, '5': 9, '10': 'inputUrl'}, + ], +}; + +/// Descriptor for `ImportEntitiesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List importEntitiesMetadataDescriptor = $convert.base64Decode( + 'ChZJbXBvcnRFbnRpdGllc01ldGFkYXRhEkYKBmNvbW1vbhgBIAEoCzIuLmdvb2dsZS5kYXRhc3' + 'RvcmUuYWRtaW4udjFiZXRhMS5Db21tb25NZXRhZGF0YVIGY29tbW9uElUKEXByb2dyZXNzX2Vu' + 'dGl0aWVzGAIgASgLMiguZ29vZ2xlLmRhdGFzdG9yZS5hZG1pbi52MWJldGExLlByb2dyZXNzUh' + 'Bwcm9ncmVzc0VudGl0aWVzEk8KDnByb2dyZXNzX2J5dGVzGAMgASgLMiguZ29vZ2xlLmRhdGFz' + 'dG9yZS5hZG1pbi52MWJldGExLlByb2dyZXNzUg1wcm9ncmVzc0J5dGVzElEKDWVudGl0eV9maW' + 'x0ZXIYBCABKAsyLC5nb29nbGUuZGF0YXN0b3JlLmFkbWluLnYxYmV0YTEuRW50aXR5RmlsdGVy' + 'UgxlbnRpdHlGaWx0ZXISGwoJaW5wdXRfdXJsGAUgASgJUghpbnB1dFVybA=='); + +@$core.Deprecated('Use entityFilterDescriptor instead') +const EntityFilter$json = { + '1': 'EntityFilter', + '2': [ + {'1': 'kinds', '3': 1, '4': 3, '5': 9, '10': 'kinds'}, + {'1': 'namespace_ids', '3': 2, '4': 3, '5': 9, '10': 'namespaceIds'}, + ], +}; + +/// Descriptor for `EntityFilter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityFilterDescriptor = $convert.base64Decode( + 'CgxFbnRpdHlGaWx0ZXISFAoFa2luZHMYASADKAlSBWtpbmRzEiMKDW5hbWVzcGFjZV9pZHMYAi' + 'ADKAlSDG5hbWVzcGFjZUlkcw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pb.dart new file mode 100644 index 00000000..88688035 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pb.dart @@ -0,0 +1,202 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/aggregation_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'entity.pb.dart' as $72; +import 'query.pbenum.dart' as $74; + +/// The result of a single bucket from a Datastore aggregation query. +/// +/// The keys of `aggregate_properties` are the same for all results in an +/// aggregation query, unlike entity queries which can have different fields +/// present for each result. +class AggregationResult extends $pb.GeneratedMessage { + factory AggregationResult({ + $core.Map<$core.String, $72.Value>? aggregateProperties, + }) { + final $result = create(); + if (aggregateProperties != null) { + $result.aggregateProperties.addAll(aggregateProperties); + } + return $result; + } + AggregationResult._() : super(); + factory AggregationResult.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationResult.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationResult', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..m<$core.String, $72.Value>( + 2, _omitFieldNames ? '' : 'aggregateProperties', + entryClassName: 'AggregationResult.AggregatePropertiesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: $72.Value.create, + valueDefaultOrMaker: $72.Value.getDefault, + packageName: const $pb.PackageName('google.datastore.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationResult clone() => AggregationResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationResult copyWith(void Function(AggregationResult) updates) => + super.copyWith((message) => updates(message as AggregationResult)) + as AggregationResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationResult create() => AggregationResult._(); + AggregationResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationResult getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AggregationResult? _defaultInstance; + + /// The result of the aggregation functions, ex: `COUNT(*) AS total_entities`. + /// + /// The key is the + /// [alias][google.datastore.v1.AggregationQuery.Aggregation.alias] assigned to + /// the aggregation function on input and the size of this map equals the + /// number of aggregation functions in the query. + @$pb.TagNumber(2) + $core.Map<$core.String, $72.Value> get aggregateProperties => $_getMap(0); +} + +/// A batch of aggregation results produced by an aggregation query. +class AggregationResultBatch extends $pb.GeneratedMessage { + factory AggregationResultBatch({ + $core.Iterable? aggregationResults, + $74.QueryResultBatch_MoreResultsType? moreResults, + $50.Timestamp? readTime, + }) { + final $result = create(); + if (aggregationResults != null) { + $result.aggregationResults.addAll(aggregationResults); + } + if (moreResults != null) { + $result.moreResults = moreResults; + } + if (readTime != null) { + $result.readTime = readTime; + } + return $result; + } + AggregationResultBatch._() : super(); + factory AggregationResultBatch.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationResultBatch.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationResultBatch', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'aggregationResults', $pb.PbFieldType.PM, + subBuilder: AggregationResult.create) + ..e<$74.QueryResultBatch_MoreResultsType>( + 2, _omitFieldNames ? '' : 'moreResults', $pb.PbFieldType.OE, + defaultOrMaker: + $74.QueryResultBatch_MoreResultsType.MORE_RESULTS_TYPE_UNSPECIFIED, + valueOf: $74.QueryResultBatch_MoreResultsType.valueOf, + enumValues: $74.QueryResultBatch_MoreResultsType.values) + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'readTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationResultBatch clone() => + AggregationResultBatch()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationResultBatch copyWith( + void Function(AggregationResultBatch) updates) => + super.copyWith((message) => updates(message as AggregationResultBatch)) + as AggregationResultBatch; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationResultBatch create() => AggregationResultBatch._(); + AggregationResultBatch createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationResultBatch getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AggregationResultBatch? _defaultInstance; + + /// The aggregation results for this batch. + @$pb.TagNumber(1) + $core.List get aggregationResults => $_getList(0); + + /// The state of the query after the current batch. + /// Only COUNT(*) aggregations are supported in the initial launch. Therefore, + /// expected result type is limited to `NO_MORE_RESULTS`. + @$pb.TagNumber(2) + $74.QueryResultBatch_MoreResultsType get moreResults => $_getN(1); + @$pb.TagNumber(2) + set moreResults($74.QueryResultBatch_MoreResultsType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasMoreResults() => $_has(1); + @$pb.TagNumber(2) + void clearMoreResults() => clearField(2); + + /// Read timestamp this batch was returned from. + /// + /// In a single transaction, subsequent query result batches for the same query + /// can have a greater timestamp. Each batch's read timestamp + /// is valid for all preceding batches. + @$pb.TagNumber(3) + $50.Timestamp get readTime => $_getN(2); + @$pb.TagNumber(3) + set readTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasReadTime() => $_has(2); + @$pb.TagNumber(3) + void clearReadTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureReadTime() => $_ensure(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pbenum.dart new file mode 100644 index 00000000..17026056 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/aggregation_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pbjson.dart new file mode 100644 index 00000000..1f979db4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/aggregation_result.pbjson.dart @@ -0,0 +1,94 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/aggregation_result.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use aggregationResultDescriptor instead') +const AggregationResult$json = { + '1': 'AggregationResult', + '2': [ + { + '1': 'aggregate_properties', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.AggregationResult.AggregatePropertiesEntry', + '10': 'aggregateProperties' + }, + ], + '3': [AggregationResult_AggregatePropertiesEntry$json], +}; + +@$core.Deprecated('Use aggregationResultDescriptor instead') +const AggregationResult_AggregatePropertiesEntry$json = { + '1': 'AggregatePropertiesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Value', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `AggregationResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List aggregationResultDescriptor = $convert.base64Decode( + 'ChFBZ2dyZWdhdGlvblJlc3VsdBJyChRhZ2dyZWdhdGVfcHJvcGVydGllcxgCIAMoCzI/Lmdvb2' + 'dsZS5kYXRhc3RvcmUudjEuQWdncmVnYXRpb25SZXN1bHQuQWdncmVnYXRlUHJvcGVydGllc0Vu' + 'dHJ5UhNhZ2dyZWdhdGVQcm9wZXJ0aWVzGmIKGEFnZ3JlZ2F0ZVByb3BlcnRpZXNFbnRyeRIQCg' + 'NrZXkYASABKAlSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5kYXRhc3RvcmUudjEuVmFs' + 'dWVSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use aggregationResultBatchDescriptor instead') +const AggregationResultBatch$json = { + '1': 'AggregationResultBatch', + '2': [ + { + '1': 'aggregation_results', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.AggregationResult', + '10': 'aggregationResults' + }, + { + '1': 'more_results', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.QueryResultBatch.MoreResultsType', + '10': 'moreResults' + }, + { + '1': 'read_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'readTime' + }, + ], +}; + +/// Descriptor for `AggregationResultBatch`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List aggregationResultBatchDescriptor = $convert.base64Decode( + 'ChZBZ2dyZWdhdGlvblJlc3VsdEJhdGNoElcKE2FnZ3JlZ2F0aW9uX3Jlc3VsdHMYASADKAsyJi' + '5nb29nbGUuZGF0YXN0b3JlLnYxLkFnZ3JlZ2F0aW9uUmVzdWx0UhJhZ2dyZWdhdGlvblJlc3Vs' + 'dHMSWAoMbW9yZV9yZXN1bHRzGAIgASgOMjUuZ29vZ2xlLmRhdGFzdG9yZS52MS5RdWVyeVJlc3' + 'VsdEJhdGNoLk1vcmVSZXN1bHRzVHlwZVILbW9yZVJlc3VsdHMSNwoJcmVhZF90aW1lGAMgASgL' + 'MhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIIcmVhZFRpbWU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pb.dart new file mode 100644 index 00000000..ef4bd74d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pb.dart @@ -0,0 +1,2795 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'aggregation_result.pb.dart' as $76; +import 'datastore.pbenum.dart'; +import 'entity.pb.dart' as $72; +import 'query.pb.dart' as $74; +import 'query_profile.pb.dart' as $75; + +export 'datastore.pbenum.dart'; + +/// The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. +class LookupRequest extends $pb.GeneratedMessage { + factory LookupRequest({ + ReadOptions? readOptions, + $core.Iterable<$72.Key>? keys, + PropertyMask? propertyMask, + $core.String? projectId, + $core.String? databaseId, + }) { + final $result = create(); + if (readOptions != null) { + $result.readOptions = readOptions; + } + if (keys != null) { + $result.keys.addAll(keys); + } + if (propertyMask != null) { + $result.propertyMask = propertyMask; + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + return $result; + } + LookupRequest._() : super(); + factory LookupRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LookupRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LookupRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'readOptions', + subBuilder: ReadOptions.create) + ..pc<$72.Key>(3, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $72.Key.create) + ..aOM(5, _omitFieldNames ? '' : 'propertyMask', + subBuilder: PropertyMask.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LookupRequest clone() => LookupRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LookupRequest copyWith(void Function(LookupRequest) updates) => + super.copyWith((message) => updates(message as LookupRequest)) + as LookupRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LookupRequest create() => LookupRequest._(); + LookupRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LookupRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LookupRequest? _defaultInstance; + + /// The options for this lookup request. + @$pb.TagNumber(1) + ReadOptions get readOptions => $_getN(0); + @$pb.TagNumber(1) + set readOptions(ReadOptions v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadOptions() => $_has(0); + @$pb.TagNumber(1) + void clearReadOptions() => clearField(1); + @$pb.TagNumber(1) + ReadOptions ensureReadOptions() => $_ensure(0); + + /// Required. Keys of entities to look up. + @$pb.TagNumber(3) + $core.List<$72.Key> get keys => $_getList(1); + + /// The properties to return. Defaults to returning all properties. + /// + /// If this field is set and an entity has a property not referenced in the + /// mask, it will be absent from [LookupResponse.found.entity.properties][]. + /// + /// The entity's key is always returned. + @$pb.TagNumber(5) + PropertyMask get propertyMask => $_getN(2); + @$pb.TagNumber(5) + set propertyMask(PropertyMask v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasPropertyMask() => $_has(2); + @$pb.TagNumber(5) + void clearPropertyMask() => clearField(5); + @$pb.TagNumber(5) + PropertyMask ensurePropertyMask() => $_ensure(2); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(3); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(3); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(4); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(4); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); +} + +/// The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. +class LookupResponse extends $pb.GeneratedMessage { + factory LookupResponse({ + $core.Iterable<$74.EntityResult>? found, + $core.Iterable<$74.EntityResult>? missing, + $core.Iterable<$72.Key>? deferred, + $core.List<$core.int>? transaction, + $50.Timestamp? readTime, + }) { + final $result = create(); + if (found != null) { + $result.found.addAll(found); + } + if (missing != null) { + $result.missing.addAll(missing); + } + if (deferred != null) { + $result.deferred.addAll(deferred); + } + if (transaction != null) { + $result.transaction = transaction; + } + if (readTime != null) { + $result.readTime = readTime; + } + return $result; + } + LookupResponse._() : super(); + factory LookupResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LookupResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LookupResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc<$74.EntityResult>( + 1, _omitFieldNames ? '' : 'found', $pb.PbFieldType.PM, + subBuilder: $74.EntityResult.create) + ..pc<$74.EntityResult>( + 2, _omitFieldNames ? '' : 'missing', $pb.PbFieldType.PM, + subBuilder: $74.EntityResult.create) + ..pc<$72.Key>(3, _omitFieldNames ? '' : 'deferred', $pb.PbFieldType.PM, + subBuilder: $72.Key.create) + ..a<$core.List<$core.int>>( + 5, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..aOM<$50.Timestamp>(7, _omitFieldNames ? '' : 'readTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LookupResponse clone() => LookupResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LookupResponse copyWith(void Function(LookupResponse) updates) => + super.copyWith((message) => updates(message as LookupResponse)) + as LookupResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LookupResponse create() => LookupResponse._(); + LookupResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LookupResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LookupResponse? _defaultInstance; + + /// Entities found as `ResultType.FULL` entities. The order of results in this + /// field is undefined and has no relation to the order of the keys in the + /// input. + @$pb.TagNumber(1) + $core.List<$74.EntityResult> get found => $_getList(0); + + /// Entities not found as `ResultType.KEY_ONLY` entities. The order of results + /// in this field is undefined and has no relation to the order of the keys + /// in the input. + @$pb.TagNumber(2) + $core.List<$74.EntityResult> get missing => $_getList(1); + + /// A list of keys that were not looked up due to resource constraints. The + /// order of results in this field is undefined and has no relation to the + /// order of the keys in the input. + @$pb.TagNumber(3) + $core.List<$72.Key> get deferred => $_getList(2); + + /// The identifier of the transaction that was started as part of this Lookup + /// request. + /// + /// Set only when + /// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] + /// was set in + /// [LookupRequest.read_options][google.datastore.v1.LookupRequest.read_options]. + @$pb.TagNumber(5) + $core.List<$core.int> get transaction => $_getN(3); + @$pb.TagNumber(5) + set transaction($core.List<$core.int> v) { + $_setBytes(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasTransaction() => $_has(3); + @$pb.TagNumber(5) + void clearTransaction() => clearField(5); + + /// The time at which these entities were read or found missing. + @$pb.TagNumber(7) + $50.Timestamp get readTime => $_getN(4); + @$pb.TagNumber(7) + set readTime($50.Timestamp v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasReadTime() => $_has(4); + @$pb.TagNumber(7) + void clearReadTime() => clearField(7); + @$pb.TagNumber(7) + $50.Timestamp ensureReadTime() => $_ensure(4); +} + +enum RunQueryRequest_QueryType { query, gqlQuery, notSet } + +/// The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery]. +class RunQueryRequest extends $pb.GeneratedMessage { + factory RunQueryRequest({ + ReadOptions? readOptions, + $72.PartitionId? partitionId, + $74.Query? query, + $74.GqlQuery? gqlQuery, + $core.String? projectId, + $core.String? databaseId, + PropertyMask? propertyMask, + $75.ExplainOptions? explainOptions, + }) { + final $result = create(); + if (readOptions != null) { + $result.readOptions = readOptions; + } + if (partitionId != null) { + $result.partitionId = partitionId; + } + if (query != null) { + $result.query = query; + } + if (gqlQuery != null) { + $result.gqlQuery = gqlQuery; + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + if (propertyMask != null) { + $result.propertyMask = propertyMask; + } + if (explainOptions != null) { + $result.explainOptions = explainOptions; + } + return $result; + } + RunQueryRequest._() : super(); + factory RunQueryRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RunQueryRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, RunQueryRequest_QueryType> + _RunQueryRequest_QueryTypeByTag = { + 3: RunQueryRequest_QueryType.query, + 7: RunQueryRequest_QueryType.gqlQuery, + 0: RunQueryRequest_QueryType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RunQueryRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [3, 7]) + ..aOM(1, _omitFieldNames ? '' : 'readOptions', + subBuilder: ReadOptions.create) + ..aOM<$72.PartitionId>(2, _omitFieldNames ? '' : 'partitionId', + subBuilder: $72.PartitionId.create) + ..aOM<$74.Query>(3, _omitFieldNames ? '' : 'query', + subBuilder: $74.Query.create) + ..aOM<$74.GqlQuery>(7, _omitFieldNames ? '' : 'gqlQuery', + subBuilder: $74.GqlQuery.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..aOM(10, _omitFieldNames ? '' : 'propertyMask', + subBuilder: PropertyMask.create) + ..aOM<$75.ExplainOptions>(12, _omitFieldNames ? '' : 'explainOptions', + subBuilder: $75.ExplainOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunQueryRequest clone() => RunQueryRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunQueryRequest copyWith(void Function(RunQueryRequest) updates) => + super.copyWith((message) => updates(message as RunQueryRequest)) + as RunQueryRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunQueryRequest create() => RunQueryRequest._(); + RunQueryRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunQueryRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RunQueryRequest? _defaultInstance; + + RunQueryRequest_QueryType whichQueryType() => + _RunQueryRequest_QueryTypeByTag[$_whichOneof(0)]!; + void clearQueryType() => clearField($_whichOneof(0)); + + /// The options for this query. + @$pb.TagNumber(1) + ReadOptions get readOptions => $_getN(0); + @$pb.TagNumber(1) + set readOptions(ReadOptions v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadOptions() => $_has(0); + @$pb.TagNumber(1) + void clearReadOptions() => clearField(1); + @$pb.TagNumber(1) + ReadOptions ensureReadOptions() => $_ensure(0); + + /// Entities are partitioned into subsets, identified by a partition ID. + /// Queries are scoped to a single partition. + /// This partition ID is normalized with the standard default context + /// partition ID. + @$pb.TagNumber(2) + $72.PartitionId get partitionId => $_getN(1); + @$pb.TagNumber(2) + set partitionId($72.PartitionId v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPartitionId() => $_has(1); + @$pb.TagNumber(2) + void clearPartitionId() => clearField(2); + @$pb.TagNumber(2) + $72.PartitionId ensurePartitionId() => $_ensure(1); + + /// The query to run. + @$pb.TagNumber(3) + $74.Query get query => $_getN(2); + @$pb.TagNumber(3) + set query($74.Query v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasQuery() => $_has(2); + @$pb.TagNumber(3) + void clearQuery() => clearField(3); + @$pb.TagNumber(3) + $74.Query ensureQuery() => $_ensure(2); + + /// The GQL query to run. This query must be a non-aggregation query. + @$pb.TagNumber(7) + $74.GqlQuery get gqlQuery => $_getN(3); + @$pb.TagNumber(7) + set gqlQuery($74.GqlQuery v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasGqlQuery() => $_has(3); + @$pb.TagNumber(7) + void clearGqlQuery() => clearField(7); + @$pb.TagNumber(7) + $74.GqlQuery ensureGqlQuery() => $_ensure(3); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(4); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(4); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(5); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(5); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); + + /// The properties to return. + /// This field must not be set for a projection query. + /// + /// See + /// [LookupRequest.property_mask][google.datastore.v1.LookupRequest.property_mask]. + @$pb.TagNumber(10) + PropertyMask get propertyMask => $_getN(6); + @$pb.TagNumber(10) + set propertyMask(PropertyMask v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasPropertyMask() => $_has(6); + @$pb.TagNumber(10) + void clearPropertyMask() => clearField(10); + @$pb.TagNumber(10) + PropertyMask ensurePropertyMask() => $_ensure(6); + + /// Optional. Explain options for the query. If set, additional query + /// statistics will be returned. If not, only query results will be returned. + @$pb.TagNumber(12) + $75.ExplainOptions get explainOptions => $_getN(7); + @$pb.TagNumber(12) + set explainOptions($75.ExplainOptions v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasExplainOptions() => $_has(7); + @$pb.TagNumber(12) + void clearExplainOptions() => clearField(12); + @$pb.TagNumber(12) + $75.ExplainOptions ensureExplainOptions() => $_ensure(7); +} + +/// The response for +/// [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery]. +class RunQueryResponse extends $pb.GeneratedMessage { + factory RunQueryResponse({ + $74.QueryResultBatch? batch, + $74.Query? query, + $core.List<$core.int>? transaction, + $75.ExplainMetrics? explainMetrics, + }) { + final $result = create(); + if (batch != null) { + $result.batch = batch; + } + if (query != null) { + $result.query = query; + } + if (transaction != null) { + $result.transaction = transaction; + } + if (explainMetrics != null) { + $result.explainMetrics = explainMetrics; + } + return $result; + } + RunQueryResponse._() : super(); + factory RunQueryResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RunQueryResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RunQueryResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM<$74.QueryResultBatch>(1, _omitFieldNames ? '' : 'batch', + subBuilder: $74.QueryResultBatch.create) + ..aOM<$74.Query>(2, _omitFieldNames ? '' : 'query', + subBuilder: $74.Query.create) + ..a<$core.List<$core.int>>( + 5, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..aOM<$75.ExplainMetrics>(9, _omitFieldNames ? '' : 'explainMetrics', + subBuilder: $75.ExplainMetrics.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunQueryResponse clone() => RunQueryResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunQueryResponse copyWith(void Function(RunQueryResponse) updates) => + super.copyWith((message) => updates(message as RunQueryResponse)) + as RunQueryResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunQueryResponse create() => RunQueryResponse._(); + RunQueryResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunQueryResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RunQueryResponse? _defaultInstance; + + /// A batch of query results (always present). + @$pb.TagNumber(1) + $74.QueryResultBatch get batch => $_getN(0); + @$pb.TagNumber(1) + set batch($74.QueryResultBatch v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasBatch() => $_has(0); + @$pb.TagNumber(1) + void clearBatch() => clearField(1); + @$pb.TagNumber(1) + $74.QueryResultBatch ensureBatch() => $_ensure(0); + + /// The parsed form of the `GqlQuery` from the request, if it was set. + @$pb.TagNumber(2) + $74.Query get query => $_getN(1); + @$pb.TagNumber(2) + set query($74.Query v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuery() => $_has(1); + @$pb.TagNumber(2) + void clearQuery() => clearField(2); + @$pb.TagNumber(2) + $74.Query ensureQuery() => $_ensure(1); + + /// The identifier of the transaction that was started as part of this + /// RunQuery request. + /// + /// Set only when + /// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] + /// was set in + /// [RunQueryRequest.read_options][google.datastore.v1.RunQueryRequest.read_options]. + @$pb.TagNumber(5) + $core.List<$core.int> get transaction => $_getN(2); + @$pb.TagNumber(5) + set transaction($core.List<$core.int> v) { + $_setBytes(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasTransaction() => $_has(2); + @$pb.TagNumber(5) + void clearTransaction() => clearField(5); + + /// Query explain metrics. This is only present when the + /// [RunQueryRequest.explain_options][google.datastore.v1.RunQueryRequest.explain_options] + /// is provided, and it is sent only once with the last response in the stream. + @$pb.TagNumber(9) + $75.ExplainMetrics get explainMetrics => $_getN(3); + @$pb.TagNumber(9) + set explainMetrics($75.ExplainMetrics v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasExplainMetrics() => $_has(3); + @$pb.TagNumber(9) + void clearExplainMetrics() => clearField(9); + @$pb.TagNumber(9) + $75.ExplainMetrics ensureExplainMetrics() => $_ensure(3); +} + +enum RunAggregationQueryRequest_QueryType { aggregationQuery, gqlQuery, notSet } + +/// The request for +/// [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery]. +class RunAggregationQueryRequest extends $pb.GeneratedMessage { + factory RunAggregationQueryRequest({ + ReadOptions? readOptions, + $72.PartitionId? partitionId, + $74.AggregationQuery? aggregationQuery, + $74.GqlQuery? gqlQuery, + $core.String? projectId, + $core.String? databaseId, + $75.ExplainOptions? explainOptions, + }) { + final $result = create(); + if (readOptions != null) { + $result.readOptions = readOptions; + } + if (partitionId != null) { + $result.partitionId = partitionId; + } + if (aggregationQuery != null) { + $result.aggregationQuery = aggregationQuery; + } + if (gqlQuery != null) { + $result.gqlQuery = gqlQuery; + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + if (explainOptions != null) { + $result.explainOptions = explainOptions; + } + return $result; + } + RunAggregationQueryRequest._() : super(); + factory RunAggregationQueryRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RunAggregationQueryRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, RunAggregationQueryRequest_QueryType> + _RunAggregationQueryRequest_QueryTypeByTag = { + 3: RunAggregationQueryRequest_QueryType.aggregationQuery, + 7: RunAggregationQueryRequest_QueryType.gqlQuery, + 0: RunAggregationQueryRequest_QueryType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RunAggregationQueryRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [3, 7]) + ..aOM(1, _omitFieldNames ? '' : 'readOptions', + subBuilder: ReadOptions.create) + ..aOM<$72.PartitionId>(2, _omitFieldNames ? '' : 'partitionId', + subBuilder: $72.PartitionId.create) + ..aOM<$74.AggregationQuery>(3, _omitFieldNames ? '' : 'aggregationQuery', + subBuilder: $74.AggregationQuery.create) + ..aOM<$74.GqlQuery>(7, _omitFieldNames ? '' : 'gqlQuery', + subBuilder: $74.GqlQuery.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..aOM<$75.ExplainOptions>(11, _omitFieldNames ? '' : 'explainOptions', + subBuilder: $75.ExplainOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunAggregationQueryRequest clone() => + RunAggregationQueryRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunAggregationQueryRequest copyWith( + void Function(RunAggregationQueryRequest) updates) => + super.copyWith( + (message) => updates(message as RunAggregationQueryRequest)) + as RunAggregationQueryRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunAggregationQueryRequest create() => RunAggregationQueryRequest._(); + RunAggregationQueryRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunAggregationQueryRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RunAggregationQueryRequest? _defaultInstance; + + RunAggregationQueryRequest_QueryType whichQueryType() => + _RunAggregationQueryRequest_QueryTypeByTag[$_whichOneof(0)]!; + void clearQueryType() => clearField($_whichOneof(0)); + + /// The options for this query. + @$pb.TagNumber(1) + ReadOptions get readOptions => $_getN(0); + @$pb.TagNumber(1) + set readOptions(ReadOptions v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadOptions() => $_has(0); + @$pb.TagNumber(1) + void clearReadOptions() => clearField(1); + @$pb.TagNumber(1) + ReadOptions ensureReadOptions() => $_ensure(0); + + /// Entities are partitioned into subsets, identified by a partition ID. + /// Queries are scoped to a single partition. + /// This partition ID is normalized with the standard default context + /// partition ID. + @$pb.TagNumber(2) + $72.PartitionId get partitionId => $_getN(1); + @$pb.TagNumber(2) + set partitionId($72.PartitionId v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPartitionId() => $_has(1); + @$pb.TagNumber(2) + void clearPartitionId() => clearField(2); + @$pb.TagNumber(2) + $72.PartitionId ensurePartitionId() => $_ensure(1); + + /// The query to run. + @$pb.TagNumber(3) + $74.AggregationQuery get aggregationQuery => $_getN(2); + @$pb.TagNumber(3) + set aggregationQuery($74.AggregationQuery v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasAggregationQuery() => $_has(2); + @$pb.TagNumber(3) + void clearAggregationQuery() => clearField(3); + @$pb.TagNumber(3) + $74.AggregationQuery ensureAggregationQuery() => $_ensure(2); + + /// The GQL query to run. This query must be an aggregation query. + @$pb.TagNumber(7) + $74.GqlQuery get gqlQuery => $_getN(3); + @$pb.TagNumber(7) + set gqlQuery($74.GqlQuery v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasGqlQuery() => $_has(3); + @$pb.TagNumber(7) + void clearGqlQuery() => clearField(7); + @$pb.TagNumber(7) + $74.GqlQuery ensureGqlQuery() => $_ensure(3); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(4); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(4); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(5); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(5); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); + + /// Optional. Explain options for the query. If set, additional query + /// statistics will be returned. If not, only query results will be returned. + @$pb.TagNumber(11) + $75.ExplainOptions get explainOptions => $_getN(6); + @$pb.TagNumber(11) + set explainOptions($75.ExplainOptions v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasExplainOptions() => $_has(6); + @$pb.TagNumber(11) + void clearExplainOptions() => clearField(11); + @$pb.TagNumber(11) + $75.ExplainOptions ensureExplainOptions() => $_ensure(6); +} + +/// The response for +/// [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery]. +class RunAggregationQueryResponse extends $pb.GeneratedMessage { + factory RunAggregationQueryResponse({ + $76.AggregationResultBatch? batch, + $74.AggregationQuery? query, + $core.List<$core.int>? transaction, + $75.ExplainMetrics? explainMetrics, + }) { + final $result = create(); + if (batch != null) { + $result.batch = batch; + } + if (query != null) { + $result.query = query; + } + if (transaction != null) { + $result.transaction = transaction; + } + if (explainMetrics != null) { + $result.explainMetrics = explainMetrics; + } + return $result; + } + RunAggregationQueryResponse._() : super(); + factory RunAggregationQueryResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RunAggregationQueryResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RunAggregationQueryResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM<$76.AggregationResultBatch>(1, _omitFieldNames ? '' : 'batch', + subBuilder: $76.AggregationResultBatch.create) + ..aOM<$74.AggregationQuery>(2, _omitFieldNames ? '' : 'query', + subBuilder: $74.AggregationQuery.create) + ..a<$core.List<$core.int>>( + 5, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..aOM<$75.ExplainMetrics>(9, _omitFieldNames ? '' : 'explainMetrics', + subBuilder: $75.ExplainMetrics.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunAggregationQueryResponse clone() => + RunAggregationQueryResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunAggregationQueryResponse copyWith( + void Function(RunAggregationQueryResponse) updates) => + super.copyWith( + (message) => updates(message as RunAggregationQueryResponse)) + as RunAggregationQueryResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunAggregationQueryResponse create() => + RunAggregationQueryResponse._(); + RunAggregationQueryResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunAggregationQueryResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RunAggregationQueryResponse? _defaultInstance; + + /// A batch of aggregation results. Always present. + @$pb.TagNumber(1) + $76.AggregationResultBatch get batch => $_getN(0); + @$pb.TagNumber(1) + set batch($76.AggregationResultBatch v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasBatch() => $_has(0); + @$pb.TagNumber(1) + void clearBatch() => clearField(1); + @$pb.TagNumber(1) + $76.AggregationResultBatch ensureBatch() => $_ensure(0); + + /// The parsed form of the `GqlQuery` from the request, if it was set. + @$pb.TagNumber(2) + $74.AggregationQuery get query => $_getN(1); + @$pb.TagNumber(2) + set query($74.AggregationQuery v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuery() => $_has(1); + @$pb.TagNumber(2) + void clearQuery() => clearField(2); + @$pb.TagNumber(2) + $74.AggregationQuery ensureQuery() => $_ensure(1); + + /// The identifier of the transaction that was started as part of this + /// RunAggregationQuery request. + /// + /// Set only when + /// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] + /// was set in + /// [RunAggregationQueryRequest.read_options][google.datastore.v1.RunAggregationQueryRequest.read_options]. + @$pb.TagNumber(5) + $core.List<$core.int> get transaction => $_getN(2); + @$pb.TagNumber(5) + set transaction($core.List<$core.int> v) { + $_setBytes(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasTransaction() => $_has(2); + @$pb.TagNumber(5) + void clearTransaction() => clearField(5); + + /// Query explain metrics. This is only present when the + /// [RunAggregationQueryRequest.explain_options][google.datastore.v1.RunAggregationQueryRequest.explain_options] + /// is provided, and it is sent only once with the last response in the stream. + @$pb.TagNumber(9) + $75.ExplainMetrics get explainMetrics => $_getN(3); + @$pb.TagNumber(9) + set explainMetrics($75.ExplainMetrics v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasExplainMetrics() => $_has(3); + @$pb.TagNumber(9) + void clearExplainMetrics() => clearField(9); + @$pb.TagNumber(9) + $75.ExplainMetrics ensureExplainMetrics() => $_ensure(3); +} + +/// The request for +/// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. +class BeginTransactionRequest extends $pb.GeneratedMessage { + factory BeginTransactionRequest({ + $core.String? projectId, + $core.String? databaseId, + TransactionOptions? transactionOptions, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + if (transactionOptions != null) { + $result.transactionOptions = transactionOptions; + } + return $result; + } + BeginTransactionRequest._() : super(); + factory BeginTransactionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BeginTransactionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BeginTransactionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..aOM(10, _omitFieldNames ? '' : 'transactionOptions', + subBuilder: TransactionOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BeginTransactionRequest clone() => + BeginTransactionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BeginTransactionRequest copyWith( + void Function(BeginTransactionRequest) updates) => + super.copyWith((message) => updates(message as BeginTransactionRequest)) + as BeginTransactionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BeginTransactionRequest create() => BeginTransactionRequest._(); + BeginTransactionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BeginTransactionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BeginTransactionRequest? _defaultInstance; + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(1); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(1); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); + + /// Options for a new transaction. + @$pb.TagNumber(10) + TransactionOptions get transactionOptions => $_getN(2); + @$pb.TagNumber(10) + set transactionOptions(TransactionOptions v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasTransactionOptions() => $_has(2); + @$pb.TagNumber(10) + void clearTransactionOptions() => clearField(10); + @$pb.TagNumber(10) + TransactionOptions ensureTransactionOptions() => $_ensure(2); +} + +/// The response for +/// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. +class BeginTransactionResponse extends $pb.GeneratedMessage { + factory BeginTransactionResponse({ + $core.List<$core.int>? transaction, + }) { + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + return $result; + } + BeginTransactionResponse._() : super(); + factory BeginTransactionResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BeginTransactionResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BeginTransactionResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BeginTransactionResponse clone() => + BeginTransactionResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BeginTransactionResponse copyWith( + void Function(BeginTransactionResponse) updates) => + super.copyWith((message) => updates(message as BeginTransactionResponse)) + as BeginTransactionResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BeginTransactionResponse create() => BeginTransactionResponse._(); + BeginTransactionResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BeginTransactionResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BeginTransactionResponse? _defaultInstance; + + /// The transaction identifier (always present). + @$pb.TagNumber(1) + $core.List<$core.int> get transaction => $_getN(0); + @$pb.TagNumber(1) + set transaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearTransaction() => clearField(1); +} + +/// The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. +class RollbackRequest extends $pb.GeneratedMessage { + factory RollbackRequest({ + $core.List<$core.int>? transaction, + $core.String? projectId, + $core.String? databaseId, + }) { + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + return $result; + } + RollbackRequest._() : super(); + factory RollbackRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RollbackRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RollbackRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RollbackRequest clone() => RollbackRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RollbackRequest copyWith(void Function(RollbackRequest) updates) => + super.copyWith((message) => updates(message as RollbackRequest)) + as RollbackRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RollbackRequest create() => RollbackRequest._(); + RollbackRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RollbackRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RollbackRequest? _defaultInstance; + + /// Required. The transaction identifier, returned by a call to + /// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + @$pb.TagNumber(1) + $core.List<$core.int> get transaction => $_getN(0); + @$pb.TagNumber(1) + set transaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearTransaction() => clearField(1); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(2); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(2); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); +} + +/// The response for +/// [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. (an empty +/// message). +class RollbackResponse extends $pb.GeneratedMessage { + factory RollbackResponse() => create(); + RollbackResponse._() : super(); + factory RollbackResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RollbackResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RollbackResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RollbackResponse clone() => RollbackResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RollbackResponse copyWith(void Function(RollbackResponse) updates) => + super.copyWith((message) => updates(message as RollbackResponse)) + as RollbackResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RollbackResponse create() => RollbackResponse._(); + RollbackResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RollbackResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RollbackResponse? _defaultInstance; +} + +enum CommitRequest_TransactionSelector { + transaction, + singleUseTransaction, + notSet +} + +/// The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit]. +class CommitRequest extends $pb.GeneratedMessage { + factory CommitRequest({ + $core.List<$core.int>? transaction, + CommitRequest_Mode? mode, + $core.Iterable? mutations, + $core.String? projectId, + $core.String? databaseId, + TransactionOptions? singleUseTransaction, + }) { + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + if (mode != null) { + $result.mode = mode; + } + if (mutations != null) { + $result.mutations.addAll(mutations); + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + if (singleUseTransaction != null) { + $result.singleUseTransaction = singleUseTransaction; + } + return $result; + } + CommitRequest._() : super(); + factory CommitRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommitRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, CommitRequest_TransactionSelector> + _CommitRequest_TransactionSelectorByTag = { + 1: CommitRequest_TransactionSelector.transaction, + 10: CommitRequest_TransactionSelector.singleUseTransaction, + 0: CommitRequest_TransactionSelector.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommitRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1, 10]) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..e( + 5, _omitFieldNames ? '' : 'mode', $pb.PbFieldType.OE, + defaultOrMaker: CommitRequest_Mode.MODE_UNSPECIFIED, + valueOf: CommitRequest_Mode.valueOf, + enumValues: CommitRequest_Mode.values) + ..pc(6, _omitFieldNames ? '' : 'mutations', $pb.PbFieldType.PM, + subBuilder: Mutation.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..aOM(10, _omitFieldNames ? '' : 'singleUseTransaction', + subBuilder: TransactionOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommitRequest clone() => CommitRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommitRequest copyWith(void Function(CommitRequest) updates) => + super.copyWith((message) => updates(message as CommitRequest)) + as CommitRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommitRequest create() => CommitRequest._(); + CommitRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommitRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommitRequest? _defaultInstance; + + CommitRequest_TransactionSelector whichTransactionSelector() => + _CommitRequest_TransactionSelectorByTag[$_whichOneof(0)]!; + void clearTransactionSelector() => clearField($_whichOneof(0)); + + /// The identifier of the transaction associated with the commit. A + /// transaction identifier is returned by a call to + /// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + @$pb.TagNumber(1) + $core.List<$core.int> get transaction => $_getN(0); + @$pb.TagNumber(1) + set transaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearTransaction() => clearField(1); + + /// The type of commit to perform. Defaults to `TRANSACTIONAL`. + @$pb.TagNumber(5) + CommitRequest_Mode get mode => $_getN(1); + @$pb.TagNumber(5) + set mode(CommitRequest_Mode v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMode() => $_has(1); + @$pb.TagNumber(5) + void clearMode() => clearField(5); + + /// The mutations to perform. + /// + /// When mode is `TRANSACTIONAL`, mutations affecting a single entity are + /// applied in order. The following sequences of mutations affecting a single + /// entity are not permitted in a single `Commit` request: + /// + /// - `insert` followed by `insert` + /// - `update` followed by `insert` + /// - `upsert` followed by `insert` + /// - `delete` followed by `update` + /// + /// When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single + /// entity. + @$pb.TagNumber(6) + $core.List get mutations => $_getList(2); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(3); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(3); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(4); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(4); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); + + /// Options for beginning a new transaction for this request. + /// The transaction is committed when the request completes. If specified, + /// [TransactionOptions.mode][google.datastore.v1.TransactionOptions] must be + /// [TransactionOptions.ReadWrite][google.datastore.v1.TransactionOptions.ReadWrite]. + @$pb.TagNumber(10) + TransactionOptions get singleUseTransaction => $_getN(5); + @$pb.TagNumber(10) + set singleUseTransaction(TransactionOptions v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasSingleUseTransaction() => $_has(5); + @$pb.TagNumber(10) + void clearSingleUseTransaction() => clearField(10); + @$pb.TagNumber(10) + TransactionOptions ensureSingleUseTransaction() => $_ensure(5); +} + +/// The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit]. +class CommitResponse extends $pb.GeneratedMessage { + factory CommitResponse({ + $core.Iterable? mutationResults, + $core.int? indexUpdates, + $50.Timestamp? commitTime, + }) { + final $result = create(); + if (mutationResults != null) { + $result.mutationResults.addAll(mutationResults); + } + if (indexUpdates != null) { + $result.indexUpdates = indexUpdates; + } + if (commitTime != null) { + $result.commitTime = commitTime; + } + return $result; + } + CommitResponse._() : super(); + factory CommitResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommitResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommitResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc( + 3, _omitFieldNames ? '' : 'mutationResults', $pb.PbFieldType.PM, + subBuilder: MutationResult.create) + ..a<$core.int>(4, _omitFieldNames ? '' : 'indexUpdates', $pb.PbFieldType.O3) + ..aOM<$50.Timestamp>(8, _omitFieldNames ? '' : 'commitTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommitResponse clone() => CommitResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommitResponse copyWith(void Function(CommitResponse) updates) => + super.copyWith((message) => updates(message as CommitResponse)) + as CommitResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommitResponse create() => CommitResponse._(); + CommitResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommitResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommitResponse? _defaultInstance; + + /// The result of performing the mutations. + /// The i-th mutation result corresponds to the i-th mutation in the request. + @$pb.TagNumber(3) + $core.List get mutationResults => $_getList(0); + + /// The number of index entries updated during the commit, or zero if none were + /// updated. + @$pb.TagNumber(4) + $core.int get indexUpdates => $_getIZ(1); + @$pb.TagNumber(4) + set indexUpdates($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasIndexUpdates() => $_has(1); + @$pb.TagNumber(4) + void clearIndexUpdates() => clearField(4); + + /// The transaction commit timestamp. Not set for non-transactional commits. + @$pb.TagNumber(8) + $50.Timestamp get commitTime => $_getN(2); + @$pb.TagNumber(8) + set commitTime($50.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasCommitTime() => $_has(2); + @$pb.TagNumber(8) + void clearCommitTime() => clearField(8); + @$pb.TagNumber(8) + $50.Timestamp ensureCommitTime() => $_ensure(2); +} + +/// The request for +/// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds]. +class AllocateIdsRequest extends $pb.GeneratedMessage { + factory AllocateIdsRequest({ + $core.Iterable<$72.Key>? keys, + $core.String? projectId, + $core.String? databaseId, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + return $result; + } + AllocateIdsRequest._() : super(); + factory AllocateIdsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AllocateIdsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AllocateIdsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc<$72.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $72.Key.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AllocateIdsRequest clone() => AllocateIdsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AllocateIdsRequest copyWith(void Function(AllocateIdsRequest) updates) => + super.copyWith((message) => updates(message as AllocateIdsRequest)) + as AllocateIdsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AllocateIdsRequest create() => AllocateIdsRequest._(); + AllocateIdsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AllocateIdsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AllocateIdsRequest? _defaultInstance; + + /// Required. A list of keys with incomplete key paths for which to allocate + /// IDs. No key may be reserved/read-only. + @$pb.TagNumber(1) + $core.List<$72.Key> get keys => $_getList(0); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(2); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(2); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); +} + +/// The response for +/// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds]. +class AllocateIdsResponse extends $pb.GeneratedMessage { + factory AllocateIdsResponse({ + $core.Iterable<$72.Key>? keys, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + return $result; + } + AllocateIdsResponse._() : super(); + factory AllocateIdsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AllocateIdsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AllocateIdsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc<$72.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $72.Key.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AllocateIdsResponse clone() => AllocateIdsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AllocateIdsResponse copyWith(void Function(AllocateIdsResponse) updates) => + super.copyWith((message) => updates(message as AllocateIdsResponse)) + as AllocateIdsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AllocateIdsResponse create() => AllocateIdsResponse._(); + AllocateIdsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AllocateIdsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AllocateIdsResponse? _defaultInstance; + + /// The keys specified in the request (in the same order), each with + /// its key path completed with a newly allocated ID. + @$pb.TagNumber(1) + $core.List<$72.Key> get keys => $_getList(0); +} + +/// The request for +/// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds]. +class ReserveIdsRequest extends $pb.GeneratedMessage { + factory ReserveIdsRequest({ + $core.Iterable<$72.Key>? keys, + $core.String? projectId, + $core.String? databaseId, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + return $result; + } + ReserveIdsRequest._() : super(); + factory ReserveIdsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReserveIdsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReserveIdsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc<$72.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $72.Key.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReserveIdsRequest clone() => ReserveIdsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReserveIdsRequest copyWith(void Function(ReserveIdsRequest) updates) => + super.copyWith((message) => updates(message as ReserveIdsRequest)) + as ReserveIdsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReserveIdsRequest create() => ReserveIdsRequest._(); + ReserveIdsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReserveIdsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReserveIdsRequest? _defaultInstance; + + /// Required. A list of keys with complete key paths whose numeric IDs should + /// not be auto-allocated. + @$pb.TagNumber(1) + $core.List<$72.Key> get keys => $_getList(0); + + /// Required. The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// The ID of the database against which to make the request. + /// + /// '(default)' is not allowed; please use empty string '' to refer the default + /// database. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(2); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(2); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); +} + +/// The response for +/// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds]. +class ReserveIdsResponse extends $pb.GeneratedMessage { + factory ReserveIdsResponse() => create(); + ReserveIdsResponse._() : super(); + factory ReserveIdsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReserveIdsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReserveIdsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReserveIdsResponse clone() => ReserveIdsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReserveIdsResponse copyWith(void Function(ReserveIdsResponse) updates) => + super.copyWith((message) => updates(message as ReserveIdsResponse)) + as ReserveIdsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReserveIdsResponse create() => ReserveIdsResponse._(); + ReserveIdsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReserveIdsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReserveIdsResponse? _defaultInstance; +} + +enum Mutation_Operation { insert, update, upsert, delete, notSet } + +enum Mutation_ConflictDetectionStrategy { baseVersion, updateTime, notSet } + +/// A mutation to apply to an entity. +class Mutation extends $pb.GeneratedMessage { + factory Mutation({ + $72.Entity? insert, + $72.Entity? update, + $72.Entity? upsert, + $72.Key? delete, + $fixnum.Int64? baseVersion, + PropertyMask? propertyMask, + $50.Timestamp? updateTime, + }) { + final $result = create(); + if (insert != null) { + $result.insert = insert; + } + if (update != null) { + $result.update = update; + } + if (upsert != null) { + $result.upsert = upsert; + } + if (delete != null) { + $result.delete = delete; + } + if (baseVersion != null) { + $result.baseVersion = baseVersion; + } + if (propertyMask != null) { + $result.propertyMask = propertyMask; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + return $result; + } + Mutation._() : super(); + factory Mutation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Mutation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Mutation_Operation> + _Mutation_OperationByTag = { + 4: Mutation_Operation.insert, + 5: Mutation_Operation.update, + 6: Mutation_Operation.upsert, + 7: Mutation_Operation.delete, + 0: Mutation_Operation.notSet + }; + static const $core.Map<$core.int, Mutation_ConflictDetectionStrategy> + _Mutation_ConflictDetectionStrategyByTag = { + 8: Mutation_ConflictDetectionStrategy.baseVersion, + 11: Mutation_ConflictDetectionStrategy.updateTime, + 0: Mutation_ConflictDetectionStrategy.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Mutation', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [4, 5, 6, 7]) + ..oo(1, [8, 11]) + ..aOM<$72.Entity>(4, _omitFieldNames ? '' : 'insert', + subBuilder: $72.Entity.create) + ..aOM<$72.Entity>(5, _omitFieldNames ? '' : 'update', + subBuilder: $72.Entity.create) + ..aOM<$72.Entity>(6, _omitFieldNames ? '' : 'upsert', + subBuilder: $72.Entity.create) + ..aOM<$72.Key>(7, _omitFieldNames ? '' : 'delete', + subBuilder: $72.Key.create) + ..aInt64(8, _omitFieldNames ? '' : 'baseVersion') + ..aOM(9, _omitFieldNames ? '' : 'propertyMask', + subBuilder: PropertyMask.create) + ..aOM<$50.Timestamp>(11, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Mutation clone() => Mutation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Mutation copyWith(void Function(Mutation) updates) => + super.copyWith((message) => updates(message as Mutation)) as Mutation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Mutation create() => Mutation._(); + Mutation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Mutation getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Mutation? _defaultInstance; + + Mutation_Operation whichOperation() => + _Mutation_OperationByTag[$_whichOneof(0)]!; + void clearOperation() => clearField($_whichOneof(0)); + + Mutation_ConflictDetectionStrategy whichConflictDetectionStrategy() => + _Mutation_ConflictDetectionStrategyByTag[$_whichOneof(1)]!; + void clearConflictDetectionStrategy() => clearField($_whichOneof(1)); + + /// The entity to insert. The entity must not already exist. + /// The entity key's final path element may be incomplete. + @$pb.TagNumber(4) + $72.Entity get insert => $_getN(0); + @$pb.TagNumber(4) + set insert($72.Entity v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasInsert() => $_has(0); + @$pb.TagNumber(4) + void clearInsert() => clearField(4); + @$pb.TagNumber(4) + $72.Entity ensureInsert() => $_ensure(0); + + /// The entity to update. The entity must already exist. + /// Must have a complete key path. + @$pb.TagNumber(5) + $72.Entity get update => $_getN(1); + @$pb.TagNumber(5) + set update($72.Entity v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasUpdate() => $_has(1); + @$pb.TagNumber(5) + void clearUpdate() => clearField(5); + @$pb.TagNumber(5) + $72.Entity ensureUpdate() => $_ensure(1); + + /// The entity to upsert. The entity may or may not already exist. + /// The entity key's final path element may be incomplete. + @$pb.TagNumber(6) + $72.Entity get upsert => $_getN(2); + @$pb.TagNumber(6) + set upsert($72.Entity v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasUpsert() => $_has(2); + @$pb.TagNumber(6) + void clearUpsert() => clearField(6); + @$pb.TagNumber(6) + $72.Entity ensureUpsert() => $_ensure(2); + + /// The key of the entity to delete. The entity may or may not already exist. + /// Must have a complete key path and must not be reserved/read-only. + @$pb.TagNumber(7) + $72.Key get delete => $_getN(3); + @$pb.TagNumber(7) + set delete($72.Key v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasDelete() => $_has(3); + @$pb.TagNumber(7) + void clearDelete() => clearField(7); + @$pb.TagNumber(7) + $72.Key ensureDelete() => $_ensure(3); + + /// The version of the entity that this mutation is being applied + /// to. If this does not match the current version on the server, the + /// mutation conflicts. + @$pb.TagNumber(8) + $fixnum.Int64 get baseVersion => $_getI64(4); + @$pb.TagNumber(8) + set baseVersion($fixnum.Int64 v) { + $_setInt64(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasBaseVersion() => $_has(4); + @$pb.TagNumber(8) + void clearBaseVersion() => clearField(8); + + /// The properties to write in this mutation. + /// None of the properties in the mask may have a reserved name, except for + /// `__key__`. + /// This field is ignored for `delete`. + /// + /// If the entity already exists, only properties referenced in the mask are + /// updated, others are left untouched. + /// Properties referenced in the mask but not in the entity are deleted. + @$pb.TagNumber(9) + PropertyMask get propertyMask => $_getN(5); + @$pb.TagNumber(9) + set propertyMask(PropertyMask v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasPropertyMask() => $_has(5); + @$pb.TagNumber(9) + void clearPropertyMask() => clearField(9); + @$pb.TagNumber(9) + PropertyMask ensurePropertyMask() => $_ensure(5); + + /// The update time of the entity that this mutation is being applied + /// to. If this does not match the current update time on the server, the + /// mutation conflicts. + @$pb.TagNumber(11) + $50.Timestamp get updateTime => $_getN(6); + @$pb.TagNumber(11) + set updateTime($50.Timestamp v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasUpdateTime() => $_has(6); + @$pb.TagNumber(11) + void clearUpdateTime() => clearField(11); + @$pb.TagNumber(11) + $50.Timestamp ensureUpdateTime() => $_ensure(6); +} + +/// The result of applying a mutation. +class MutationResult extends $pb.GeneratedMessage { + factory MutationResult({ + $72.Key? key, + $fixnum.Int64? version, + $core.bool? conflictDetected, + $50.Timestamp? updateTime, + $50.Timestamp? createTime, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (version != null) { + $result.version = version; + } + if (conflictDetected != null) { + $result.conflictDetected = conflictDetected; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (createTime != null) { + $result.createTime = createTime; + } + return $result; + } + MutationResult._() : super(); + factory MutationResult.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MutationResult.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MutationResult', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM<$72.Key>(3, _omitFieldNames ? '' : 'key', subBuilder: $72.Key.create) + ..aInt64(4, _omitFieldNames ? '' : 'version') + ..aOB(5, _omitFieldNames ? '' : 'conflictDetected') + ..aOM<$50.Timestamp>(6, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(7, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MutationResult clone() => MutationResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MutationResult copyWith(void Function(MutationResult) updates) => + super.copyWith((message) => updates(message as MutationResult)) + as MutationResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MutationResult create() => MutationResult._(); + MutationResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MutationResult getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MutationResult? _defaultInstance; + + /// The automatically allocated key. + /// Set only when the mutation allocated a key. + @$pb.TagNumber(3) + $72.Key get key => $_getN(0); + @$pb.TagNumber(3) + set key($72.Key v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(3) + void clearKey() => clearField(3); + @$pb.TagNumber(3) + $72.Key ensureKey() => $_ensure(0); + + /// The version of the entity on the server after processing the mutation. If + /// the mutation doesn't change anything on the server, then the version will + /// be the version of the current entity or, if no entity is present, a version + /// that is strictly greater than the version of any previous entity and less + /// than the version of any possible future entity. + @$pb.TagNumber(4) + $fixnum.Int64 get version => $_getI64(1); + @$pb.TagNumber(4) + set version($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(4) + void clearVersion() => clearField(4); + + /// Whether a conflict was detected for this mutation. Always false when a + /// conflict detection strategy field is not set in the mutation. + @$pb.TagNumber(5) + $core.bool get conflictDetected => $_getBF(2); + @$pb.TagNumber(5) + set conflictDetected($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasConflictDetected() => $_has(2); + @$pb.TagNumber(5) + void clearConflictDetected() => clearField(5); + + /// The update time of the entity on the server after processing the mutation. + /// If the mutation doesn't change anything on the server, then the timestamp + /// will be the update timestamp of the current entity. This field will not be + /// set after a 'delete'. + @$pb.TagNumber(6) + $50.Timestamp get updateTime => $_getN(3); + @$pb.TagNumber(6) + set updateTime($50.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasUpdateTime() => $_has(3); + @$pb.TagNumber(6) + void clearUpdateTime() => clearField(6); + @$pb.TagNumber(6) + $50.Timestamp ensureUpdateTime() => $_ensure(3); + + /// The create time of the entity. This field will not be set after a 'delete'. + @$pb.TagNumber(7) + $50.Timestamp get createTime => $_getN(4); + @$pb.TagNumber(7) + set createTime($50.Timestamp v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasCreateTime() => $_has(4); + @$pb.TagNumber(7) + void clearCreateTime() => clearField(7); + @$pb.TagNumber(7) + $50.Timestamp ensureCreateTime() => $_ensure(4); +} + +/// The set of arbitrarily nested property paths used to restrict an operation to +/// only a subset of properties in an entity. +class PropertyMask extends $pb.GeneratedMessage { + factory PropertyMask({ + $core.Iterable<$core.String>? paths, + }) { + final $result = create(); + if (paths != null) { + $result.paths.addAll(paths); + } + return $result; + } + PropertyMask._() : super(); + factory PropertyMask.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyMask.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyMask', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'paths') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyMask clone() => PropertyMask()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyMask copyWith(void Function(PropertyMask) updates) => + super.copyWith((message) => updates(message as PropertyMask)) + as PropertyMask; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyMask create() => PropertyMask._(); + PropertyMask createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyMask getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyMask? _defaultInstance; + + /// The paths to the properties covered by this mask. + /// + /// A path is a list of property names separated by dots (`.`), for example + /// `foo.bar` means the property `bar` inside the entity property `foo` inside + /// the entity associated with this path. + /// + /// If a property name contains a dot `.` or a backslash `\`, then that + /// name must be escaped. + /// + /// A path must not be empty, and may not reference a value inside an + /// [array value][google.datastore.v1.Value.array_value]. + @$pb.TagNumber(1) + $core.List<$core.String> get paths => $_getList(0); +} + +enum ReadOptions_ConsistencyType { + readConsistency, + transaction, + newTransaction, + readTime, + notSet +} + +/// The options shared by read requests. +class ReadOptions extends $pb.GeneratedMessage { + factory ReadOptions({ + ReadOptions_ReadConsistency? readConsistency, + $core.List<$core.int>? transaction, + TransactionOptions? newTransaction, + $50.Timestamp? readTime, + }) { + final $result = create(); + if (readConsistency != null) { + $result.readConsistency = readConsistency; + } + if (transaction != null) { + $result.transaction = transaction; + } + if (newTransaction != null) { + $result.newTransaction = newTransaction; + } + if (readTime != null) { + $result.readTime = readTime; + } + return $result; + } + ReadOptions._() : super(); + factory ReadOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReadOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, ReadOptions_ConsistencyType> + _ReadOptions_ConsistencyTypeByTag = { + 1: ReadOptions_ConsistencyType.readConsistency, + 2: ReadOptions_ConsistencyType.transaction, + 3: ReadOptions_ConsistencyType.newTransaction, + 4: ReadOptions_ConsistencyType.readTime, + 0: ReadOptions_ConsistencyType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReadOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4]) + ..e( + 1, _omitFieldNames ? '' : 'readConsistency', $pb.PbFieldType.OE, + defaultOrMaker: + ReadOptions_ReadConsistency.READ_CONSISTENCY_UNSPECIFIED, + valueOf: ReadOptions_ReadConsistency.valueOf, + enumValues: ReadOptions_ReadConsistency.values) + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..aOM(3, _omitFieldNames ? '' : 'newTransaction', + subBuilder: TransactionOptions.create) + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'readTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReadOptions clone() => ReadOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReadOptions copyWith(void Function(ReadOptions) updates) => + super.copyWith((message) => updates(message as ReadOptions)) + as ReadOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReadOptions create() => ReadOptions._(); + ReadOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReadOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReadOptions? _defaultInstance; + + ReadOptions_ConsistencyType whichConsistencyType() => + _ReadOptions_ConsistencyTypeByTag[$_whichOneof(0)]!; + void clearConsistencyType() => clearField($_whichOneof(0)); + + /// The non-transactional read consistency to use. + @$pb.TagNumber(1) + ReadOptions_ReadConsistency get readConsistency => $_getN(0); + @$pb.TagNumber(1) + set readConsistency(ReadOptions_ReadConsistency v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadConsistency() => $_has(0); + @$pb.TagNumber(1) + void clearReadConsistency() => clearField(1); + + /// The identifier of the transaction in which to read. A + /// transaction identifier is returned by a call to + /// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + @$pb.TagNumber(2) + $core.List<$core.int> get transaction => $_getN(1); + @$pb.TagNumber(2) + set transaction($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTransaction() => $_has(1); + @$pb.TagNumber(2) + void clearTransaction() => clearField(2); + + /// Options for beginning a new transaction for this request. + /// + /// The new transaction identifier will be returned in the corresponding + /// response as either + /// [LookupResponse.transaction][google.datastore.v1.LookupResponse.transaction] + /// or + /// [RunQueryResponse.transaction][google.datastore.v1.RunQueryResponse.transaction]. + @$pb.TagNumber(3) + TransactionOptions get newTransaction => $_getN(2); + @$pb.TagNumber(3) + set newTransaction(TransactionOptions v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasNewTransaction() => $_has(2); + @$pb.TagNumber(3) + void clearNewTransaction() => clearField(3); + @$pb.TagNumber(3) + TransactionOptions ensureNewTransaction() => $_ensure(2); + + /// Reads entities as they were at the given time. This value is only + /// supported for Cloud Firestore in Datastore mode. + /// + /// This must be a microsecond precision timestamp within the past one hour, + /// or if Point-in-Time Recovery is enabled, can additionally be a whole + /// minute timestamp within the past 7 days. + @$pb.TagNumber(4) + $50.Timestamp get readTime => $_getN(3); + @$pb.TagNumber(4) + set readTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasReadTime() => $_has(3); + @$pb.TagNumber(4) + void clearReadTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureReadTime() => $_ensure(3); +} + +/// Options specific to read / write transactions. +class TransactionOptions_ReadWrite extends $pb.GeneratedMessage { + factory TransactionOptions_ReadWrite({ + $core.List<$core.int>? previousTransaction, + }) { + final $result = create(); + if (previousTransaction != null) { + $result.previousTransaction = previousTransaction; + } + return $result; + } + TransactionOptions_ReadWrite._() : super(); + factory TransactionOptions_ReadWrite.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TransactionOptions_ReadWrite.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TransactionOptions.ReadWrite', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'previousTransaction', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadWrite clone() => + TransactionOptions_ReadWrite()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadWrite copyWith( + void Function(TransactionOptions_ReadWrite) updates) => + super.copyWith( + (message) => updates(message as TransactionOptions_ReadWrite)) + as TransactionOptions_ReadWrite; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadWrite create() => + TransactionOptions_ReadWrite._(); + TransactionOptions_ReadWrite createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadWrite getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TransactionOptions_ReadWrite? _defaultInstance; + + /// The transaction identifier of the transaction being retried. + @$pb.TagNumber(1) + $core.List<$core.int> get previousTransaction => $_getN(0); + @$pb.TagNumber(1) + set previousTransaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPreviousTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearPreviousTransaction() => clearField(1); +} + +/// Options specific to read-only transactions. +class TransactionOptions_ReadOnly extends $pb.GeneratedMessage { + factory TransactionOptions_ReadOnly({ + $50.Timestamp? readTime, + }) { + final $result = create(); + if (readTime != null) { + $result.readTime = readTime; + } + return $result; + } + TransactionOptions_ReadOnly._() : super(); + factory TransactionOptions_ReadOnly.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TransactionOptions_ReadOnly.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TransactionOptions.ReadOnly', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'readTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadOnly clone() => + TransactionOptions_ReadOnly()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadOnly copyWith( + void Function(TransactionOptions_ReadOnly) updates) => + super.copyWith( + (message) => updates(message as TransactionOptions_ReadOnly)) + as TransactionOptions_ReadOnly; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadOnly create() => + TransactionOptions_ReadOnly._(); + TransactionOptions_ReadOnly createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadOnly getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TransactionOptions_ReadOnly? _defaultInstance; + + /// Reads entities at the given time. + /// + /// This must be a microsecond precision timestamp within the past one hour, + /// or if Point-in-Time Recovery is enabled, can additionally be a whole + /// minute timestamp within the past 7 days. + @$pb.TagNumber(1) + $50.Timestamp get readTime => $_getN(0); + @$pb.TagNumber(1) + set readTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadTime() => $_has(0); + @$pb.TagNumber(1) + void clearReadTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureReadTime() => $_ensure(0); +} + +enum TransactionOptions_Mode { readWrite, readOnly, notSet } + +/// Options for beginning a new transaction. +/// +/// Transactions can be created explicitly with calls to +/// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction] +/// or implicitly by setting +/// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] +/// in read requests. +class TransactionOptions extends $pb.GeneratedMessage { + factory TransactionOptions({ + TransactionOptions_ReadWrite? readWrite, + TransactionOptions_ReadOnly? readOnly, + }) { + final $result = create(); + if (readWrite != null) { + $result.readWrite = readWrite; + } + if (readOnly != null) { + $result.readOnly = readOnly; + } + return $result; + } + TransactionOptions._() : super(); + factory TransactionOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TransactionOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, TransactionOptions_Mode> + _TransactionOptions_ModeByTag = { + 1: TransactionOptions_Mode.readWrite, + 2: TransactionOptions_Mode.readOnly, + 0: TransactionOptions_Mode.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TransactionOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'readWrite', + subBuilder: TransactionOptions_ReadWrite.create) + ..aOM(2, _omitFieldNames ? '' : 'readOnly', + subBuilder: TransactionOptions_ReadOnly.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TransactionOptions clone() => TransactionOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TransactionOptions copyWith(void Function(TransactionOptions) updates) => + super.copyWith((message) => updates(message as TransactionOptions)) + as TransactionOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TransactionOptions create() => TransactionOptions._(); + TransactionOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TransactionOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TransactionOptions? _defaultInstance; + + TransactionOptions_Mode whichMode() => + _TransactionOptions_ModeByTag[$_whichOneof(0)]!; + void clearMode() => clearField($_whichOneof(0)); + + /// The transaction should allow both reads and writes. + @$pb.TagNumber(1) + TransactionOptions_ReadWrite get readWrite => $_getN(0); + @$pb.TagNumber(1) + set readWrite(TransactionOptions_ReadWrite v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadWrite() => $_has(0); + @$pb.TagNumber(1) + void clearReadWrite() => clearField(1); + @$pb.TagNumber(1) + TransactionOptions_ReadWrite ensureReadWrite() => $_ensure(0); + + /// The transaction should only allow reads. + @$pb.TagNumber(2) + TransactionOptions_ReadOnly get readOnly => $_getN(1); + @$pb.TagNumber(2) + set readOnly(TransactionOptions_ReadOnly v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasReadOnly() => $_has(1); + @$pb.TagNumber(2) + void clearReadOnly() => clearField(2); + @$pb.TagNumber(2) + TransactionOptions_ReadOnly ensureReadOnly() => $_ensure(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbenum.dart new file mode 100644 index 00000000..71201a99 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbenum.dart @@ -0,0 +1,64 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The modes available for commits. +class CommitRequest_Mode extends $pb.ProtobufEnum { + static const CommitRequest_Mode MODE_UNSPECIFIED = + CommitRequest_Mode._(0, _omitEnumNames ? '' : 'MODE_UNSPECIFIED'); + static const CommitRequest_Mode TRANSACTIONAL = + CommitRequest_Mode._(1, _omitEnumNames ? '' : 'TRANSACTIONAL'); + static const CommitRequest_Mode NON_TRANSACTIONAL = + CommitRequest_Mode._(2, _omitEnumNames ? '' : 'NON_TRANSACTIONAL'); + + static const $core.List values = [ + MODE_UNSPECIFIED, + TRANSACTIONAL, + NON_TRANSACTIONAL, + ]; + + static final $core.Map<$core.int, CommitRequest_Mode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CommitRequest_Mode? valueOf($core.int value) => _byValue[value]; + + const CommitRequest_Mode._($core.int v, $core.String n) : super(v, n); +} + +/// The possible values for read consistencies. +class ReadOptions_ReadConsistency extends $pb.ProtobufEnum { + static const ReadOptions_ReadConsistency READ_CONSISTENCY_UNSPECIFIED = + ReadOptions_ReadConsistency._( + 0, _omitEnumNames ? '' : 'READ_CONSISTENCY_UNSPECIFIED'); + static const ReadOptions_ReadConsistency STRONG = + ReadOptions_ReadConsistency._(1, _omitEnumNames ? '' : 'STRONG'); + static const ReadOptions_ReadConsistency EVENTUAL = + ReadOptions_ReadConsistency._(2, _omitEnumNames ? '' : 'EVENTUAL'); + + static const $core.List values = + [ + READ_CONSISTENCY_UNSPECIFIED, + STRONG, + EVENTUAL, + ]; + + static final $core.Map<$core.int, ReadOptions_ReadConsistency> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ReadOptions_ReadConsistency? valueOf($core.int value) => + _byValue[value]; + + const ReadOptions_ReadConsistency._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbgrpc.dart new file mode 100644 index 00000000..9e287c23 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbgrpc.dart @@ -0,0 +1,254 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'datastore.pb.dart' as $21; + +export 'datastore.pb.dart'; + +@$pb.GrpcServiceName('google.datastore.v1.Datastore') +class DatastoreClient extends $grpc.Client { + static final _$lookup = + $grpc.ClientMethod<$21.LookupRequest, $21.LookupResponse>( + '/google.datastore.v1.Datastore/Lookup', + ($21.LookupRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.LookupResponse.fromBuffer(value)); + static final _$runQuery = + $grpc.ClientMethod<$21.RunQueryRequest, $21.RunQueryResponse>( + '/google.datastore.v1.Datastore/RunQuery', + ($21.RunQueryRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.RunQueryResponse.fromBuffer(value)); + static final _$runAggregationQuery = $grpc.ClientMethod< + $21.RunAggregationQueryRequest, $21.RunAggregationQueryResponse>( + '/google.datastore.v1.Datastore/RunAggregationQuery', + ($21.RunAggregationQueryRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.RunAggregationQueryResponse.fromBuffer(value)); + static final _$beginTransaction = $grpc.ClientMethod< + $21.BeginTransactionRequest, $21.BeginTransactionResponse>( + '/google.datastore.v1.Datastore/BeginTransaction', + ($21.BeginTransactionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.BeginTransactionResponse.fromBuffer(value)); + static final _$commit = + $grpc.ClientMethod<$21.CommitRequest, $21.CommitResponse>( + '/google.datastore.v1.Datastore/Commit', + ($21.CommitRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.CommitResponse.fromBuffer(value)); + static final _$rollback = + $grpc.ClientMethod<$21.RollbackRequest, $21.RollbackResponse>( + '/google.datastore.v1.Datastore/Rollback', + ($21.RollbackRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.RollbackResponse.fromBuffer(value)); + static final _$allocateIds = + $grpc.ClientMethod<$21.AllocateIdsRequest, $21.AllocateIdsResponse>( + '/google.datastore.v1.Datastore/AllocateIds', + ($21.AllocateIdsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.AllocateIdsResponse.fromBuffer(value)); + static final _$reserveIds = + $grpc.ClientMethod<$21.ReserveIdsRequest, $21.ReserveIdsResponse>( + '/google.datastore.v1.Datastore/ReserveIds', + ($21.ReserveIdsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $21.ReserveIdsResponse.fromBuffer(value)); + + DatastoreClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$21.LookupResponse> lookup($21.LookupRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$lookup, request, options: options); + } + + $grpc.ResponseFuture<$21.RunQueryResponse> runQuery( + $21.RunQueryRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$runQuery, request, options: options); + } + + $grpc.ResponseFuture<$21.RunAggregationQueryResponse> runAggregationQuery( + $21.RunAggregationQueryRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$runAggregationQuery, request, options: options); + } + + $grpc.ResponseFuture<$21.BeginTransactionResponse> beginTransaction( + $21.BeginTransactionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$beginTransaction, request, options: options); + } + + $grpc.ResponseFuture<$21.CommitResponse> commit($21.CommitRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$commit, request, options: options); + } + + $grpc.ResponseFuture<$21.RollbackResponse> rollback( + $21.RollbackRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$rollback, request, options: options); + } + + $grpc.ResponseFuture<$21.AllocateIdsResponse> allocateIds( + $21.AllocateIdsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$allocateIds, request, options: options); + } + + $grpc.ResponseFuture<$21.ReserveIdsResponse> reserveIds( + $21.ReserveIdsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$reserveIds, request, options: options); + } +} + +@$pb.GrpcServiceName('google.datastore.v1.Datastore') +abstract class DatastoreServiceBase extends $grpc.Service { + $core.String get $name => 'google.datastore.v1.Datastore'; + + DatastoreServiceBase() { + $addMethod($grpc.ServiceMethod<$21.LookupRequest, $21.LookupResponse>( + 'Lookup', + lookup_Pre, + false, + false, + ($core.List<$core.int> value) => $21.LookupRequest.fromBuffer(value), + ($21.LookupResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$21.RunQueryRequest, $21.RunQueryResponse>( + 'RunQuery', + runQuery_Pre, + false, + false, + ($core.List<$core.int> value) => $21.RunQueryRequest.fromBuffer(value), + ($21.RunQueryResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$21.RunAggregationQueryRequest, + $21.RunAggregationQueryResponse>( + 'RunAggregationQuery', + runAggregationQuery_Pre, + false, + false, + ($core.List<$core.int> value) => + $21.RunAggregationQueryRequest.fromBuffer(value), + ($21.RunAggregationQueryResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$21.BeginTransactionRequest, + $21.BeginTransactionResponse>( + 'BeginTransaction', + beginTransaction_Pre, + false, + false, + ($core.List<$core.int> value) => + $21.BeginTransactionRequest.fromBuffer(value), + ($21.BeginTransactionResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$21.CommitRequest, $21.CommitResponse>( + 'Commit', + commit_Pre, + false, + false, + ($core.List<$core.int> value) => $21.CommitRequest.fromBuffer(value), + ($21.CommitResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$21.RollbackRequest, $21.RollbackResponse>( + 'Rollback', + rollback_Pre, + false, + false, + ($core.List<$core.int> value) => $21.RollbackRequest.fromBuffer(value), + ($21.RollbackResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$21.AllocateIdsRequest, $21.AllocateIdsResponse>( + 'AllocateIds', + allocateIds_Pre, + false, + false, + ($core.List<$core.int> value) => + $21.AllocateIdsRequest.fromBuffer(value), + ($21.AllocateIdsResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$21.ReserveIdsRequest, $21.ReserveIdsResponse>( + 'ReserveIds', + reserveIds_Pre, + false, + false, + ($core.List<$core.int> value) => + $21.ReserveIdsRequest.fromBuffer(value), + ($21.ReserveIdsResponse value) => value.writeToBuffer())); + } + + $async.Future<$21.LookupResponse> lookup_Pre( + $grpc.ServiceCall call, $async.Future<$21.LookupRequest> request) async { + return lookup(call, await request); + } + + $async.Future<$21.RunQueryResponse> runQuery_Pre($grpc.ServiceCall call, + $async.Future<$21.RunQueryRequest> request) async { + return runQuery(call, await request); + } + + $async.Future<$21.RunAggregationQueryResponse> runAggregationQuery_Pre( + $grpc.ServiceCall call, + $async.Future<$21.RunAggregationQueryRequest> request) async { + return runAggregationQuery(call, await request); + } + + $async.Future<$21.BeginTransactionResponse> beginTransaction_Pre( + $grpc.ServiceCall call, + $async.Future<$21.BeginTransactionRequest> request) async { + return beginTransaction(call, await request); + } + + $async.Future<$21.CommitResponse> commit_Pre( + $grpc.ServiceCall call, $async.Future<$21.CommitRequest> request) async { + return commit(call, await request); + } + + $async.Future<$21.RollbackResponse> rollback_Pre($grpc.ServiceCall call, + $async.Future<$21.RollbackRequest> request) async { + return rollback(call, await request); + } + + $async.Future<$21.AllocateIdsResponse> allocateIds_Pre($grpc.ServiceCall call, + $async.Future<$21.AllocateIdsRequest> request) async { + return allocateIds(call, await request); + } + + $async.Future<$21.ReserveIdsResponse> reserveIds_Pre($grpc.ServiceCall call, + $async.Future<$21.ReserveIdsRequest> request) async { + return reserveIds(call, await request); + } + + $async.Future<$21.LookupResponse> lookup( + $grpc.ServiceCall call, $21.LookupRequest request); + $async.Future<$21.RunQueryResponse> runQuery( + $grpc.ServiceCall call, $21.RunQueryRequest request); + $async.Future<$21.RunAggregationQueryResponse> runAggregationQuery( + $grpc.ServiceCall call, $21.RunAggregationQueryRequest request); + $async.Future<$21.BeginTransactionResponse> beginTransaction( + $grpc.ServiceCall call, $21.BeginTransactionRequest request); + $async.Future<$21.CommitResponse> commit( + $grpc.ServiceCall call, $21.CommitRequest request); + $async.Future<$21.RollbackResponse> rollback( + $grpc.ServiceCall call, $21.RollbackRequest request); + $async.Future<$21.AllocateIdsResponse> allocateIds( + $grpc.ServiceCall call, $21.AllocateIdsRequest request); + $async.Future<$21.ReserveIdsResponse> reserveIds( + $grpc.ServiceCall call, $21.ReserveIdsRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbjson.dart new file mode 100644 index 00000000..a5e0580d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/datastore.pbjson.dart @@ -0,0 +1,820 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use lookupRequestDescriptor instead') +const LookupRequest$json = { + '1': 'LookupRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'read_options', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ReadOptions', + '10': 'readOptions' + }, + { + '1': 'keys', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Key', + '8': {}, + '10': 'keys' + }, + { + '1': 'property_mask', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyMask', + '10': 'propertyMask' + }, + ], +}; + +/// Descriptor for `LookupRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lookupRequestDescriptor = $convert.base64Decode( + 'Cg1Mb29rdXBSZXF1ZXN0EiIKCnByb2plY3RfaWQYCCABKAlCA+BBAlIJcHJvamVjdElkEh8KC2' + 'RhdGFiYXNlX2lkGAkgASgJUgpkYXRhYmFzZUlkEkMKDHJlYWRfb3B0aW9ucxgBIAEoCzIgLmdv' + 'b2dsZS5kYXRhc3RvcmUudjEuUmVhZE9wdGlvbnNSC3JlYWRPcHRpb25zEjEKBGtleXMYAyADKA' + 'syGC5nb29nbGUuZGF0YXN0b3JlLnYxLktleUID4EECUgRrZXlzEkYKDXByb3BlcnR5X21hc2sY' + 'BSABKAsyIS5nb29nbGUuZGF0YXN0b3JlLnYxLlByb3BlcnR5TWFza1IMcHJvcGVydHlNYXNr'); + +@$core.Deprecated('Use lookupResponseDescriptor instead') +const LookupResponse$json = { + '1': 'LookupResponse', + '2': [ + { + '1': 'found', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.EntityResult', + '10': 'found' + }, + { + '1': 'missing', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.EntityResult', + '10': 'missing' + }, + { + '1': 'deferred', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Key', + '10': 'deferred' + }, + {'1': 'transaction', '3': 5, '4': 1, '5': 12, '10': 'transaction'}, + { + '1': 'read_time', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'readTime' + }, + ], +}; + +/// Descriptor for `LookupResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lookupResponseDescriptor = $convert.base64Decode( + 'Cg5Mb29rdXBSZXNwb25zZRI3CgVmb3VuZBgBIAMoCzIhLmdvb2dsZS5kYXRhc3RvcmUudjEuRW' + '50aXR5UmVzdWx0UgVmb3VuZBI7CgdtaXNzaW5nGAIgAygLMiEuZ29vZ2xlLmRhdGFzdG9yZS52' + 'MS5FbnRpdHlSZXN1bHRSB21pc3NpbmcSNAoIZGVmZXJyZWQYAyADKAsyGC5nb29nbGUuZGF0YX' + 'N0b3JlLnYxLktleVIIZGVmZXJyZWQSIAoLdHJhbnNhY3Rpb24YBSABKAxSC3RyYW5zYWN0aW9u' + 'EjcKCXJlYWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJlYWRUaW' + '1l'); + +@$core.Deprecated('Use runQueryRequestDescriptor instead') +const RunQueryRequest$json = { + '1': 'RunQueryRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'partition_id', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PartitionId', + '10': 'partitionId' + }, + { + '1': 'read_options', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ReadOptions', + '10': 'readOptions' + }, + { + '1': 'query', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Query', + '9': 0, + '10': 'query' + }, + { + '1': 'gql_query', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.GqlQuery', + '9': 0, + '10': 'gqlQuery' + }, + { + '1': 'property_mask', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyMask', + '10': 'propertyMask' + }, + { + '1': 'explain_options', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ExplainOptions', + '8': {}, + '10': 'explainOptions' + }, + ], + '8': [ + {'1': 'query_type'}, + ], +}; + +/// Descriptor for `RunQueryRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runQueryRequestDescriptor = $convert.base64Decode( + 'Cg9SdW5RdWVyeVJlcXVlc3QSIgoKcHJvamVjdF9pZBgIIAEoCUID4EECUglwcm9qZWN0SWQSHw' + 'oLZGF0YWJhc2VfaWQYCSABKAlSCmRhdGFiYXNlSWQSQwoMcGFydGl0aW9uX2lkGAIgASgLMiAu' + 'Z29vZ2xlLmRhdGFzdG9yZS52MS5QYXJ0aXRpb25JZFILcGFydGl0aW9uSWQSQwoMcmVhZF9vcH' + 'Rpb25zGAEgASgLMiAuZ29vZ2xlLmRhdGFzdG9yZS52MS5SZWFkT3B0aW9uc1ILcmVhZE9wdGlv' + 'bnMSMgoFcXVlcnkYAyABKAsyGi5nb29nbGUuZGF0YXN0b3JlLnYxLlF1ZXJ5SABSBXF1ZXJ5Ej' + 'wKCWdxbF9xdWVyeRgHIAEoCzIdLmdvb2dsZS5kYXRhc3RvcmUudjEuR3FsUXVlcnlIAFIIZ3Fs' + 'UXVlcnkSRgoNcHJvcGVydHlfbWFzaxgKIAEoCzIhLmdvb2dsZS5kYXRhc3RvcmUudjEuUHJvcG' + 'VydHlNYXNrUgxwcm9wZXJ0eU1hc2sSUQoPZXhwbGFpbl9vcHRpb25zGAwgASgLMiMuZ29vZ2xl' + 'LmRhdGFzdG9yZS52MS5FeHBsYWluT3B0aW9uc0ID4EEBUg5leHBsYWluT3B0aW9uc0IMCgpxdW' + 'VyeV90eXBl'); + +@$core.Deprecated('Use runQueryResponseDescriptor instead') +const RunQueryResponse$json = { + '1': 'RunQueryResponse', + '2': [ + { + '1': 'batch', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.QueryResultBatch', + '10': 'batch' + }, + { + '1': 'query', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Query', + '10': 'query' + }, + {'1': 'transaction', '3': 5, '4': 1, '5': 12, '10': 'transaction'}, + { + '1': 'explain_metrics', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ExplainMetrics', + '10': 'explainMetrics' + }, + ], +}; + +/// Descriptor for `RunQueryResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runQueryResponseDescriptor = $convert.base64Decode( + 'ChBSdW5RdWVyeVJlc3BvbnNlEjsKBWJhdGNoGAEgASgLMiUuZ29vZ2xlLmRhdGFzdG9yZS52MS' + '5RdWVyeVJlc3VsdEJhdGNoUgViYXRjaBIwCgVxdWVyeRgCIAEoCzIaLmdvb2dsZS5kYXRhc3Rv' + 'cmUudjEuUXVlcnlSBXF1ZXJ5EiAKC3RyYW5zYWN0aW9uGAUgASgMUgt0cmFuc2FjdGlvbhJMCg' + '9leHBsYWluX21ldHJpY3MYCSABKAsyIy5nb29nbGUuZGF0YXN0b3JlLnYxLkV4cGxhaW5NZXRy' + 'aWNzUg5leHBsYWluTWV0cmljcw=='); + +@$core.Deprecated('Use runAggregationQueryRequestDescriptor instead') +const RunAggregationQueryRequest$json = { + '1': 'RunAggregationQueryRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'partition_id', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PartitionId', + '10': 'partitionId' + }, + { + '1': 'read_options', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ReadOptions', + '10': 'readOptions' + }, + { + '1': 'aggregation_query', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.AggregationQuery', + '9': 0, + '10': 'aggregationQuery' + }, + { + '1': 'gql_query', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.GqlQuery', + '9': 0, + '10': 'gqlQuery' + }, + { + '1': 'explain_options', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ExplainOptions', + '8': {}, + '10': 'explainOptions' + }, + ], + '8': [ + {'1': 'query_type'}, + ], +}; + +/// Descriptor for `RunAggregationQueryRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runAggregationQueryRequestDescriptor = $convert.base64Decode( + 'ChpSdW5BZ2dyZWdhdGlvblF1ZXJ5UmVxdWVzdBIiCgpwcm9qZWN0X2lkGAggASgJQgPgQQJSCX' + 'Byb2plY3RJZBIfCgtkYXRhYmFzZV9pZBgJIAEoCVIKZGF0YWJhc2VJZBJDCgxwYXJ0aXRpb25f' + 'aWQYAiABKAsyIC5nb29nbGUuZGF0YXN0b3JlLnYxLlBhcnRpdGlvbklkUgtwYXJ0aXRpb25JZB' + 'JDCgxyZWFkX29wdGlvbnMYASABKAsyIC5nb29nbGUuZGF0YXN0b3JlLnYxLlJlYWRPcHRpb25z' + 'UgtyZWFkT3B0aW9ucxJUChFhZ2dyZWdhdGlvbl9xdWVyeRgDIAEoCzIlLmdvb2dsZS5kYXRhc3' + 'RvcmUudjEuQWdncmVnYXRpb25RdWVyeUgAUhBhZ2dyZWdhdGlvblF1ZXJ5EjwKCWdxbF9xdWVy' + 'eRgHIAEoCzIdLmdvb2dsZS5kYXRhc3RvcmUudjEuR3FsUXVlcnlIAFIIZ3FsUXVlcnkSUQoPZX' + 'hwbGFpbl9vcHRpb25zGAsgASgLMiMuZ29vZ2xlLmRhdGFzdG9yZS52MS5FeHBsYWluT3B0aW9u' + 'c0ID4EEBUg5leHBsYWluT3B0aW9uc0IMCgpxdWVyeV90eXBl'); + +@$core.Deprecated('Use runAggregationQueryResponseDescriptor instead') +const RunAggregationQueryResponse$json = { + '1': 'RunAggregationQueryResponse', + '2': [ + { + '1': 'batch', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.AggregationResultBatch', + '10': 'batch' + }, + { + '1': 'query', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.AggregationQuery', + '10': 'query' + }, + {'1': 'transaction', '3': 5, '4': 1, '5': 12, '10': 'transaction'}, + { + '1': 'explain_metrics', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ExplainMetrics', + '10': 'explainMetrics' + }, + ], +}; + +/// Descriptor for `RunAggregationQueryResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runAggregationQueryResponseDescriptor = $convert.base64Decode( + 'ChtSdW5BZ2dyZWdhdGlvblF1ZXJ5UmVzcG9uc2USQQoFYmF0Y2gYASABKAsyKy5nb29nbGUuZG' + 'F0YXN0b3JlLnYxLkFnZ3JlZ2F0aW9uUmVzdWx0QmF0Y2hSBWJhdGNoEjsKBXF1ZXJ5GAIgASgL' + 'MiUuZ29vZ2xlLmRhdGFzdG9yZS52MS5BZ2dyZWdhdGlvblF1ZXJ5UgVxdWVyeRIgCgt0cmFuc2' + 'FjdGlvbhgFIAEoDFILdHJhbnNhY3Rpb24STAoPZXhwbGFpbl9tZXRyaWNzGAkgASgLMiMuZ29v' + 'Z2xlLmRhdGFzdG9yZS52MS5FeHBsYWluTWV0cmljc1IOZXhwbGFpbk1ldHJpY3M='); + +@$core.Deprecated('Use beginTransactionRequestDescriptor instead') +const BeginTransactionRequest$json = { + '1': 'BeginTransactionRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'transaction_options', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.TransactionOptions', + '10': 'transactionOptions' + }, + ], +}; + +/// Descriptor for `BeginTransactionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List beginTransactionRequestDescriptor = $convert.base64Decode( + 'ChdCZWdpblRyYW5zYWN0aW9uUmVxdWVzdBIiCgpwcm9qZWN0X2lkGAggASgJQgPgQQJSCXByb2' + 'plY3RJZBIfCgtkYXRhYmFzZV9pZBgJIAEoCVIKZGF0YWJhc2VJZBJYChN0cmFuc2FjdGlvbl9v' + 'cHRpb25zGAogASgLMicuZ29vZ2xlLmRhdGFzdG9yZS52MS5UcmFuc2FjdGlvbk9wdGlvbnNSEn' + 'RyYW5zYWN0aW9uT3B0aW9ucw=='); + +@$core.Deprecated('Use beginTransactionResponseDescriptor instead') +const BeginTransactionResponse$json = { + '1': 'BeginTransactionResponse', + '2': [ + {'1': 'transaction', '3': 1, '4': 1, '5': 12, '10': 'transaction'}, + ], +}; + +/// Descriptor for `BeginTransactionResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List beginTransactionResponseDescriptor = + $convert.base64Decode( + 'ChhCZWdpblRyYW5zYWN0aW9uUmVzcG9uc2USIAoLdHJhbnNhY3Rpb24YASABKAxSC3RyYW5zYW' + 'N0aW9u'); + +@$core.Deprecated('Use rollbackRequestDescriptor instead') +const RollbackRequest$json = { + '1': 'RollbackRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + {'1': 'transaction', '3': 1, '4': 1, '5': 12, '8': {}, '10': 'transaction'}, + ], +}; + +/// Descriptor for `RollbackRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rollbackRequestDescriptor = $convert.base64Decode( + 'Cg9Sb2xsYmFja1JlcXVlc3QSIgoKcHJvamVjdF9pZBgIIAEoCUID4EECUglwcm9qZWN0SWQSHw' + 'oLZGF0YWJhc2VfaWQYCSABKAlSCmRhdGFiYXNlSWQSJQoLdHJhbnNhY3Rpb24YASABKAxCA+BB' + 'AlILdHJhbnNhY3Rpb24='); + +@$core.Deprecated('Use rollbackResponseDescriptor instead') +const RollbackResponse$json = { + '1': 'RollbackResponse', +}; + +/// Descriptor for `RollbackResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rollbackResponseDescriptor = + $convert.base64Decode('ChBSb2xsYmFja1Jlc3BvbnNl'); + +@$core.Deprecated('Use commitRequestDescriptor instead') +const CommitRequest$json = { + '1': 'CommitRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'mode', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.CommitRequest.Mode', + '10': 'mode' + }, + {'1': 'transaction', '3': 1, '4': 1, '5': 12, '9': 0, '10': 'transaction'}, + { + '1': 'single_use_transaction', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.TransactionOptions', + '9': 0, + '10': 'singleUseTransaction' + }, + { + '1': 'mutations', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Mutation', + '10': 'mutations' + }, + ], + '4': [CommitRequest_Mode$json], + '8': [ + {'1': 'transaction_selector'}, + ], +}; + +@$core.Deprecated('Use commitRequestDescriptor instead') +const CommitRequest_Mode$json = { + '1': 'Mode', + '2': [ + {'1': 'MODE_UNSPECIFIED', '2': 0}, + {'1': 'TRANSACTIONAL', '2': 1}, + {'1': 'NON_TRANSACTIONAL', '2': 2}, + ], +}; + +/// Descriptor for `CommitRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commitRequestDescriptor = $convert.base64Decode( + 'Cg1Db21taXRSZXF1ZXN0EiIKCnByb2plY3RfaWQYCCABKAlCA+BBAlIJcHJvamVjdElkEh8KC2' + 'RhdGFiYXNlX2lkGAkgASgJUgpkYXRhYmFzZUlkEjsKBG1vZGUYBSABKA4yJy5nb29nbGUuZGF0' + 'YXN0b3JlLnYxLkNvbW1pdFJlcXVlc3QuTW9kZVIEbW9kZRIiCgt0cmFuc2FjdGlvbhgBIAEoDE' + 'gAUgt0cmFuc2FjdGlvbhJfChZzaW5nbGVfdXNlX3RyYW5zYWN0aW9uGAogASgLMicuZ29vZ2xl' + 'LmRhdGFzdG9yZS52MS5UcmFuc2FjdGlvbk9wdGlvbnNIAFIUc2luZ2xlVXNlVHJhbnNhY3Rpb2' + '4SOwoJbXV0YXRpb25zGAYgAygLMh0uZ29vZ2xlLmRhdGFzdG9yZS52MS5NdXRhdGlvblIJbXV0' + 'YXRpb25zIkYKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDVRSQU5TQUNUSU9OQUwQAR' + 'IVChFOT05fVFJBTlNBQ1RJT05BTBACQhYKFHRyYW5zYWN0aW9uX3NlbGVjdG9y'); + +@$core.Deprecated('Use commitResponseDescriptor instead') +const CommitResponse$json = { + '1': 'CommitResponse', + '2': [ + { + '1': 'mutation_results', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.MutationResult', + '10': 'mutationResults' + }, + {'1': 'index_updates', '3': 4, '4': 1, '5': 5, '10': 'indexUpdates'}, + { + '1': 'commit_time', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'commitTime' + }, + ], +}; + +/// Descriptor for `CommitResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commitResponseDescriptor = $convert.base64Decode( + 'Cg5Db21taXRSZXNwb25zZRJOChBtdXRhdGlvbl9yZXN1bHRzGAMgAygLMiMuZ29vZ2xlLmRhdG' + 'FzdG9yZS52MS5NdXRhdGlvblJlc3VsdFIPbXV0YXRpb25SZXN1bHRzEiMKDWluZGV4X3VwZGF0' + 'ZXMYBCABKAVSDGluZGV4VXBkYXRlcxI7Cgtjb21taXRfdGltZRgIIAEoCzIaLmdvb2dsZS5wcm' + '90b2J1Zi5UaW1lc3RhbXBSCmNvbW1pdFRpbWU='); + +@$core.Deprecated('Use allocateIdsRequestDescriptor instead') +const AllocateIdsRequest$json = { + '1': 'AllocateIdsRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Key', + '8': {}, + '10': 'keys' + }, + ], +}; + +/// Descriptor for `AllocateIdsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List allocateIdsRequestDescriptor = $convert.base64Decode( + 'ChJBbGxvY2F0ZUlkc1JlcXVlc3QSIgoKcHJvamVjdF9pZBgIIAEoCUID4EECUglwcm9qZWN0SW' + 'QSHwoLZGF0YWJhc2VfaWQYCSABKAlSCmRhdGFiYXNlSWQSMQoEa2V5cxgBIAMoCzIYLmdvb2ds' + 'ZS5kYXRhc3RvcmUudjEuS2V5QgPgQQJSBGtleXM='); + +@$core.Deprecated('Use allocateIdsResponseDescriptor instead') +const AllocateIdsResponse$json = { + '1': 'AllocateIdsResponse', + '2': [ + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Key', + '10': 'keys' + }, + ], +}; + +/// Descriptor for `AllocateIdsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List allocateIdsResponseDescriptor = $convert.base64Decode( + 'ChNBbGxvY2F0ZUlkc1Jlc3BvbnNlEiwKBGtleXMYASADKAsyGC5nb29nbGUuZGF0YXN0b3JlLn' + 'YxLktleVIEa2V5cw=='); + +@$core.Deprecated('Use reserveIdsRequestDescriptor instead') +const ReserveIdsRequest$json = { + '1': 'ReserveIdsRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Key', + '8': {}, + '10': 'keys' + }, + ], +}; + +/// Descriptor for `ReserveIdsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reserveIdsRequestDescriptor = $convert.base64Decode( + 'ChFSZXNlcnZlSWRzUmVxdWVzdBIiCgpwcm9qZWN0X2lkGAggASgJQgPgQQJSCXByb2plY3RJZB' + 'IfCgtkYXRhYmFzZV9pZBgJIAEoCVIKZGF0YWJhc2VJZBIxCgRrZXlzGAEgAygLMhguZ29vZ2xl' + 'LmRhdGFzdG9yZS52MS5LZXlCA+BBAlIEa2V5cw=='); + +@$core.Deprecated('Use reserveIdsResponseDescriptor instead') +const ReserveIdsResponse$json = { + '1': 'ReserveIdsResponse', +}; + +/// Descriptor for `ReserveIdsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reserveIdsResponseDescriptor = + $convert.base64Decode('ChJSZXNlcnZlSWRzUmVzcG9uc2U='); + +@$core.Deprecated('Use mutationDescriptor instead') +const Mutation$json = { + '1': 'Mutation', + '2': [ + { + '1': 'insert', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Entity', + '9': 0, + '10': 'insert' + }, + { + '1': 'update', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Entity', + '9': 0, + '10': 'update' + }, + { + '1': 'upsert', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Entity', + '9': 0, + '10': 'upsert' + }, + { + '1': 'delete', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Key', + '9': 0, + '10': 'delete' + }, + {'1': 'base_version', '3': 8, '4': 1, '5': 3, '9': 1, '10': 'baseVersion'}, + { + '1': 'update_time', + '3': 11, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '9': 1, + '10': 'updateTime' + }, + { + '1': 'property_mask', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyMask', + '10': 'propertyMask' + }, + ], + '8': [ + {'1': 'operation'}, + {'1': 'conflict_detection_strategy'}, + ], +}; + +/// Descriptor for `Mutation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mutationDescriptor = $convert.base64Decode( + 'CghNdXRhdGlvbhI1CgZpbnNlcnQYBCABKAsyGy5nb29nbGUuZGF0YXN0b3JlLnYxLkVudGl0eU' + 'gAUgZpbnNlcnQSNQoGdXBkYXRlGAUgASgLMhsuZ29vZ2xlLmRhdGFzdG9yZS52MS5FbnRpdHlI' + 'AFIGdXBkYXRlEjUKBnVwc2VydBgGIAEoCzIbLmdvb2dsZS5kYXRhc3RvcmUudjEuRW50aXR5SA' + 'BSBnVwc2VydBIyCgZkZWxldGUYByABKAsyGC5nb29nbGUuZGF0YXN0b3JlLnYxLktleUgAUgZk' + 'ZWxldGUSIwoMYmFzZV92ZXJzaW9uGAggASgDSAFSC2Jhc2VWZXJzaW9uEj0KC3VwZGF0ZV90aW' + '1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBUgp1cGRhdGVUaW1lEkYKDXBy' + 'b3BlcnR5X21hc2sYCSABKAsyIS5nb29nbGUuZGF0YXN0b3JlLnYxLlByb3BlcnR5TWFza1IMcH' + 'JvcGVydHlNYXNrQgsKCW9wZXJhdGlvbkIdChtjb25mbGljdF9kZXRlY3Rpb25fc3RyYXRlZ3k='); + +@$core.Deprecated('Use mutationResultDescriptor instead') +const MutationResult$json = { + '1': 'MutationResult', + '2': [ + { + '1': 'key', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Key', + '10': 'key' + }, + {'1': 'version', '3': 4, '4': 1, '5': 3, '10': 'version'}, + { + '1': 'create_time', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'updateTime' + }, + { + '1': 'conflict_detected', + '3': 5, + '4': 1, + '5': 8, + '10': 'conflictDetected' + }, + ], +}; + +/// Descriptor for `MutationResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mutationResultDescriptor = $convert.base64Decode( + 'Cg5NdXRhdGlvblJlc3VsdBIqCgNrZXkYAyABKAsyGC5nb29nbGUuZGF0YXN0b3JlLnYxLktleV' + 'IDa2V5EhgKB3ZlcnNpb24YBCABKANSB3ZlcnNpb24SOwoLY3JlYXRlX3RpbWUYByABKAsyGi5n' + 'b29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpjcmVhdGVUaW1lEjsKC3VwZGF0ZV90aW1lGAYgAS' + 'gLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKdXBkYXRlVGltZRIrChFjb25mbGljdF9k' + 'ZXRlY3RlZBgFIAEoCFIQY29uZmxpY3REZXRlY3RlZA=='); + +@$core.Deprecated('Use propertyMaskDescriptor instead') +const PropertyMask$json = { + '1': 'PropertyMask', + '2': [ + {'1': 'paths', '3': 1, '4': 3, '5': 9, '10': 'paths'}, + ], +}; + +/// Descriptor for `PropertyMask`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyMaskDescriptor = + $convert.base64Decode('CgxQcm9wZXJ0eU1hc2sSFAoFcGF0aHMYASADKAlSBXBhdGhz'); + +@$core.Deprecated('Use readOptionsDescriptor instead') +const ReadOptions$json = { + '1': 'ReadOptions', + '2': [ + { + '1': 'read_consistency', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.ReadOptions.ReadConsistency', + '9': 0, + '10': 'readConsistency' + }, + {'1': 'transaction', '3': 2, '4': 1, '5': 12, '9': 0, '10': 'transaction'}, + { + '1': 'new_transaction', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.TransactionOptions', + '9': 0, + '10': 'newTransaction' + }, + { + '1': 'read_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '9': 0, + '10': 'readTime' + }, + ], + '4': [ReadOptions_ReadConsistency$json], + '8': [ + {'1': 'consistency_type'}, + ], +}; + +@$core.Deprecated('Use readOptionsDescriptor instead') +const ReadOptions_ReadConsistency$json = { + '1': 'ReadConsistency', + '2': [ + {'1': 'READ_CONSISTENCY_UNSPECIFIED', '2': 0}, + {'1': 'STRONG', '2': 1}, + {'1': 'EVENTUAL', '2': 2}, + ], +}; + +/// Descriptor for `ReadOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List readOptionsDescriptor = $convert.base64Decode( + 'CgtSZWFkT3B0aW9ucxJdChByZWFkX2NvbnNpc3RlbmN5GAEgASgOMjAuZ29vZ2xlLmRhdGFzdG' + '9yZS52MS5SZWFkT3B0aW9ucy5SZWFkQ29uc2lzdGVuY3lIAFIPcmVhZENvbnNpc3RlbmN5EiIK' + 'C3RyYW5zYWN0aW9uGAIgASgMSABSC3RyYW5zYWN0aW9uElIKD25ld190cmFuc2FjdGlvbhgDIA' + 'EoCzInLmdvb2dsZS5kYXRhc3RvcmUudjEuVHJhbnNhY3Rpb25PcHRpb25zSABSDm5ld1RyYW5z' + 'YWN0aW9uEjkKCXJlYWRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAF' + 'IIcmVhZFRpbWUiTQoPUmVhZENvbnNpc3RlbmN5EiAKHFJFQURfQ09OU0lTVEVOQ1lfVU5TUEVD' + 'SUZJRUQQABIKCgZTVFJPTkcQARIMCghFVkVOVFVBTBACQhIKEGNvbnNpc3RlbmN5X3R5cGU='); + +@$core.Deprecated('Use transactionOptionsDescriptor instead') +const TransactionOptions$json = { + '1': 'TransactionOptions', + '2': [ + { + '1': 'read_write', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.TransactionOptions.ReadWrite', + '9': 0, + '10': 'readWrite' + }, + { + '1': 'read_only', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.TransactionOptions.ReadOnly', + '9': 0, + '10': 'readOnly' + }, + ], + '3': [TransactionOptions_ReadWrite$json, TransactionOptions_ReadOnly$json], + '8': [ + {'1': 'mode'}, + ], +}; + +@$core.Deprecated('Use transactionOptionsDescriptor instead') +const TransactionOptions_ReadWrite$json = { + '1': 'ReadWrite', + '2': [ + { + '1': 'previous_transaction', + '3': 1, + '4': 1, + '5': 12, + '10': 'previousTransaction' + }, + ], +}; + +@$core.Deprecated('Use transactionOptionsDescriptor instead') +const TransactionOptions_ReadOnly$json = { + '1': 'ReadOnly', + '2': [ + { + '1': 'read_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'readTime' + }, + ], +}; + +/// Descriptor for `TransactionOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List transactionOptionsDescriptor = $convert.base64Decode( + 'ChJUcmFuc2FjdGlvbk9wdGlvbnMSUgoKcmVhZF93cml0ZRgBIAEoCzIxLmdvb2dsZS5kYXRhc3' + 'RvcmUudjEuVHJhbnNhY3Rpb25PcHRpb25zLlJlYWRXcml0ZUgAUglyZWFkV3JpdGUSTwoJcmVh' + 'ZF9vbmx5GAIgASgLMjAuZ29vZ2xlLmRhdGFzdG9yZS52MS5UcmFuc2FjdGlvbk9wdGlvbnMuUm' + 'VhZE9ubHlIAFIIcmVhZE9ubHkaPgoJUmVhZFdyaXRlEjEKFHByZXZpb3VzX3RyYW5zYWN0aW9u' + 'GAEgASgMUhNwcmV2aW91c1RyYW5zYWN0aW9uGkMKCFJlYWRPbmx5EjcKCXJlYWRfdGltZRgBIA' + 'EoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJlYWRUaW1lQgYKBG1vZGU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pb.dart new file mode 100644 index 00000000..a13c5fa8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pb.dart @@ -0,0 +1,866 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/struct.pbenum.dart' as $48; +import '../../protobuf/timestamp.pb.dart' as $50; +import '../../type/latlng.pb.dart' as $71; + +/// A partition ID identifies a grouping of entities. The grouping is always +/// by project and namespace, however the namespace ID may be empty. +/// +/// A partition ID contains several dimensions: +/// project ID and namespace ID. +/// +/// Partition dimensions: +/// +/// - May be `""`. +/// - Must be valid UTF-8 bytes. +/// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` +/// If the value of any dimension matches regex `__.*__`, the partition is +/// reserved/read-only. +/// A reserved/read-only partition ID is forbidden in certain documented +/// contexts. +/// +/// Foreign partition IDs (in which the project ID does +/// not match the context project ID ) are discouraged. +/// Reads and writes of foreign partition IDs may fail if the project is not in +/// an active state. +class PartitionId extends $pb.GeneratedMessage { + factory PartitionId({ + $core.String? projectId, + $core.String? databaseId, + $core.String? namespaceId, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + if (namespaceId != null) { + $result.namespaceId = namespaceId; + } + return $result; + } + PartitionId._() : super(); + factory PartitionId.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PartitionId.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PartitionId', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'projectId') + ..aOS(3, _omitFieldNames ? '' : 'databaseId') + ..aOS(4, _omitFieldNames ? '' : 'namespaceId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PartitionId clone() => PartitionId()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PartitionId copyWith(void Function(PartitionId) updates) => + super.copyWith((message) => updates(message as PartitionId)) + as PartitionId; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PartitionId create() => PartitionId._(); + PartitionId createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PartitionId getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PartitionId? _defaultInstance; + + /// The ID of the project to which the entities belong. + @$pb.TagNumber(2) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(2) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(2) + void clearProjectId() => clearField(2); + + /// If not empty, the ID of the database to which the entities + /// belong. + @$pb.TagNumber(3) + $core.String get databaseId => $_getSZ(1); + @$pb.TagNumber(3) + set databaseId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasDatabaseId() => $_has(1); + @$pb.TagNumber(3) + void clearDatabaseId() => clearField(3); + + /// If not empty, the ID of the namespace to which the entities belong. + @$pb.TagNumber(4) + $core.String get namespaceId => $_getSZ(2); + @$pb.TagNumber(4) + set namespaceId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasNamespaceId() => $_has(2); + @$pb.TagNumber(4) + void clearNamespaceId() => clearField(4); +} + +enum Key_PathElement_IdType { id, name, notSet } + +/// A (kind, ID/name) pair used to construct a key path. +/// +/// If either name or ID is set, the element is complete. +/// If neither is set, the element is incomplete. +class Key_PathElement extends $pb.GeneratedMessage { + factory Key_PathElement({ + $core.String? kind, + $fixnum.Int64? id, + $core.String? name, + }) { + final $result = create(); + if (kind != null) { + $result.kind = kind; + } + if (id != null) { + $result.id = id; + } + if (name != null) { + $result.name = name; + } + return $result; + } + Key_PathElement._() : super(); + factory Key_PathElement.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Key_PathElement.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Key_PathElement_IdType> + _Key_PathElement_IdTypeByTag = { + 2: Key_PathElement_IdType.id, + 3: Key_PathElement_IdType.name, + 0: Key_PathElement_IdType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Key.PathElement', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..aOS(1, _omitFieldNames ? '' : 'kind') + ..aInt64(2, _omitFieldNames ? '' : 'id') + ..aOS(3, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Key_PathElement clone() => Key_PathElement()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Key_PathElement copyWith(void Function(Key_PathElement) updates) => + super.copyWith((message) => updates(message as Key_PathElement)) + as Key_PathElement; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Key_PathElement create() => Key_PathElement._(); + Key_PathElement createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Key_PathElement getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Key_PathElement? _defaultInstance; + + Key_PathElement_IdType whichIdType() => + _Key_PathElement_IdTypeByTag[$_whichOneof(0)]!; + void clearIdType() => clearField($_whichOneof(0)); + + /// The kind of the entity. + /// + /// A kind matching regex `__.*__` is reserved/read-only. + /// A kind must not contain more than 1500 bytes when UTF-8 encoded. + /// Cannot be `""`. + /// + /// Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are + /// encoded as `__bytes__` where `` is the base-64 encoding of the + /// bytes. + @$pb.TagNumber(1) + $core.String get kind => $_getSZ(0); + @$pb.TagNumber(1) + set kind($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKind() => $_has(0); + @$pb.TagNumber(1) + void clearKind() => clearField(1); + + /// The auto-allocated ID of the entity. + /// + /// Never equal to zero. Values less than zero are discouraged and may not + /// be supported in the future. + @$pb.TagNumber(2) + $fixnum.Int64 get id => $_getI64(1); + @$pb.TagNumber(2) + set id($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// The name of the entity. + /// + /// A name matching regex `__.*__` is reserved/read-only. + /// A name must not be more than 1500 bytes when UTF-8 encoded. + /// Cannot be `""`. + /// + /// Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are + /// encoded as `__bytes__` where `` is the base-64 encoding of the + /// bytes. + @$pb.TagNumber(3) + $core.String get name => $_getSZ(2); + @$pb.TagNumber(3) + set name($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasName() => $_has(2); + @$pb.TagNumber(3) + void clearName() => clearField(3); +} + +/// A unique identifier for an entity. +/// If a key's partition ID or any of its path kinds or names are +/// reserved/read-only, the key is reserved/read-only. +/// A reserved/read-only key is forbidden in certain documented contexts. +class Key extends $pb.GeneratedMessage { + factory Key({ + PartitionId? partitionId, + $core.Iterable? path, + }) { + final $result = create(); + if (partitionId != null) { + $result.partitionId = partitionId; + } + if (path != null) { + $result.path.addAll(path); + } + return $result; + } + Key._() : super(); + factory Key.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Key.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Key', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'partitionId', + subBuilder: PartitionId.create) + ..pc(2, _omitFieldNames ? '' : 'path', $pb.PbFieldType.PM, + subBuilder: Key_PathElement.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Key clone() => Key()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Key copyWith(void Function(Key) updates) => + super.copyWith((message) => updates(message as Key)) as Key; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Key create() => Key._(); + Key createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Key getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Key? _defaultInstance; + + /// Entities are partitioned into subsets, currently identified by a project + /// ID and namespace ID. + /// Queries are scoped to a single partition. + @$pb.TagNumber(1) + PartitionId get partitionId => $_getN(0); + @$pb.TagNumber(1) + set partitionId(PartitionId v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasPartitionId() => $_has(0); + @$pb.TagNumber(1) + void clearPartitionId() => clearField(1); + @$pb.TagNumber(1) + PartitionId ensurePartitionId() => $_ensure(0); + + /// The entity path. + /// An entity path consists of one or more elements composed of a kind and a + /// string or numerical identifier, which identify entities. The first + /// element identifies a _root entity_, the second element identifies + /// a _child_ of the root entity, the third element identifies a child of the + /// second entity, and so forth. The entities identified by all prefixes of + /// the path are called the element's _ancestors_. + /// + /// An entity path is always fully complete: *all* of the entity's ancestors + /// are required to be in the path along with the entity identifier itself. + /// The only exception is that in some documented cases, the identifier in the + /// last path element (for the entity) itself may be omitted. For example, + /// the last path element of the key of `Mutation.insert` may have no + /// identifier. + /// + /// A path can never be empty, and a path can have at most 100 elements. + @$pb.TagNumber(2) + $core.List get path => $_getList(1); +} + +/// An array value. +class ArrayValue extends $pb.GeneratedMessage { + factory ArrayValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + ArrayValue._() : super(); + factory ArrayValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ArrayValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ArrayValue', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ArrayValue clone() => ArrayValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ArrayValue copyWith(void Function(ArrayValue) updates) => + super.copyWith((message) => updates(message as ArrayValue)) as ArrayValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ArrayValue create() => ArrayValue._(); + ArrayValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ArrayValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ArrayValue? _defaultInstance; + + /// Values in the array. + /// The order of values in an array is preserved as long as all values have + /// identical settings for 'exclude_from_indexes'. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + +enum Value_ValueType { + booleanValue, + integerValue, + doubleValue, + keyValue, + entityValue, + geoPointValue, + arrayValue, + timestampValue, + nullValue, + stringValue, + blobValue, + notSet +} + +/// A message that can hold any of the supported value types and associated +/// metadata. +class Value extends $pb.GeneratedMessage { + factory Value({ + $core.bool? booleanValue, + $fixnum.Int64? integerValue, + $core.double? doubleValue, + Key? keyValue, + Entity? entityValue, + $71.LatLng? geoPointValue, + ArrayValue? arrayValue, + $50.Timestamp? timestampValue, + $48.NullValue? nullValue, + $core.int? meaning, + $core.String? stringValue, + $core.List<$core.int>? blobValue, + $core.bool? excludeFromIndexes, + }) { + final $result = create(); + if (booleanValue != null) { + $result.booleanValue = booleanValue; + } + if (integerValue != null) { + $result.integerValue = integerValue; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (keyValue != null) { + $result.keyValue = keyValue; + } + if (entityValue != null) { + $result.entityValue = entityValue; + } + if (geoPointValue != null) { + $result.geoPointValue = geoPointValue; + } + if (arrayValue != null) { + $result.arrayValue = arrayValue; + } + if (timestampValue != null) { + $result.timestampValue = timestampValue; + } + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (meaning != null) { + $result.meaning = meaning; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (blobValue != null) { + $result.blobValue = blobValue; + } + if (excludeFromIndexes != null) { + $result.excludeFromIndexes = excludeFromIndexes; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_ValueType> _Value_ValueTypeByTag = { + 1: Value_ValueType.booleanValue, + 2: Value_ValueType.integerValue, + 3: Value_ValueType.doubleValue, + 5: Value_ValueType.keyValue, + 6: Value_ValueType.entityValue, + 8: Value_ValueType.geoPointValue, + 9: Value_ValueType.arrayValue, + 10: Value_ValueType.timestampValue, + 11: Value_ValueType.nullValue, + 17: Value_ValueType.stringValue, + 18: Value_ValueType.blobValue, + 0: Value_ValueType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Value', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 5, 6, 8, 9, 10, 11, 17, 18]) + ..aOB(1, _omitFieldNames ? '' : 'booleanValue') + ..aInt64(2, _omitFieldNames ? '' : 'integerValue') + ..a<$core.double>( + 3, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOM(5, _omitFieldNames ? '' : 'keyValue', subBuilder: Key.create) + ..aOM(6, _omitFieldNames ? '' : 'entityValue', + subBuilder: Entity.create) + ..aOM<$71.LatLng>(8, _omitFieldNames ? '' : 'geoPointValue', + subBuilder: $71.LatLng.create) + ..aOM(9, _omitFieldNames ? '' : 'arrayValue', + subBuilder: ArrayValue.create) + ..aOM<$50.Timestamp>(10, _omitFieldNames ? '' : 'timestampValue', + subBuilder: $50.Timestamp.create) + ..e<$48.NullValue>( + 11, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..a<$core.int>(14, _omitFieldNames ? '' : 'meaning', $pb.PbFieldType.O3) + ..aOS(17, _omitFieldNames ? '' : 'stringValue') + ..a<$core.List<$core.int>>( + 18, _omitFieldNames ? '' : 'blobValue', $pb.PbFieldType.OY) + ..aOB(19, _omitFieldNames ? '' : 'excludeFromIndexes') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => + super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_ValueType whichValueType() => _Value_ValueTypeByTag[$_whichOneof(0)]!; + void clearValueType() => clearField($_whichOneof(0)); + + /// A boolean value. + @$pb.TagNumber(1) + $core.bool get booleanValue => $_getBF(0); + @$pb.TagNumber(1) + set booleanValue($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasBooleanValue() => $_has(0); + @$pb.TagNumber(1) + void clearBooleanValue() => clearField(1); + + /// An integer value. + @$pb.TagNumber(2) + $fixnum.Int64 get integerValue => $_getI64(1); + @$pb.TagNumber(2) + set integerValue($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasIntegerValue() => $_has(1); + @$pb.TagNumber(2) + void clearIntegerValue() => clearField(2); + + /// A double value. + @$pb.TagNumber(3) + $core.double get doubleValue => $_getN(2); + @$pb.TagNumber(3) + set doubleValue($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDoubleValue() => $_has(2); + @$pb.TagNumber(3) + void clearDoubleValue() => clearField(3); + + /// A key value. + @$pb.TagNumber(5) + Key get keyValue => $_getN(3); + @$pb.TagNumber(5) + set keyValue(Key v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasKeyValue() => $_has(3); + @$pb.TagNumber(5) + void clearKeyValue() => clearField(5); + @$pb.TagNumber(5) + Key ensureKeyValue() => $_ensure(3); + + /// An entity value. + /// + /// - May have no key. + /// - May have a key with an incomplete key path. + /// - May have a reserved/read-only key. + @$pb.TagNumber(6) + Entity get entityValue => $_getN(4); + @$pb.TagNumber(6) + set entityValue(Entity v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasEntityValue() => $_has(4); + @$pb.TagNumber(6) + void clearEntityValue() => clearField(6); + @$pb.TagNumber(6) + Entity ensureEntityValue() => $_ensure(4); + + /// A geo point value representing a point on the surface of Earth. + @$pb.TagNumber(8) + $71.LatLng get geoPointValue => $_getN(5); + @$pb.TagNumber(8) + set geoPointValue($71.LatLng v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasGeoPointValue() => $_has(5); + @$pb.TagNumber(8) + void clearGeoPointValue() => clearField(8); + @$pb.TagNumber(8) + $71.LatLng ensureGeoPointValue() => $_ensure(5); + + /// An array value. + /// Cannot contain another array value. + /// A `Value` instance that sets field `array_value` must not set fields + /// `meaning` or `exclude_from_indexes`. + @$pb.TagNumber(9) + ArrayValue get arrayValue => $_getN(6); + @$pb.TagNumber(9) + set arrayValue(ArrayValue v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasArrayValue() => $_has(6); + @$pb.TagNumber(9) + void clearArrayValue() => clearField(9); + @$pb.TagNumber(9) + ArrayValue ensureArrayValue() => $_ensure(6); + + /// A timestamp value. + /// When stored in the Datastore, precise only to microseconds; + /// any additional precision is rounded down. + @$pb.TagNumber(10) + $50.Timestamp get timestampValue => $_getN(7); + @$pb.TagNumber(10) + set timestampValue($50.Timestamp v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasTimestampValue() => $_has(7); + @$pb.TagNumber(10) + void clearTimestampValue() => clearField(10); + @$pb.TagNumber(10) + $50.Timestamp ensureTimestampValue() => $_ensure(7); + + /// A null value. + @$pb.TagNumber(11) + $48.NullValue get nullValue => $_getN(8); + @$pb.TagNumber(11) + set nullValue($48.NullValue v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasNullValue() => $_has(8); + @$pb.TagNumber(11) + void clearNullValue() => clearField(11); + + /// The `meaning` field should only be populated for backwards compatibility. + @$pb.TagNumber(14) + $core.int get meaning => $_getIZ(9); + @$pb.TagNumber(14) + set meaning($core.int v) { + $_setSignedInt32(9, v); + } + + @$pb.TagNumber(14) + $core.bool hasMeaning() => $_has(9); + @$pb.TagNumber(14) + void clearMeaning() => clearField(14); + + /// A UTF-8 encoded string value. + /// When `exclude_from_indexes` is false (it is indexed) , may have at most + /// 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes. + @$pb.TagNumber(17) + $core.String get stringValue => $_getSZ(10); + @$pb.TagNumber(17) + set stringValue($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(17) + $core.bool hasStringValue() => $_has(10); + @$pb.TagNumber(17) + void clearStringValue() => clearField(17); + + /// A blob value. + /// May have at most 1,000,000 bytes. + /// When `exclude_from_indexes` is false, may have at most 1500 bytes. + /// In JSON requests, must be base64-encoded. + @$pb.TagNumber(18) + $core.List<$core.int> get blobValue => $_getN(11); + @$pb.TagNumber(18) + set blobValue($core.List<$core.int> v) { + $_setBytes(11, v); + } + + @$pb.TagNumber(18) + $core.bool hasBlobValue() => $_has(11); + @$pb.TagNumber(18) + void clearBlobValue() => clearField(18); + + /// If the value should be excluded from all indexes including those defined + /// explicitly. + @$pb.TagNumber(19) + $core.bool get excludeFromIndexes => $_getBF(12); + @$pb.TagNumber(19) + set excludeFromIndexes($core.bool v) { + $_setBool(12, v); + } + + @$pb.TagNumber(19) + $core.bool hasExcludeFromIndexes() => $_has(12); + @$pb.TagNumber(19) + void clearExcludeFromIndexes() => clearField(19); +} + +/// A Datastore data object. +/// +/// Must not exceed 1 MiB - 4 bytes. +class Entity extends $pb.GeneratedMessage { + factory Entity({ + Key? key, + $core.Map<$core.String, Value>? properties, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (properties != null) { + $result.properties.addAll(properties); + } + return $result; + } + Entity._() : super(); + factory Entity.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Entity.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Entity', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'key', subBuilder: Key.create) + ..m<$core.String, Value>(3, _omitFieldNames ? '' : 'properties', + entryClassName: 'Entity.PropertiesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Value.create, + valueDefaultOrMaker: Value.getDefault, + packageName: const $pb.PackageName('google.datastore.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Entity clone() => Entity()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Entity copyWith(void Function(Entity) updates) => + super.copyWith((message) => updates(message as Entity)) as Entity; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Entity create() => Entity._(); + Entity createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Entity getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Entity? _defaultInstance; + + /// The entity's key. + /// + /// An entity must have a key, unless otherwise documented (for example, + /// an entity in `Value.entity_value` may have no key). + /// An entity's kind is its key path's last element's kind, + /// or null if it has no key. + @$pb.TagNumber(1) + Key get key => $_getN(0); + @$pb.TagNumber(1) + set key(Key v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + @$pb.TagNumber(1) + Key ensureKey() => $_ensure(0); + + /// The entity's properties. + /// The map's keys are property names. + /// A property name matching regex `__.*__` is reserved. + /// A reserved property name is forbidden in certain documented contexts. + /// The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot + /// be empty. + @$pb.TagNumber(3) + $core.Map<$core.String, Value> get properties => $_getMap(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pbenum.dart new file mode 100644 index 00000000..9c6ee11b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pbjson.dart new file mode 100644 index 00000000..1a6651f7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/entity.pbjson.dart @@ -0,0 +1,249 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use partitionIdDescriptor instead') +const PartitionId$json = { + '1': 'PartitionId', + '2': [ + {'1': 'project_id', '3': 2, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'database_id', '3': 3, '4': 1, '5': 9, '10': 'databaseId'}, + {'1': 'namespace_id', '3': 4, '4': 1, '5': 9, '10': 'namespaceId'}, + ], +}; + +/// Descriptor for `PartitionId`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List partitionIdDescriptor = $convert.base64Decode( + 'CgtQYXJ0aXRpb25JZBIdCgpwcm9qZWN0X2lkGAIgASgJUglwcm9qZWN0SWQSHwoLZGF0YWJhc2' + 'VfaWQYAyABKAlSCmRhdGFiYXNlSWQSIQoMbmFtZXNwYWNlX2lkGAQgASgJUgtuYW1lc3BhY2VJ' + 'ZA=='); + +@$core.Deprecated('Use keyDescriptor instead') +const Key$json = { + '1': 'Key', + '2': [ + { + '1': 'partition_id', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PartitionId', + '10': 'partitionId' + }, + { + '1': 'path', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Key.PathElement', + '10': 'path' + }, + ], + '3': [Key_PathElement$json], +}; + +@$core.Deprecated('Use keyDescriptor instead') +const Key_PathElement$json = { + '1': 'PathElement', + '2': [ + {'1': 'kind', '3': 1, '4': 1, '5': 9, '10': 'kind'}, + {'1': 'id', '3': 2, '4': 1, '5': 3, '9': 0, '10': 'id'}, + {'1': 'name', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'name'}, + ], + '8': [ + {'1': 'id_type'}, + ], +}; + +/// Descriptor for `Key`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List keyDescriptor = $convert.base64Decode( + 'CgNLZXkSQwoMcGFydGl0aW9uX2lkGAEgASgLMiAuZ29vZ2xlLmRhdGFzdG9yZS52MS5QYXJ0aX' + 'Rpb25JZFILcGFydGl0aW9uSWQSOAoEcGF0aBgCIAMoCzIkLmdvb2dsZS5kYXRhc3RvcmUudjEu' + 'S2V5LlBhdGhFbGVtZW50UgRwYXRoGlQKC1BhdGhFbGVtZW50EhIKBGtpbmQYASABKAlSBGtpbm' + 'QSEAoCaWQYAiABKANIAFICaWQSFAoEbmFtZRgDIAEoCUgAUgRuYW1lQgkKB2lkX3R5cGU='); + +@$core.Deprecated('Use arrayValueDescriptor instead') +const ArrayValue$json = { + '1': 'ArrayValue', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Value', + '10': 'values' + }, + ], +}; + +/// Descriptor for `ArrayValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List arrayValueDescriptor = $convert.base64Decode( + 'CgpBcnJheVZhbHVlEjIKBnZhbHVlcxgBIAMoCzIaLmdvb2dsZS5kYXRhc3RvcmUudjEuVmFsdW' + 'VSBnZhbHVlcw=='); + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + { + '1': 'null_value', + '3': 11, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + { + '1': 'boolean_value', + '3': 1, + '4': 1, + '5': 8, + '9': 0, + '10': 'booleanValue' + }, + { + '1': 'integer_value', + '3': 2, + '4': 1, + '5': 3, + '9': 0, + '10': 'integerValue' + }, + {'1': 'double_value', '3': 3, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + { + '1': 'timestamp_value', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '9': 0, + '10': 'timestampValue' + }, + { + '1': 'key_value', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Key', + '9': 0, + '10': 'keyValue' + }, + {'1': 'string_value', '3': 17, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'blob_value', '3': 18, '4': 1, '5': 12, '9': 0, '10': 'blobValue'}, + { + '1': 'geo_point_value', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.type.LatLng', + '9': 0, + '10': 'geoPointValue' + }, + { + '1': 'entity_value', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Entity', + '9': 0, + '10': 'entityValue' + }, + { + '1': 'array_value', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ArrayValue', + '9': 0, + '10': 'arrayValue' + }, + {'1': 'meaning', '3': 14, '4': 1, '5': 5, '10': 'meaning'}, + { + '1': 'exclude_from_indexes', + '3': 19, + '4': 1, + '5': 8, + '10': 'excludeFromIndexes' + }, + ], + '8': [ + {'1': 'value_type'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAsgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZU' + 'gAUgludWxsVmFsdWUSJQoNYm9vbGVhbl92YWx1ZRgBIAEoCEgAUgxib29sZWFuVmFsdWUSJQoN' + 'aW50ZWdlcl92YWx1ZRgCIAEoA0gAUgxpbnRlZ2VyVmFsdWUSIwoMZG91YmxlX3ZhbHVlGAMgAS' + 'gBSABSC2RvdWJsZVZhbHVlEkUKD3RpbWVzdGFtcF92YWx1ZRgKIAEoCzIaLmdvb2dsZS5wcm90' + 'b2J1Zi5UaW1lc3RhbXBIAFIOdGltZXN0YW1wVmFsdWUSNwoJa2V5X3ZhbHVlGAUgASgLMhguZ2' + '9vZ2xlLmRhdGFzdG9yZS52MS5LZXlIAFIIa2V5VmFsdWUSIwoMc3RyaW5nX3ZhbHVlGBEgASgJ' + 'SABSC3N0cmluZ1ZhbHVlEh8KCmJsb2JfdmFsdWUYEiABKAxIAFIJYmxvYlZhbHVlEj0KD2dlb1' + '9wb2ludF92YWx1ZRgIIAEoCzITLmdvb2dsZS50eXBlLkxhdExuZ0gAUg1nZW9Qb2ludFZhbHVl' + 'EkAKDGVudGl0eV92YWx1ZRgGIAEoCzIbLmdvb2dsZS5kYXRhc3RvcmUudjEuRW50aXR5SABSC2' + 'VudGl0eVZhbHVlEkIKC2FycmF5X3ZhbHVlGAkgASgLMh8uZ29vZ2xlLmRhdGFzdG9yZS52MS5B' + 'cnJheVZhbHVlSABSCmFycmF5VmFsdWUSGAoHbWVhbmluZxgOIAEoBVIHbWVhbmluZxIwChRleG' + 'NsdWRlX2Zyb21faW5kZXhlcxgTIAEoCFISZXhjbHVkZUZyb21JbmRleGVzQgwKCnZhbHVlX3R5' + 'cGU='); + +@$core.Deprecated('Use entityDescriptor instead') +const Entity$json = { + '1': 'Entity', + '2': [ + { + '1': 'key', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Key', + '10': 'key' + }, + { + '1': 'properties', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Entity.PropertiesEntry', + '10': 'properties' + }, + ], + '3': [Entity_PropertiesEntry$json], +}; + +@$core.Deprecated('Use entityDescriptor instead') +const Entity_PropertiesEntry$json = { + '1': 'PropertiesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Value', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Entity`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityDescriptor = $convert.base64Decode( + 'CgZFbnRpdHkSKgoDa2V5GAEgASgLMhguZ29vZ2xlLmRhdGFzdG9yZS52MS5LZXlSA2tleRJLCg' + 'pwcm9wZXJ0aWVzGAMgAygLMisuZ29vZ2xlLmRhdGFzdG9yZS52MS5FbnRpdHkuUHJvcGVydGll' + 'c0VudHJ5Ugpwcm9wZXJ0aWVzGlkKD1Byb3BlcnRpZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleR' + 'IwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5kYXRhc3RvcmUudjEuVmFsdWVSBXZhbHVlOgI4AQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pb.dart new file mode 100644 index 00000000..2adbcd4f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pb.dart @@ -0,0 +1,1945 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/query.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import '../../protobuf/wrappers.pb.dart' as $73; +import 'entity.pb.dart' as $72; +import 'query.pbenum.dart'; + +export 'query.pbenum.dart'; + +/// The result of fetching an entity from Datastore. +class EntityResult extends $pb.GeneratedMessage { + factory EntityResult({ + $72.Entity? entity, + $core.List<$core.int>? cursor, + $fixnum.Int64? version, + $50.Timestamp? updateTime, + $50.Timestamp? createTime, + }) { + final $result = create(); + if (entity != null) { + $result.entity = entity; + } + if (cursor != null) { + $result.cursor = cursor; + } + if (version != null) { + $result.version = version; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (createTime != null) { + $result.createTime = createTime; + } + return $result; + } + EntityResult._() : super(); + factory EntityResult.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EntityResult.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EntityResult', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM<$72.Entity>(1, _omitFieldNames ? '' : 'entity', + subBuilder: $72.Entity.create) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'cursor', $pb.PbFieldType.OY) + ..aInt64(4, _omitFieldNames ? '' : 'version') + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(6, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EntityResult clone() => EntityResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EntityResult copyWith(void Function(EntityResult) updates) => + super.copyWith((message) => updates(message as EntityResult)) + as EntityResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EntityResult create() => EntityResult._(); + EntityResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EntityResult getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EntityResult? _defaultInstance; + + /// The resulting entity. + @$pb.TagNumber(1) + $72.Entity get entity => $_getN(0); + @$pb.TagNumber(1) + set entity($72.Entity v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasEntity() => $_has(0); + @$pb.TagNumber(1) + void clearEntity() => clearField(1); + @$pb.TagNumber(1) + $72.Entity ensureEntity() => $_ensure(0); + + /// A cursor that points to the position after the result entity. + /// Set only when the `EntityResult` is part of a `QueryResultBatch` message. + @$pb.TagNumber(3) + $core.List<$core.int> get cursor => $_getN(1); + @$pb.TagNumber(3) + set cursor($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasCursor() => $_has(1); + @$pb.TagNumber(3) + void clearCursor() => clearField(3); + + /// The version of the entity, a strictly positive number that monotonically + /// increases with changes to the entity. + /// + /// This field is set for + /// [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + /// + /// For [missing][google.datastore.v1.LookupResponse.missing] entities in + /// `LookupResponse`, this is the version of the snapshot that was used to look + /// up the entity, and it is always set except for eventually consistent reads. + @$pb.TagNumber(4) + $fixnum.Int64 get version => $_getI64(2); + @$pb.TagNumber(4) + set version($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasVersion() => $_has(2); + @$pb.TagNumber(4) + void clearVersion() => clearField(4); + + /// The time at which the entity was last changed. + /// This field is set for + /// [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + /// If this entity is missing, this field will not be set. + @$pb.TagNumber(5) + $50.Timestamp get updateTime => $_getN(3); + @$pb.TagNumber(5) + set updateTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasUpdateTime() => $_has(3); + @$pb.TagNumber(5) + void clearUpdateTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureUpdateTime() => $_ensure(3); + + /// The time at which the entity was created. + /// This field is set for + /// [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + /// If this entity is missing, this field will not be set. + @$pb.TagNumber(6) + $50.Timestamp get createTime => $_getN(4); + @$pb.TagNumber(6) + set createTime($50.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCreateTime() => $_has(4); + @$pb.TagNumber(6) + void clearCreateTime() => clearField(6); + @$pb.TagNumber(6) + $50.Timestamp ensureCreateTime() => $_ensure(4); +} + +/// A query for entities. +class Query extends $pb.GeneratedMessage { + factory Query({ + $core.Iterable? projection, + $core.Iterable? kind, + Filter? filter, + $core.Iterable? order, + $core.Iterable? distinctOn, + $core.List<$core.int>? startCursor, + $core.List<$core.int>? endCursor, + $core.int? offset, + $73.Int32Value? limit, + }) { + final $result = create(); + if (projection != null) { + $result.projection.addAll(projection); + } + if (kind != null) { + $result.kind.addAll(kind); + } + if (filter != null) { + $result.filter = filter; + } + if (order != null) { + $result.order.addAll(order); + } + if (distinctOn != null) { + $result.distinctOn.addAll(distinctOn); + } + if (startCursor != null) { + $result.startCursor = startCursor; + } + if (endCursor != null) { + $result.endCursor = endCursor; + } + if (offset != null) { + $result.offset = offset; + } + if (limit != null) { + $result.limit = limit; + } + return $result; + } + Query._() : super(); + factory Query.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Query.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Query', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc(2, _omitFieldNames ? '' : 'projection', $pb.PbFieldType.PM, + subBuilder: Projection.create) + ..pc(3, _omitFieldNames ? '' : 'kind', $pb.PbFieldType.PM, + subBuilder: KindExpression.create) + ..aOM(4, _omitFieldNames ? '' : 'filter', subBuilder: Filter.create) + ..pc(5, _omitFieldNames ? '' : 'order', $pb.PbFieldType.PM, + subBuilder: PropertyOrder.create) + ..pc( + 6, _omitFieldNames ? '' : 'distinctOn', $pb.PbFieldType.PM, + subBuilder: PropertyReference.create) + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'startCursor', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>( + 8, _omitFieldNames ? '' : 'endCursor', $pb.PbFieldType.OY) + ..a<$core.int>(10, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3) + ..aOM<$73.Int32Value>(12, _omitFieldNames ? '' : 'limit', + subBuilder: $73.Int32Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Query clone() => Query()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Query copyWith(void Function(Query) updates) => + super.copyWith((message) => updates(message as Query)) as Query; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Query create() => Query._(); + Query createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Query getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Query? _defaultInstance; + + /// The projection to return. Defaults to returning all properties. + @$pb.TagNumber(2) + $core.List get projection => $_getList(0); + + /// The kinds to query (if empty, returns entities of all kinds). + /// Currently at most 1 kind may be specified. + @$pb.TagNumber(3) + $core.List get kind => $_getList(1); + + /// The filter to apply. + @$pb.TagNumber(4) + Filter get filter => $_getN(2); + @$pb.TagNumber(4) + set filter(Filter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilter() => $_has(2); + @$pb.TagNumber(4) + void clearFilter() => clearField(4); + @$pb.TagNumber(4) + Filter ensureFilter() => $_ensure(2); + + /// The order to apply to the query results (if empty, order is unspecified). + @$pb.TagNumber(5) + $core.List get order => $_getList(3); + + /// The properties to make distinct. The query results will contain the first + /// result for each distinct combination of values for the given properties + /// (if empty, all results are returned). + /// + /// Requires: + /// + /// * If `order` is specified, the set of distinct on properties must appear + /// before the non-distinct on properties in `order`. + @$pb.TagNumber(6) + $core.List get distinctOn => $_getList(4); + + /// A starting point for the query results. Query cursors are + /// returned in query result batches and + /// [can only be used to continue the same + /// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + @$pb.TagNumber(7) + $core.List<$core.int> get startCursor => $_getN(5); + @$pb.TagNumber(7) + set startCursor($core.List<$core.int> v) { + $_setBytes(5, v); + } + + @$pb.TagNumber(7) + $core.bool hasStartCursor() => $_has(5); + @$pb.TagNumber(7) + void clearStartCursor() => clearField(7); + + /// An ending point for the query results. Query cursors are + /// returned in query result batches and + /// [can only be used to limit the same + /// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + @$pb.TagNumber(8) + $core.List<$core.int> get endCursor => $_getN(6); + @$pb.TagNumber(8) + set endCursor($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(8) + $core.bool hasEndCursor() => $_has(6); + @$pb.TagNumber(8) + void clearEndCursor() => clearField(8); + + /// The number of results to skip. Applies before limit, but after all other + /// constraints. Optional. Must be >= 0 if specified. + @$pb.TagNumber(10) + $core.int get offset => $_getIZ(7); + @$pb.TagNumber(10) + set offset($core.int v) { + $_setSignedInt32(7, v); + } + + @$pb.TagNumber(10) + $core.bool hasOffset() => $_has(7); + @$pb.TagNumber(10) + void clearOffset() => clearField(10); + + /// The maximum number of results to return. Applies after all other + /// constraints. Optional. + /// Unspecified is interpreted as no limit. + /// Must be >= 0 if specified. + @$pb.TagNumber(12) + $73.Int32Value get limit => $_getN(8); + @$pb.TagNumber(12) + set limit($73.Int32Value v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasLimit() => $_has(8); + @$pb.TagNumber(12) + void clearLimit() => clearField(12); + @$pb.TagNumber(12) + $73.Int32Value ensureLimit() => $_ensure(8); +} + +/// Count of entities that match the query. +/// +/// The `COUNT(*)` aggregation function operates on the entire entity +/// so it does not require a field reference. +class AggregationQuery_Aggregation_Count extends $pb.GeneratedMessage { + factory AggregationQuery_Aggregation_Count({ + $73.Int64Value? upTo, + }) { + final $result = create(); + if (upTo != null) { + $result.upTo = upTo; + } + return $result; + } + AggregationQuery_Aggregation_Count._() : super(); + factory AggregationQuery_Aggregation_Count.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationQuery_Aggregation_Count.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationQuery.Aggregation.Count', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM<$73.Int64Value>(1, _omitFieldNames ? '' : 'upTo', + subBuilder: $73.Int64Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation_Count clone() => + AggregationQuery_Aggregation_Count()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation_Count copyWith( + void Function(AggregationQuery_Aggregation_Count) updates) => + super.copyWith((message) => + updates(message as AggregationQuery_Aggregation_Count)) + as AggregationQuery_Aggregation_Count; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation_Count create() => + AggregationQuery_Aggregation_Count._(); + AggregationQuery_Aggregation_Count createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation_Count getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static AggregationQuery_Aggregation_Count? _defaultInstance; + + /// Optional. Optional constraint on the maximum number of entities to + /// count. + /// + /// This provides a way to set an upper bound on the number of entities + /// to scan, limiting latency, and cost. + /// + /// Unspecified is interpreted as no bound. + /// + /// If a zero value is provided, a count result of zero should always be + /// expected. + /// + /// High-Level Example: + /// + /// ``` + /// AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k ); + /// ``` + /// + /// Requires: + /// + /// * Must be non-negative when present. + @$pb.TagNumber(1) + $73.Int64Value get upTo => $_getN(0); + @$pb.TagNumber(1) + set upTo($73.Int64Value v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasUpTo() => $_has(0); + @$pb.TagNumber(1) + void clearUpTo() => clearField(1); + @$pb.TagNumber(1) + $73.Int64Value ensureUpTo() => $_ensure(0); +} + +/// Sum of the values of the requested property. +/// +/// * Only numeric values will be aggregated. All non-numeric values +/// including `NULL` are skipped. +/// +/// * If the aggregated values contain `NaN`, returns `NaN`. Infinity math +/// follows IEEE-754 standards. +/// +/// * If the aggregated value set is empty, returns 0. +/// +/// * Returns a 64-bit integer if all aggregated numbers are integers and the +/// sum result does not overflow. Otherwise, the result is returned as a +/// double. Note that even if all the aggregated values are integers, the +/// result is returned as a double if it cannot fit within a 64-bit signed +/// integer. When this occurs, the returned value will lose precision. +/// +/// * When underflow occurs, floating-point aggregation is non-deterministic. +/// This means that running the same query repeatedly without any changes to +/// the underlying values could produce slightly different results each +/// time. In those cases, values should be stored as integers over +/// floating-point numbers. +class AggregationQuery_Aggregation_Sum extends $pb.GeneratedMessage { + factory AggregationQuery_Aggregation_Sum({ + PropertyReference? property, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + return $result; + } + AggregationQuery_Aggregation_Sum._() : super(); + factory AggregationQuery_Aggregation_Sum.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationQuery_Aggregation_Sum.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationQuery.Aggregation.Sum', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation_Sum clone() => + AggregationQuery_Aggregation_Sum()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation_Sum copyWith( + void Function(AggregationQuery_Aggregation_Sum) updates) => + super.copyWith( + (message) => updates(message as AggregationQuery_Aggregation_Sum)) + as AggregationQuery_Aggregation_Sum; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation_Sum create() => + AggregationQuery_Aggregation_Sum._(); + AggregationQuery_Aggregation_Sum createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation_Sum getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static AggregationQuery_Aggregation_Sum? _defaultInstance; + + /// The property to aggregate on. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); +} + +/// Average of the values of the requested property. +/// +/// * Only numeric values will be aggregated. All non-numeric values +/// including `NULL` are skipped. +/// +/// * If the aggregated values contain `NaN`, returns `NaN`. Infinity math +/// follows IEEE-754 standards. +/// +/// * If the aggregated value set is empty, returns `NULL`. +/// +/// * Always returns the result as a double. +class AggregationQuery_Aggregation_Avg extends $pb.GeneratedMessage { + factory AggregationQuery_Aggregation_Avg({ + PropertyReference? property, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + return $result; + } + AggregationQuery_Aggregation_Avg._() : super(); + factory AggregationQuery_Aggregation_Avg.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationQuery_Aggregation_Avg.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationQuery.Aggregation.Avg', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation_Avg clone() => + AggregationQuery_Aggregation_Avg()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation_Avg copyWith( + void Function(AggregationQuery_Aggregation_Avg) updates) => + super.copyWith( + (message) => updates(message as AggregationQuery_Aggregation_Avg)) + as AggregationQuery_Aggregation_Avg; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation_Avg create() => + AggregationQuery_Aggregation_Avg._(); + AggregationQuery_Aggregation_Avg createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation_Avg getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static AggregationQuery_Aggregation_Avg? _defaultInstance; + + /// The property to aggregate on. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); +} + +enum AggregationQuery_Aggregation_Operator { count, sum, avg, notSet } + +/// Defines an aggregation that produces a single result. +class AggregationQuery_Aggregation extends $pb.GeneratedMessage { + factory AggregationQuery_Aggregation({ + AggregationQuery_Aggregation_Count? count, + AggregationQuery_Aggregation_Sum? sum, + AggregationQuery_Aggregation_Avg? avg, + $core.String? alias, + }) { + final $result = create(); + if (count != null) { + $result.count = count; + } + if (sum != null) { + $result.sum = sum; + } + if (avg != null) { + $result.avg = avg; + } + if (alias != null) { + $result.alias = alias; + } + return $result; + } + AggregationQuery_Aggregation._() : super(); + factory AggregationQuery_Aggregation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationQuery_Aggregation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, AggregationQuery_Aggregation_Operator> + _AggregationQuery_Aggregation_OperatorByTag = { + 1: AggregationQuery_Aggregation_Operator.count, + 2: AggregationQuery_Aggregation_Operator.sum, + 3: AggregationQuery_Aggregation_Operator.avg, + 0: AggregationQuery_Aggregation_Operator.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationQuery.Aggregation', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3]) + ..aOM(1, _omitFieldNames ? '' : 'count', + subBuilder: AggregationQuery_Aggregation_Count.create) + ..aOM(2, _omitFieldNames ? '' : 'sum', + subBuilder: AggregationQuery_Aggregation_Sum.create) + ..aOM(3, _omitFieldNames ? '' : 'avg', + subBuilder: AggregationQuery_Aggregation_Avg.create) + ..aOS(7, _omitFieldNames ? '' : 'alias') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation clone() => + AggregationQuery_Aggregation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationQuery_Aggregation copyWith( + void Function(AggregationQuery_Aggregation) updates) => + super.copyWith( + (message) => updates(message as AggregationQuery_Aggregation)) + as AggregationQuery_Aggregation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation create() => + AggregationQuery_Aggregation._(); + AggregationQuery_Aggregation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationQuery_Aggregation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AggregationQuery_Aggregation? _defaultInstance; + + AggregationQuery_Aggregation_Operator whichOperator() => + _AggregationQuery_Aggregation_OperatorByTag[$_whichOneof(0)]!; + void clearOperator() => clearField($_whichOneof(0)); + + /// Count aggregator. + @$pb.TagNumber(1) + AggregationQuery_Aggregation_Count get count => $_getN(0); + @$pb.TagNumber(1) + set count(AggregationQuery_Aggregation_Count v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCount() => $_has(0); + @$pb.TagNumber(1) + void clearCount() => clearField(1); + @$pb.TagNumber(1) + AggregationQuery_Aggregation_Count ensureCount() => $_ensure(0); + + /// Sum aggregator. + @$pb.TagNumber(2) + AggregationQuery_Aggregation_Sum get sum => $_getN(1); + @$pb.TagNumber(2) + set sum(AggregationQuery_Aggregation_Sum v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasSum() => $_has(1); + @$pb.TagNumber(2) + void clearSum() => clearField(2); + @$pb.TagNumber(2) + AggregationQuery_Aggregation_Sum ensureSum() => $_ensure(1); + + /// Average aggregator. + @$pb.TagNumber(3) + AggregationQuery_Aggregation_Avg get avg => $_getN(2); + @$pb.TagNumber(3) + set avg(AggregationQuery_Aggregation_Avg v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasAvg() => $_has(2); + @$pb.TagNumber(3) + void clearAvg() => clearField(3); + @$pb.TagNumber(3) + AggregationQuery_Aggregation_Avg ensureAvg() => $_ensure(2); + + /// Optional. Optional name of the property to store the result of the + /// aggregation. + /// + /// If not provided, Datastore will pick a default name following the format + /// `property_`. For example: + /// + /// ``` + /// AGGREGATE + /// COUNT_UP_TO(1) AS count_up_to_1, + /// COUNT_UP_TO(2), + /// COUNT_UP_TO(3) AS count_up_to_3, + /// COUNT(*) + /// OVER ( + /// ... + /// ); + /// ``` + /// + /// becomes: + /// + /// ``` + /// AGGREGATE + /// COUNT_UP_TO(1) AS count_up_to_1, + /// COUNT_UP_TO(2) AS property_1, + /// COUNT_UP_TO(3) AS count_up_to_3, + /// COUNT(*) AS property_2 + /// OVER ( + /// ... + /// ); + /// ``` + /// + /// Requires: + /// + /// * Must be unique across all aggregation aliases. + /// * Conform to [entity property + /// name][google.datastore.v1.Entity.properties] limitations. + @$pb.TagNumber(7) + $core.String get alias => $_getSZ(3); + @$pb.TagNumber(7) + set alias($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(7) + $core.bool hasAlias() => $_has(3); + @$pb.TagNumber(7) + void clearAlias() => clearField(7); +} + +enum AggregationQuery_QueryType { nestedQuery, notSet } + +/// Datastore query for running an aggregation over a +/// [Query][google.datastore.v1.Query]. +class AggregationQuery extends $pb.GeneratedMessage { + factory AggregationQuery({ + Query? nestedQuery, + $core.Iterable? aggregations, + }) { + final $result = create(); + if (nestedQuery != null) { + $result.nestedQuery = nestedQuery; + } + if (aggregations != null) { + $result.aggregations.addAll(aggregations); + } + return $result; + } + AggregationQuery._() : super(); + factory AggregationQuery.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AggregationQuery.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, AggregationQuery_QueryType> + _AggregationQuery_QueryTypeByTag = { + 1: AggregationQuery_QueryType.nestedQuery, + 0: AggregationQuery_QueryType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AggregationQuery', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1]) + ..aOM(1, _omitFieldNames ? '' : 'nestedQuery', + subBuilder: Query.create) + ..pc( + 3, _omitFieldNames ? '' : 'aggregations', $pb.PbFieldType.PM, + subBuilder: AggregationQuery_Aggregation.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AggregationQuery clone() => AggregationQuery()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AggregationQuery copyWith(void Function(AggregationQuery) updates) => + super.copyWith((message) => updates(message as AggregationQuery)) + as AggregationQuery; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AggregationQuery create() => AggregationQuery._(); + AggregationQuery createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AggregationQuery getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AggregationQuery? _defaultInstance; + + AggregationQuery_QueryType whichQueryType() => + _AggregationQuery_QueryTypeByTag[$_whichOneof(0)]!; + void clearQueryType() => clearField($_whichOneof(0)); + + /// Nested query for aggregation + @$pb.TagNumber(1) + Query get nestedQuery => $_getN(0); + @$pb.TagNumber(1) + set nestedQuery(Query v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNestedQuery() => $_has(0); + @$pb.TagNumber(1) + void clearNestedQuery() => clearField(1); + @$pb.TagNumber(1) + Query ensureNestedQuery() => $_ensure(0); + + /// Optional. Series of aggregations to apply over the results of the + /// `nested_query`. + /// + /// Requires: + /// + /// * A minimum of one and maximum of five aggregations per query. + @$pb.TagNumber(3) + $core.List get aggregations => $_getList(1); +} + +/// A representation of a kind. +class KindExpression extends $pb.GeneratedMessage { + factory KindExpression({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + KindExpression._() : super(); + factory KindExpression.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory KindExpression.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'KindExpression', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + KindExpression clone() => KindExpression()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + KindExpression copyWith(void Function(KindExpression) updates) => + super.copyWith((message) => updates(message as KindExpression)) + as KindExpression; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static KindExpression create() => KindExpression._(); + KindExpression createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static KindExpression getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static KindExpression? _defaultInstance; + + /// The name of the kind. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A reference to a property relative to the kind expressions. +class PropertyReference extends $pb.GeneratedMessage { + factory PropertyReference({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + PropertyReference._() : super(); + factory PropertyReference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyReference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyReference', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyReference clone() => PropertyReference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyReference copyWith(void Function(PropertyReference) updates) => + super.copyWith((message) => updates(message as PropertyReference)) + as PropertyReference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyReference create() => PropertyReference._(); + PropertyReference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyReference getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyReference? _defaultInstance; + + /// A reference to a property. + /// + /// Requires: + /// + /// * MUST be a dot-delimited (`.`) string of segments, where each segment + /// conforms to [entity property name][google.datastore.v1.Entity.properties] + /// limitations. + @$pb.TagNumber(2) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(2) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(2) + void clearName() => clearField(2); +} + +/// A representation of a property in a projection. +class Projection extends $pb.GeneratedMessage { + factory Projection({ + PropertyReference? property, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + return $result; + } + Projection._() : super(); + factory Projection.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Projection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Projection', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Projection clone() => Projection()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Projection copyWith(void Function(Projection) updates) => + super.copyWith((message) => updates(message as Projection)) as Projection; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Projection create() => Projection._(); + Projection createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Projection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Projection? _defaultInstance; + + /// The property to project. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); +} + +/// The desired order for a specific property. +class PropertyOrder extends $pb.GeneratedMessage { + factory PropertyOrder({ + PropertyReference? property, + PropertyOrder_Direction? direction, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + if (direction != null) { + $result.direction = direction; + } + return $result; + } + PropertyOrder._() : super(); + factory PropertyOrder.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyOrder.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyOrder', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..e( + 2, _omitFieldNames ? '' : 'direction', $pb.PbFieldType.OE, + defaultOrMaker: PropertyOrder_Direction.DIRECTION_UNSPECIFIED, + valueOf: PropertyOrder_Direction.valueOf, + enumValues: PropertyOrder_Direction.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyOrder clone() => PropertyOrder()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyOrder copyWith(void Function(PropertyOrder) updates) => + super.copyWith((message) => updates(message as PropertyOrder)) + as PropertyOrder; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyOrder create() => PropertyOrder._(); + PropertyOrder createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyOrder getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyOrder? _defaultInstance; + + /// The property to order by. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); + + /// The direction to order by. Defaults to `ASCENDING`. + @$pb.TagNumber(2) + PropertyOrder_Direction get direction => $_getN(1); + @$pb.TagNumber(2) + set direction(PropertyOrder_Direction v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDirection() => $_has(1); + @$pb.TagNumber(2) + void clearDirection() => clearField(2); +} + +enum Filter_FilterType { compositeFilter, propertyFilter, notSet } + +/// A holder for any type of filter. +class Filter extends $pb.GeneratedMessage { + factory Filter({ + CompositeFilter? compositeFilter, + PropertyFilter? propertyFilter, + }) { + final $result = create(); + if (compositeFilter != null) { + $result.compositeFilter = compositeFilter; + } + if (propertyFilter != null) { + $result.propertyFilter = propertyFilter; + } + return $result; + } + Filter._() : super(); + factory Filter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Filter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Filter_FilterType> _Filter_FilterTypeByTag = + { + 1: Filter_FilterType.compositeFilter, + 2: Filter_FilterType.propertyFilter, + 0: Filter_FilterType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Filter', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'compositeFilter', + subBuilder: CompositeFilter.create) + ..aOM(2, _omitFieldNames ? '' : 'propertyFilter', + subBuilder: PropertyFilter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Filter clone() => Filter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Filter copyWith(void Function(Filter) updates) => + super.copyWith((message) => updates(message as Filter)) as Filter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Filter create() => Filter._(); + Filter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Filter getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Filter? _defaultInstance; + + Filter_FilterType whichFilterType() => + _Filter_FilterTypeByTag[$_whichOneof(0)]!; + void clearFilterType() => clearField($_whichOneof(0)); + + /// A composite filter. + @$pb.TagNumber(1) + CompositeFilter get compositeFilter => $_getN(0); + @$pb.TagNumber(1) + set compositeFilter(CompositeFilter v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCompositeFilter() => $_has(0); + @$pb.TagNumber(1) + void clearCompositeFilter() => clearField(1); + @$pb.TagNumber(1) + CompositeFilter ensureCompositeFilter() => $_ensure(0); + + /// A filter on a property. + @$pb.TagNumber(2) + PropertyFilter get propertyFilter => $_getN(1); + @$pb.TagNumber(2) + set propertyFilter(PropertyFilter v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPropertyFilter() => $_has(1); + @$pb.TagNumber(2) + void clearPropertyFilter() => clearField(2); + @$pb.TagNumber(2) + PropertyFilter ensurePropertyFilter() => $_ensure(1); +} + +/// A filter that merges multiple other filters using the given operator. +class CompositeFilter extends $pb.GeneratedMessage { + factory CompositeFilter({ + CompositeFilter_Operator? op, + $core.Iterable? filters, + }) { + final $result = create(); + if (op != null) { + $result.op = op; + } + if (filters != null) { + $result.filters.addAll(filters); + } + return $result; + } + CompositeFilter._() : super(); + factory CompositeFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CompositeFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CompositeFilter', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, + defaultOrMaker: CompositeFilter_Operator.OPERATOR_UNSPECIFIED, + valueOf: CompositeFilter_Operator.valueOf, + enumValues: CompositeFilter_Operator.values) + ..pc(2, _omitFieldNames ? '' : 'filters', $pb.PbFieldType.PM, + subBuilder: Filter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CompositeFilter clone() => CompositeFilter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CompositeFilter copyWith(void Function(CompositeFilter) updates) => + super.copyWith((message) => updates(message as CompositeFilter)) + as CompositeFilter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CompositeFilter create() => CompositeFilter._(); + CompositeFilter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CompositeFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CompositeFilter? _defaultInstance; + + /// The operator for combining multiple filters. + @$pb.TagNumber(1) + CompositeFilter_Operator get op => $_getN(0); + @$pb.TagNumber(1) + set op(CompositeFilter_Operator v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasOp() => $_has(0); + @$pb.TagNumber(1) + void clearOp() => clearField(1); + + /// The list of filters to combine. + /// + /// Requires: + /// + /// * At least one filter is present. + @$pb.TagNumber(2) + $core.List get filters => $_getList(1); +} + +/// A filter on a specific property. +class PropertyFilter extends $pb.GeneratedMessage { + factory PropertyFilter({ + PropertyReference? property, + PropertyFilter_Operator? op, + $72.Value? value, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + if (op != null) { + $result.op = op; + } + if (value != null) { + $result.value = value; + } + return $result; + } + PropertyFilter._() : super(); + factory PropertyFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyFilter', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..e( + 2, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, + defaultOrMaker: PropertyFilter_Operator.OPERATOR_UNSPECIFIED, + valueOf: PropertyFilter_Operator.valueOf, + enumValues: PropertyFilter_Operator.values) + ..aOM<$72.Value>(3, _omitFieldNames ? '' : 'value', + subBuilder: $72.Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyFilter clone() => PropertyFilter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyFilter copyWith(void Function(PropertyFilter) updates) => + super.copyWith((message) => updates(message as PropertyFilter)) + as PropertyFilter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyFilter create() => PropertyFilter._(); + PropertyFilter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyFilter? _defaultInstance; + + /// The property to filter by. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); + + /// The operator to filter by. + @$pb.TagNumber(2) + PropertyFilter_Operator get op => $_getN(1); + @$pb.TagNumber(2) + set op(PropertyFilter_Operator v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOp() => $_has(1); + @$pb.TagNumber(2) + void clearOp() => clearField(2); + + /// The value to compare the property to. + @$pb.TagNumber(3) + $72.Value get value => $_getN(2); + @$pb.TagNumber(3) + set value($72.Value v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasValue() => $_has(2); + @$pb.TagNumber(3) + void clearValue() => clearField(3); + @$pb.TagNumber(3) + $72.Value ensureValue() => $_ensure(2); +} + +/// A [GQL +/// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). +class GqlQuery extends $pb.GeneratedMessage { + factory GqlQuery({ + $core.String? queryString, + $core.bool? allowLiterals, + $core.Iterable? positionalBindings, + $core.Map<$core.String, GqlQueryParameter>? namedBindings, + }) { + final $result = create(); + if (queryString != null) { + $result.queryString = queryString; + } + if (allowLiterals != null) { + $result.allowLiterals = allowLiterals; + } + if (positionalBindings != null) { + $result.positionalBindings.addAll(positionalBindings); + } + if (namedBindings != null) { + $result.namedBindings.addAll(namedBindings); + } + return $result; + } + GqlQuery._() : super(); + factory GqlQuery.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GqlQuery.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GqlQuery', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'queryString') + ..aOB(2, _omitFieldNames ? '' : 'allowLiterals') + ..pc( + 4, _omitFieldNames ? '' : 'positionalBindings', $pb.PbFieldType.PM, + subBuilder: GqlQueryParameter.create) + ..m<$core.String, GqlQueryParameter>( + 5, _omitFieldNames ? '' : 'namedBindings', + entryClassName: 'GqlQuery.NamedBindingsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: GqlQueryParameter.create, + valueDefaultOrMaker: GqlQueryParameter.getDefault, + packageName: const $pb.PackageName('google.datastore.v1')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GqlQuery clone() => GqlQuery()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GqlQuery copyWith(void Function(GqlQuery) updates) => + super.copyWith((message) => updates(message as GqlQuery)) as GqlQuery; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GqlQuery create() => GqlQuery._(); + GqlQuery createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GqlQuery getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GqlQuery? _defaultInstance; + + /// A string of the format described + /// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + @$pb.TagNumber(1) + $core.String get queryString => $_getSZ(0); + @$pb.TagNumber(1) + set queryString($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasQueryString() => $_has(0); + @$pb.TagNumber(1) + void clearQueryString() => clearField(1); + + /// When false, the query string must not contain any literals and instead must + /// bind all values. For example, + /// `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while + /// `SELECT * FROM Kind WHERE a = @value` is. + @$pb.TagNumber(2) + $core.bool get allowLiterals => $_getBF(1); + @$pb.TagNumber(2) + set allowLiterals($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasAllowLiterals() => $_has(1); + @$pb.TagNumber(2) + void clearAllowLiterals() => clearField(2); + + /// Numbered binding site @1 references the first numbered parameter, + /// effectively using 1-based indexing, rather than the usual 0. + /// + /// For each binding site numbered i in `query_string`, there must be an i-th + /// numbered parameter. The inverse must also be true. + @$pb.TagNumber(4) + $core.List get positionalBindings => $_getList(2); + + /// For each non-reserved named binding site in the query string, there must be + /// a named parameter with that name, but not necessarily the inverse. + /// + /// Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex + /// `__.*__`, and must not be `""`. + @$pb.TagNumber(5) + $core.Map<$core.String, GqlQueryParameter> get namedBindings => $_getMap(3); +} + +enum GqlQueryParameter_ParameterType { value, cursor, notSet } + +/// A binding parameter for a GQL query. +class GqlQueryParameter extends $pb.GeneratedMessage { + factory GqlQueryParameter({ + $72.Value? value, + $core.List<$core.int>? cursor, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (cursor != null) { + $result.cursor = cursor; + } + return $result; + } + GqlQueryParameter._() : super(); + factory GqlQueryParameter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GqlQueryParameter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, GqlQueryParameter_ParameterType> + _GqlQueryParameter_ParameterTypeByTag = { + 2: GqlQueryParameter_ParameterType.value, + 3: GqlQueryParameter_ParameterType.cursor, + 0: GqlQueryParameter_ParameterType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GqlQueryParameter', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..aOM<$72.Value>(2, _omitFieldNames ? '' : 'value', + subBuilder: $72.Value.create) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'cursor', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GqlQueryParameter clone() => GqlQueryParameter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GqlQueryParameter copyWith(void Function(GqlQueryParameter) updates) => + super.copyWith((message) => updates(message as GqlQueryParameter)) + as GqlQueryParameter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GqlQueryParameter create() => GqlQueryParameter._(); + GqlQueryParameter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GqlQueryParameter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GqlQueryParameter? _defaultInstance; + + GqlQueryParameter_ParameterType whichParameterType() => + _GqlQueryParameter_ParameterTypeByTag[$_whichOneof(0)]!; + void clearParameterType() => clearField($_whichOneof(0)); + + /// A value parameter. + @$pb.TagNumber(2) + $72.Value get value => $_getN(0); + @$pb.TagNumber(2) + set value($72.Value v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + @$pb.TagNumber(2) + $72.Value ensureValue() => $_ensure(0); + + /// A query cursor. Query cursors are returned in query + /// result batches. + @$pb.TagNumber(3) + $core.List<$core.int> get cursor => $_getN(1); + @$pb.TagNumber(3) + set cursor($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasCursor() => $_has(1); + @$pb.TagNumber(3) + void clearCursor() => clearField(3); +} + +/// A batch of results produced by a query. +class QueryResultBatch extends $pb.GeneratedMessage { + factory QueryResultBatch({ + EntityResult_ResultType? entityResultType, + $core.Iterable? entityResults, + $core.List<$core.int>? skippedCursor, + $core.List<$core.int>? endCursor, + QueryResultBatch_MoreResultsType? moreResults, + $core.int? skippedResults, + $fixnum.Int64? snapshotVersion, + $50.Timestamp? readTime, + }) { + final $result = create(); + if (entityResultType != null) { + $result.entityResultType = entityResultType; + } + if (entityResults != null) { + $result.entityResults.addAll(entityResults); + } + if (skippedCursor != null) { + $result.skippedCursor = skippedCursor; + } + if (endCursor != null) { + $result.endCursor = endCursor; + } + if (moreResults != null) { + $result.moreResults = moreResults; + } + if (skippedResults != null) { + $result.skippedResults = skippedResults; + } + if (snapshotVersion != null) { + $result.snapshotVersion = snapshotVersion; + } + if (readTime != null) { + $result.readTime = readTime; + } + return $result; + } + QueryResultBatch._() : super(); + factory QueryResultBatch.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryResultBatch.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryResultBatch', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'entityResultType', $pb.PbFieldType.OE, + defaultOrMaker: EntityResult_ResultType.RESULT_TYPE_UNSPECIFIED, + valueOf: EntityResult_ResultType.valueOf, + enumValues: EntityResult_ResultType.values) + ..pc( + 2, _omitFieldNames ? '' : 'entityResults', $pb.PbFieldType.PM, + subBuilder: EntityResult.create) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'skippedCursor', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>( + 4, _omitFieldNames ? '' : 'endCursor', $pb.PbFieldType.OY) + ..e( + 5, _omitFieldNames ? '' : 'moreResults', $pb.PbFieldType.OE, + defaultOrMaker: + QueryResultBatch_MoreResultsType.MORE_RESULTS_TYPE_UNSPECIFIED, + valueOf: QueryResultBatch_MoreResultsType.valueOf, + enumValues: QueryResultBatch_MoreResultsType.values) + ..a<$core.int>( + 6, _omitFieldNames ? '' : 'skippedResults', $pb.PbFieldType.O3) + ..aInt64(7, _omitFieldNames ? '' : 'snapshotVersion') + ..aOM<$50.Timestamp>(8, _omitFieldNames ? '' : 'readTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryResultBatch clone() => QueryResultBatch()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryResultBatch copyWith(void Function(QueryResultBatch) updates) => + super.copyWith((message) => updates(message as QueryResultBatch)) + as QueryResultBatch; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryResultBatch create() => QueryResultBatch._(); + QueryResultBatch createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryResultBatch getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QueryResultBatch? _defaultInstance; + + /// The result type for every entity in `entity_results`. + @$pb.TagNumber(1) + EntityResult_ResultType get entityResultType => $_getN(0); + @$pb.TagNumber(1) + set entityResultType(EntityResult_ResultType v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasEntityResultType() => $_has(0); + @$pb.TagNumber(1) + void clearEntityResultType() => clearField(1); + + /// The results for this batch. + @$pb.TagNumber(2) + $core.List get entityResults => $_getList(1); + + /// A cursor that points to the position after the last skipped result. + /// Will be set when `skipped_results` != 0. + @$pb.TagNumber(3) + $core.List<$core.int> get skippedCursor => $_getN(2); + @$pb.TagNumber(3) + set skippedCursor($core.List<$core.int> v) { + $_setBytes(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSkippedCursor() => $_has(2); + @$pb.TagNumber(3) + void clearSkippedCursor() => clearField(3); + + /// A cursor that points to the position after the last result in the batch. + @$pb.TagNumber(4) + $core.List<$core.int> get endCursor => $_getN(3); + @$pb.TagNumber(4) + set endCursor($core.List<$core.int> v) { + $_setBytes(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasEndCursor() => $_has(3); + @$pb.TagNumber(4) + void clearEndCursor() => clearField(4); + + /// The state of the query after the current batch. + @$pb.TagNumber(5) + QueryResultBatch_MoreResultsType get moreResults => $_getN(4); + @$pb.TagNumber(5) + set moreResults(QueryResultBatch_MoreResultsType v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMoreResults() => $_has(4); + @$pb.TagNumber(5) + void clearMoreResults() => clearField(5); + + /// The number of results skipped, typically because of an offset. + @$pb.TagNumber(6) + $core.int get skippedResults => $_getIZ(5); + @$pb.TagNumber(6) + set skippedResults($core.int v) { + $_setSignedInt32(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasSkippedResults() => $_has(5); + @$pb.TagNumber(6) + void clearSkippedResults() => clearField(6); + + /// The version number of the snapshot this batch was returned from. + /// This applies to the range of results from the query's `start_cursor` (or + /// the beginning of the query if no cursor was given) to this batch's + /// `end_cursor` (not the query's `end_cursor`). + /// + /// In a single transaction, subsequent query result batches for the same query + /// can have a greater snapshot version number. Each batch's snapshot version + /// is valid for all preceding batches. + /// The value will be zero for eventually consistent queries. + @$pb.TagNumber(7) + $fixnum.Int64 get snapshotVersion => $_getI64(6); + @$pb.TagNumber(7) + set snapshotVersion($fixnum.Int64 v) { + $_setInt64(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasSnapshotVersion() => $_has(6); + @$pb.TagNumber(7) + void clearSnapshotVersion() => clearField(7); + + /// Read timestamp this batch was returned from. + /// This applies to the range of results from the query's `start_cursor` (or + /// the beginning of the query if no cursor was given) to this batch's + /// `end_cursor` (not the query's `end_cursor`). + /// + /// In a single transaction, subsequent query result batches for the same query + /// can have a greater timestamp. Each batch's read timestamp + /// is valid for all preceding batches. + /// This value will not be set for eventually consistent queries in Cloud + /// Datastore. + @$pb.TagNumber(8) + $50.Timestamp get readTime => $_getN(7); + @$pb.TagNumber(8) + set readTime($50.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasReadTime() => $_has(7); + @$pb.TagNumber(8) + void clearReadTime() => clearField(8); + @$pb.TagNumber(8) + $50.Timestamp ensureReadTime() => $_ensure(7); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pbenum.dart new file mode 100644 index 00000000..7c7e67ca --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pbenum.dart @@ -0,0 +1,177 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/query.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Specifies what data the 'entity' field contains. +/// A `ResultType` is either implied (for example, in `LookupResponse.missing` +/// from `datastore.proto`, it is always `KEY_ONLY`) or specified by context +/// (for example, in message `QueryResultBatch`, field `entity_result_type` +/// specifies a `ResultType` for all the values in field `entity_results`). +class EntityResult_ResultType extends $pb.ProtobufEnum { + static const EntityResult_ResultType RESULT_TYPE_UNSPECIFIED = + EntityResult_ResultType._( + 0, _omitEnumNames ? '' : 'RESULT_TYPE_UNSPECIFIED'); + static const EntityResult_ResultType FULL = + EntityResult_ResultType._(1, _omitEnumNames ? '' : 'FULL'); + static const EntityResult_ResultType PROJECTION = + EntityResult_ResultType._(2, _omitEnumNames ? '' : 'PROJECTION'); + static const EntityResult_ResultType KEY_ONLY = + EntityResult_ResultType._(3, _omitEnumNames ? '' : 'KEY_ONLY'); + + static const $core.List values = + [ + RESULT_TYPE_UNSPECIFIED, + FULL, + PROJECTION, + KEY_ONLY, + ]; + + static final $core.Map<$core.int, EntityResult_ResultType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static EntityResult_ResultType? valueOf($core.int value) => _byValue[value]; + + const EntityResult_ResultType._($core.int v, $core.String n) : super(v, n); +} + +/// The sort direction. +class PropertyOrder_Direction extends $pb.ProtobufEnum { + static const PropertyOrder_Direction DIRECTION_UNSPECIFIED = + PropertyOrder_Direction._( + 0, _omitEnumNames ? '' : 'DIRECTION_UNSPECIFIED'); + static const PropertyOrder_Direction ASCENDING = + PropertyOrder_Direction._(1, _omitEnumNames ? '' : 'ASCENDING'); + static const PropertyOrder_Direction DESCENDING = + PropertyOrder_Direction._(2, _omitEnumNames ? '' : 'DESCENDING'); + + static const $core.List values = + [ + DIRECTION_UNSPECIFIED, + ASCENDING, + DESCENDING, + ]; + + static final $core.Map<$core.int, PropertyOrder_Direction> _byValue = + $pb.ProtobufEnum.initByValue(values); + static PropertyOrder_Direction? valueOf($core.int value) => _byValue[value]; + + const PropertyOrder_Direction._($core.int v, $core.String n) : super(v, n); +} + +/// A composite filter operator. +class CompositeFilter_Operator extends $pb.ProtobufEnum { + static const CompositeFilter_Operator OPERATOR_UNSPECIFIED = + CompositeFilter_Operator._( + 0, _omitEnumNames ? '' : 'OPERATOR_UNSPECIFIED'); + static const CompositeFilter_Operator AND = + CompositeFilter_Operator._(1, _omitEnumNames ? '' : 'AND'); + static const CompositeFilter_Operator OR = + CompositeFilter_Operator._(2, _omitEnumNames ? '' : 'OR'); + + static const $core.List values = + [ + OPERATOR_UNSPECIFIED, + AND, + OR, + ]; + + static final $core.Map<$core.int, CompositeFilter_Operator> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CompositeFilter_Operator? valueOf($core.int value) => _byValue[value]; + + const CompositeFilter_Operator._($core.int v, $core.String n) : super(v, n); +} + +/// A property filter operator. +class PropertyFilter_Operator extends $pb.ProtobufEnum { + static const PropertyFilter_Operator OPERATOR_UNSPECIFIED = + PropertyFilter_Operator._( + 0, _omitEnumNames ? '' : 'OPERATOR_UNSPECIFIED'); + static const PropertyFilter_Operator LESS_THAN = + PropertyFilter_Operator._(1, _omitEnumNames ? '' : 'LESS_THAN'); + static const PropertyFilter_Operator LESS_THAN_OR_EQUAL = + PropertyFilter_Operator._(2, _omitEnumNames ? '' : 'LESS_THAN_OR_EQUAL'); + static const PropertyFilter_Operator GREATER_THAN = + PropertyFilter_Operator._(3, _omitEnumNames ? '' : 'GREATER_THAN'); + static const PropertyFilter_Operator GREATER_THAN_OR_EQUAL = + PropertyFilter_Operator._( + 4, _omitEnumNames ? '' : 'GREATER_THAN_OR_EQUAL'); + static const PropertyFilter_Operator EQUAL = + PropertyFilter_Operator._(5, _omitEnumNames ? '' : 'EQUAL'); + static const PropertyFilter_Operator IN = + PropertyFilter_Operator._(6, _omitEnumNames ? '' : 'IN'); + static const PropertyFilter_Operator NOT_EQUAL = + PropertyFilter_Operator._(9, _omitEnumNames ? '' : 'NOT_EQUAL'); + static const PropertyFilter_Operator HAS_ANCESTOR = + PropertyFilter_Operator._(11, _omitEnumNames ? '' : 'HAS_ANCESTOR'); + static const PropertyFilter_Operator NOT_IN = + PropertyFilter_Operator._(13, _omitEnumNames ? '' : 'NOT_IN'); + + static const $core.List values = + [ + OPERATOR_UNSPECIFIED, + LESS_THAN, + LESS_THAN_OR_EQUAL, + GREATER_THAN, + GREATER_THAN_OR_EQUAL, + EQUAL, + IN, + NOT_EQUAL, + HAS_ANCESTOR, + NOT_IN, + ]; + + static final $core.Map<$core.int, PropertyFilter_Operator> _byValue = + $pb.ProtobufEnum.initByValue(values); + static PropertyFilter_Operator? valueOf($core.int value) => _byValue[value]; + + const PropertyFilter_Operator._($core.int v, $core.String n) : super(v, n); +} + +/// The possible values for the `more_results` field. +class QueryResultBatch_MoreResultsType extends $pb.ProtobufEnum { + static const QueryResultBatch_MoreResultsType MORE_RESULTS_TYPE_UNSPECIFIED = + QueryResultBatch_MoreResultsType._( + 0, _omitEnumNames ? '' : 'MORE_RESULTS_TYPE_UNSPECIFIED'); + static const QueryResultBatch_MoreResultsType NOT_FINISHED = + QueryResultBatch_MoreResultsType._( + 1, _omitEnumNames ? '' : 'NOT_FINISHED'); + static const QueryResultBatch_MoreResultsType MORE_RESULTS_AFTER_LIMIT = + QueryResultBatch_MoreResultsType._( + 2, _omitEnumNames ? '' : 'MORE_RESULTS_AFTER_LIMIT'); + static const QueryResultBatch_MoreResultsType MORE_RESULTS_AFTER_CURSOR = + QueryResultBatch_MoreResultsType._( + 4, _omitEnumNames ? '' : 'MORE_RESULTS_AFTER_CURSOR'); + static const QueryResultBatch_MoreResultsType NO_MORE_RESULTS = + QueryResultBatch_MoreResultsType._( + 3, _omitEnumNames ? '' : 'NO_MORE_RESULTS'); + + static const $core.List values = + [ + MORE_RESULTS_TYPE_UNSPECIFIED, + NOT_FINISHED, + MORE_RESULTS_AFTER_LIMIT, + MORE_RESULTS_AFTER_CURSOR, + NO_MORE_RESULTS, + ]; + + static final $core.Map<$core.int, QueryResultBatch_MoreResultsType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QueryResultBatch_MoreResultsType? valueOf($core.int value) => + _byValue[value]; + + const QueryResultBatch_MoreResultsType._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pbjson.dart new file mode 100644 index 00000000..8cefd7d9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query.pbjson.dart @@ -0,0 +1,643 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/query.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use entityResultDescriptor instead') +const EntityResult$json = { + '1': 'EntityResult', + '2': [ + { + '1': 'entity', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Entity', + '10': 'entity' + }, + {'1': 'version', '3': 4, '4': 1, '5': 3, '10': 'version'}, + { + '1': 'create_time', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'updateTime' + }, + {'1': 'cursor', '3': 3, '4': 1, '5': 12, '10': 'cursor'}, + ], + '4': [EntityResult_ResultType$json], +}; + +@$core.Deprecated('Use entityResultDescriptor instead') +const EntityResult_ResultType$json = { + '1': 'ResultType', + '2': [ + {'1': 'RESULT_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'FULL', '2': 1}, + {'1': 'PROJECTION', '2': 2}, + {'1': 'KEY_ONLY', '2': 3}, + ], +}; + +/// Descriptor for `EntityResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityResultDescriptor = $convert.base64Decode( + 'CgxFbnRpdHlSZXN1bHQSMwoGZW50aXR5GAEgASgLMhsuZ29vZ2xlLmRhdGFzdG9yZS52MS5Fbn' + 'RpdHlSBmVudGl0eRIYCgd2ZXJzaW9uGAQgASgDUgd2ZXJzaW9uEjsKC2NyZWF0ZV90aW1lGAYg' + 'ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKY3JlYXRlVGltZRI7Cgt1cGRhdGVfdG' + 'ltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCnVwZGF0ZVRpbWUSFgoGY3Vy' + 'c29yGAMgASgMUgZjdXJzb3IiUQoKUmVzdWx0VHlwZRIbChdSRVNVTFRfVFlQRV9VTlNQRUNJRk' + 'lFRBAAEggKBEZVTEwQARIOCgpQUk9KRUNUSU9OEAISDAoIS0VZX09OTFkQAw=='); + +@$core.Deprecated('Use queryDescriptor instead') +const Query$json = { + '1': 'Query', + '2': [ + { + '1': 'projection', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Projection', + '10': 'projection' + }, + { + '1': 'kind', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.KindExpression', + '10': 'kind' + }, + { + '1': 'filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Filter', + '10': 'filter' + }, + { + '1': 'order', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.PropertyOrder', + '10': 'order' + }, + { + '1': 'distinct_on', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.PropertyReference', + '10': 'distinctOn' + }, + {'1': 'start_cursor', '3': 7, '4': 1, '5': 12, '10': 'startCursor'}, + {'1': 'end_cursor', '3': 8, '4': 1, '5': 12, '10': 'endCursor'}, + {'1': 'offset', '3': 10, '4': 1, '5': 5, '10': 'offset'}, + { + '1': 'limit', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.protobuf.Int32Value', + '10': 'limit' + }, + ], +}; + +/// Descriptor for `Query`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryDescriptor = $convert.base64Decode( + 'CgVRdWVyeRI/Cgpwcm9qZWN0aW9uGAIgAygLMh8uZ29vZ2xlLmRhdGFzdG9yZS52MS5Qcm9qZW' + 'N0aW9uUgpwcm9qZWN0aW9uEjcKBGtpbmQYAyADKAsyIy5nb29nbGUuZGF0YXN0b3JlLnYxLktp' + 'bmRFeHByZXNzaW9uUgRraW5kEjMKBmZpbHRlchgEIAEoCzIbLmdvb2dsZS5kYXRhc3RvcmUudj' + 'EuRmlsdGVyUgZmaWx0ZXISOAoFb3JkZXIYBSADKAsyIi5nb29nbGUuZGF0YXN0b3JlLnYxLlBy' + 'b3BlcnR5T3JkZXJSBW9yZGVyEkcKC2Rpc3RpbmN0X29uGAYgAygLMiYuZ29vZ2xlLmRhdGFzdG' + '9yZS52MS5Qcm9wZXJ0eVJlZmVyZW5jZVIKZGlzdGluY3RPbhIhCgxzdGFydF9jdXJzb3IYByAB' + 'KAxSC3N0YXJ0Q3Vyc29yEh0KCmVuZF9jdXJzb3IYCCABKAxSCWVuZEN1cnNvchIWCgZvZmZzZX' + 'QYCiABKAVSBm9mZnNldBIxCgVsaW1pdBgMIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZh' + 'bHVlUgVsaW1pdA=='); + +@$core.Deprecated('Use aggregationQueryDescriptor instead') +const AggregationQuery$json = { + '1': 'AggregationQuery', + '2': [ + { + '1': 'nested_query', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Query', + '9': 0, + '10': 'nestedQuery' + }, + { + '1': 'aggregations', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.AggregationQuery.Aggregation', + '8': {}, + '10': 'aggregations' + }, + ], + '3': [AggregationQuery_Aggregation$json], + '8': [ + {'1': 'query_type'}, + ], +}; + +@$core.Deprecated('Use aggregationQueryDescriptor instead') +const AggregationQuery_Aggregation$json = { + '1': 'Aggregation', + '2': [ + { + '1': 'count', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.AggregationQuery.Aggregation.Count', + '9': 0, + '10': 'count' + }, + { + '1': 'sum', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.AggregationQuery.Aggregation.Sum', + '9': 0, + '10': 'sum' + }, + { + '1': 'avg', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.AggregationQuery.Aggregation.Avg', + '9': 0, + '10': 'avg' + }, + {'1': 'alias', '3': 7, '4': 1, '5': 9, '8': {}, '10': 'alias'}, + ], + '3': [ + AggregationQuery_Aggregation_Count$json, + AggregationQuery_Aggregation_Sum$json, + AggregationQuery_Aggregation_Avg$json + ], + '8': [ + {'1': 'operator'}, + ], +}; + +@$core.Deprecated('Use aggregationQueryDescriptor instead') +const AggregationQuery_Aggregation_Count$json = { + '1': 'Count', + '2': [ + { + '1': 'up_to', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Int64Value', + '8': {}, + '10': 'upTo' + }, + ], +}; + +@$core.Deprecated('Use aggregationQueryDescriptor instead') +const AggregationQuery_Aggregation_Sum$json = { + '1': 'Sum', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyReference', + '10': 'property' + }, + ], +}; + +@$core.Deprecated('Use aggregationQueryDescriptor instead') +const AggregationQuery_Aggregation_Avg$json = { + '1': 'Avg', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyReference', + '10': 'property' + }, + ], +}; + +/// Descriptor for `AggregationQuery`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List aggregationQueryDescriptor = $convert.base64Decode( + 'ChBBZ2dyZWdhdGlvblF1ZXJ5Ej8KDG5lc3RlZF9xdWVyeRgBIAEoCzIaLmdvb2dsZS5kYXRhc3' + 'RvcmUudjEuUXVlcnlIAFILbmVzdGVkUXVlcnkSWgoMYWdncmVnYXRpb25zGAMgAygLMjEuZ29v' + 'Z2xlLmRhdGFzdG9yZS52MS5BZ2dyZWdhdGlvblF1ZXJ5LkFnZ3JlZ2F0aW9uQgPgQQFSDGFnZ3' + 'JlZ2F0aW9ucxrxAwoLQWdncmVnYXRpb24STwoFY291bnQYASABKAsyNy5nb29nbGUuZGF0YXN0' + 'b3JlLnYxLkFnZ3JlZ2F0aW9uUXVlcnkuQWdncmVnYXRpb24uQ291bnRIAFIFY291bnQSSQoDc3' + 'VtGAIgASgLMjUuZ29vZ2xlLmRhdGFzdG9yZS52MS5BZ2dyZWdhdGlvblF1ZXJ5LkFnZ3JlZ2F0' + 'aW9uLlN1bUgAUgNzdW0SSQoDYXZnGAMgASgLMjUuZ29vZ2xlLmRhdGFzdG9yZS52MS5BZ2dyZW' + 'dhdGlvblF1ZXJ5LkFnZ3JlZ2F0aW9uLkF2Z0gAUgNhdmcSGQoFYWxpYXMYByABKAlCA+BBAVIF' + 'YWxpYXMaPgoFQ291bnQSNQoFdXBfdG8YASABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYW' + 'x1ZUID4EEBUgR1cFRvGkkKA1N1bRJCCghwcm9wZXJ0eRgBIAEoCzImLmdvb2dsZS5kYXRhc3Rv' + 'cmUudjEuUHJvcGVydHlSZWZlcmVuY2VSCHByb3BlcnR5GkkKA0F2ZxJCCghwcm9wZXJ0eRgBIA' + 'EoCzImLmdvb2dsZS5kYXRhc3RvcmUudjEuUHJvcGVydHlSZWZlcmVuY2VSCHByb3BlcnR5QgoK' + 'CG9wZXJhdG9yQgwKCnF1ZXJ5X3R5cGU='); + +@$core.Deprecated('Use kindExpressionDescriptor instead') +const KindExpression$json = { + '1': 'KindExpression', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `KindExpression`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List kindExpressionDescriptor = + $convert.base64Decode('Cg5LaW5kRXhwcmVzc2lvbhISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use propertyReferenceDescriptor instead') +const PropertyReference$json = { + '1': 'PropertyReference', + '2': [ + {'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `PropertyReference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyReferenceDescriptor = $convert + .base64Decode('ChFQcm9wZXJ0eVJlZmVyZW5jZRISCgRuYW1lGAIgASgJUgRuYW1l'); + +@$core.Deprecated('Use projectionDescriptor instead') +const Projection$json = { + '1': 'Projection', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyReference', + '10': 'property' + }, + ], +}; + +/// Descriptor for `Projection`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List projectionDescriptor = $convert.base64Decode( + 'CgpQcm9qZWN0aW9uEkIKCHByb3BlcnR5GAEgASgLMiYuZ29vZ2xlLmRhdGFzdG9yZS52MS5Qcm' + '9wZXJ0eVJlZmVyZW5jZVIIcHJvcGVydHk='); + +@$core.Deprecated('Use propertyOrderDescriptor instead') +const PropertyOrder$json = { + '1': 'PropertyOrder', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyReference', + '10': 'property' + }, + { + '1': 'direction', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.PropertyOrder.Direction', + '10': 'direction' + }, + ], + '4': [PropertyOrder_Direction$json], +}; + +@$core.Deprecated('Use propertyOrderDescriptor instead') +const PropertyOrder_Direction$json = { + '1': 'Direction', + '2': [ + {'1': 'DIRECTION_UNSPECIFIED', '2': 0}, + {'1': 'ASCENDING', '2': 1}, + {'1': 'DESCENDING', '2': 2}, + ], +}; + +/// Descriptor for `PropertyOrder`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyOrderDescriptor = $convert.base64Decode( + 'Cg1Qcm9wZXJ0eU9yZGVyEkIKCHByb3BlcnR5GAEgASgLMiYuZ29vZ2xlLmRhdGFzdG9yZS52MS' + '5Qcm9wZXJ0eVJlZmVyZW5jZVIIcHJvcGVydHkSSgoJZGlyZWN0aW9uGAIgASgOMiwuZ29vZ2xl' + 'LmRhdGFzdG9yZS52MS5Qcm9wZXJ0eU9yZGVyLkRpcmVjdGlvblIJZGlyZWN0aW9uIkUKCURpcm' + 'VjdGlvbhIZChVESVJFQ1RJT05fVU5TUEVDSUZJRUQQABINCglBU0NFTkRJTkcQARIOCgpERVND' + 'RU5ESU5HEAI='); + +@$core.Deprecated('Use filterDescriptor instead') +const Filter$json = { + '1': 'Filter', + '2': [ + { + '1': 'composite_filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.CompositeFilter', + '9': 0, + '10': 'compositeFilter' + }, + { + '1': 'property_filter', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyFilter', + '9': 0, + '10': 'propertyFilter' + }, + ], + '8': [ + {'1': 'filter_type'}, + ], +}; + +/// Descriptor for `Filter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List filterDescriptor = $convert.base64Decode( + 'CgZGaWx0ZXISUQoQY29tcG9zaXRlX2ZpbHRlchgBIAEoCzIkLmdvb2dsZS5kYXRhc3RvcmUudj' + 'EuQ29tcG9zaXRlRmlsdGVySABSD2NvbXBvc2l0ZUZpbHRlchJOCg9wcm9wZXJ0eV9maWx0ZXIY' + 'AiABKAsyIy5nb29nbGUuZGF0YXN0b3JlLnYxLlByb3BlcnR5RmlsdGVySABSDnByb3BlcnR5Rm' + 'lsdGVyQg0KC2ZpbHRlcl90eXBl'); + +@$core.Deprecated('Use compositeFilterDescriptor instead') +const CompositeFilter$json = { + '1': 'CompositeFilter', + '2': [ + { + '1': 'op', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.CompositeFilter.Operator', + '10': 'op' + }, + { + '1': 'filters', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.Filter', + '10': 'filters' + }, + ], + '4': [CompositeFilter_Operator$json], +}; + +@$core.Deprecated('Use compositeFilterDescriptor instead') +const CompositeFilter_Operator$json = { + '1': 'Operator', + '2': [ + {'1': 'OPERATOR_UNSPECIFIED', '2': 0}, + {'1': 'AND', '2': 1}, + {'1': 'OR', '2': 2}, + ], +}; + +/// Descriptor for `CompositeFilter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List compositeFilterDescriptor = $convert.base64Decode( + 'Cg9Db21wb3NpdGVGaWx0ZXISPQoCb3AYASABKA4yLS5nb29nbGUuZGF0YXN0b3JlLnYxLkNvbX' + 'Bvc2l0ZUZpbHRlci5PcGVyYXRvclICb3ASNQoHZmlsdGVycxgCIAMoCzIbLmdvb2dsZS5kYXRh' + 'c3RvcmUudjEuRmlsdGVyUgdmaWx0ZXJzIjUKCE9wZXJhdG9yEhgKFE9QRVJBVE9SX1VOU1BFQ0' + 'lGSUVEEAASBwoDQU5EEAESBgoCT1IQAg=='); + +@$core.Deprecated('Use propertyFilterDescriptor instead') +const PropertyFilter$json = { + '1': 'PropertyFilter', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PropertyReference', + '10': 'property' + }, + { + '1': 'op', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.PropertyFilter.Operator', + '10': 'op' + }, + { + '1': 'value', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Value', + '10': 'value' + }, + ], + '4': [PropertyFilter_Operator$json], +}; + +@$core.Deprecated('Use propertyFilterDescriptor instead') +const PropertyFilter_Operator$json = { + '1': 'Operator', + '2': [ + {'1': 'OPERATOR_UNSPECIFIED', '2': 0}, + {'1': 'LESS_THAN', '2': 1}, + {'1': 'LESS_THAN_OR_EQUAL', '2': 2}, + {'1': 'GREATER_THAN', '2': 3}, + {'1': 'GREATER_THAN_OR_EQUAL', '2': 4}, + {'1': 'EQUAL', '2': 5}, + {'1': 'IN', '2': 6}, + {'1': 'NOT_EQUAL', '2': 9}, + {'1': 'HAS_ANCESTOR', '2': 11}, + {'1': 'NOT_IN', '2': 13}, + ], +}; + +/// Descriptor for `PropertyFilter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyFilterDescriptor = $convert.base64Decode( + 'Cg5Qcm9wZXJ0eUZpbHRlchJCCghwcm9wZXJ0eRgBIAEoCzImLmdvb2dsZS5kYXRhc3RvcmUudj' + 'EuUHJvcGVydHlSZWZlcmVuY2VSCHByb3BlcnR5EjwKAm9wGAIgASgOMiwuZ29vZ2xlLmRhdGFz' + 'dG9yZS52MS5Qcm9wZXJ0eUZpbHRlci5PcGVyYXRvclICb3ASMAoFdmFsdWUYAyABKAsyGi5nb2' + '9nbGUuZGF0YXN0b3JlLnYxLlZhbHVlUgV2YWx1ZSK4AQoIT3BlcmF0b3ISGAoUT1BFUkFUT1Jf' + 'VU5TUEVDSUZJRUQQABINCglMRVNTX1RIQU4QARIWChJMRVNTX1RIQU5fT1JfRVFVQUwQAhIQCg' + 'xHUkVBVEVSX1RIQU4QAxIZChVHUkVBVEVSX1RIQU5fT1JfRVFVQUwQBBIJCgVFUVVBTBAFEgYK' + 'AklOEAYSDQoJTk9UX0VRVUFMEAkSEAoMSEFTX0FOQ0VTVE9SEAsSCgoGTk9UX0lOEA0='); + +@$core.Deprecated('Use gqlQueryDescriptor instead') +const GqlQuery$json = { + '1': 'GqlQuery', + '2': [ + {'1': 'query_string', '3': 1, '4': 1, '5': 9, '10': 'queryString'}, + {'1': 'allow_literals', '3': 2, '4': 1, '5': 8, '10': 'allowLiterals'}, + { + '1': 'named_bindings', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.GqlQuery.NamedBindingsEntry', + '10': 'namedBindings' + }, + { + '1': 'positional_bindings', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.GqlQueryParameter', + '10': 'positionalBindings' + }, + ], + '3': [GqlQuery_NamedBindingsEntry$json], +}; + +@$core.Deprecated('Use gqlQueryDescriptor instead') +const GqlQuery_NamedBindingsEntry$json = { + '1': 'NamedBindingsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.GqlQueryParameter', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `GqlQuery`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List gqlQueryDescriptor = $convert.base64Decode( + 'CghHcWxRdWVyeRIhCgxxdWVyeV9zdHJpbmcYASABKAlSC3F1ZXJ5U3RyaW5nEiUKDmFsbG93X2' + 'xpdGVyYWxzGAIgASgIUg1hbGxvd0xpdGVyYWxzElcKDm5hbWVkX2JpbmRpbmdzGAUgAygLMjAu' + 'Z29vZ2xlLmRhdGFzdG9yZS52MS5HcWxRdWVyeS5OYW1lZEJpbmRpbmdzRW50cnlSDW5hbWVkQm' + 'luZGluZ3MSVwoTcG9zaXRpb25hbF9iaW5kaW5ncxgEIAMoCzImLmdvb2dsZS5kYXRhc3RvcmUu' + 'djEuR3FsUXVlcnlQYXJhbWV0ZXJSEnBvc2l0aW9uYWxCaW5kaW5ncxpoChJOYW1lZEJpbmRpbm' + 'dzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSPAoFdmFsdWUYAiABKAsyJi5nb29nbGUuZGF0YXN0' + 'b3JlLnYxLkdxbFF1ZXJ5UGFyYW1ldGVyUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use gqlQueryParameterDescriptor instead') +const GqlQueryParameter$json = { + '1': 'GqlQueryParameter', + '2': [ + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.Value', + '9': 0, + '10': 'value' + }, + {'1': 'cursor', '3': 3, '4': 1, '5': 12, '9': 0, '10': 'cursor'}, + ], + '8': [ + {'1': 'parameter_type'}, + ], +}; + +/// Descriptor for `GqlQueryParameter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List gqlQueryParameterDescriptor = $convert.base64Decode( + 'ChFHcWxRdWVyeVBhcmFtZXRlchIyCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5kYXRhc3RvcmUudj' + 'EuVmFsdWVIAFIFdmFsdWUSGAoGY3Vyc29yGAMgASgMSABSBmN1cnNvckIQCg5wYXJhbWV0ZXJf' + 'dHlwZQ=='); + +@$core.Deprecated('Use queryResultBatchDescriptor instead') +const QueryResultBatch$json = { + '1': 'QueryResultBatch', + '2': [ + {'1': 'skipped_results', '3': 6, '4': 1, '5': 5, '10': 'skippedResults'}, + {'1': 'skipped_cursor', '3': 3, '4': 1, '5': 12, '10': 'skippedCursor'}, + { + '1': 'entity_result_type', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.EntityResult.ResultType', + '10': 'entityResultType' + }, + { + '1': 'entity_results', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1.EntityResult', + '10': 'entityResults' + }, + {'1': 'end_cursor', '3': 4, '4': 1, '5': 12, '10': 'endCursor'}, + { + '1': 'more_results', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.v1.QueryResultBatch.MoreResultsType', + '10': 'moreResults' + }, + {'1': 'snapshot_version', '3': 7, '4': 1, '5': 3, '10': 'snapshotVersion'}, + { + '1': 'read_time', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'readTime' + }, + ], + '4': [QueryResultBatch_MoreResultsType$json], +}; + +@$core.Deprecated('Use queryResultBatchDescriptor instead') +const QueryResultBatch_MoreResultsType$json = { + '1': 'MoreResultsType', + '2': [ + {'1': 'MORE_RESULTS_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'NOT_FINISHED', '2': 1}, + {'1': 'MORE_RESULTS_AFTER_LIMIT', '2': 2}, + {'1': 'MORE_RESULTS_AFTER_CURSOR', '2': 4}, + {'1': 'NO_MORE_RESULTS', '2': 3}, + ], +}; + +/// Descriptor for `QueryResultBatch`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryResultBatchDescriptor = $convert.base64Decode( + 'ChBRdWVyeVJlc3VsdEJhdGNoEicKD3NraXBwZWRfcmVzdWx0cxgGIAEoBVIOc2tpcHBlZFJlc3' + 'VsdHMSJQoOc2tpcHBlZF9jdXJzb3IYAyABKAxSDXNraXBwZWRDdXJzb3ISWgoSZW50aXR5X3Jl' + 'c3VsdF90eXBlGAEgASgOMiwuZ29vZ2xlLmRhdGFzdG9yZS52MS5FbnRpdHlSZXN1bHQuUmVzdW' + 'x0VHlwZVIQZW50aXR5UmVzdWx0VHlwZRJICg5lbnRpdHlfcmVzdWx0cxgCIAMoCzIhLmdvb2ds' + 'ZS5kYXRhc3RvcmUudjEuRW50aXR5UmVzdWx0Ug1lbnRpdHlSZXN1bHRzEh0KCmVuZF9jdXJzb3' + 'IYBCABKAxSCWVuZEN1cnNvchJYCgxtb3JlX3Jlc3VsdHMYBSABKA4yNS5nb29nbGUuZGF0YXN0' + 'b3JlLnYxLlF1ZXJ5UmVzdWx0QmF0Y2guTW9yZVJlc3VsdHNUeXBlUgttb3JlUmVzdWx0cxIpCh' + 'BzbmFwc2hvdF92ZXJzaW9uGAcgASgDUg9zbmFwc2hvdFZlcnNpb24SNwoJcmVhZF90aW1lGAgg' + 'ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIIcmVhZFRpbWUimAEKD01vcmVSZXN1bH' + 'RzVHlwZRIhCh1NT1JFX1JFU1VMVFNfVFlQRV9VTlNQRUNJRklFRBAAEhAKDE5PVF9GSU5JU0hF' + 'RBABEhwKGE1PUkVfUkVTVUxUU19BRlRFUl9MSU1JVBACEh0KGU1PUkVfUkVTVUxUU19BRlRFUl' + '9DVVJTT1IQBBITCg9OT19NT1JFX1JFU1VMVFMQAw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pb.dart new file mode 100644 index 00000000..7f61c937 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pb.dart @@ -0,0 +1,378 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/query_profile.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; +import '../../protobuf/struct.pb.dart' as $48; + +/// Explain options for the query. +class ExplainOptions extends $pb.GeneratedMessage { + factory ExplainOptions({ + $core.bool? analyze, + }) { + final $result = create(); + if (analyze != null) { + $result.analyze = analyze; + } + return $result; + } + ExplainOptions._() : super(); + factory ExplainOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExplainOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExplainOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'analyze') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExplainOptions clone() => ExplainOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExplainOptions copyWith(void Function(ExplainOptions) updates) => + super.copyWith((message) => updates(message as ExplainOptions)) + as ExplainOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExplainOptions create() => ExplainOptions._(); + ExplainOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExplainOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExplainOptions? _defaultInstance; + + /// Optional. Whether to execute this query. + /// + /// When false (the default), the query will be planned, returning only + /// metrics from the planning stages. + /// + /// When true, the query will be planned and executed, returning the full + /// query results along with both planning and execution stage metrics. + @$pb.TagNumber(1) + $core.bool get analyze => $_getBF(0); + @$pb.TagNumber(1) + set analyze($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasAnalyze() => $_has(0); + @$pb.TagNumber(1) + void clearAnalyze() => clearField(1); +} + +/// Explain metrics for the query. +class ExplainMetrics extends $pb.GeneratedMessage { + factory ExplainMetrics({ + PlanSummary? planSummary, + ExecutionStats? executionStats, + }) { + final $result = create(); + if (planSummary != null) { + $result.planSummary = planSummary; + } + if (executionStats != null) { + $result.executionStats = executionStats; + } + return $result; + } + ExplainMetrics._() : super(); + factory ExplainMetrics.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExplainMetrics.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExplainMetrics', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'planSummary', + subBuilder: PlanSummary.create) + ..aOM(2, _omitFieldNames ? '' : 'executionStats', + subBuilder: ExecutionStats.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExplainMetrics clone() => ExplainMetrics()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExplainMetrics copyWith(void Function(ExplainMetrics) updates) => + super.copyWith((message) => updates(message as ExplainMetrics)) + as ExplainMetrics; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExplainMetrics create() => ExplainMetrics._(); + ExplainMetrics createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExplainMetrics getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExplainMetrics? _defaultInstance; + + /// Planning phase information for the query. + @$pb.TagNumber(1) + PlanSummary get planSummary => $_getN(0); + @$pb.TagNumber(1) + set planSummary(PlanSummary v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasPlanSummary() => $_has(0); + @$pb.TagNumber(1) + void clearPlanSummary() => clearField(1); + @$pb.TagNumber(1) + PlanSummary ensurePlanSummary() => $_ensure(0); + + /// Aggregated stats from the execution of the query. Only present when + /// [ExplainOptions.analyze][google.datastore.v1.ExplainOptions.analyze] is set + /// to true. + @$pb.TagNumber(2) + ExecutionStats get executionStats => $_getN(1); + @$pb.TagNumber(2) + set executionStats(ExecutionStats v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExecutionStats() => $_has(1); + @$pb.TagNumber(2) + void clearExecutionStats() => clearField(2); + @$pb.TagNumber(2) + ExecutionStats ensureExecutionStats() => $_ensure(1); +} + +/// Planning phase information for the query. +class PlanSummary extends $pb.GeneratedMessage { + factory PlanSummary({ + $core.Iterable<$48.Struct>? indexesUsed, + }) { + final $result = create(); + if (indexesUsed != null) { + $result.indexesUsed.addAll(indexesUsed); + } + return $result; + } + PlanSummary._() : super(); + factory PlanSummary.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PlanSummary.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PlanSummary', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..pc<$48.Struct>( + 1, _omitFieldNames ? '' : 'indexesUsed', $pb.PbFieldType.PM, + subBuilder: $48.Struct.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PlanSummary clone() => PlanSummary()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PlanSummary copyWith(void Function(PlanSummary) updates) => + super.copyWith((message) => updates(message as PlanSummary)) + as PlanSummary; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PlanSummary create() => PlanSummary._(); + PlanSummary createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PlanSummary getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PlanSummary? _defaultInstance; + + /// The indexes selected for the query. For example: + /// [ + /// {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, + /// {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} + /// ] + @$pb.TagNumber(1) + $core.List<$48.Struct> get indexesUsed => $_getList(0); +} + +/// Execution statistics for the query. +class ExecutionStats extends $pb.GeneratedMessage { + factory ExecutionStats({ + $fixnum.Int64? resultsReturned, + $51.Duration? executionDuration, + $fixnum.Int64? readOperations, + $48.Struct? debugStats, + }) { + final $result = create(); + if (resultsReturned != null) { + $result.resultsReturned = resultsReturned; + } + if (executionDuration != null) { + $result.executionDuration = executionDuration; + } + if (readOperations != null) { + $result.readOperations = readOperations; + } + if (debugStats != null) { + $result.debugStats = debugStats; + } + return $result; + } + ExecutionStats._() : super(); + factory ExecutionStats.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExecutionStats.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExecutionStats', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.datastore.v1'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'resultsReturned') + ..aOM<$51.Duration>(3, _omitFieldNames ? '' : 'executionDuration', + subBuilder: $51.Duration.create) + ..aInt64(4, _omitFieldNames ? '' : 'readOperations') + ..aOM<$48.Struct>(5, _omitFieldNames ? '' : 'debugStats', + subBuilder: $48.Struct.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExecutionStats clone() => ExecutionStats()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExecutionStats copyWith(void Function(ExecutionStats) updates) => + super.copyWith((message) => updates(message as ExecutionStats)) + as ExecutionStats; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExecutionStats create() => ExecutionStats._(); + ExecutionStats createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExecutionStats getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExecutionStats? _defaultInstance; + + /// Total number of results returned, including documents, projections, + /// aggregation results, keys. + @$pb.TagNumber(1) + $fixnum.Int64 get resultsReturned => $_getI64(0); + @$pb.TagNumber(1) + set resultsReturned($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasResultsReturned() => $_has(0); + @$pb.TagNumber(1) + void clearResultsReturned() => clearField(1); + + /// Total time to execute the query in the backend. + @$pb.TagNumber(3) + $51.Duration get executionDuration => $_getN(1); + @$pb.TagNumber(3) + set executionDuration($51.Duration v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasExecutionDuration() => $_has(1); + @$pb.TagNumber(3) + void clearExecutionDuration() => clearField(3); + @$pb.TagNumber(3) + $51.Duration ensureExecutionDuration() => $_ensure(1); + + /// Total billable read operations. + @$pb.TagNumber(4) + $fixnum.Int64 get readOperations => $_getI64(2); + @$pb.TagNumber(4) + set readOperations($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasReadOperations() => $_has(2); + @$pb.TagNumber(4) + void clearReadOperations() => clearField(4); + + /// Debugging statistics from the execution of the query. Note that the + /// debugging stats are subject to change as Firestore evolves. It could + /// include: + /// { + /// "indexes_entries_scanned": "1000", + /// "documents_scanned": "20", + /// "billing_details" : { + /// "documents_billable": "20", + /// "index_entries_billable": "1000", + /// "min_query_cost": "0" + /// } + /// } + @$pb.TagNumber(5) + $48.Struct get debugStats => $_getN(3); + @$pb.TagNumber(5) + set debugStats($48.Struct v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasDebugStats() => $_has(3); + @$pb.TagNumber(5) + void clearDebugStats() => clearField(5); + @$pb.TagNumber(5) + $48.Struct ensureDebugStats() => $_ensure(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pbenum.dart new file mode 100644 index 00000000..5a318f74 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/query_profile.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pbjson.dart new file mode 100644 index 00000000..463f1efb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1/query_profile.pbjson.dart @@ -0,0 +1,108 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1/query_profile.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use explainOptionsDescriptor instead') +const ExplainOptions$json = { + '1': 'ExplainOptions', + '2': [ + {'1': 'analyze', '3': 1, '4': 1, '5': 8, '8': {}, '10': 'analyze'}, + ], +}; + +/// Descriptor for `ExplainOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List explainOptionsDescriptor = $convert.base64Decode( + 'Cg5FeHBsYWluT3B0aW9ucxIdCgdhbmFseXplGAEgASgIQgPgQQFSB2FuYWx5emU='); + +@$core.Deprecated('Use explainMetricsDescriptor instead') +const ExplainMetrics$json = { + '1': 'ExplainMetrics', + '2': [ + { + '1': 'plan_summary', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.PlanSummary', + '10': 'planSummary' + }, + { + '1': 'execution_stats', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1.ExecutionStats', + '10': 'executionStats' + }, + ], +}; + +/// Descriptor for `ExplainMetrics`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List explainMetricsDescriptor = $convert.base64Decode( + 'Cg5FeHBsYWluTWV0cmljcxJDCgxwbGFuX3N1bW1hcnkYASABKAsyIC5nb29nbGUuZGF0YXN0b3' + 'JlLnYxLlBsYW5TdW1tYXJ5UgtwbGFuU3VtbWFyeRJMCg9leGVjdXRpb25fc3RhdHMYAiABKAsy' + 'Iy5nb29nbGUuZGF0YXN0b3JlLnYxLkV4ZWN1dGlvblN0YXRzUg5leGVjdXRpb25TdGF0cw=='); + +@$core.Deprecated('Use planSummaryDescriptor instead') +const PlanSummary$json = { + '1': 'PlanSummary', + '2': [ + { + '1': 'indexes_used', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.Struct', + '10': 'indexesUsed' + }, + ], +}; + +/// Descriptor for `PlanSummary`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List planSummaryDescriptor = $convert.base64Decode( + 'CgtQbGFuU3VtbWFyeRI6CgxpbmRleGVzX3VzZWQYASADKAsyFy5nb29nbGUucHJvdG9idWYuU3' + 'RydWN0UgtpbmRleGVzVXNlZA=='); + +@$core.Deprecated('Use executionStatsDescriptor instead') +const ExecutionStats$json = { + '1': 'ExecutionStats', + '2': [ + {'1': 'results_returned', '3': 1, '4': 1, '5': 3, '10': 'resultsReturned'}, + { + '1': 'execution_duration', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'executionDuration' + }, + {'1': 'read_operations', '3': 4, '4': 1, '5': 3, '10': 'readOperations'}, + { + '1': 'debug_stats', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Struct', + '10': 'debugStats' + }, + ], +}; + +/// Descriptor for `ExecutionStats`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List executionStatsDescriptor = $convert.base64Decode( + 'Cg5FeGVjdXRpb25TdGF0cxIpChByZXN1bHRzX3JldHVybmVkGAEgASgDUg9yZXN1bHRzUmV0dX' + 'JuZWQSSAoSZXhlY3V0aW9uX2R1cmF0aW9uGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0' + 'aW9uUhFleGVjdXRpb25EdXJhdGlvbhInCg9yZWFkX29wZXJhdGlvbnMYBCABKANSDnJlYWRPcG' + 'VyYXRpb25zEjgKC2RlYnVnX3N0YXRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIK' + 'ZGVidWdTdGF0cw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pb.dart new file mode 100644 index 00000000..969e390a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pb.dart @@ -0,0 +1,1847 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'datastore.pbenum.dart'; +import 'entity.pb.dart' as $77; +import 'query.pb.dart' as $78; + +export 'datastore.pbenum.dart'; + +/// The request for +/// [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup]. +class LookupRequest extends $pb.GeneratedMessage { + factory LookupRequest({ + ReadOptions? readOptions, + $core.Iterable<$77.Key>? keys, + $core.String? projectId, + }) { + final $result = create(); + if (readOptions != null) { + $result.readOptions = readOptions; + } + if (keys != null) { + $result.keys.addAll(keys); + } + if (projectId != null) { + $result.projectId = projectId; + } + return $result; + } + LookupRequest._() : super(); + factory LookupRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LookupRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LookupRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'readOptions', + subBuilder: ReadOptions.create) + ..pc<$77.Key>(3, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $77.Key.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LookupRequest clone() => LookupRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LookupRequest copyWith(void Function(LookupRequest) updates) => + super.copyWith((message) => updates(message as LookupRequest)) + as LookupRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LookupRequest create() => LookupRequest._(); + LookupRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LookupRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LookupRequest? _defaultInstance; + + /// The options for this lookup request. + @$pb.TagNumber(1) + ReadOptions get readOptions => $_getN(0); + @$pb.TagNumber(1) + set readOptions(ReadOptions v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadOptions() => $_has(0); + @$pb.TagNumber(1) + void clearReadOptions() => clearField(1); + @$pb.TagNumber(1) + ReadOptions ensureReadOptions() => $_ensure(0); + + /// Keys of entities to look up. + @$pb.TagNumber(3) + $core.List<$77.Key> get keys => $_getList(1); + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(2); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(2); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); +} + +/// The response for +/// [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup]. +class LookupResponse extends $pb.GeneratedMessage { + factory LookupResponse({ + $core.Iterable<$78.EntityResult>? found, + $core.Iterable<$78.EntityResult>? missing, + $core.Iterable<$77.Key>? deferred, + }) { + final $result = create(); + if (found != null) { + $result.found.addAll(found); + } + if (missing != null) { + $result.missing.addAll(missing); + } + if (deferred != null) { + $result.deferred.addAll(deferred); + } + return $result; + } + LookupResponse._() : super(); + factory LookupResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LookupResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LookupResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc<$78.EntityResult>( + 1, _omitFieldNames ? '' : 'found', $pb.PbFieldType.PM, + subBuilder: $78.EntityResult.create) + ..pc<$78.EntityResult>( + 2, _omitFieldNames ? '' : 'missing', $pb.PbFieldType.PM, + subBuilder: $78.EntityResult.create) + ..pc<$77.Key>(3, _omitFieldNames ? '' : 'deferred', $pb.PbFieldType.PM, + subBuilder: $77.Key.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LookupResponse clone() => LookupResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LookupResponse copyWith(void Function(LookupResponse) updates) => + super.copyWith((message) => updates(message as LookupResponse)) + as LookupResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LookupResponse create() => LookupResponse._(); + LookupResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LookupResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LookupResponse? _defaultInstance; + + /// Entities found as `ResultType.FULL` entities. The order of results in this + /// field is undefined and has no relation to the order of the keys in the + /// input. + @$pb.TagNumber(1) + $core.List<$78.EntityResult> get found => $_getList(0); + + /// Entities not found as `ResultType.KEY_ONLY` entities. The order of results + /// in this field is undefined and has no relation to the order of the keys + /// in the input. + @$pb.TagNumber(2) + $core.List<$78.EntityResult> get missing => $_getList(1); + + /// A list of keys that were not looked up due to resource constraints. The + /// order of results in this field is undefined and has no relation to the + /// order of the keys in the input. + @$pb.TagNumber(3) + $core.List<$77.Key> get deferred => $_getList(2); +} + +enum RunQueryRequest_QueryType { query, gqlQuery, notSet } + +/// The request for +/// [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery]. +class RunQueryRequest extends $pb.GeneratedMessage { + factory RunQueryRequest({ + ReadOptions? readOptions, + $77.PartitionId? partitionId, + $78.Query? query, + $78.GqlQuery? gqlQuery, + $core.String? projectId, + }) { + final $result = create(); + if (readOptions != null) { + $result.readOptions = readOptions; + } + if (partitionId != null) { + $result.partitionId = partitionId; + } + if (query != null) { + $result.query = query; + } + if (gqlQuery != null) { + $result.gqlQuery = gqlQuery; + } + if (projectId != null) { + $result.projectId = projectId; + } + return $result; + } + RunQueryRequest._() : super(); + factory RunQueryRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RunQueryRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, RunQueryRequest_QueryType> + _RunQueryRequest_QueryTypeByTag = { + 3: RunQueryRequest_QueryType.query, + 7: RunQueryRequest_QueryType.gqlQuery, + 0: RunQueryRequest_QueryType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RunQueryRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [3, 7]) + ..aOM(1, _omitFieldNames ? '' : 'readOptions', + subBuilder: ReadOptions.create) + ..aOM<$77.PartitionId>(2, _omitFieldNames ? '' : 'partitionId', + subBuilder: $77.PartitionId.create) + ..aOM<$78.Query>(3, _omitFieldNames ? '' : 'query', + subBuilder: $78.Query.create) + ..aOM<$78.GqlQuery>(7, _omitFieldNames ? '' : 'gqlQuery', + subBuilder: $78.GqlQuery.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunQueryRequest clone() => RunQueryRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunQueryRequest copyWith(void Function(RunQueryRequest) updates) => + super.copyWith((message) => updates(message as RunQueryRequest)) + as RunQueryRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunQueryRequest create() => RunQueryRequest._(); + RunQueryRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunQueryRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RunQueryRequest? _defaultInstance; + + RunQueryRequest_QueryType whichQueryType() => + _RunQueryRequest_QueryTypeByTag[$_whichOneof(0)]!; + void clearQueryType() => clearField($_whichOneof(0)); + + /// The options for this query. + @$pb.TagNumber(1) + ReadOptions get readOptions => $_getN(0); + @$pb.TagNumber(1) + set readOptions(ReadOptions v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadOptions() => $_has(0); + @$pb.TagNumber(1) + void clearReadOptions() => clearField(1); + @$pb.TagNumber(1) + ReadOptions ensureReadOptions() => $_ensure(0); + + /// Entities are partitioned into subsets, identified by a partition ID. + /// Queries are scoped to a single partition. + /// This partition ID is normalized with the standard default context + /// partition ID. + @$pb.TagNumber(2) + $77.PartitionId get partitionId => $_getN(1); + @$pb.TagNumber(2) + set partitionId($77.PartitionId v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPartitionId() => $_has(1); + @$pb.TagNumber(2) + void clearPartitionId() => clearField(2); + @$pb.TagNumber(2) + $77.PartitionId ensurePartitionId() => $_ensure(1); + + /// The query to run. + @$pb.TagNumber(3) + $78.Query get query => $_getN(2); + @$pb.TagNumber(3) + set query($78.Query v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasQuery() => $_has(2); + @$pb.TagNumber(3) + void clearQuery() => clearField(3); + @$pb.TagNumber(3) + $78.Query ensureQuery() => $_ensure(2); + + /// The GQL query to run. + @$pb.TagNumber(7) + $78.GqlQuery get gqlQuery => $_getN(3); + @$pb.TagNumber(7) + set gqlQuery($78.GqlQuery v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasGqlQuery() => $_has(3); + @$pb.TagNumber(7) + void clearGqlQuery() => clearField(7); + @$pb.TagNumber(7) + $78.GqlQuery ensureGqlQuery() => $_ensure(3); + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(4); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(4); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); +} + +/// The response for +/// [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery]. +class RunQueryResponse extends $pb.GeneratedMessage { + factory RunQueryResponse({ + $78.QueryResultBatch? batch, + $78.Query? query, + }) { + final $result = create(); + if (batch != null) { + $result.batch = batch; + } + if (query != null) { + $result.query = query; + } + return $result; + } + RunQueryResponse._() : super(); + factory RunQueryResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RunQueryResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RunQueryResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM<$78.QueryResultBatch>(1, _omitFieldNames ? '' : 'batch', + subBuilder: $78.QueryResultBatch.create) + ..aOM<$78.Query>(2, _omitFieldNames ? '' : 'query', + subBuilder: $78.Query.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RunQueryResponse clone() => RunQueryResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RunQueryResponse copyWith(void Function(RunQueryResponse) updates) => + super.copyWith((message) => updates(message as RunQueryResponse)) + as RunQueryResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RunQueryResponse create() => RunQueryResponse._(); + RunQueryResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RunQueryResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RunQueryResponse? _defaultInstance; + + /// A batch of query results (always present). + @$pb.TagNumber(1) + $78.QueryResultBatch get batch => $_getN(0); + @$pb.TagNumber(1) + set batch($78.QueryResultBatch v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasBatch() => $_has(0); + @$pb.TagNumber(1) + void clearBatch() => clearField(1); + @$pb.TagNumber(1) + $78.QueryResultBatch ensureBatch() => $_ensure(0); + + /// The parsed form of the `GqlQuery` from the request, if it was set. + @$pb.TagNumber(2) + $78.Query get query => $_getN(1); + @$pb.TagNumber(2) + set query($78.Query v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasQuery() => $_has(1); + @$pb.TagNumber(2) + void clearQuery() => clearField(2); + @$pb.TagNumber(2) + $78.Query ensureQuery() => $_ensure(1); +} + +/// The request for +/// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. +class BeginTransactionRequest extends $pb.GeneratedMessage { + factory BeginTransactionRequest({ + $core.String? projectId, + TransactionOptions? transactionOptions, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (transactionOptions != null) { + $result.transactionOptions = transactionOptions; + } + return $result; + } + BeginTransactionRequest._() : super(); + factory BeginTransactionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BeginTransactionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BeginTransactionRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOM(10, _omitFieldNames ? '' : 'transactionOptions', + subBuilder: TransactionOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BeginTransactionRequest clone() => + BeginTransactionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BeginTransactionRequest copyWith( + void Function(BeginTransactionRequest) updates) => + super.copyWith((message) => updates(message as BeginTransactionRequest)) + as BeginTransactionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BeginTransactionRequest create() => BeginTransactionRequest._(); + BeginTransactionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BeginTransactionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BeginTransactionRequest? _defaultInstance; + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// Options for a new transaction. + @$pb.TagNumber(10) + TransactionOptions get transactionOptions => $_getN(1); + @$pb.TagNumber(10) + set transactionOptions(TransactionOptions v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasTransactionOptions() => $_has(1); + @$pb.TagNumber(10) + void clearTransactionOptions() => clearField(10); + @$pb.TagNumber(10) + TransactionOptions ensureTransactionOptions() => $_ensure(1); +} + +/// The response for +/// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. +class BeginTransactionResponse extends $pb.GeneratedMessage { + factory BeginTransactionResponse({ + $core.List<$core.int>? transaction, + }) { + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + return $result; + } + BeginTransactionResponse._() : super(); + factory BeginTransactionResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BeginTransactionResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BeginTransactionResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BeginTransactionResponse clone() => + BeginTransactionResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BeginTransactionResponse copyWith( + void Function(BeginTransactionResponse) updates) => + super.copyWith((message) => updates(message as BeginTransactionResponse)) + as BeginTransactionResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BeginTransactionResponse create() => BeginTransactionResponse._(); + BeginTransactionResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BeginTransactionResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BeginTransactionResponse? _defaultInstance; + + /// The transaction identifier (always present). + @$pb.TagNumber(1) + $core.List<$core.int> get transaction => $_getN(0); + @$pb.TagNumber(1) + set transaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearTransaction() => clearField(1); +} + +/// The request for +/// [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback]. +class RollbackRequest extends $pb.GeneratedMessage { + factory RollbackRequest({ + $core.List<$core.int>? transaction, + $core.String? projectId, + }) { + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + if (projectId != null) { + $result.projectId = projectId; + } + return $result; + } + RollbackRequest._() : super(); + factory RollbackRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RollbackRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RollbackRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RollbackRequest clone() => RollbackRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RollbackRequest copyWith(void Function(RollbackRequest) updates) => + super.copyWith((message) => updates(message as RollbackRequest)) + as RollbackRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RollbackRequest create() => RollbackRequest._(); + RollbackRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RollbackRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RollbackRequest? _defaultInstance; + + /// The transaction identifier, returned by a call to + /// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. + @$pb.TagNumber(1) + $core.List<$core.int> get transaction => $_getN(0); + @$pb.TagNumber(1) + set transaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearTransaction() => clearField(1); + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); +} + +/// The response for +/// [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback]. (an empty +/// message). +class RollbackResponse extends $pb.GeneratedMessage { + factory RollbackResponse() => create(); + RollbackResponse._() : super(); + factory RollbackResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory RollbackResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'RollbackResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RollbackResponse clone() => RollbackResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RollbackResponse copyWith(void Function(RollbackResponse) updates) => + super.copyWith((message) => updates(message as RollbackResponse)) + as RollbackResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RollbackResponse create() => RollbackResponse._(); + RollbackResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RollbackResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static RollbackResponse? _defaultInstance; +} + +enum CommitRequest_TransactionSelector { transaction, notSet } + +/// The request for +/// [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit]. +class CommitRequest extends $pb.GeneratedMessage { + factory CommitRequest({ + $core.List<$core.int>? transaction, + CommitRequest_Mode? mode, + $core.Iterable? mutations, + $core.String? projectId, + }) { + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + if (mode != null) { + $result.mode = mode; + } + if (mutations != null) { + $result.mutations.addAll(mutations); + } + if (projectId != null) { + $result.projectId = projectId; + } + return $result; + } + CommitRequest._() : super(); + factory CommitRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommitRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, CommitRequest_TransactionSelector> + _CommitRequest_TransactionSelectorByTag = { + 1: CommitRequest_TransactionSelector.transaction, + 0: CommitRequest_TransactionSelector.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommitRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [1]) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..e( + 5, _omitFieldNames ? '' : 'mode', $pb.PbFieldType.OE, + defaultOrMaker: CommitRequest_Mode.MODE_UNSPECIFIED, + valueOf: CommitRequest_Mode.valueOf, + enumValues: CommitRequest_Mode.values) + ..pc(6, _omitFieldNames ? '' : 'mutations', $pb.PbFieldType.PM, + subBuilder: Mutation.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommitRequest clone() => CommitRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommitRequest copyWith(void Function(CommitRequest) updates) => + super.copyWith((message) => updates(message as CommitRequest)) + as CommitRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommitRequest create() => CommitRequest._(); + CommitRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommitRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommitRequest? _defaultInstance; + + CommitRequest_TransactionSelector whichTransactionSelector() => + _CommitRequest_TransactionSelectorByTag[$_whichOneof(0)]!; + void clearTransactionSelector() => clearField($_whichOneof(0)); + + /// The identifier of the transaction associated with the commit. A + /// transaction identifier is returned by a call to + /// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. + @$pb.TagNumber(1) + $core.List<$core.int> get transaction => $_getN(0); + @$pb.TagNumber(1) + set transaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearTransaction() => clearField(1); + + /// The type of commit to perform. Defaults to `TRANSACTIONAL`. + @$pb.TagNumber(5) + CommitRequest_Mode get mode => $_getN(1); + @$pb.TagNumber(5) + set mode(CommitRequest_Mode v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMode() => $_has(1); + @$pb.TagNumber(5) + void clearMode() => clearField(5); + + /// The mutations to perform. + /// + /// When mode is `TRANSACTIONAL`, mutations affecting a single entity are + /// applied in order. The following sequences of mutations affecting a single + /// entity are not permitted in a single `Commit` request: + /// + /// - `insert` followed by `insert` + /// - `update` followed by `insert` + /// - `upsert` followed by `insert` + /// - `delete` followed by `update` + /// + /// When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single + /// entity. + @$pb.TagNumber(6) + $core.List get mutations => $_getList(2); + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(3); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(3); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); +} + +/// The response for +/// [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit]. +class CommitResponse extends $pb.GeneratedMessage { + factory CommitResponse({ + $core.Iterable? mutationResults, + $core.int? indexUpdates, + }) { + final $result = create(); + if (mutationResults != null) { + $result.mutationResults.addAll(mutationResults); + } + if (indexUpdates != null) { + $result.indexUpdates = indexUpdates; + } + return $result; + } + CommitResponse._() : super(); + factory CommitResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CommitResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CommitResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc( + 3, _omitFieldNames ? '' : 'mutationResults', $pb.PbFieldType.PM, + subBuilder: MutationResult.create) + ..a<$core.int>(4, _omitFieldNames ? '' : 'indexUpdates', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CommitResponse clone() => CommitResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CommitResponse copyWith(void Function(CommitResponse) updates) => + super.copyWith((message) => updates(message as CommitResponse)) + as CommitResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CommitResponse create() => CommitResponse._(); + CommitResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CommitResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CommitResponse? _defaultInstance; + + /// The result of performing the mutations. + /// The i-th mutation result corresponds to the i-th mutation in the request. + @$pb.TagNumber(3) + $core.List get mutationResults => $_getList(0); + + /// The number of index entries updated during the commit, or zero if none were + /// updated. + @$pb.TagNumber(4) + $core.int get indexUpdates => $_getIZ(1); + @$pb.TagNumber(4) + set indexUpdates($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasIndexUpdates() => $_has(1); + @$pb.TagNumber(4) + void clearIndexUpdates() => clearField(4); +} + +/// The request for +/// [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds]. +class AllocateIdsRequest extends $pb.GeneratedMessage { + factory AllocateIdsRequest({ + $core.Iterable<$77.Key>? keys, + $core.String? projectId, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + if (projectId != null) { + $result.projectId = projectId; + } + return $result; + } + AllocateIdsRequest._() : super(); + factory AllocateIdsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AllocateIdsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AllocateIdsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc<$77.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $77.Key.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AllocateIdsRequest clone() => AllocateIdsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AllocateIdsRequest copyWith(void Function(AllocateIdsRequest) updates) => + super.copyWith((message) => updates(message as AllocateIdsRequest)) + as AllocateIdsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AllocateIdsRequest create() => AllocateIdsRequest._(); + AllocateIdsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AllocateIdsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AllocateIdsRequest? _defaultInstance; + + /// A list of keys with incomplete key paths for which to allocate IDs. + /// No key may be reserved/read-only. + @$pb.TagNumber(1) + $core.List<$77.Key> get keys => $_getList(0); + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); +} + +/// The response for +/// [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds]. +class AllocateIdsResponse extends $pb.GeneratedMessage { + factory AllocateIdsResponse({ + $core.Iterable<$77.Key>? keys, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + return $result; + } + AllocateIdsResponse._() : super(); + factory AllocateIdsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AllocateIdsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AllocateIdsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc<$77.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $77.Key.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AllocateIdsResponse clone() => AllocateIdsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AllocateIdsResponse copyWith(void Function(AllocateIdsResponse) updates) => + super.copyWith((message) => updates(message as AllocateIdsResponse)) + as AllocateIdsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AllocateIdsResponse create() => AllocateIdsResponse._(); + AllocateIdsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AllocateIdsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AllocateIdsResponse? _defaultInstance; + + /// The keys specified in the request (in the same order), each with + /// its key path completed with a newly allocated ID. + @$pb.TagNumber(1) + $core.List<$77.Key> get keys => $_getList(0); +} + +/// The request for +/// [Datastore.ReserveIds][google.datastore.v1beta3.Datastore.ReserveIds]. +class ReserveIdsRequest extends $pb.GeneratedMessage { + factory ReserveIdsRequest({ + $core.Iterable<$77.Key>? keys, + $core.String? projectId, + $core.String? databaseId, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + if (projectId != null) { + $result.projectId = projectId; + } + if (databaseId != null) { + $result.databaseId = databaseId; + } + return $result; + } + ReserveIdsRequest._() : super(); + factory ReserveIdsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReserveIdsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReserveIdsRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc<$77.Key>(1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: $77.Key.create) + ..aOS(8, _omitFieldNames ? '' : 'projectId') + ..aOS(9, _omitFieldNames ? '' : 'databaseId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReserveIdsRequest clone() => ReserveIdsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReserveIdsRequest copyWith(void Function(ReserveIdsRequest) updates) => + super.copyWith((message) => updates(message as ReserveIdsRequest)) + as ReserveIdsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReserveIdsRequest create() => ReserveIdsRequest._(); + ReserveIdsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReserveIdsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReserveIdsRequest? _defaultInstance; + + /// A list of keys with complete key paths whose numeric IDs should not be + /// auto-allocated. + @$pb.TagNumber(1) + $core.List<$77.Key> get keys => $_getList(0); + + /// The ID of the project against which to make the request. + @$pb.TagNumber(8) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(8) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(8) + void clearProjectId() => clearField(8); + + /// If not empty, the ID of the database against which to make the request. + @$pb.TagNumber(9) + $core.String get databaseId => $_getSZ(2); + @$pb.TagNumber(9) + set databaseId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(9) + $core.bool hasDatabaseId() => $_has(2); + @$pb.TagNumber(9) + void clearDatabaseId() => clearField(9); +} + +/// The response for +/// [Datastore.ReserveIds][google.datastore.v1beta3.Datastore.ReserveIds]. +class ReserveIdsResponse extends $pb.GeneratedMessage { + factory ReserveIdsResponse() => create(); + ReserveIdsResponse._() : super(); + factory ReserveIdsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReserveIdsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReserveIdsResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReserveIdsResponse clone() => ReserveIdsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReserveIdsResponse copyWith(void Function(ReserveIdsResponse) updates) => + super.copyWith((message) => updates(message as ReserveIdsResponse)) + as ReserveIdsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReserveIdsResponse create() => ReserveIdsResponse._(); + ReserveIdsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReserveIdsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReserveIdsResponse? _defaultInstance; +} + +enum Mutation_Operation { insert, update, upsert, delete, notSet } + +enum Mutation_ConflictDetectionStrategy { baseVersion, notSet } + +/// A mutation to apply to an entity. +class Mutation extends $pb.GeneratedMessage { + factory Mutation({ + $77.Entity? insert, + $77.Entity? update, + $77.Entity? upsert, + $77.Key? delete, + $fixnum.Int64? baseVersion, + }) { + final $result = create(); + if (insert != null) { + $result.insert = insert; + } + if (update != null) { + $result.update = update; + } + if (upsert != null) { + $result.upsert = upsert; + } + if (delete != null) { + $result.delete = delete; + } + if (baseVersion != null) { + $result.baseVersion = baseVersion; + } + return $result; + } + Mutation._() : super(); + factory Mutation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Mutation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Mutation_Operation> + _Mutation_OperationByTag = { + 4: Mutation_Operation.insert, + 5: Mutation_Operation.update, + 6: Mutation_Operation.upsert, + 7: Mutation_Operation.delete, + 0: Mutation_Operation.notSet + }; + static const $core.Map<$core.int, Mutation_ConflictDetectionStrategy> + _Mutation_ConflictDetectionStrategyByTag = { + 8: Mutation_ConflictDetectionStrategy.baseVersion, + 0: Mutation_ConflictDetectionStrategy.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Mutation', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [4, 5, 6, 7]) + ..oo(1, [8]) + ..aOM<$77.Entity>(4, _omitFieldNames ? '' : 'insert', + subBuilder: $77.Entity.create) + ..aOM<$77.Entity>(5, _omitFieldNames ? '' : 'update', + subBuilder: $77.Entity.create) + ..aOM<$77.Entity>(6, _omitFieldNames ? '' : 'upsert', + subBuilder: $77.Entity.create) + ..aOM<$77.Key>(7, _omitFieldNames ? '' : 'delete', + subBuilder: $77.Key.create) + ..aInt64(8, _omitFieldNames ? '' : 'baseVersion') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Mutation clone() => Mutation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Mutation copyWith(void Function(Mutation) updates) => + super.copyWith((message) => updates(message as Mutation)) as Mutation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Mutation create() => Mutation._(); + Mutation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Mutation getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Mutation? _defaultInstance; + + Mutation_Operation whichOperation() => + _Mutation_OperationByTag[$_whichOneof(0)]!; + void clearOperation() => clearField($_whichOneof(0)); + + Mutation_ConflictDetectionStrategy whichConflictDetectionStrategy() => + _Mutation_ConflictDetectionStrategyByTag[$_whichOneof(1)]!; + void clearConflictDetectionStrategy() => clearField($_whichOneof(1)); + + /// The entity to insert. The entity must not already exist. + /// The entity key's final path element may be incomplete. + @$pb.TagNumber(4) + $77.Entity get insert => $_getN(0); + @$pb.TagNumber(4) + set insert($77.Entity v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasInsert() => $_has(0); + @$pb.TagNumber(4) + void clearInsert() => clearField(4); + @$pb.TagNumber(4) + $77.Entity ensureInsert() => $_ensure(0); + + /// The entity to update. The entity must already exist. + /// Must have a complete key path. + @$pb.TagNumber(5) + $77.Entity get update => $_getN(1); + @$pb.TagNumber(5) + set update($77.Entity v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasUpdate() => $_has(1); + @$pb.TagNumber(5) + void clearUpdate() => clearField(5); + @$pb.TagNumber(5) + $77.Entity ensureUpdate() => $_ensure(1); + + /// The entity to upsert. The entity may or may not already exist. + /// The entity key's final path element may be incomplete. + @$pb.TagNumber(6) + $77.Entity get upsert => $_getN(2); + @$pb.TagNumber(6) + set upsert($77.Entity v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasUpsert() => $_has(2); + @$pb.TagNumber(6) + void clearUpsert() => clearField(6); + @$pb.TagNumber(6) + $77.Entity ensureUpsert() => $_ensure(2); + + /// The key of the entity to delete. The entity may or may not already exist. + /// Must have a complete key path and must not be reserved/read-only. + @$pb.TagNumber(7) + $77.Key get delete => $_getN(3); + @$pb.TagNumber(7) + set delete($77.Key v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasDelete() => $_has(3); + @$pb.TagNumber(7) + void clearDelete() => clearField(7); + @$pb.TagNumber(7) + $77.Key ensureDelete() => $_ensure(3); + + /// The version of the entity that this mutation is being applied to. If this + /// does not match the current version on the server, the mutation conflicts. + @$pb.TagNumber(8) + $fixnum.Int64 get baseVersion => $_getI64(4); + @$pb.TagNumber(8) + set baseVersion($fixnum.Int64 v) { + $_setInt64(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasBaseVersion() => $_has(4); + @$pb.TagNumber(8) + void clearBaseVersion() => clearField(8); +} + +/// The result of applying a mutation. +class MutationResult extends $pb.GeneratedMessage { + factory MutationResult({ + $77.Key? key, + $fixnum.Int64? version, + $core.bool? conflictDetected, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (version != null) { + $result.version = version; + } + if (conflictDetected != null) { + $result.conflictDetected = conflictDetected; + } + return $result; + } + MutationResult._() : super(); + factory MutationResult.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MutationResult.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MutationResult', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM<$77.Key>(3, _omitFieldNames ? '' : 'key', subBuilder: $77.Key.create) + ..aInt64(4, _omitFieldNames ? '' : 'version') + ..aOB(5, _omitFieldNames ? '' : 'conflictDetected') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MutationResult clone() => MutationResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MutationResult copyWith(void Function(MutationResult) updates) => + super.copyWith((message) => updates(message as MutationResult)) + as MutationResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MutationResult create() => MutationResult._(); + MutationResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MutationResult getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MutationResult? _defaultInstance; + + /// The automatically allocated key. + /// Set only when the mutation allocated a key. + @$pb.TagNumber(3) + $77.Key get key => $_getN(0); + @$pb.TagNumber(3) + set key($77.Key v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(3) + void clearKey() => clearField(3); + @$pb.TagNumber(3) + $77.Key ensureKey() => $_ensure(0); + + /// The version of the entity on the server after processing the mutation. If + /// the mutation doesn't change anything on the server, then the version will + /// be the version of the current entity or, if no entity is present, a version + /// that is strictly greater than the version of any previous entity and less + /// than the version of any possible future entity. + @$pb.TagNumber(4) + $fixnum.Int64 get version => $_getI64(1); + @$pb.TagNumber(4) + set version($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasVersion() => $_has(1); + @$pb.TagNumber(4) + void clearVersion() => clearField(4); + + /// Whether a conflict was detected for this mutation. Always false when a + /// conflict detection strategy field is not set in the mutation. + @$pb.TagNumber(5) + $core.bool get conflictDetected => $_getBF(2); + @$pb.TagNumber(5) + set conflictDetected($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasConflictDetected() => $_has(2); + @$pb.TagNumber(5) + void clearConflictDetected() => clearField(5); +} + +enum ReadOptions_ConsistencyType { readConsistency, transaction, notSet } + +/// The options shared by read requests. +class ReadOptions extends $pb.GeneratedMessage { + factory ReadOptions({ + ReadOptions_ReadConsistency? readConsistency, + $core.List<$core.int>? transaction, + }) { + final $result = create(); + if (readConsistency != null) { + $result.readConsistency = readConsistency; + } + if (transaction != null) { + $result.transaction = transaction; + } + return $result; + } + ReadOptions._() : super(); + factory ReadOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ReadOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, ReadOptions_ConsistencyType> + _ReadOptions_ConsistencyTypeByTag = { + 1: ReadOptions_ConsistencyType.readConsistency, + 2: ReadOptions_ConsistencyType.transaction, + 0: ReadOptions_ConsistencyType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ReadOptions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..e( + 1, _omitFieldNames ? '' : 'readConsistency', $pb.PbFieldType.OE, + defaultOrMaker: + ReadOptions_ReadConsistency.READ_CONSISTENCY_UNSPECIFIED, + valueOf: ReadOptions_ReadConsistency.valueOf, + enumValues: ReadOptions_ReadConsistency.values) + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'transaction', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ReadOptions clone() => ReadOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ReadOptions copyWith(void Function(ReadOptions) updates) => + super.copyWith((message) => updates(message as ReadOptions)) + as ReadOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ReadOptions create() => ReadOptions._(); + ReadOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ReadOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ReadOptions? _defaultInstance; + + ReadOptions_ConsistencyType whichConsistencyType() => + _ReadOptions_ConsistencyTypeByTag[$_whichOneof(0)]!; + void clearConsistencyType() => clearField($_whichOneof(0)); + + /// The non-transactional read consistency to use. + /// Cannot be set to `STRONG` for global queries. + @$pb.TagNumber(1) + ReadOptions_ReadConsistency get readConsistency => $_getN(0); + @$pb.TagNumber(1) + set readConsistency(ReadOptions_ReadConsistency v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadConsistency() => $_has(0); + @$pb.TagNumber(1) + void clearReadConsistency() => clearField(1); + + /// The identifier of the transaction in which to read. A + /// transaction identifier is returned by a call to + /// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. + @$pb.TagNumber(2) + $core.List<$core.int> get transaction => $_getN(1); + @$pb.TagNumber(2) + set transaction($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTransaction() => $_has(1); + @$pb.TagNumber(2) + void clearTransaction() => clearField(2); +} + +/// Options specific to read / write transactions. +class TransactionOptions_ReadWrite extends $pb.GeneratedMessage { + factory TransactionOptions_ReadWrite({ + $core.List<$core.int>? previousTransaction, + }) { + final $result = create(); + if (previousTransaction != null) { + $result.previousTransaction = previousTransaction; + } + return $result; + } + TransactionOptions_ReadWrite._() : super(); + factory TransactionOptions_ReadWrite.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TransactionOptions_ReadWrite.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TransactionOptions.ReadWrite', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..a<$core.List<$core.int>>( + 1, _omitFieldNames ? '' : 'previousTransaction', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadWrite clone() => + TransactionOptions_ReadWrite()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadWrite copyWith( + void Function(TransactionOptions_ReadWrite) updates) => + super.copyWith( + (message) => updates(message as TransactionOptions_ReadWrite)) + as TransactionOptions_ReadWrite; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadWrite create() => + TransactionOptions_ReadWrite._(); + TransactionOptions_ReadWrite createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadWrite getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TransactionOptions_ReadWrite? _defaultInstance; + + /// The transaction identifier of the transaction being retried. + @$pb.TagNumber(1) + $core.List<$core.int> get previousTransaction => $_getN(0); + @$pb.TagNumber(1) + set previousTransaction($core.List<$core.int> v) { + $_setBytes(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPreviousTransaction() => $_has(0); + @$pb.TagNumber(1) + void clearPreviousTransaction() => clearField(1); +} + +/// Options specific to read-only transactions. +class TransactionOptions_ReadOnly extends $pb.GeneratedMessage { + factory TransactionOptions_ReadOnly() => create(); + TransactionOptions_ReadOnly._() : super(); + factory TransactionOptions_ReadOnly.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TransactionOptions_ReadOnly.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TransactionOptions.ReadOnly', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadOnly clone() => + TransactionOptions_ReadOnly()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TransactionOptions_ReadOnly copyWith( + void Function(TransactionOptions_ReadOnly) updates) => + super.copyWith( + (message) => updates(message as TransactionOptions_ReadOnly)) + as TransactionOptions_ReadOnly; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadOnly create() => + TransactionOptions_ReadOnly._(); + TransactionOptions_ReadOnly createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TransactionOptions_ReadOnly getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TransactionOptions_ReadOnly? _defaultInstance; +} + +enum TransactionOptions_Mode { readWrite, readOnly, notSet } + +/// Options for beginning a new transaction. +/// +/// Transactions can be created explicitly with calls to +/// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction] +/// or implicitly by setting +/// [ReadOptions.new_transaction][google.datastore.v1beta3.ReadOptions.new_transaction] +/// in read requests. +class TransactionOptions extends $pb.GeneratedMessage { + factory TransactionOptions({ + TransactionOptions_ReadWrite? readWrite, + TransactionOptions_ReadOnly? readOnly, + }) { + final $result = create(); + if (readWrite != null) { + $result.readWrite = readWrite; + } + if (readOnly != null) { + $result.readOnly = readOnly; + } + return $result; + } + TransactionOptions._() : super(); + factory TransactionOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TransactionOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, TransactionOptions_Mode> + _TransactionOptions_ModeByTag = { + 1: TransactionOptions_Mode.readWrite, + 2: TransactionOptions_Mode.readOnly, + 0: TransactionOptions_Mode.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TransactionOptions', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'readWrite', + subBuilder: TransactionOptions_ReadWrite.create) + ..aOM(2, _omitFieldNames ? '' : 'readOnly', + subBuilder: TransactionOptions_ReadOnly.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TransactionOptions clone() => TransactionOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TransactionOptions copyWith(void Function(TransactionOptions) updates) => + super.copyWith((message) => updates(message as TransactionOptions)) + as TransactionOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TransactionOptions create() => TransactionOptions._(); + TransactionOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TransactionOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TransactionOptions? _defaultInstance; + + TransactionOptions_Mode whichMode() => + _TransactionOptions_ModeByTag[$_whichOneof(0)]!; + void clearMode() => clearField($_whichOneof(0)); + + /// The transaction should allow both reads and writes. + @$pb.TagNumber(1) + TransactionOptions_ReadWrite get readWrite => $_getN(0); + @$pb.TagNumber(1) + set readWrite(TransactionOptions_ReadWrite v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReadWrite() => $_has(0); + @$pb.TagNumber(1) + void clearReadWrite() => clearField(1); + @$pb.TagNumber(1) + TransactionOptions_ReadWrite ensureReadWrite() => $_ensure(0); + + /// The transaction should only allow reads. + @$pb.TagNumber(2) + TransactionOptions_ReadOnly get readOnly => $_getN(1); + @$pb.TagNumber(2) + set readOnly(TransactionOptions_ReadOnly v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasReadOnly() => $_has(1); + @$pb.TagNumber(2) + void clearReadOnly() => clearField(2); + @$pb.TagNumber(2) + TransactionOptions_ReadOnly ensureReadOnly() => $_ensure(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbenum.dart new file mode 100644 index 00000000..60b2aa54 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbenum.dart @@ -0,0 +1,64 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The modes available for commits. +class CommitRequest_Mode extends $pb.ProtobufEnum { + static const CommitRequest_Mode MODE_UNSPECIFIED = + CommitRequest_Mode._(0, _omitEnumNames ? '' : 'MODE_UNSPECIFIED'); + static const CommitRequest_Mode TRANSACTIONAL = + CommitRequest_Mode._(1, _omitEnumNames ? '' : 'TRANSACTIONAL'); + static const CommitRequest_Mode NON_TRANSACTIONAL = + CommitRequest_Mode._(2, _omitEnumNames ? '' : 'NON_TRANSACTIONAL'); + + static const $core.List values = [ + MODE_UNSPECIFIED, + TRANSACTIONAL, + NON_TRANSACTIONAL, + ]; + + static final $core.Map<$core.int, CommitRequest_Mode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CommitRequest_Mode? valueOf($core.int value) => _byValue[value]; + + const CommitRequest_Mode._($core.int v, $core.String n) : super(v, n); +} + +/// The possible values for read consistencies. +class ReadOptions_ReadConsistency extends $pb.ProtobufEnum { + static const ReadOptions_ReadConsistency READ_CONSISTENCY_UNSPECIFIED = + ReadOptions_ReadConsistency._( + 0, _omitEnumNames ? '' : 'READ_CONSISTENCY_UNSPECIFIED'); + static const ReadOptions_ReadConsistency STRONG = + ReadOptions_ReadConsistency._(1, _omitEnumNames ? '' : 'STRONG'); + static const ReadOptions_ReadConsistency EVENTUAL = + ReadOptions_ReadConsistency._(2, _omitEnumNames ? '' : 'EVENTUAL'); + + static const $core.List values = + [ + READ_CONSISTENCY_UNSPECIFIED, + STRONG, + EVENTUAL, + ]; + + static final $core.Map<$core.int, ReadOptions_ReadConsistency> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ReadOptions_ReadConsistency? valueOf($core.int value) => + _byValue[value]; + + const ReadOptions_ReadConsistency._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbgrpc.dart new file mode 100644 index 00000000..ed4f3f85 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbgrpc.dart @@ -0,0 +1,225 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'datastore.pb.dart' as $22; + +export 'datastore.pb.dart'; + +@$pb.GrpcServiceName('google.datastore.v1beta3.Datastore') +class DatastoreClient extends $grpc.Client { + static final _$lookup = + $grpc.ClientMethod<$22.LookupRequest, $22.LookupResponse>( + '/google.datastore.v1beta3.Datastore/Lookup', + ($22.LookupRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.LookupResponse.fromBuffer(value)); + static final _$runQuery = + $grpc.ClientMethod<$22.RunQueryRequest, $22.RunQueryResponse>( + '/google.datastore.v1beta3.Datastore/RunQuery', + ($22.RunQueryRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.RunQueryResponse.fromBuffer(value)); + static final _$beginTransaction = $grpc.ClientMethod< + $22.BeginTransactionRequest, $22.BeginTransactionResponse>( + '/google.datastore.v1beta3.Datastore/BeginTransaction', + ($22.BeginTransactionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.BeginTransactionResponse.fromBuffer(value)); + static final _$commit = + $grpc.ClientMethod<$22.CommitRequest, $22.CommitResponse>( + '/google.datastore.v1beta3.Datastore/Commit', + ($22.CommitRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.CommitResponse.fromBuffer(value)); + static final _$rollback = + $grpc.ClientMethod<$22.RollbackRequest, $22.RollbackResponse>( + '/google.datastore.v1beta3.Datastore/Rollback', + ($22.RollbackRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.RollbackResponse.fromBuffer(value)); + static final _$allocateIds = + $grpc.ClientMethod<$22.AllocateIdsRequest, $22.AllocateIdsResponse>( + '/google.datastore.v1beta3.Datastore/AllocateIds', + ($22.AllocateIdsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.AllocateIdsResponse.fromBuffer(value)); + static final _$reserveIds = + $grpc.ClientMethod<$22.ReserveIdsRequest, $22.ReserveIdsResponse>( + '/google.datastore.v1beta3.Datastore/ReserveIds', + ($22.ReserveIdsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $22.ReserveIdsResponse.fromBuffer(value)); + + DatastoreClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$22.LookupResponse> lookup($22.LookupRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$lookup, request, options: options); + } + + $grpc.ResponseFuture<$22.RunQueryResponse> runQuery( + $22.RunQueryRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$runQuery, request, options: options); + } + + $grpc.ResponseFuture<$22.BeginTransactionResponse> beginTransaction( + $22.BeginTransactionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$beginTransaction, request, options: options); + } + + $grpc.ResponseFuture<$22.CommitResponse> commit($22.CommitRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$commit, request, options: options); + } + + $grpc.ResponseFuture<$22.RollbackResponse> rollback( + $22.RollbackRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$rollback, request, options: options); + } + + $grpc.ResponseFuture<$22.AllocateIdsResponse> allocateIds( + $22.AllocateIdsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$allocateIds, request, options: options); + } + + $grpc.ResponseFuture<$22.ReserveIdsResponse> reserveIds( + $22.ReserveIdsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$reserveIds, request, options: options); + } +} + +@$pb.GrpcServiceName('google.datastore.v1beta3.Datastore') +abstract class DatastoreServiceBase extends $grpc.Service { + $core.String get $name => 'google.datastore.v1beta3.Datastore'; + + DatastoreServiceBase() { + $addMethod($grpc.ServiceMethod<$22.LookupRequest, $22.LookupResponse>( + 'Lookup', + lookup_Pre, + false, + false, + ($core.List<$core.int> value) => $22.LookupRequest.fromBuffer(value), + ($22.LookupResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$22.RunQueryRequest, $22.RunQueryResponse>( + 'RunQuery', + runQuery_Pre, + false, + false, + ($core.List<$core.int> value) => $22.RunQueryRequest.fromBuffer(value), + ($22.RunQueryResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$22.BeginTransactionRequest, + $22.BeginTransactionResponse>( + 'BeginTransaction', + beginTransaction_Pre, + false, + false, + ($core.List<$core.int> value) => + $22.BeginTransactionRequest.fromBuffer(value), + ($22.BeginTransactionResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$22.CommitRequest, $22.CommitResponse>( + 'Commit', + commit_Pre, + false, + false, + ($core.List<$core.int> value) => $22.CommitRequest.fromBuffer(value), + ($22.CommitResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$22.RollbackRequest, $22.RollbackResponse>( + 'Rollback', + rollback_Pre, + false, + false, + ($core.List<$core.int> value) => $22.RollbackRequest.fromBuffer(value), + ($22.RollbackResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$22.AllocateIdsRequest, $22.AllocateIdsResponse>( + 'AllocateIds', + allocateIds_Pre, + false, + false, + ($core.List<$core.int> value) => + $22.AllocateIdsRequest.fromBuffer(value), + ($22.AllocateIdsResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$22.ReserveIdsRequest, $22.ReserveIdsResponse>( + 'ReserveIds', + reserveIds_Pre, + false, + false, + ($core.List<$core.int> value) => + $22.ReserveIdsRequest.fromBuffer(value), + ($22.ReserveIdsResponse value) => value.writeToBuffer())); + } + + $async.Future<$22.LookupResponse> lookup_Pre( + $grpc.ServiceCall call, $async.Future<$22.LookupRequest> request) async { + return lookup(call, await request); + } + + $async.Future<$22.RunQueryResponse> runQuery_Pre($grpc.ServiceCall call, + $async.Future<$22.RunQueryRequest> request) async { + return runQuery(call, await request); + } + + $async.Future<$22.BeginTransactionResponse> beginTransaction_Pre( + $grpc.ServiceCall call, + $async.Future<$22.BeginTransactionRequest> request) async { + return beginTransaction(call, await request); + } + + $async.Future<$22.CommitResponse> commit_Pre( + $grpc.ServiceCall call, $async.Future<$22.CommitRequest> request) async { + return commit(call, await request); + } + + $async.Future<$22.RollbackResponse> rollback_Pre($grpc.ServiceCall call, + $async.Future<$22.RollbackRequest> request) async { + return rollback(call, await request); + } + + $async.Future<$22.AllocateIdsResponse> allocateIds_Pre($grpc.ServiceCall call, + $async.Future<$22.AllocateIdsRequest> request) async { + return allocateIds(call, await request); + } + + $async.Future<$22.ReserveIdsResponse> reserveIds_Pre($grpc.ServiceCall call, + $async.Future<$22.ReserveIdsRequest> request) async { + return reserveIds(call, await request); + } + + $async.Future<$22.LookupResponse> lookup( + $grpc.ServiceCall call, $22.LookupRequest request); + $async.Future<$22.RunQueryResponse> runQuery( + $grpc.ServiceCall call, $22.RunQueryRequest request); + $async.Future<$22.BeginTransactionResponse> beginTransaction( + $grpc.ServiceCall call, $22.BeginTransactionRequest request); + $async.Future<$22.CommitResponse> commit( + $grpc.ServiceCall call, $22.CommitRequest request); + $async.Future<$22.RollbackResponse> rollback( + $grpc.ServiceCall call, $22.RollbackRequest request); + $async.Future<$22.AllocateIdsResponse> allocateIds( + $grpc.ServiceCall call, $22.AllocateIdsRequest request); + $async.Future<$22.ReserveIdsResponse> reserveIds( + $grpc.ServiceCall call, $22.ReserveIdsRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbjson.dart new file mode 100644 index 00000000..d4731152 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/datastore.pbjson.dart @@ -0,0 +1,551 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/datastore.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use lookupRequestDescriptor instead') +const LookupRequest$json = { + '1': 'LookupRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'read_options', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.ReadOptions', + '10': 'readOptions' + }, + { + '1': 'keys', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'keys' + }, + ], +}; + +/// Descriptor for `LookupRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lookupRequestDescriptor = $convert.base64Decode( + 'Cg1Mb29rdXBSZXF1ZXN0Eh0KCnByb2plY3RfaWQYCCABKAlSCXByb2plY3RJZBJICgxyZWFkX2' + '9wdGlvbnMYASABKAsyJS5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuUmVhZE9wdGlvbnNSC3Jl' + 'YWRPcHRpb25zEjEKBGtleXMYAyADKAsyHS5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuS2V5Ug' + 'RrZXlz'); + +@$core.Deprecated('Use lookupResponseDescriptor instead') +const LookupResponse$json = { + '1': 'LookupResponse', + '2': [ + { + '1': 'found', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.EntityResult', + '10': 'found' + }, + { + '1': 'missing', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.EntityResult', + '10': 'missing' + }, + { + '1': 'deferred', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'deferred' + }, + ], +}; + +/// Descriptor for `LookupResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lookupResponseDescriptor = $convert.base64Decode( + 'Cg5Mb29rdXBSZXNwb25zZRI8CgVmb3VuZBgBIAMoCzImLmdvb2dsZS5kYXRhc3RvcmUudjFiZX' + 'RhMy5FbnRpdHlSZXN1bHRSBWZvdW5kEkAKB21pc3NpbmcYAiADKAsyJi5nb29nbGUuZGF0YXN0' + 'b3JlLnYxYmV0YTMuRW50aXR5UmVzdWx0UgdtaXNzaW5nEjkKCGRlZmVycmVkGAMgAygLMh0uZ2' + '9vZ2xlLmRhdGFzdG9yZS52MWJldGEzLktleVIIZGVmZXJyZWQ='); + +@$core.Deprecated('Use runQueryRequestDescriptor instead') +const RunQueryRequest$json = { + '1': 'RunQueryRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'partition_id', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.PartitionId', + '10': 'partitionId' + }, + { + '1': 'read_options', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.ReadOptions', + '10': 'readOptions' + }, + { + '1': 'query', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Query', + '9': 0, + '10': 'query' + }, + { + '1': 'gql_query', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.GqlQuery', + '9': 0, + '10': 'gqlQuery' + }, + ], + '8': [ + {'1': 'query_type'}, + ], +}; + +/// Descriptor for `RunQueryRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runQueryRequestDescriptor = $convert.base64Decode( + 'Cg9SdW5RdWVyeVJlcXVlc3QSHQoKcHJvamVjdF9pZBgIIAEoCVIJcHJvamVjdElkEkgKDHBhcn' + 'RpdGlvbl9pZBgCIAEoCzIlLmdvb2dsZS5kYXRhc3RvcmUudjFiZXRhMy5QYXJ0aXRpb25JZFIL' + 'cGFydGl0aW9uSWQSSAoMcmVhZF9vcHRpb25zGAEgASgLMiUuZ29vZ2xlLmRhdGFzdG9yZS52MW' + 'JldGEzLlJlYWRPcHRpb25zUgtyZWFkT3B0aW9ucxI3CgVxdWVyeRgDIAEoCzIfLmdvb2dsZS5k' + 'YXRhc3RvcmUudjFiZXRhMy5RdWVyeUgAUgVxdWVyeRJBCglncWxfcXVlcnkYByABKAsyIi5nb2' + '9nbGUuZGF0YXN0b3JlLnYxYmV0YTMuR3FsUXVlcnlIAFIIZ3FsUXVlcnlCDAoKcXVlcnlfdHlw' + 'ZQ=='); + +@$core.Deprecated('Use runQueryResponseDescriptor instead') +const RunQueryResponse$json = { + '1': 'RunQueryResponse', + '2': [ + { + '1': 'batch', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.QueryResultBatch', + '10': 'batch' + }, + { + '1': 'query', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Query', + '10': 'query' + }, + ], +}; + +/// Descriptor for `RunQueryResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List runQueryResponseDescriptor = $convert.base64Decode( + 'ChBSdW5RdWVyeVJlc3BvbnNlEkAKBWJhdGNoGAEgASgLMiouZ29vZ2xlLmRhdGFzdG9yZS52MW' + 'JldGEzLlF1ZXJ5UmVzdWx0QmF0Y2hSBWJhdGNoEjUKBXF1ZXJ5GAIgASgLMh8uZ29vZ2xlLmRh' + 'dGFzdG9yZS52MWJldGEzLlF1ZXJ5UgVxdWVyeQ=='); + +@$core.Deprecated('Use beginTransactionRequestDescriptor instead') +const BeginTransactionRequest$json = { + '1': 'BeginTransactionRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'transaction_options', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.TransactionOptions', + '10': 'transactionOptions' + }, + ], +}; + +/// Descriptor for `BeginTransactionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List beginTransactionRequestDescriptor = $convert.base64Decode( + 'ChdCZWdpblRyYW5zYWN0aW9uUmVxdWVzdBIdCgpwcm9qZWN0X2lkGAggASgJUglwcm9qZWN0SW' + 'QSXQoTdHJhbnNhY3Rpb25fb3B0aW9ucxgKIAEoCzIsLmdvb2dsZS5kYXRhc3RvcmUudjFiZXRh' + 'My5UcmFuc2FjdGlvbk9wdGlvbnNSEnRyYW5zYWN0aW9uT3B0aW9ucw=='); + +@$core.Deprecated('Use beginTransactionResponseDescriptor instead') +const BeginTransactionResponse$json = { + '1': 'BeginTransactionResponse', + '2': [ + {'1': 'transaction', '3': 1, '4': 1, '5': 12, '10': 'transaction'}, + ], +}; + +/// Descriptor for `BeginTransactionResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List beginTransactionResponseDescriptor = + $convert.base64Decode( + 'ChhCZWdpblRyYW5zYWN0aW9uUmVzcG9uc2USIAoLdHJhbnNhY3Rpb24YASABKAxSC3RyYW5zYW' + 'N0aW9u'); + +@$core.Deprecated('Use rollbackRequestDescriptor instead') +const RollbackRequest$json = { + '1': 'RollbackRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'transaction', '3': 1, '4': 1, '5': 12, '10': 'transaction'}, + ], +}; + +/// Descriptor for `RollbackRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rollbackRequestDescriptor = $convert.base64Decode( + 'Cg9Sb2xsYmFja1JlcXVlc3QSHQoKcHJvamVjdF9pZBgIIAEoCVIJcHJvamVjdElkEiAKC3RyYW' + '5zYWN0aW9uGAEgASgMUgt0cmFuc2FjdGlvbg=='); + +@$core.Deprecated('Use rollbackResponseDescriptor instead') +const RollbackResponse$json = { + '1': 'RollbackResponse', +}; + +/// Descriptor for `RollbackResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rollbackResponseDescriptor = + $convert.base64Decode('ChBSb2xsYmFja1Jlc3BvbnNl'); + +@$core.Deprecated('Use commitRequestDescriptor instead') +const CommitRequest$json = { + '1': 'CommitRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'mode', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.CommitRequest.Mode', + '10': 'mode' + }, + {'1': 'transaction', '3': 1, '4': 1, '5': 12, '9': 0, '10': 'transaction'}, + { + '1': 'mutations', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Mutation', + '10': 'mutations' + }, + ], + '4': [CommitRequest_Mode$json], + '8': [ + {'1': 'transaction_selector'}, + ], +}; + +@$core.Deprecated('Use commitRequestDescriptor instead') +const CommitRequest_Mode$json = { + '1': 'Mode', + '2': [ + {'1': 'MODE_UNSPECIFIED', '2': 0}, + {'1': 'TRANSACTIONAL', '2': 1}, + {'1': 'NON_TRANSACTIONAL', '2': 2}, + ], +}; + +/// Descriptor for `CommitRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commitRequestDescriptor = $convert.base64Decode( + 'Cg1Db21taXRSZXF1ZXN0Eh0KCnByb2plY3RfaWQYCCABKAlSCXByb2plY3RJZBJACgRtb2RlGA' + 'UgASgOMiwuZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLkNvbW1pdFJlcXVlc3QuTW9kZVIEbW9k' + 'ZRIiCgt0cmFuc2FjdGlvbhgBIAEoDEgAUgt0cmFuc2FjdGlvbhJACgltdXRhdGlvbnMYBiADKA' + 'syIi5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuTXV0YXRpb25SCW11dGF0aW9ucyJGCgRNb2Rl' + 'EhQKEE1PREVfVU5TUEVDSUZJRUQQABIRCg1UUkFOU0FDVElPTkFMEAESFQoRTk9OX1RSQU5TQU' + 'NUSU9OQUwQAkIWChR0cmFuc2FjdGlvbl9zZWxlY3Rvcg=='); + +@$core.Deprecated('Use commitResponseDescriptor instead') +const CommitResponse$json = { + '1': 'CommitResponse', + '2': [ + { + '1': 'mutation_results', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.MutationResult', + '10': 'mutationResults' + }, + {'1': 'index_updates', '3': 4, '4': 1, '5': 5, '10': 'indexUpdates'}, + ], +}; + +/// Descriptor for `CommitResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List commitResponseDescriptor = $convert.base64Decode( + 'Cg5Db21taXRSZXNwb25zZRJTChBtdXRhdGlvbl9yZXN1bHRzGAMgAygLMiguZ29vZ2xlLmRhdG' + 'FzdG9yZS52MWJldGEzLk11dGF0aW9uUmVzdWx0Ug9tdXRhdGlvblJlc3VsdHMSIwoNaW5kZXhf' + 'dXBkYXRlcxgEIAEoBVIMaW5kZXhVcGRhdGVz'); + +@$core.Deprecated('Use allocateIdsRequestDescriptor instead') +const AllocateIdsRequest$json = { + '1': 'AllocateIdsRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'keys' + }, + ], +}; + +/// Descriptor for `AllocateIdsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List allocateIdsRequestDescriptor = $convert.base64Decode( + 'ChJBbGxvY2F0ZUlkc1JlcXVlc3QSHQoKcHJvamVjdF9pZBgIIAEoCVIJcHJvamVjdElkEjEKBG' + 'tleXMYASADKAsyHS5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuS2V5UgRrZXlz'); + +@$core.Deprecated('Use allocateIdsResponseDescriptor instead') +const AllocateIdsResponse$json = { + '1': 'AllocateIdsResponse', + '2': [ + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'keys' + }, + ], +}; + +/// Descriptor for `AllocateIdsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List allocateIdsResponseDescriptor = $convert.base64Decode( + 'ChNBbGxvY2F0ZUlkc1Jlc3BvbnNlEjEKBGtleXMYASADKAsyHS5nb29nbGUuZGF0YXN0b3JlLn' + 'YxYmV0YTMuS2V5UgRrZXlz'); + +@$core.Deprecated('Use reserveIdsRequestDescriptor instead') +const ReserveIdsRequest$json = { + '1': 'ReserveIdsRequest', + '2': [ + {'1': 'project_id', '3': 8, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'database_id', '3': 9, '4': 1, '5': 9, '10': 'databaseId'}, + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'keys' + }, + ], +}; + +/// Descriptor for `ReserveIdsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reserveIdsRequestDescriptor = $convert.base64Decode( + 'ChFSZXNlcnZlSWRzUmVxdWVzdBIdCgpwcm9qZWN0X2lkGAggASgJUglwcm9qZWN0SWQSHwoLZG' + 'F0YWJhc2VfaWQYCSABKAlSCmRhdGFiYXNlSWQSMQoEa2V5cxgBIAMoCzIdLmdvb2dsZS5kYXRh' + 'c3RvcmUudjFiZXRhMy5LZXlSBGtleXM='); + +@$core.Deprecated('Use reserveIdsResponseDescriptor instead') +const ReserveIdsResponse$json = { + '1': 'ReserveIdsResponse', +}; + +/// Descriptor for `ReserveIdsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List reserveIdsResponseDescriptor = + $convert.base64Decode('ChJSZXNlcnZlSWRzUmVzcG9uc2U='); + +@$core.Deprecated('Use mutationDescriptor instead') +const Mutation$json = { + '1': 'Mutation', + '2': [ + { + '1': 'insert', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Entity', + '9': 0, + '10': 'insert' + }, + { + '1': 'update', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Entity', + '9': 0, + '10': 'update' + }, + { + '1': 'upsert', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Entity', + '9': 0, + '10': 'upsert' + }, + { + '1': 'delete', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '9': 0, + '10': 'delete' + }, + {'1': 'base_version', '3': 8, '4': 1, '5': 3, '9': 1, '10': 'baseVersion'}, + ], + '8': [ + {'1': 'operation'}, + {'1': 'conflict_detection_strategy'}, + ], +}; + +/// Descriptor for `Mutation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mutationDescriptor = $convert.base64Decode( + 'CghNdXRhdGlvbhI6CgZpbnNlcnQYBCABKAsyIC5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuRW' + '50aXR5SABSBmluc2VydBI6CgZ1cGRhdGUYBSABKAsyIC5nb29nbGUuZGF0YXN0b3JlLnYxYmV0' + 'YTMuRW50aXR5SABSBnVwZGF0ZRI6CgZ1cHNlcnQYBiABKAsyIC5nb29nbGUuZGF0YXN0b3JlLn' + 'YxYmV0YTMuRW50aXR5SABSBnVwc2VydBI3CgZkZWxldGUYByABKAsyHS5nb29nbGUuZGF0YXN0' + 'b3JlLnYxYmV0YTMuS2V5SABSBmRlbGV0ZRIjCgxiYXNlX3ZlcnNpb24YCCABKANIAVILYmFzZV' + 'ZlcnNpb25CCwoJb3BlcmF0aW9uQh0KG2NvbmZsaWN0X2RldGVjdGlvbl9zdHJhdGVneQ=='); + +@$core.Deprecated('Use mutationResultDescriptor instead') +const MutationResult$json = { + '1': 'MutationResult', + '2': [ + { + '1': 'key', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'key' + }, + {'1': 'version', '3': 4, '4': 1, '5': 3, '10': 'version'}, + { + '1': 'conflict_detected', + '3': 5, + '4': 1, + '5': 8, + '10': 'conflictDetected' + }, + ], +}; + +/// Descriptor for `MutationResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mutationResultDescriptor = $convert.base64Decode( + 'Cg5NdXRhdGlvblJlc3VsdBIvCgNrZXkYAyABKAsyHS5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YT' + 'MuS2V5UgNrZXkSGAoHdmVyc2lvbhgEIAEoA1IHdmVyc2lvbhIrChFjb25mbGljdF9kZXRlY3Rl' + 'ZBgFIAEoCFIQY29uZmxpY3REZXRlY3RlZA=='); + +@$core.Deprecated('Use readOptionsDescriptor instead') +const ReadOptions$json = { + '1': 'ReadOptions', + '2': [ + { + '1': 'read_consistency', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.ReadOptions.ReadConsistency', + '9': 0, + '10': 'readConsistency' + }, + {'1': 'transaction', '3': 2, '4': 1, '5': 12, '9': 0, '10': 'transaction'}, + ], + '4': [ReadOptions_ReadConsistency$json], + '8': [ + {'1': 'consistency_type'}, + ], +}; + +@$core.Deprecated('Use readOptionsDescriptor instead') +const ReadOptions_ReadConsistency$json = { + '1': 'ReadConsistency', + '2': [ + {'1': 'READ_CONSISTENCY_UNSPECIFIED', '2': 0}, + {'1': 'STRONG', '2': 1}, + {'1': 'EVENTUAL', '2': 2}, + ], +}; + +/// Descriptor for `ReadOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List readOptionsDescriptor = $convert.base64Decode( + 'CgtSZWFkT3B0aW9ucxJiChByZWFkX2NvbnNpc3RlbmN5GAEgASgOMjUuZ29vZ2xlLmRhdGFzdG' + '9yZS52MWJldGEzLlJlYWRPcHRpb25zLlJlYWRDb25zaXN0ZW5jeUgAUg9yZWFkQ29uc2lzdGVu' + 'Y3kSIgoLdHJhbnNhY3Rpb24YAiABKAxIAFILdHJhbnNhY3Rpb24iTQoPUmVhZENvbnNpc3Rlbm' + 'N5EiAKHFJFQURfQ09OU0lTVEVOQ1lfVU5TUEVDSUZJRUQQABIKCgZTVFJPTkcQARIMCghFVkVO' + 'VFVBTBACQhIKEGNvbnNpc3RlbmN5X3R5cGU='); + +@$core.Deprecated('Use transactionOptionsDescriptor instead') +const TransactionOptions$json = { + '1': 'TransactionOptions', + '2': [ + { + '1': 'read_write', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.TransactionOptions.ReadWrite', + '9': 0, + '10': 'readWrite' + }, + { + '1': 'read_only', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.TransactionOptions.ReadOnly', + '9': 0, + '10': 'readOnly' + }, + ], + '3': [TransactionOptions_ReadWrite$json, TransactionOptions_ReadOnly$json], + '8': [ + {'1': 'mode'}, + ], +}; + +@$core.Deprecated('Use transactionOptionsDescriptor instead') +const TransactionOptions_ReadWrite$json = { + '1': 'ReadWrite', + '2': [ + { + '1': 'previous_transaction', + '3': 1, + '4': 1, + '5': 12, + '10': 'previousTransaction' + }, + ], +}; + +@$core.Deprecated('Use transactionOptionsDescriptor instead') +const TransactionOptions_ReadOnly$json = { + '1': 'ReadOnly', +}; + +/// Descriptor for `TransactionOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List transactionOptionsDescriptor = $convert.base64Decode( + 'ChJUcmFuc2FjdGlvbk9wdGlvbnMSVwoKcmVhZF93cml0ZRgBIAEoCzI2Lmdvb2dsZS5kYXRhc3' + 'RvcmUudjFiZXRhMy5UcmFuc2FjdGlvbk9wdGlvbnMuUmVhZFdyaXRlSABSCXJlYWRXcml0ZRJU' + 'CglyZWFkX29ubHkYAiABKAsyNS5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuVHJhbnNhY3Rpb2' + '5PcHRpb25zLlJlYWRPbmx5SABSCHJlYWRPbmx5Gj4KCVJlYWRXcml0ZRIxChRwcmV2aW91c190' + 'cmFuc2FjdGlvbhgBIAEoDFITcHJldmlvdXNUcmFuc2FjdGlvbhoKCghSZWFkT25seUIGCgRtb2' + 'Rl'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pb.dart new file mode 100644 index 00000000..669b49eb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pb.dart @@ -0,0 +1,838 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/struct.pbenum.dart' as $48; +import '../../protobuf/timestamp.pb.dart' as $50; +import '../../type/latlng.pb.dart' as $71; + +/// A partition ID identifies a grouping of entities. The grouping is always +/// by project and namespace, however the namespace ID may be empty. +/// +/// A partition ID contains several dimensions: +/// project ID and namespace ID. +/// +/// Partition dimensions: +/// +/// - May be `""`. +/// - Must be valid UTF-8 bytes. +/// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` +/// If the value of any dimension matches regex `__.*__`, the partition is +/// reserved/read-only. +/// A reserved/read-only partition ID is forbidden in certain documented +/// contexts. +/// +/// Foreign partition IDs (in which the project ID does +/// not match the context project ID ) are discouraged. +/// Reads and writes of foreign partition IDs may fail if the project is not in +/// an active state. +class PartitionId extends $pb.GeneratedMessage { + factory PartitionId({ + $core.String? projectId, + $core.String? namespaceId, + }) { + final $result = create(); + if (projectId != null) { + $result.projectId = projectId; + } + if (namespaceId != null) { + $result.namespaceId = namespaceId; + } + return $result; + } + PartitionId._() : super(); + factory PartitionId.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PartitionId.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PartitionId', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'projectId') + ..aOS(4, _omitFieldNames ? '' : 'namespaceId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PartitionId clone() => PartitionId()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PartitionId copyWith(void Function(PartitionId) updates) => + super.copyWith((message) => updates(message as PartitionId)) + as PartitionId; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PartitionId create() => PartitionId._(); + PartitionId createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PartitionId getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PartitionId? _defaultInstance; + + /// The ID of the project to which the entities belong. + @$pb.TagNumber(2) + $core.String get projectId => $_getSZ(0); + @$pb.TagNumber(2) + set projectId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasProjectId() => $_has(0); + @$pb.TagNumber(2) + void clearProjectId() => clearField(2); + + /// If not empty, the ID of the namespace to which the entities belong. + @$pb.TagNumber(4) + $core.String get namespaceId => $_getSZ(1); + @$pb.TagNumber(4) + set namespaceId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasNamespaceId() => $_has(1); + @$pb.TagNumber(4) + void clearNamespaceId() => clearField(4); +} + +enum Key_PathElement_IdType { id, name, notSet } + +/// A (kind, ID/name) pair used to construct a key path. +/// +/// If either name or ID is set, the element is complete. +/// If neither is set, the element is incomplete. +class Key_PathElement extends $pb.GeneratedMessage { + factory Key_PathElement({ + $core.String? kind, + $fixnum.Int64? id, + $core.String? name, + }) { + final $result = create(); + if (kind != null) { + $result.kind = kind; + } + if (id != null) { + $result.id = id; + } + if (name != null) { + $result.name = name; + } + return $result; + } + Key_PathElement._() : super(); + factory Key_PathElement.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Key_PathElement.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Key_PathElement_IdType> + _Key_PathElement_IdTypeByTag = { + 2: Key_PathElement_IdType.id, + 3: Key_PathElement_IdType.name, + 0: Key_PathElement_IdType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Key.PathElement', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..aOS(1, _omitFieldNames ? '' : 'kind') + ..aInt64(2, _omitFieldNames ? '' : 'id') + ..aOS(3, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Key_PathElement clone() => Key_PathElement()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Key_PathElement copyWith(void Function(Key_PathElement) updates) => + super.copyWith((message) => updates(message as Key_PathElement)) + as Key_PathElement; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Key_PathElement create() => Key_PathElement._(); + Key_PathElement createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Key_PathElement getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Key_PathElement? _defaultInstance; + + Key_PathElement_IdType whichIdType() => + _Key_PathElement_IdTypeByTag[$_whichOneof(0)]!; + void clearIdType() => clearField($_whichOneof(0)); + + /// The kind of the entity. + /// A kind matching regex `__.*__` is reserved/read-only. + /// A kind must not contain more than 1500 bytes when UTF-8 encoded. + /// Cannot be `""`. + @$pb.TagNumber(1) + $core.String get kind => $_getSZ(0); + @$pb.TagNumber(1) + set kind($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKind() => $_has(0); + @$pb.TagNumber(1) + void clearKind() => clearField(1); + + /// The auto-allocated ID of the entity. + /// Never equal to zero. Values less than zero are discouraged and may not + /// be supported in the future. + @$pb.TagNumber(2) + $fixnum.Int64 get id => $_getI64(1); + @$pb.TagNumber(2) + set id($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasId() => $_has(1); + @$pb.TagNumber(2) + void clearId() => clearField(2); + + /// The name of the entity. + /// A name matching regex `__.*__` is reserved/read-only. + /// A name must not be more than 1500 bytes when UTF-8 encoded. + /// Cannot be `""`. + @$pb.TagNumber(3) + $core.String get name => $_getSZ(2); + @$pb.TagNumber(3) + set name($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasName() => $_has(2); + @$pb.TagNumber(3) + void clearName() => clearField(3); +} + +/// A unique identifier for an entity. +/// If a key's partition ID or any of its path kinds or names are +/// reserved/read-only, the key is reserved/read-only. +/// A reserved/read-only key is forbidden in certain documented contexts. +class Key extends $pb.GeneratedMessage { + factory Key({ + PartitionId? partitionId, + $core.Iterable? path, + }) { + final $result = create(); + if (partitionId != null) { + $result.partitionId = partitionId; + } + if (path != null) { + $result.path.addAll(path); + } + return $result; + } + Key._() : super(); + factory Key.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Key.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Key', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'partitionId', + subBuilder: PartitionId.create) + ..pc(2, _omitFieldNames ? '' : 'path', $pb.PbFieldType.PM, + subBuilder: Key_PathElement.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Key clone() => Key()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Key copyWith(void Function(Key) updates) => + super.copyWith((message) => updates(message as Key)) as Key; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Key create() => Key._(); + Key createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Key getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Key? _defaultInstance; + + /// Entities are partitioned into subsets, currently identified by a project + /// ID and namespace ID. + /// Queries are scoped to a single partition. + @$pb.TagNumber(1) + PartitionId get partitionId => $_getN(0); + @$pb.TagNumber(1) + set partitionId(PartitionId v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasPartitionId() => $_has(0); + @$pb.TagNumber(1) + void clearPartitionId() => clearField(1); + @$pb.TagNumber(1) + PartitionId ensurePartitionId() => $_ensure(0); + + /// The entity path. + /// An entity path consists of one or more elements composed of a kind and a + /// string or numerical identifier, which identify entities. The first + /// element identifies a _root entity_, the second element identifies + /// a _child_ of the root entity, the third element identifies a child of the + /// second entity, and so forth. The entities identified by all prefixes of + /// the path are called the element's _ancestors_. + /// + /// An entity path is always fully complete: *all* of the entity's ancestors + /// are required to be in the path along with the entity identifier itself. + /// The only exception is that in some documented cases, the identifier in the + /// last path element (for the entity) itself may be omitted. For example, + /// the last path element of the key of `Mutation.insert` may have no + /// identifier. + /// + /// A path can never be empty, and a path can have at most 100 elements. + @$pb.TagNumber(2) + $core.List get path => $_getList(1); +} + +/// An array value. +class ArrayValue extends $pb.GeneratedMessage { + factory ArrayValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + ArrayValue._() : super(); + factory ArrayValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ArrayValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ArrayValue', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ArrayValue clone() => ArrayValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ArrayValue copyWith(void Function(ArrayValue) updates) => + super.copyWith((message) => updates(message as ArrayValue)) as ArrayValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ArrayValue create() => ArrayValue._(); + ArrayValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ArrayValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ArrayValue? _defaultInstance; + + /// Values in the array. + /// The order of this array may not be preserved if it contains a mix of + /// indexed and unindexed values. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + +enum Value_ValueType { + booleanValue, + integerValue, + doubleValue, + keyValue, + entityValue, + geoPointValue, + arrayValue, + timestampValue, + nullValue, + stringValue, + blobValue, + notSet +} + +/// A message that can hold any of the supported value types and associated +/// metadata. +class Value extends $pb.GeneratedMessage { + factory Value({ + $core.bool? booleanValue, + $fixnum.Int64? integerValue, + $core.double? doubleValue, + Key? keyValue, + Entity? entityValue, + $71.LatLng? geoPointValue, + ArrayValue? arrayValue, + $50.Timestamp? timestampValue, + $48.NullValue? nullValue, + $core.int? meaning, + $core.String? stringValue, + $core.List<$core.int>? blobValue, + $core.bool? excludeFromIndexes, + }) { + final $result = create(); + if (booleanValue != null) { + $result.booleanValue = booleanValue; + } + if (integerValue != null) { + $result.integerValue = integerValue; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (keyValue != null) { + $result.keyValue = keyValue; + } + if (entityValue != null) { + $result.entityValue = entityValue; + } + if (geoPointValue != null) { + $result.geoPointValue = geoPointValue; + } + if (arrayValue != null) { + $result.arrayValue = arrayValue; + } + if (timestampValue != null) { + $result.timestampValue = timestampValue; + } + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (meaning != null) { + $result.meaning = meaning; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (blobValue != null) { + $result.blobValue = blobValue; + } + if (excludeFromIndexes != null) { + $result.excludeFromIndexes = excludeFromIndexes; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_ValueType> _Value_ValueTypeByTag = { + 1: Value_ValueType.booleanValue, + 2: Value_ValueType.integerValue, + 3: Value_ValueType.doubleValue, + 5: Value_ValueType.keyValue, + 6: Value_ValueType.entityValue, + 8: Value_ValueType.geoPointValue, + 9: Value_ValueType.arrayValue, + 10: Value_ValueType.timestampValue, + 11: Value_ValueType.nullValue, + 17: Value_ValueType.stringValue, + 18: Value_ValueType.blobValue, + 0: Value_ValueType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Value', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [1, 2, 3, 5, 6, 8, 9, 10, 11, 17, 18]) + ..aOB(1, _omitFieldNames ? '' : 'booleanValue') + ..aInt64(2, _omitFieldNames ? '' : 'integerValue') + ..a<$core.double>( + 3, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..aOM(5, _omitFieldNames ? '' : 'keyValue', subBuilder: Key.create) + ..aOM(6, _omitFieldNames ? '' : 'entityValue', + subBuilder: Entity.create) + ..aOM<$71.LatLng>(8, _omitFieldNames ? '' : 'geoPointValue', + subBuilder: $71.LatLng.create) + ..aOM(9, _omitFieldNames ? '' : 'arrayValue', + subBuilder: ArrayValue.create) + ..aOM<$50.Timestamp>(10, _omitFieldNames ? '' : 'timestampValue', + subBuilder: $50.Timestamp.create) + ..e<$48.NullValue>( + 11, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..a<$core.int>(14, _omitFieldNames ? '' : 'meaning', $pb.PbFieldType.O3) + ..aOS(17, _omitFieldNames ? '' : 'stringValue') + ..a<$core.List<$core.int>>( + 18, _omitFieldNames ? '' : 'blobValue', $pb.PbFieldType.OY) + ..aOB(19, _omitFieldNames ? '' : 'excludeFromIndexes') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => + super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_ValueType whichValueType() => _Value_ValueTypeByTag[$_whichOneof(0)]!; + void clearValueType() => clearField($_whichOneof(0)); + + /// A boolean value. + @$pb.TagNumber(1) + $core.bool get booleanValue => $_getBF(0); + @$pb.TagNumber(1) + set booleanValue($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasBooleanValue() => $_has(0); + @$pb.TagNumber(1) + void clearBooleanValue() => clearField(1); + + /// An integer value. + @$pb.TagNumber(2) + $fixnum.Int64 get integerValue => $_getI64(1); + @$pb.TagNumber(2) + set integerValue($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasIntegerValue() => $_has(1); + @$pb.TagNumber(2) + void clearIntegerValue() => clearField(2); + + /// A double value. + @$pb.TagNumber(3) + $core.double get doubleValue => $_getN(2); + @$pb.TagNumber(3) + set doubleValue($core.double v) { + $_setDouble(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDoubleValue() => $_has(2); + @$pb.TagNumber(3) + void clearDoubleValue() => clearField(3); + + /// A key value. + @$pb.TagNumber(5) + Key get keyValue => $_getN(3); + @$pb.TagNumber(5) + set keyValue(Key v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasKeyValue() => $_has(3); + @$pb.TagNumber(5) + void clearKeyValue() => clearField(5); + @$pb.TagNumber(5) + Key ensureKeyValue() => $_ensure(3); + + /// An entity value. + /// + /// - May have no key. + /// - May have a key with an incomplete key path. + /// - May have a reserved/read-only key. + @$pb.TagNumber(6) + Entity get entityValue => $_getN(4); + @$pb.TagNumber(6) + set entityValue(Entity v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasEntityValue() => $_has(4); + @$pb.TagNumber(6) + void clearEntityValue() => clearField(6); + @$pb.TagNumber(6) + Entity ensureEntityValue() => $_ensure(4); + + /// A geo point value representing a point on the surface of Earth. + @$pb.TagNumber(8) + $71.LatLng get geoPointValue => $_getN(5); + @$pb.TagNumber(8) + set geoPointValue($71.LatLng v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasGeoPointValue() => $_has(5); + @$pb.TagNumber(8) + void clearGeoPointValue() => clearField(8); + @$pb.TagNumber(8) + $71.LatLng ensureGeoPointValue() => $_ensure(5); + + /// An array value. + /// Cannot contain another array value. + /// A `Value` instance that sets field `array_value` must not set fields + /// `meaning` or `exclude_from_indexes`. + @$pb.TagNumber(9) + ArrayValue get arrayValue => $_getN(6); + @$pb.TagNumber(9) + set arrayValue(ArrayValue v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasArrayValue() => $_has(6); + @$pb.TagNumber(9) + void clearArrayValue() => clearField(9); + @$pb.TagNumber(9) + ArrayValue ensureArrayValue() => $_ensure(6); + + /// A timestamp value. + /// When stored in the Datastore, precise only to microseconds; + /// any additional precision is rounded down. + @$pb.TagNumber(10) + $50.Timestamp get timestampValue => $_getN(7); + @$pb.TagNumber(10) + set timestampValue($50.Timestamp v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasTimestampValue() => $_has(7); + @$pb.TagNumber(10) + void clearTimestampValue() => clearField(10); + @$pb.TagNumber(10) + $50.Timestamp ensureTimestampValue() => $_ensure(7); + + /// A null value. + @$pb.TagNumber(11) + $48.NullValue get nullValue => $_getN(8); + @$pb.TagNumber(11) + set nullValue($48.NullValue v) { + setField(11, v); + } + + @$pb.TagNumber(11) + $core.bool hasNullValue() => $_has(8); + @$pb.TagNumber(11) + void clearNullValue() => clearField(11); + + /// The `meaning` field should only be populated for backwards compatibility. + @$pb.TagNumber(14) + $core.int get meaning => $_getIZ(9); + @$pb.TagNumber(14) + set meaning($core.int v) { + $_setSignedInt32(9, v); + } + + @$pb.TagNumber(14) + $core.bool hasMeaning() => $_has(9); + @$pb.TagNumber(14) + void clearMeaning() => clearField(14); + + /// A UTF-8 encoded string value. + /// When `exclude_from_indexes` is false (it is indexed), may have at most + /// 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes. + @$pb.TagNumber(17) + $core.String get stringValue => $_getSZ(10); + @$pb.TagNumber(17) + set stringValue($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(17) + $core.bool hasStringValue() => $_has(10); + @$pb.TagNumber(17) + void clearStringValue() => clearField(17); + + /// A blob value. + /// May have at most 1,000,000 bytes. + /// When `exclude_from_indexes` is false, may have at most 1500 bytes. + /// In JSON requests, must be base64-encoded. + @$pb.TagNumber(18) + $core.List<$core.int> get blobValue => $_getN(11); + @$pb.TagNumber(18) + set blobValue($core.List<$core.int> v) { + $_setBytes(11, v); + } + + @$pb.TagNumber(18) + $core.bool hasBlobValue() => $_has(11); + @$pb.TagNumber(18) + void clearBlobValue() => clearField(18); + + /// If the value should be excluded from all indexes including those defined + /// explicitly. + @$pb.TagNumber(19) + $core.bool get excludeFromIndexes => $_getBF(12); + @$pb.TagNumber(19) + set excludeFromIndexes($core.bool v) { + $_setBool(12, v); + } + + @$pb.TagNumber(19) + $core.bool hasExcludeFromIndexes() => $_has(12); + @$pb.TagNumber(19) + void clearExcludeFromIndexes() => clearField(19); +} + +/// A Datastore data object. +/// +/// An entity is limited to 1 megabyte when stored. That _roughly_ +/// corresponds to a limit of 1 megabyte for the serialized form of this +/// message. +class Entity extends $pb.GeneratedMessage { + factory Entity({ + Key? key, + $core.Map<$core.String, Value>? properties, + }) { + final $result = create(); + if (key != null) { + $result.key = key; + } + if (properties != null) { + $result.properties.addAll(properties); + } + return $result; + } + Entity._() : super(); + factory Entity.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Entity.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Entity', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'key', subBuilder: Key.create) + ..m<$core.String, Value>(3, _omitFieldNames ? '' : 'properties', + entryClassName: 'Entity.PropertiesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Value.create, + valueDefaultOrMaker: Value.getDefault, + packageName: const $pb.PackageName('google.datastore.v1beta3')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Entity clone() => Entity()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Entity copyWith(void Function(Entity) updates) => + super.copyWith((message) => updates(message as Entity)) as Entity; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Entity create() => Entity._(); + Entity createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Entity getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Entity? _defaultInstance; + + /// The entity's key. + /// + /// An entity must have a key, unless otherwise documented (for example, + /// an entity in `Value.entity_value` may have no key). + /// An entity's kind is its key path's last element's kind, + /// or null if it has no key. + @$pb.TagNumber(1) + Key get key => $_getN(0); + @$pb.TagNumber(1) + set key(Key v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasKey() => $_has(0); + @$pb.TagNumber(1) + void clearKey() => clearField(1); + @$pb.TagNumber(1) + Key ensureKey() => $_ensure(0); + + /// The entity's properties. + /// The map's keys are property names. + /// A property name matching regex `__.*__` is reserved. + /// A reserved property name is forbidden in certain documented contexts. + /// The name must not contain more than 500 characters. + /// The name cannot be `""`. + @$pb.TagNumber(3) + $core.Map<$core.String, Value> get properties => $_getMap(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pbenum.dart new file mode 100644 index 00000000..24765d4a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pbjson.dart new file mode 100644 index 00000000..fc2fb204 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/entity.pbjson.dart @@ -0,0 +1,249 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/entity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use partitionIdDescriptor instead') +const PartitionId$json = { + '1': 'PartitionId', + '2': [ + {'1': 'project_id', '3': 2, '4': 1, '5': 9, '10': 'projectId'}, + {'1': 'namespace_id', '3': 4, '4': 1, '5': 9, '10': 'namespaceId'}, + ], +}; + +/// Descriptor for `PartitionId`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List partitionIdDescriptor = $convert.base64Decode( + 'CgtQYXJ0aXRpb25JZBIdCgpwcm9qZWN0X2lkGAIgASgJUglwcm9qZWN0SWQSIQoMbmFtZXNwYW' + 'NlX2lkGAQgASgJUgtuYW1lc3BhY2VJZA=='); + +@$core.Deprecated('Use keyDescriptor instead') +const Key$json = { + '1': 'Key', + '2': [ + { + '1': 'partition_id', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.PartitionId', + '10': 'partitionId' + }, + { + '1': 'path', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Key.PathElement', + '10': 'path' + }, + ], + '3': [Key_PathElement$json], +}; + +@$core.Deprecated('Use keyDescriptor instead') +const Key_PathElement$json = { + '1': 'PathElement', + '2': [ + {'1': 'kind', '3': 1, '4': 1, '5': 9, '10': 'kind'}, + {'1': 'id', '3': 2, '4': 1, '5': 3, '9': 0, '10': 'id'}, + {'1': 'name', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'name'}, + ], + '8': [ + {'1': 'id_type'}, + ], +}; + +/// Descriptor for `Key`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List keyDescriptor = $convert.base64Decode( + 'CgNLZXkSSAoMcGFydGl0aW9uX2lkGAEgASgLMiUuZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLl' + 'BhcnRpdGlvbklkUgtwYXJ0aXRpb25JZBI9CgRwYXRoGAIgAygLMikuZ29vZ2xlLmRhdGFzdG9y' + 'ZS52MWJldGEzLktleS5QYXRoRWxlbWVudFIEcGF0aBpUCgtQYXRoRWxlbWVudBISCgRraW5kGA' + 'EgASgJUgRraW5kEhAKAmlkGAIgASgDSABSAmlkEhQKBG5hbWUYAyABKAlIAFIEbmFtZUIJCgdp' + 'ZF90eXBl'); + +@$core.Deprecated('Use arrayValueDescriptor instead') +const ArrayValue$json = { + '1': 'ArrayValue', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Value', + '10': 'values' + }, + ], +}; + +/// Descriptor for `ArrayValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List arrayValueDescriptor = $convert.base64Decode( + 'CgpBcnJheVZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmdvb2dsZS5kYXRhc3RvcmUudjFiZXRhMy' + '5WYWx1ZVIGdmFsdWVz'); + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + { + '1': 'null_value', + '3': 11, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + { + '1': 'boolean_value', + '3': 1, + '4': 1, + '5': 8, + '9': 0, + '10': 'booleanValue' + }, + { + '1': 'integer_value', + '3': 2, + '4': 1, + '5': 3, + '9': 0, + '10': 'integerValue' + }, + {'1': 'double_value', '3': 3, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, + { + '1': 'timestamp_value', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '9': 0, + '10': 'timestampValue' + }, + { + '1': 'key_value', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '9': 0, + '10': 'keyValue' + }, + {'1': 'string_value', '3': 17, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'blob_value', '3': 18, '4': 1, '5': 12, '9': 0, '10': 'blobValue'}, + { + '1': 'geo_point_value', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.type.LatLng', + '9': 0, + '10': 'geoPointValue' + }, + { + '1': 'entity_value', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Entity', + '9': 0, + '10': 'entityValue' + }, + { + '1': 'array_value', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.ArrayValue', + '9': 0, + '10': 'arrayValue' + }, + {'1': 'meaning', '3': 14, '4': 1, '5': 5, '10': 'meaning'}, + { + '1': 'exclude_from_indexes', + '3': 19, + '4': 1, + '5': 8, + '10': 'excludeFromIndexes' + }, + ], + '8': [ + {'1': 'value_type'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAsgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZU' + 'gAUgludWxsVmFsdWUSJQoNYm9vbGVhbl92YWx1ZRgBIAEoCEgAUgxib29sZWFuVmFsdWUSJQoN' + 'aW50ZWdlcl92YWx1ZRgCIAEoA0gAUgxpbnRlZ2VyVmFsdWUSIwoMZG91YmxlX3ZhbHVlGAMgAS' + 'gBSABSC2RvdWJsZVZhbHVlEkUKD3RpbWVzdGFtcF92YWx1ZRgKIAEoCzIaLmdvb2dsZS5wcm90' + 'b2J1Zi5UaW1lc3RhbXBIAFIOdGltZXN0YW1wVmFsdWUSPAoJa2V5X3ZhbHVlGAUgASgLMh0uZ2' + '9vZ2xlLmRhdGFzdG9yZS52MWJldGEzLktleUgAUghrZXlWYWx1ZRIjCgxzdHJpbmdfdmFsdWUY' + 'ESABKAlIAFILc3RyaW5nVmFsdWUSHwoKYmxvYl92YWx1ZRgSIAEoDEgAUglibG9iVmFsdWUSPQ' + 'oPZ2VvX3BvaW50X3ZhbHVlGAggASgLMhMuZ29vZ2xlLnR5cGUuTGF0TG5nSABSDWdlb1BvaW50' + 'VmFsdWUSRQoMZW50aXR5X3ZhbHVlGAYgASgLMiAuZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLk' + 'VudGl0eUgAUgtlbnRpdHlWYWx1ZRJHCgthcnJheV92YWx1ZRgJIAEoCzIkLmdvb2dsZS5kYXRh' + 'c3RvcmUudjFiZXRhMy5BcnJheVZhbHVlSABSCmFycmF5VmFsdWUSGAoHbWVhbmluZxgOIAEoBV' + 'IHbWVhbmluZxIwChRleGNsdWRlX2Zyb21faW5kZXhlcxgTIAEoCFISZXhjbHVkZUZyb21JbmRl' + 'eGVzQgwKCnZhbHVlX3R5cGU='); + +@$core.Deprecated('Use entityDescriptor instead') +const Entity$json = { + '1': 'Entity', + '2': [ + { + '1': 'key', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Key', + '10': 'key' + }, + { + '1': 'properties', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Entity.PropertiesEntry', + '10': 'properties' + }, + ], + '3': [Entity_PropertiesEntry$json], +}; + +@$core.Deprecated('Use entityDescriptor instead') +const Entity_PropertiesEntry$json = { + '1': 'PropertiesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Value', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Entity`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityDescriptor = $convert.base64Decode( + 'CgZFbnRpdHkSLwoDa2V5GAEgASgLMh0uZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLktleVIDa2' + 'V5ElAKCnByb3BlcnRpZXMYAyADKAsyMC5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuRW50aXR5' + 'LlByb3BlcnRpZXNFbnRyeVIKcHJvcGVydGllcxpeCg9Qcm9wZXJ0aWVzRW50cnkSEAoDa2V5GA' + 'EgASgJUgNrZXkSNQoFdmFsdWUYAiABKAsyHy5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuVmFs' + 'dWVSBXZhbHVlOgI4AQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pb.dart new file mode 100644 index 00000000..cac5a0b1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pb.dart @@ -0,0 +1,1311 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/query.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/wrappers.pb.dart' as $73; +import 'entity.pb.dart' as $77; +import 'query.pbenum.dart'; + +export 'query.pbenum.dart'; + +/// The result of fetching an entity from Datastore. +class EntityResult extends $pb.GeneratedMessage { + factory EntityResult({ + $77.Entity? entity, + $core.List<$core.int>? cursor, + $fixnum.Int64? version, + }) { + final $result = create(); + if (entity != null) { + $result.entity = entity; + } + if (cursor != null) { + $result.cursor = cursor; + } + if (version != null) { + $result.version = version; + } + return $result; + } + EntityResult._() : super(); + factory EntityResult.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EntityResult.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EntityResult', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM<$77.Entity>(1, _omitFieldNames ? '' : 'entity', + subBuilder: $77.Entity.create) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'cursor', $pb.PbFieldType.OY) + ..aInt64(4, _omitFieldNames ? '' : 'version') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EntityResult clone() => EntityResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EntityResult copyWith(void Function(EntityResult) updates) => + super.copyWith((message) => updates(message as EntityResult)) + as EntityResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EntityResult create() => EntityResult._(); + EntityResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EntityResult getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EntityResult? _defaultInstance; + + /// The resulting entity. + @$pb.TagNumber(1) + $77.Entity get entity => $_getN(0); + @$pb.TagNumber(1) + set entity($77.Entity v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasEntity() => $_has(0); + @$pb.TagNumber(1) + void clearEntity() => clearField(1); + @$pb.TagNumber(1) + $77.Entity ensureEntity() => $_ensure(0); + + /// A cursor that points to the position after the result entity. + /// Set only when the `EntityResult` is part of a `QueryResultBatch` message. + @$pb.TagNumber(3) + $core.List<$core.int> get cursor => $_getN(1); + @$pb.TagNumber(3) + set cursor($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasCursor() => $_has(1); + @$pb.TagNumber(3) + void clearCursor() => clearField(3); + + /// The version of the entity, a strictly positive number that monotonically + /// increases with changes to the entity. + /// + /// This field is set for + /// [`FULL`][google.datastore.v1beta3.EntityResult.ResultType.FULL] entity + /// results. + /// + /// For [missing][google.datastore.v1beta3.LookupResponse.missing] entities in + /// `LookupResponse`, this is the version of the snapshot that was used to look + /// up the entity, and it is always set except for eventually consistent reads. + @$pb.TagNumber(4) + $fixnum.Int64 get version => $_getI64(2); + @$pb.TagNumber(4) + set version($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasVersion() => $_has(2); + @$pb.TagNumber(4) + void clearVersion() => clearField(4); +} + +/// A query for entities. +class Query extends $pb.GeneratedMessage { + factory Query({ + $core.Iterable? projection, + $core.Iterable? kind, + Filter? filter, + $core.Iterable? order, + $core.Iterable? distinctOn, + $core.List<$core.int>? startCursor, + $core.List<$core.int>? endCursor, + $core.int? offset, + $73.Int32Value? limit, + }) { + final $result = create(); + if (projection != null) { + $result.projection.addAll(projection); + } + if (kind != null) { + $result.kind.addAll(kind); + } + if (filter != null) { + $result.filter = filter; + } + if (order != null) { + $result.order.addAll(order); + } + if (distinctOn != null) { + $result.distinctOn.addAll(distinctOn); + } + if (startCursor != null) { + $result.startCursor = startCursor; + } + if (endCursor != null) { + $result.endCursor = endCursor; + } + if (offset != null) { + $result.offset = offset; + } + if (limit != null) { + $result.limit = limit; + } + return $result; + } + Query._() : super(); + factory Query.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Query.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Query', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..pc(2, _omitFieldNames ? '' : 'projection', $pb.PbFieldType.PM, + subBuilder: Projection.create) + ..pc(3, _omitFieldNames ? '' : 'kind', $pb.PbFieldType.PM, + subBuilder: KindExpression.create) + ..aOM(4, _omitFieldNames ? '' : 'filter', subBuilder: Filter.create) + ..pc(5, _omitFieldNames ? '' : 'order', $pb.PbFieldType.PM, + subBuilder: PropertyOrder.create) + ..pc( + 6, _omitFieldNames ? '' : 'distinctOn', $pb.PbFieldType.PM, + subBuilder: PropertyReference.create) + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'startCursor', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>( + 8, _omitFieldNames ? '' : 'endCursor', $pb.PbFieldType.OY) + ..a<$core.int>(10, _omitFieldNames ? '' : 'offset', $pb.PbFieldType.O3) + ..aOM<$73.Int32Value>(12, _omitFieldNames ? '' : 'limit', + subBuilder: $73.Int32Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Query clone() => Query()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Query copyWith(void Function(Query) updates) => + super.copyWith((message) => updates(message as Query)) as Query; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Query create() => Query._(); + Query createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Query getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Query? _defaultInstance; + + /// The projection to return. Defaults to returning all properties. + @$pb.TagNumber(2) + $core.List get projection => $_getList(0); + + /// The kinds to query (if empty, returns entities of all kinds). + /// Currently at most 1 kind may be specified. + @$pb.TagNumber(3) + $core.List get kind => $_getList(1); + + /// The filter to apply. + @$pb.TagNumber(4) + Filter get filter => $_getN(2); + @$pb.TagNumber(4) + set filter(Filter v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasFilter() => $_has(2); + @$pb.TagNumber(4) + void clearFilter() => clearField(4); + @$pb.TagNumber(4) + Filter ensureFilter() => $_ensure(2); + + /// The order to apply to the query results (if empty, order is unspecified). + @$pb.TagNumber(5) + $core.List get order => $_getList(3); + + /// The properties to make distinct. The query results will contain the first + /// result for each distinct combination of values for the given properties + /// (if empty, all results are returned). + @$pb.TagNumber(6) + $core.List get distinctOn => $_getList(4); + + /// A starting point for the query results. Query cursors are + /// returned in query result batches and + /// [can only be used to continue the same + /// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + @$pb.TagNumber(7) + $core.List<$core.int> get startCursor => $_getN(5); + @$pb.TagNumber(7) + set startCursor($core.List<$core.int> v) { + $_setBytes(5, v); + } + + @$pb.TagNumber(7) + $core.bool hasStartCursor() => $_has(5); + @$pb.TagNumber(7) + void clearStartCursor() => clearField(7); + + /// An ending point for the query results. Query cursors are + /// returned in query result batches and + /// [can only be used to limit the same + /// query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + @$pb.TagNumber(8) + $core.List<$core.int> get endCursor => $_getN(6); + @$pb.TagNumber(8) + set endCursor($core.List<$core.int> v) { + $_setBytes(6, v); + } + + @$pb.TagNumber(8) + $core.bool hasEndCursor() => $_has(6); + @$pb.TagNumber(8) + void clearEndCursor() => clearField(8); + + /// The number of results to skip. Applies before limit, but after all other + /// constraints. Optional. Must be >= 0 if specified. + @$pb.TagNumber(10) + $core.int get offset => $_getIZ(7); + @$pb.TagNumber(10) + set offset($core.int v) { + $_setSignedInt32(7, v); + } + + @$pb.TagNumber(10) + $core.bool hasOffset() => $_has(7); + @$pb.TagNumber(10) + void clearOffset() => clearField(10); + + /// The maximum number of results to return. Applies after all other + /// constraints. Optional. + /// Unspecified is interpreted as no limit. + /// Must be >= 0 if specified. + @$pb.TagNumber(12) + $73.Int32Value get limit => $_getN(8); + @$pb.TagNumber(12) + set limit($73.Int32Value v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasLimit() => $_has(8); + @$pb.TagNumber(12) + void clearLimit() => clearField(12); + @$pb.TagNumber(12) + $73.Int32Value ensureLimit() => $_ensure(8); +} + +/// A representation of a kind. +class KindExpression extends $pb.GeneratedMessage { + factory KindExpression({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + KindExpression._() : super(); + factory KindExpression.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory KindExpression.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'KindExpression', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + KindExpression clone() => KindExpression()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + KindExpression copyWith(void Function(KindExpression) updates) => + super.copyWith((message) => updates(message as KindExpression)) + as KindExpression; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static KindExpression create() => KindExpression._(); + KindExpression createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static KindExpression getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static KindExpression? _defaultInstance; + + /// The name of the kind. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A reference to a property relative to the kind expressions. +class PropertyReference extends $pb.GeneratedMessage { + factory PropertyReference({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + PropertyReference._() : super(); + factory PropertyReference.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyReference.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyReference', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyReference clone() => PropertyReference()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyReference copyWith(void Function(PropertyReference) updates) => + super.copyWith((message) => updates(message as PropertyReference)) + as PropertyReference; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyReference create() => PropertyReference._(); + PropertyReference createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyReference getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyReference? _defaultInstance; + + /// The name of the property. + /// If name includes "."s, it may be interpreted as a property name path. + @$pb.TagNumber(2) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(2) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(2) + void clearName() => clearField(2); +} + +/// A representation of a property in a projection. +class Projection extends $pb.GeneratedMessage { + factory Projection({ + PropertyReference? property, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + return $result; + } + Projection._() : super(); + factory Projection.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Projection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Projection', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Projection clone() => Projection()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Projection copyWith(void Function(Projection) updates) => + super.copyWith((message) => updates(message as Projection)) as Projection; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Projection create() => Projection._(); + Projection createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Projection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Projection? _defaultInstance; + + /// The property to project. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); +} + +/// The desired order for a specific property. +class PropertyOrder extends $pb.GeneratedMessage { + factory PropertyOrder({ + PropertyReference? property, + PropertyOrder_Direction? direction, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + if (direction != null) { + $result.direction = direction; + } + return $result; + } + PropertyOrder._() : super(); + factory PropertyOrder.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyOrder.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyOrder', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..e( + 2, _omitFieldNames ? '' : 'direction', $pb.PbFieldType.OE, + defaultOrMaker: PropertyOrder_Direction.DIRECTION_UNSPECIFIED, + valueOf: PropertyOrder_Direction.valueOf, + enumValues: PropertyOrder_Direction.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyOrder clone() => PropertyOrder()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyOrder copyWith(void Function(PropertyOrder) updates) => + super.copyWith((message) => updates(message as PropertyOrder)) + as PropertyOrder; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyOrder create() => PropertyOrder._(); + PropertyOrder createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyOrder getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyOrder? _defaultInstance; + + /// The property to order by. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); + + /// The direction to order by. Defaults to `ASCENDING`. + @$pb.TagNumber(2) + PropertyOrder_Direction get direction => $_getN(1); + @$pb.TagNumber(2) + set direction(PropertyOrder_Direction v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDirection() => $_has(1); + @$pb.TagNumber(2) + void clearDirection() => clearField(2); +} + +enum Filter_FilterType { compositeFilter, propertyFilter, notSet } + +/// A holder for any type of filter. +class Filter extends $pb.GeneratedMessage { + factory Filter({ + CompositeFilter? compositeFilter, + PropertyFilter? propertyFilter, + }) { + final $result = create(); + if (compositeFilter != null) { + $result.compositeFilter = compositeFilter; + } + if (propertyFilter != null) { + $result.propertyFilter = propertyFilter; + } + return $result; + } + Filter._() : super(); + factory Filter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Filter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Filter_FilterType> _Filter_FilterTypeByTag = + { + 1: Filter_FilterType.compositeFilter, + 2: Filter_FilterType.propertyFilter, + 0: Filter_FilterType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Filter', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'compositeFilter', + subBuilder: CompositeFilter.create) + ..aOM(2, _omitFieldNames ? '' : 'propertyFilter', + subBuilder: PropertyFilter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Filter clone() => Filter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Filter copyWith(void Function(Filter) updates) => + super.copyWith((message) => updates(message as Filter)) as Filter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Filter create() => Filter._(); + Filter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Filter getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Filter? _defaultInstance; + + Filter_FilterType whichFilterType() => + _Filter_FilterTypeByTag[$_whichOneof(0)]!; + void clearFilterType() => clearField($_whichOneof(0)); + + /// A composite filter. + @$pb.TagNumber(1) + CompositeFilter get compositeFilter => $_getN(0); + @$pb.TagNumber(1) + set compositeFilter(CompositeFilter v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCompositeFilter() => $_has(0); + @$pb.TagNumber(1) + void clearCompositeFilter() => clearField(1); + @$pb.TagNumber(1) + CompositeFilter ensureCompositeFilter() => $_ensure(0); + + /// A filter on a property. + @$pb.TagNumber(2) + PropertyFilter get propertyFilter => $_getN(1); + @$pb.TagNumber(2) + set propertyFilter(PropertyFilter v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPropertyFilter() => $_has(1); + @$pb.TagNumber(2) + void clearPropertyFilter() => clearField(2); + @$pb.TagNumber(2) + PropertyFilter ensurePropertyFilter() => $_ensure(1); +} + +/// A filter that merges multiple other filters using the given operator. +class CompositeFilter extends $pb.GeneratedMessage { + factory CompositeFilter({ + CompositeFilter_Operator? op, + $core.Iterable? filters, + }) { + final $result = create(); + if (op != null) { + $result.op = op; + } + if (filters != null) { + $result.filters.addAll(filters); + } + return $result; + } + CompositeFilter._() : super(); + factory CompositeFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CompositeFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CompositeFilter', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, + defaultOrMaker: CompositeFilter_Operator.OPERATOR_UNSPECIFIED, + valueOf: CompositeFilter_Operator.valueOf, + enumValues: CompositeFilter_Operator.values) + ..pc(2, _omitFieldNames ? '' : 'filters', $pb.PbFieldType.PM, + subBuilder: Filter.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CompositeFilter clone() => CompositeFilter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CompositeFilter copyWith(void Function(CompositeFilter) updates) => + super.copyWith((message) => updates(message as CompositeFilter)) + as CompositeFilter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CompositeFilter create() => CompositeFilter._(); + CompositeFilter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CompositeFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CompositeFilter? _defaultInstance; + + /// The operator for combining multiple filters. + @$pb.TagNumber(1) + CompositeFilter_Operator get op => $_getN(0); + @$pb.TagNumber(1) + set op(CompositeFilter_Operator v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasOp() => $_has(0); + @$pb.TagNumber(1) + void clearOp() => clearField(1); + + /// The list of filters to combine. + /// Must contain at least one filter. + @$pb.TagNumber(2) + $core.List get filters => $_getList(1); +} + +/// A filter on a specific property. +class PropertyFilter extends $pb.GeneratedMessage { + factory PropertyFilter({ + PropertyReference? property, + PropertyFilter_Operator? op, + $77.Value? value, + }) { + final $result = create(); + if (property != null) { + $result.property = property; + } + if (op != null) { + $result.op = op; + } + if (value != null) { + $result.value = value; + } + return $result; + } + PropertyFilter._() : super(); + factory PropertyFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PropertyFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PropertyFilter', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'property', + subBuilder: PropertyReference.create) + ..e( + 2, _omitFieldNames ? '' : 'op', $pb.PbFieldType.OE, + defaultOrMaker: PropertyFilter_Operator.OPERATOR_UNSPECIFIED, + valueOf: PropertyFilter_Operator.valueOf, + enumValues: PropertyFilter_Operator.values) + ..aOM<$77.Value>(3, _omitFieldNames ? '' : 'value', + subBuilder: $77.Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PropertyFilter clone() => PropertyFilter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PropertyFilter copyWith(void Function(PropertyFilter) updates) => + super.copyWith((message) => updates(message as PropertyFilter)) + as PropertyFilter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PropertyFilter create() => PropertyFilter._(); + PropertyFilter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PropertyFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PropertyFilter? _defaultInstance; + + /// The property to filter by. + @$pb.TagNumber(1) + PropertyReference get property => $_getN(0); + @$pb.TagNumber(1) + set property(PropertyReference v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasProperty() => $_has(0); + @$pb.TagNumber(1) + void clearProperty() => clearField(1); + @$pb.TagNumber(1) + PropertyReference ensureProperty() => $_ensure(0); + + /// The operator to filter by. + @$pb.TagNumber(2) + PropertyFilter_Operator get op => $_getN(1); + @$pb.TagNumber(2) + set op(PropertyFilter_Operator v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOp() => $_has(1); + @$pb.TagNumber(2) + void clearOp() => clearField(2); + + /// The value to compare the property to. + @$pb.TagNumber(3) + $77.Value get value => $_getN(2); + @$pb.TagNumber(3) + set value($77.Value v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasValue() => $_has(2); + @$pb.TagNumber(3) + void clearValue() => clearField(3); + @$pb.TagNumber(3) + $77.Value ensureValue() => $_ensure(2); +} + +/// A [GQL +/// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). +class GqlQuery extends $pb.GeneratedMessage { + factory GqlQuery({ + $core.String? queryString, + $core.bool? allowLiterals, + $core.Iterable? positionalBindings, + $core.Map<$core.String, GqlQueryParameter>? namedBindings, + }) { + final $result = create(); + if (queryString != null) { + $result.queryString = queryString; + } + if (allowLiterals != null) { + $result.allowLiterals = allowLiterals; + } + if (positionalBindings != null) { + $result.positionalBindings.addAll(positionalBindings); + } + if (namedBindings != null) { + $result.namedBindings.addAll(namedBindings); + } + return $result; + } + GqlQuery._() : super(); + factory GqlQuery.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GqlQuery.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GqlQuery', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'queryString') + ..aOB(2, _omitFieldNames ? '' : 'allowLiterals') + ..pc( + 4, _omitFieldNames ? '' : 'positionalBindings', $pb.PbFieldType.PM, + subBuilder: GqlQueryParameter.create) + ..m<$core.String, GqlQueryParameter>( + 5, _omitFieldNames ? '' : 'namedBindings', + entryClassName: 'GqlQuery.NamedBindingsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: GqlQueryParameter.create, + valueDefaultOrMaker: GqlQueryParameter.getDefault, + packageName: const $pb.PackageName('google.datastore.v1beta3')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GqlQuery clone() => GqlQuery()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GqlQuery copyWith(void Function(GqlQuery) updates) => + super.copyWith((message) => updates(message as GqlQuery)) as GqlQuery; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GqlQuery create() => GqlQuery._(); + GqlQuery createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GqlQuery getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GqlQuery? _defaultInstance; + + /// A string of the format described + /// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + @$pb.TagNumber(1) + $core.String get queryString => $_getSZ(0); + @$pb.TagNumber(1) + set queryString($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasQueryString() => $_has(0); + @$pb.TagNumber(1) + void clearQueryString() => clearField(1); + + /// When false, the query string must not contain any literals and instead must + /// bind all values. For example, + /// `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while + /// `SELECT * FROM Kind WHERE a = @value` is. + @$pb.TagNumber(2) + $core.bool get allowLiterals => $_getBF(1); + @$pb.TagNumber(2) + set allowLiterals($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasAllowLiterals() => $_has(1); + @$pb.TagNumber(2) + void clearAllowLiterals() => clearField(2); + + /// Numbered binding site @1 references the first numbered parameter, + /// effectively using 1-based indexing, rather than the usual 0. + /// + /// For each binding site numbered i in `query_string`, there must be an i-th + /// numbered parameter. The inverse must also be true. + @$pb.TagNumber(4) + $core.List get positionalBindings => $_getList(2); + + /// For each non-reserved named binding site in the query string, there must be + /// a named parameter with that name, but not necessarily the inverse. + /// + /// Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex + /// `__.*__`, and must not be `""`. + @$pb.TagNumber(5) + $core.Map<$core.String, GqlQueryParameter> get namedBindings => $_getMap(3); +} + +enum GqlQueryParameter_ParameterType { value, cursor, notSet } + +/// A binding parameter for a GQL query. +class GqlQueryParameter extends $pb.GeneratedMessage { + factory GqlQueryParameter({ + $77.Value? value, + $core.List<$core.int>? cursor, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (cursor != null) { + $result.cursor = cursor; + } + return $result; + } + GqlQueryParameter._() : super(); + factory GqlQueryParameter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GqlQueryParameter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, GqlQueryParameter_ParameterType> + _GqlQueryParameter_ParameterTypeByTag = { + 2: GqlQueryParameter_ParameterType.value, + 3: GqlQueryParameter_ParameterType.cursor, + 0: GqlQueryParameter_ParameterType.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GqlQueryParameter', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..oo(0, [2, 3]) + ..aOM<$77.Value>(2, _omitFieldNames ? '' : 'value', + subBuilder: $77.Value.create) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'cursor', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GqlQueryParameter clone() => GqlQueryParameter()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GqlQueryParameter copyWith(void Function(GqlQueryParameter) updates) => + super.copyWith((message) => updates(message as GqlQueryParameter)) + as GqlQueryParameter; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GqlQueryParameter create() => GqlQueryParameter._(); + GqlQueryParameter createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GqlQueryParameter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GqlQueryParameter? _defaultInstance; + + GqlQueryParameter_ParameterType whichParameterType() => + _GqlQueryParameter_ParameterTypeByTag[$_whichOneof(0)]!; + void clearParameterType() => clearField($_whichOneof(0)); + + /// A value parameter. + @$pb.TagNumber(2) + $77.Value get value => $_getN(0); + @$pb.TagNumber(2) + set value($77.Value v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + @$pb.TagNumber(2) + $77.Value ensureValue() => $_ensure(0); + + /// A query cursor. Query cursors are returned in query + /// result batches. + @$pb.TagNumber(3) + $core.List<$core.int> get cursor => $_getN(1); + @$pb.TagNumber(3) + set cursor($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasCursor() => $_has(1); + @$pb.TagNumber(3) + void clearCursor() => clearField(3); +} + +/// A batch of results produced by a query. +class QueryResultBatch extends $pb.GeneratedMessage { + factory QueryResultBatch({ + EntityResult_ResultType? entityResultType, + $core.Iterable? entityResults, + $core.List<$core.int>? skippedCursor, + $core.List<$core.int>? endCursor, + QueryResultBatch_MoreResultsType? moreResults, + $core.int? skippedResults, + $fixnum.Int64? snapshotVersion, + }) { + final $result = create(); + if (entityResultType != null) { + $result.entityResultType = entityResultType; + } + if (entityResults != null) { + $result.entityResults.addAll(entityResults); + } + if (skippedCursor != null) { + $result.skippedCursor = skippedCursor; + } + if (endCursor != null) { + $result.endCursor = endCursor; + } + if (moreResults != null) { + $result.moreResults = moreResults; + } + if (skippedResults != null) { + $result.skippedResults = skippedResults; + } + if (snapshotVersion != null) { + $result.snapshotVersion = snapshotVersion; + } + return $result; + } + QueryResultBatch._() : super(); + factory QueryResultBatch.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryResultBatch.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryResultBatch', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.datastore.v1beta3'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'entityResultType', $pb.PbFieldType.OE, + defaultOrMaker: EntityResult_ResultType.RESULT_TYPE_UNSPECIFIED, + valueOf: EntityResult_ResultType.valueOf, + enumValues: EntityResult_ResultType.values) + ..pc( + 2, _omitFieldNames ? '' : 'entityResults', $pb.PbFieldType.PM, + subBuilder: EntityResult.create) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'skippedCursor', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>( + 4, _omitFieldNames ? '' : 'endCursor', $pb.PbFieldType.OY) + ..e( + 5, _omitFieldNames ? '' : 'moreResults', $pb.PbFieldType.OE, + defaultOrMaker: + QueryResultBatch_MoreResultsType.MORE_RESULTS_TYPE_UNSPECIFIED, + valueOf: QueryResultBatch_MoreResultsType.valueOf, + enumValues: QueryResultBatch_MoreResultsType.values) + ..a<$core.int>( + 6, _omitFieldNames ? '' : 'skippedResults', $pb.PbFieldType.O3) + ..aInt64(7, _omitFieldNames ? '' : 'snapshotVersion') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryResultBatch clone() => QueryResultBatch()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryResultBatch copyWith(void Function(QueryResultBatch) updates) => + super.copyWith((message) => updates(message as QueryResultBatch)) + as QueryResultBatch; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryResultBatch create() => QueryResultBatch._(); + QueryResultBatch createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryResultBatch getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QueryResultBatch? _defaultInstance; + + /// The result type for every entity in `entity_results`. + @$pb.TagNumber(1) + EntityResult_ResultType get entityResultType => $_getN(0); + @$pb.TagNumber(1) + set entityResultType(EntityResult_ResultType v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasEntityResultType() => $_has(0); + @$pb.TagNumber(1) + void clearEntityResultType() => clearField(1); + + /// The results for this batch. + @$pb.TagNumber(2) + $core.List get entityResults => $_getList(1); + + /// A cursor that points to the position after the last skipped result. + /// Will be set when `skipped_results` != 0. + @$pb.TagNumber(3) + $core.List<$core.int> get skippedCursor => $_getN(2); + @$pb.TagNumber(3) + set skippedCursor($core.List<$core.int> v) { + $_setBytes(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasSkippedCursor() => $_has(2); + @$pb.TagNumber(3) + void clearSkippedCursor() => clearField(3); + + /// A cursor that points to the position after the last result in the batch. + @$pb.TagNumber(4) + $core.List<$core.int> get endCursor => $_getN(3); + @$pb.TagNumber(4) + set endCursor($core.List<$core.int> v) { + $_setBytes(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasEndCursor() => $_has(3); + @$pb.TagNumber(4) + void clearEndCursor() => clearField(4); + + /// The state of the query after the current batch. + @$pb.TagNumber(5) + QueryResultBatch_MoreResultsType get moreResults => $_getN(4); + @$pb.TagNumber(5) + set moreResults(QueryResultBatch_MoreResultsType v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMoreResults() => $_has(4); + @$pb.TagNumber(5) + void clearMoreResults() => clearField(5); + + /// The number of results skipped, typically because of an offset. + @$pb.TagNumber(6) + $core.int get skippedResults => $_getIZ(5); + @$pb.TagNumber(6) + set skippedResults($core.int v) { + $_setSignedInt32(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasSkippedResults() => $_has(5); + @$pb.TagNumber(6) + void clearSkippedResults() => clearField(6); + + /// The version number of the snapshot this batch was returned from. + /// This applies to the range of results from the query's `start_cursor` (or + /// the beginning of the query if no cursor was given) to this batch's + /// `end_cursor` (not the query's `end_cursor`). + /// + /// In a single transaction, subsequent query result batches for the same query + /// can have a greater snapshot version number. Each batch's snapshot version + /// is valid for all preceding batches. + /// The value will be zero for eventually consistent queries. + @$pb.TagNumber(7) + $fixnum.Int64 get snapshotVersion => $_getI64(6); + @$pb.TagNumber(7) + set snapshotVersion($fixnum.Int64 v) { + $_setInt64(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasSnapshotVersion() => $_has(6); + @$pb.TagNumber(7) + void clearSnapshotVersion() => clearField(7); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pbenum.dart new file mode 100644 index 00000000..3f228e17 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pbenum.dart @@ -0,0 +1,165 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/query.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Specifies what data the 'entity' field contains. +/// A `ResultType` is either implied (for example, in `LookupResponse.missing` +/// from `datastore.proto`, it is always `KEY_ONLY`) or specified by context +/// (for example, in message `QueryResultBatch`, field `entity_result_type` +/// specifies a `ResultType` for all the values in field `entity_results`). +class EntityResult_ResultType extends $pb.ProtobufEnum { + static const EntityResult_ResultType RESULT_TYPE_UNSPECIFIED = + EntityResult_ResultType._( + 0, _omitEnumNames ? '' : 'RESULT_TYPE_UNSPECIFIED'); + static const EntityResult_ResultType FULL = + EntityResult_ResultType._(1, _omitEnumNames ? '' : 'FULL'); + static const EntityResult_ResultType PROJECTION = + EntityResult_ResultType._(2, _omitEnumNames ? '' : 'PROJECTION'); + static const EntityResult_ResultType KEY_ONLY = + EntityResult_ResultType._(3, _omitEnumNames ? '' : 'KEY_ONLY'); + + static const $core.List values = + [ + RESULT_TYPE_UNSPECIFIED, + FULL, + PROJECTION, + KEY_ONLY, + ]; + + static final $core.Map<$core.int, EntityResult_ResultType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static EntityResult_ResultType? valueOf($core.int value) => _byValue[value]; + + const EntityResult_ResultType._($core.int v, $core.String n) : super(v, n); +} + +/// The sort direction. +class PropertyOrder_Direction extends $pb.ProtobufEnum { + static const PropertyOrder_Direction DIRECTION_UNSPECIFIED = + PropertyOrder_Direction._( + 0, _omitEnumNames ? '' : 'DIRECTION_UNSPECIFIED'); + static const PropertyOrder_Direction ASCENDING = + PropertyOrder_Direction._(1, _omitEnumNames ? '' : 'ASCENDING'); + static const PropertyOrder_Direction DESCENDING = + PropertyOrder_Direction._(2, _omitEnumNames ? '' : 'DESCENDING'); + + static const $core.List values = + [ + DIRECTION_UNSPECIFIED, + ASCENDING, + DESCENDING, + ]; + + static final $core.Map<$core.int, PropertyOrder_Direction> _byValue = + $pb.ProtobufEnum.initByValue(values); + static PropertyOrder_Direction? valueOf($core.int value) => _byValue[value]; + + const PropertyOrder_Direction._($core.int v, $core.String n) : super(v, n); +} + +/// A composite filter operator. +class CompositeFilter_Operator extends $pb.ProtobufEnum { + static const CompositeFilter_Operator OPERATOR_UNSPECIFIED = + CompositeFilter_Operator._( + 0, _omitEnumNames ? '' : 'OPERATOR_UNSPECIFIED'); + static const CompositeFilter_Operator AND = + CompositeFilter_Operator._(1, _omitEnumNames ? '' : 'AND'); + + static const $core.List values = + [ + OPERATOR_UNSPECIFIED, + AND, + ]; + + static final $core.Map<$core.int, CompositeFilter_Operator> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CompositeFilter_Operator? valueOf($core.int value) => _byValue[value]; + + const CompositeFilter_Operator._($core.int v, $core.String n) : super(v, n); +} + +/// A property filter operator. +class PropertyFilter_Operator extends $pb.ProtobufEnum { + static const PropertyFilter_Operator OPERATOR_UNSPECIFIED = + PropertyFilter_Operator._( + 0, _omitEnumNames ? '' : 'OPERATOR_UNSPECIFIED'); + static const PropertyFilter_Operator LESS_THAN = + PropertyFilter_Operator._(1, _omitEnumNames ? '' : 'LESS_THAN'); + static const PropertyFilter_Operator LESS_THAN_OR_EQUAL = + PropertyFilter_Operator._(2, _omitEnumNames ? '' : 'LESS_THAN_OR_EQUAL'); + static const PropertyFilter_Operator GREATER_THAN = + PropertyFilter_Operator._(3, _omitEnumNames ? '' : 'GREATER_THAN'); + static const PropertyFilter_Operator GREATER_THAN_OR_EQUAL = + PropertyFilter_Operator._( + 4, _omitEnumNames ? '' : 'GREATER_THAN_OR_EQUAL'); + static const PropertyFilter_Operator EQUAL = + PropertyFilter_Operator._(5, _omitEnumNames ? '' : 'EQUAL'); + static const PropertyFilter_Operator HAS_ANCESTOR = + PropertyFilter_Operator._(11, _omitEnumNames ? '' : 'HAS_ANCESTOR'); + + static const $core.List values = + [ + OPERATOR_UNSPECIFIED, + LESS_THAN, + LESS_THAN_OR_EQUAL, + GREATER_THAN, + GREATER_THAN_OR_EQUAL, + EQUAL, + HAS_ANCESTOR, + ]; + + static final $core.Map<$core.int, PropertyFilter_Operator> _byValue = + $pb.ProtobufEnum.initByValue(values); + static PropertyFilter_Operator? valueOf($core.int value) => _byValue[value]; + + const PropertyFilter_Operator._($core.int v, $core.String n) : super(v, n); +} + +/// The possible values for the `more_results` field. +class QueryResultBatch_MoreResultsType extends $pb.ProtobufEnum { + static const QueryResultBatch_MoreResultsType MORE_RESULTS_TYPE_UNSPECIFIED = + QueryResultBatch_MoreResultsType._( + 0, _omitEnumNames ? '' : 'MORE_RESULTS_TYPE_UNSPECIFIED'); + static const QueryResultBatch_MoreResultsType NOT_FINISHED = + QueryResultBatch_MoreResultsType._( + 1, _omitEnumNames ? '' : 'NOT_FINISHED'); + static const QueryResultBatch_MoreResultsType MORE_RESULTS_AFTER_LIMIT = + QueryResultBatch_MoreResultsType._( + 2, _omitEnumNames ? '' : 'MORE_RESULTS_AFTER_LIMIT'); + static const QueryResultBatch_MoreResultsType MORE_RESULTS_AFTER_CURSOR = + QueryResultBatch_MoreResultsType._( + 4, _omitEnumNames ? '' : 'MORE_RESULTS_AFTER_CURSOR'); + static const QueryResultBatch_MoreResultsType NO_MORE_RESULTS = + QueryResultBatch_MoreResultsType._( + 3, _omitEnumNames ? '' : 'NO_MORE_RESULTS'); + + static const $core.List values = + [ + MORE_RESULTS_TYPE_UNSPECIFIED, + NOT_FINISHED, + MORE_RESULTS_AFTER_LIMIT, + MORE_RESULTS_AFTER_CURSOR, + NO_MORE_RESULTS, + ]; + + static final $core.Map<$core.int, QueryResultBatch_MoreResultsType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static QueryResultBatch_MoreResultsType? valueOf($core.int value) => + _byValue[value]; + + const QueryResultBatch_MoreResultsType._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pbjson.dart new file mode 100644 index 00000000..df052c9c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/datastore/v1beta3/query.pbjson.dart @@ -0,0 +1,478 @@ +// +// Generated code. Do not modify. +// source: google/datastore/v1beta3/query.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use entityResultDescriptor instead') +const EntityResult$json = { + '1': 'EntityResult', + '2': [ + { + '1': 'entity', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Entity', + '10': 'entity' + }, + {'1': 'version', '3': 4, '4': 1, '5': 3, '10': 'version'}, + {'1': 'cursor', '3': 3, '4': 1, '5': 12, '10': 'cursor'}, + ], + '4': [EntityResult_ResultType$json], +}; + +@$core.Deprecated('Use entityResultDescriptor instead') +const EntityResult_ResultType$json = { + '1': 'ResultType', + '2': [ + {'1': 'RESULT_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'FULL', '2': 1}, + {'1': 'PROJECTION', '2': 2}, + {'1': 'KEY_ONLY', '2': 3}, + ], +}; + +/// Descriptor for `EntityResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List entityResultDescriptor = $convert.base64Decode( + 'CgxFbnRpdHlSZXN1bHQSOAoGZW50aXR5GAEgASgLMiAuZ29vZ2xlLmRhdGFzdG9yZS52MWJldG' + 'EzLkVudGl0eVIGZW50aXR5EhgKB3ZlcnNpb24YBCABKANSB3ZlcnNpb24SFgoGY3Vyc29yGAMg' + 'ASgMUgZjdXJzb3IiUQoKUmVzdWx0VHlwZRIbChdSRVNVTFRfVFlQRV9VTlNQRUNJRklFRBAAEg' + 'gKBEZVTEwQARIOCgpQUk9KRUNUSU9OEAISDAoIS0VZX09OTFkQAw=='); + +@$core.Deprecated('Use queryDescriptor instead') +const Query$json = { + '1': 'Query', + '2': [ + { + '1': 'projection', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Projection', + '10': 'projection' + }, + { + '1': 'kind', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.KindExpression', + '10': 'kind' + }, + { + '1': 'filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Filter', + '10': 'filter' + }, + { + '1': 'order', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.PropertyOrder', + '10': 'order' + }, + { + '1': 'distinct_on', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.PropertyReference', + '10': 'distinctOn' + }, + {'1': 'start_cursor', '3': 7, '4': 1, '5': 12, '10': 'startCursor'}, + {'1': 'end_cursor', '3': 8, '4': 1, '5': 12, '10': 'endCursor'}, + {'1': 'offset', '3': 10, '4': 1, '5': 5, '10': 'offset'}, + { + '1': 'limit', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.protobuf.Int32Value', + '10': 'limit' + }, + ], +}; + +/// Descriptor for `Query`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryDescriptor = $convert.base64Decode( + 'CgVRdWVyeRJECgpwcm9qZWN0aW9uGAIgAygLMiQuZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLl' + 'Byb2plY3Rpb25SCnByb2plY3Rpb24SPAoEa2luZBgDIAMoCzIoLmdvb2dsZS5kYXRhc3RvcmUu' + 'djFiZXRhMy5LaW5kRXhwcmVzc2lvblIEa2luZBI4CgZmaWx0ZXIYBCABKAsyIC5nb29nbGUuZG' + 'F0YXN0b3JlLnYxYmV0YTMuRmlsdGVyUgZmaWx0ZXISPQoFb3JkZXIYBSADKAsyJy5nb29nbGUu' + 'ZGF0YXN0b3JlLnYxYmV0YTMuUHJvcGVydHlPcmRlclIFb3JkZXISTAoLZGlzdGluY3Rfb24YBi' + 'ADKAsyKy5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuUHJvcGVydHlSZWZlcmVuY2VSCmRpc3Rp' + 'bmN0T24SIQoMc3RhcnRfY3Vyc29yGAcgASgMUgtzdGFydEN1cnNvchIdCgplbmRfY3Vyc29yGA' + 'ggASgMUgllbmRDdXJzb3ISFgoGb2Zmc2V0GAogASgFUgZvZmZzZXQSMQoFbGltaXQYDCABKAsy' + 'Gy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIFbGltaXQ='); + +@$core.Deprecated('Use kindExpressionDescriptor instead') +const KindExpression$json = { + '1': 'KindExpression', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `KindExpression`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List kindExpressionDescriptor = + $convert.base64Decode('Cg5LaW5kRXhwcmVzc2lvbhISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use propertyReferenceDescriptor instead') +const PropertyReference$json = { + '1': 'PropertyReference', + '2': [ + {'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `PropertyReference`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyReferenceDescriptor = $convert + .base64Decode('ChFQcm9wZXJ0eVJlZmVyZW5jZRISCgRuYW1lGAIgASgJUgRuYW1l'); + +@$core.Deprecated('Use projectionDescriptor instead') +const Projection$json = { + '1': 'Projection', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.PropertyReference', + '10': 'property' + }, + ], +}; + +/// Descriptor for `Projection`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List projectionDescriptor = $convert.base64Decode( + 'CgpQcm9qZWN0aW9uEkcKCHByb3BlcnR5GAEgASgLMisuZ29vZ2xlLmRhdGFzdG9yZS52MWJldG' + 'EzLlByb3BlcnR5UmVmZXJlbmNlUghwcm9wZXJ0eQ=='); + +@$core.Deprecated('Use propertyOrderDescriptor instead') +const PropertyOrder$json = { + '1': 'PropertyOrder', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.PropertyReference', + '10': 'property' + }, + { + '1': 'direction', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.PropertyOrder.Direction', + '10': 'direction' + }, + ], + '4': [PropertyOrder_Direction$json], +}; + +@$core.Deprecated('Use propertyOrderDescriptor instead') +const PropertyOrder_Direction$json = { + '1': 'Direction', + '2': [ + {'1': 'DIRECTION_UNSPECIFIED', '2': 0}, + {'1': 'ASCENDING', '2': 1}, + {'1': 'DESCENDING', '2': 2}, + ], +}; + +/// Descriptor for `PropertyOrder`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyOrderDescriptor = $convert.base64Decode( + 'Cg1Qcm9wZXJ0eU9yZGVyEkcKCHByb3BlcnR5GAEgASgLMisuZ29vZ2xlLmRhdGFzdG9yZS52MW' + 'JldGEzLlByb3BlcnR5UmVmZXJlbmNlUghwcm9wZXJ0eRJPCglkaXJlY3Rpb24YAiABKA4yMS5n' + 'b29nbGUuZGF0YXN0b3JlLnYxYmV0YTMuUHJvcGVydHlPcmRlci5EaXJlY3Rpb25SCWRpcmVjdG' + 'lvbiJFCglEaXJlY3Rpb24SGQoVRElSRUNUSU9OX1VOU1BFQ0lGSUVEEAASDQoJQVNDRU5ESU5H' + 'EAESDgoKREVTQ0VORElORxAC'); + +@$core.Deprecated('Use filterDescriptor instead') +const Filter$json = { + '1': 'Filter', + '2': [ + { + '1': 'composite_filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.CompositeFilter', + '9': 0, + '10': 'compositeFilter' + }, + { + '1': 'property_filter', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.PropertyFilter', + '9': 0, + '10': 'propertyFilter' + }, + ], + '8': [ + {'1': 'filter_type'}, + ], +}; + +/// Descriptor for `Filter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List filterDescriptor = $convert.base64Decode( + 'CgZGaWx0ZXISVgoQY29tcG9zaXRlX2ZpbHRlchgBIAEoCzIpLmdvb2dsZS5kYXRhc3RvcmUudj' + 'FiZXRhMy5Db21wb3NpdGVGaWx0ZXJIAFIPY29tcG9zaXRlRmlsdGVyElMKD3Byb3BlcnR5X2Zp' + 'bHRlchgCIAEoCzIoLmdvb2dsZS5kYXRhc3RvcmUudjFiZXRhMy5Qcm9wZXJ0eUZpbHRlckgAUg' + '5wcm9wZXJ0eUZpbHRlckINCgtmaWx0ZXJfdHlwZQ=='); + +@$core.Deprecated('Use compositeFilterDescriptor instead') +const CompositeFilter$json = { + '1': 'CompositeFilter', + '2': [ + { + '1': 'op', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.CompositeFilter.Operator', + '10': 'op' + }, + { + '1': 'filters', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.Filter', + '10': 'filters' + }, + ], + '4': [CompositeFilter_Operator$json], +}; + +@$core.Deprecated('Use compositeFilterDescriptor instead') +const CompositeFilter_Operator$json = { + '1': 'Operator', + '2': [ + {'1': 'OPERATOR_UNSPECIFIED', '2': 0}, + {'1': 'AND', '2': 1}, + ], +}; + +/// Descriptor for `CompositeFilter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List compositeFilterDescriptor = $convert.base64Decode( + 'Cg9Db21wb3NpdGVGaWx0ZXISQgoCb3AYASABKA4yMi5nb29nbGUuZGF0YXN0b3JlLnYxYmV0YT' + 'MuQ29tcG9zaXRlRmlsdGVyLk9wZXJhdG9yUgJvcBI6CgdmaWx0ZXJzGAIgAygLMiAuZ29vZ2xl' + 'LmRhdGFzdG9yZS52MWJldGEzLkZpbHRlclIHZmlsdGVycyItCghPcGVyYXRvchIYChRPUEVSQV' + 'RPUl9VTlNQRUNJRklFRBAAEgcKA0FORBAB'); + +@$core.Deprecated('Use propertyFilterDescriptor instead') +const PropertyFilter$json = { + '1': 'PropertyFilter', + '2': [ + { + '1': 'property', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.PropertyReference', + '10': 'property' + }, + { + '1': 'op', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.PropertyFilter.Operator', + '10': 'op' + }, + { + '1': 'value', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Value', + '10': 'value' + }, + ], + '4': [PropertyFilter_Operator$json], +}; + +@$core.Deprecated('Use propertyFilterDescriptor instead') +const PropertyFilter_Operator$json = { + '1': 'Operator', + '2': [ + {'1': 'OPERATOR_UNSPECIFIED', '2': 0}, + {'1': 'LESS_THAN', '2': 1}, + {'1': 'LESS_THAN_OR_EQUAL', '2': 2}, + {'1': 'GREATER_THAN', '2': 3}, + {'1': 'GREATER_THAN_OR_EQUAL', '2': 4}, + {'1': 'EQUAL', '2': 5}, + {'1': 'HAS_ANCESTOR', '2': 11}, + ], +}; + +/// Descriptor for `PropertyFilter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List propertyFilterDescriptor = $convert.base64Decode( + 'Cg5Qcm9wZXJ0eUZpbHRlchJHCghwcm9wZXJ0eRgBIAEoCzIrLmdvb2dsZS5kYXRhc3RvcmUudj' + 'FiZXRhMy5Qcm9wZXJ0eVJlZmVyZW5jZVIIcHJvcGVydHkSQQoCb3AYAiABKA4yMS5nb29nbGUu' + 'ZGF0YXN0b3JlLnYxYmV0YTMuUHJvcGVydHlGaWx0ZXIuT3BlcmF0b3JSAm9wEjUKBXZhbHVlGA' + 'MgASgLMh8uZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLlZhbHVlUgV2YWx1ZSKVAQoIT3BlcmF0' + 'b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABINCglMRVNTX1RIQU4QARIWChJMRVNTX1RIQU' + '5fT1JfRVFVQUwQAhIQCgxHUkVBVEVSX1RIQU4QAxIZChVHUkVBVEVSX1RIQU5fT1JfRVFVQUwQ' + 'BBIJCgVFUVVBTBAFEhAKDEhBU19BTkNFU1RPUhAL'); + +@$core.Deprecated('Use gqlQueryDescriptor instead') +const GqlQuery$json = { + '1': 'GqlQuery', + '2': [ + {'1': 'query_string', '3': 1, '4': 1, '5': 9, '10': 'queryString'}, + {'1': 'allow_literals', '3': 2, '4': 1, '5': 8, '10': 'allowLiterals'}, + { + '1': 'named_bindings', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.GqlQuery.NamedBindingsEntry', + '10': 'namedBindings' + }, + { + '1': 'positional_bindings', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.GqlQueryParameter', + '10': 'positionalBindings' + }, + ], + '3': [GqlQuery_NamedBindingsEntry$json], +}; + +@$core.Deprecated('Use gqlQueryDescriptor instead') +const GqlQuery_NamedBindingsEntry$json = { + '1': 'NamedBindingsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.GqlQueryParameter', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `GqlQuery`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List gqlQueryDescriptor = $convert.base64Decode( + 'CghHcWxRdWVyeRIhCgxxdWVyeV9zdHJpbmcYASABKAlSC3F1ZXJ5U3RyaW5nEiUKDmFsbG93X2' + 'xpdGVyYWxzGAIgASgIUg1hbGxvd0xpdGVyYWxzElwKDm5hbWVkX2JpbmRpbmdzGAUgAygLMjUu' + 'Z29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLkdxbFF1ZXJ5Lk5hbWVkQmluZGluZ3NFbnRyeVINbm' + 'FtZWRCaW5kaW5ncxJcChNwb3NpdGlvbmFsX2JpbmRpbmdzGAQgAygLMisuZ29vZ2xlLmRhdGFz' + 'dG9yZS52MWJldGEzLkdxbFF1ZXJ5UGFyYW1ldGVyUhJwb3NpdGlvbmFsQmluZGluZ3MabQoSTm' + 'FtZWRCaW5kaW5nc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkEKBXZhbHVlGAIgASgLMisuZ29v' + 'Z2xlLmRhdGFzdG9yZS52MWJldGEzLkdxbFF1ZXJ5UGFyYW1ldGVyUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use gqlQueryParameterDescriptor instead') +const GqlQueryParameter$json = { + '1': 'GqlQueryParameter', + '2': [ + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.datastore.v1beta3.Value', + '9': 0, + '10': 'value' + }, + {'1': 'cursor', '3': 3, '4': 1, '5': 12, '9': 0, '10': 'cursor'}, + ], + '8': [ + {'1': 'parameter_type'}, + ], +}; + +/// Descriptor for `GqlQueryParameter`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List gqlQueryParameterDescriptor = $convert.base64Decode( + 'ChFHcWxRdWVyeVBhcmFtZXRlchI3CgV2YWx1ZRgCIAEoCzIfLmdvb2dsZS5kYXRhc3RvcmUudj' + 'FiZXRhMy5WYWx1ZUgAUgV2YWx1ZRIYCgZjdXJzb3IYAyABKAxIAFIGY3Vyc29yQhAKDnBhcmFt' + 'ZXRlcl90eXBl'); + +@$core.Deprecated('Use queryResultBatchDescriptor instead') +const QueryResultBatch$json = { + '1': 'QueryResultBatch', + '2': [ + {'1': 'skipped_results', '3': 6, '4': 1, '5': 5, '10': 'skippedResults'}, + {'1': 'skipped_cursor', '3': 3, '4': 1, '5': 12, '10': 'skippedCursor'}, + { + '1': 'entity_result_type', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.EntityResult.ResultType', + '10': 'entityResultType' + }, + { + '1': 'entity_results', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.datastore.v1beta3.EntityResult', + '10': 'entityResults' + }, + {'1': 'end_cursor', '3': 4, '4': 1, '5': 12, '10': 'endCursor'}, + { + '1': 'more_results', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.datastore.v1beta3.QueryResultBatch.MoreResultsType', + '10': 'moreResults' + }, + {'1': 'snapshot_version', '3': 7, '4': 1, '5': 3, '10': 'snapshotVersion'}, + ], + '4': [QueryResultBatch_MoreResultsType$json], +}; + +@$core.Deprecated('Use queryResultBatchDescriptor instead') +const QueryResultBatch_MoreResultsType$json = { + '1': 'MoreResultsType', + '2': [ + {'1': 'MORE_RESULTS_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'NOT_FINISHED', '2': 1}, + {'1': 'MORE_RESULTS_AFTER_LIMIT', '2': 2}, + {'1': 'MORE_RESULTS_AFTER_CURSOR', '2': 4}, + {'1': 'NO_MORE_RESULTS', '2': 3}, + ], +}; + +/// Descriptor for `QueryResultBatch`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryResultBatchDescriptor = $convert.base64Decode( + 'ChBRdWVyeVJlc3VsdEJhdGNoEicKD3NraXBwZWRfcmVzdWx0cxgGIAEoBVIOc2tpcHBlZFJlc3' + 'VsdHMSJQoOc2tpcHBlZF9jdXJzb3IYAyABKAxSDXNraXBwZWRDdXJzb3ISXwoSZW50aXR5X3Jl' + 'c3VsdF90eXBlGAEgASgOMjEuZ29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLkVudGl0eVJlc3VsdC' + '5SZXN1bHRUeXBlUhBlbnRpdHlSZXN1bHRUeXBlEk0KDmVudGl0eV9yZXN1bHRzGAIgAygLMiYu' + 'Z29vZ2xlLmRhdGFzdG9yZS52MWJldGEzLkVudGl0eVJlc3VsdFINZW50aXR5UmVzdWx0cxIdCg' + 'plbmRfY3Vyc29yGAQgASgMUgllbmRDdXJzb3ISXQoMbW9yZV9yZXN1bHRzGAUgASgOMjouZ29v' + 'Z2xlLmRhdGFzdG9yZS52MWJldGEzLlF1ZXJ5UmVzdWx0QmF0Y2guTW9yZVJlc3VsdHNUeXBlUg' + 'ttb3JlUmVzdWx0cxIpChBzbmFwc2hvdF92ZXJzaW9uGAcgASgDUg9zbmFwc2hvdFZlcnNpb24i' + 'mAEKD01vcmVSZXN1bHRzVHlwZRIhCh1NT1JFX1JFU1VMVFNfVFlQRV9VTlNQRUNJRklFRBAAEh' + 'AKDE5PVF9GSU5JU0hFRBABEhwKGE1PUkVfUkVTVUxUU19BRlRFUl9MSU1JVBACEh0KGU1PUkVf' + 'UkVTVUxUU19BRlRFUl9DVVJTT1IQBBITCg9OT19NT1JFX1JFU1VMVFMQAw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pb.dart new file mode 100644 index 00000000..6100db3e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pb.dart @@ -0,0 +1,153 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A PermissionDelta message to record the added_permissions and +/// removed_permissions inside a role. +class AuditData_PermissionDelta extends $pb.GeneratedMessage { + factory AuditData_PermissionDelta({ + $core.Iterable<$core.String>? addedPermissions, + $core.Iterable<$core.String>? removedPermissions, + }) { + final $result = create(); + if (addedPermissions != null) { + $result.addedPermissions.addAll(addedPermissions); + } + if (removedPermissions != null) { + $result.removedPermissions.addAll(removedPermissions); + } + return $result; + } + AuditData_PermissionDelta._() : super(); + factory AuditData_PermissionDelta.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditData_PermissionDelta.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditData.PermissionDelta', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'addedPermissions') + ..pPS(2, _omitFieldNames ? '' : 'removedPermissions') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditData_PermissionDelta clone() => + AuditData_PermissionDelta()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditData_PermissionDelta copyWith( + void Function(AuditData_PermissionDelta) updates) => + super.copyWith((message) => updates(message as AuditData_PermissionDelta)) + as AuditData_PermissionDelta; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditData_PermissionDelta create() => AuditData_PermissionDelta._(); + AuditData_PermissionDelta createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditData_PermissionDelta getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuditData_PermissionDelta? _defaultInstance; + + /// Added permissions. + @$pb.TagNumber(1) + $core.List<$core.String> get addedPermissions => $_getList(0); + + /// Removed permissions. + @$pb.TagNumber(2) + $core.List<$core.String> get removedPermissions => $_getList(1); +} + +/// Audit log information specific to Cloud IAM admin APIs. This message is +/// serialized as an `Any` type in the `ServiceData` message of an +/// `AuditLog` message. +class AuditData extends $pb.GeneratedMessage { + factory AuditData({ + AuditData_PermissionDelta? permissionDelta, + }) { + final $result = create(); + if (permissionDelta != null) { + $result.permissionDelta = permissionDelta; + } + return $result; + } + AuditData._() : super(); + factory AuditData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditData', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOM( + 1, _omitFieldNames ? '' : 'permissionDelta', + subBuilder: AuditData_PermissionDelta.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditData clone() => AuditData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditData copyWith(void Function(AuditData) updates) => + super.copyWith((message) => updates(message as AuditData)) as AuditData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditData create() => AuditData._(); + AuditData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditData getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AuditData? _defaultInstance; + + /// The permission_delta when when creating or updating a Role. + @$pb.TagNumber(1) + AuditData_PermissionDelta get permissionDelta => $_getN(0); + @$pb.TagNumber(1) + set permissionDelta(AuditData_PermissionDelta v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasPermissionDelta() => $_has(0); + @$pb.TagNumber(1) + void clearPermissionDelta() => clearField(1); + @$pb.TagNumber(1) + AuditData_PermissionDelta ensurePermissionDelta() => $_ensure(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pbenum.dart new file mode 100644 index 00000000..6f356a37 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pbjson.dart new file mode 100644 index 00000000..759e05e8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/audit_data.pbjson.dart @@ -0,0 +1,58 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData$json = { + '1': 'AuditData', + '2': [ + { + '1': 'permission_delta', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.admin.v1.AuditData.PermissionDelta', + '10': 'permissionDelta' + }, + ], + '3': [AuditData_PermissionDelta$json], +}; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData_PermissionDelta$json = { + '1': 'PermissionDelta', + '2': [ + { + '1': 'added_permissions', + '3': 1, + '4': 3, + '5': 9, + '10': 'addedPermissions' + }, + { + '1': 'removed_permissions', + '3': 2, + '4': 3, + '5': 9, + '10': 'removedPermissions' + }, + ], +}; + +/// Descriptor for `AuditData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditDataDescriptor = $convert.base64Decode( + 'CglBdWRpdERhdGESWQoQcGVybWlzc2lvbl9kZWx0YRgBIAEoCzIuLmdvb2dsZS5pYW0uYWRtaW' + '4udjEuQXVkaXREYXRhLlBlcm1pc3Npb25EZWx0YVIPcGVybWlzc2lvbkRlbHRhGm8KD1Blcm1p' + 'c3Npb25EZWx0YRIrChFhZGRlZF9wZXJtaXNzaW9ucxgBIAMoCVIQYWRkZWRQZXJtaXNzaW9ucx' + 'IvChNyZW1vdmVkX3Blcm1pc3Npb25zGAIgAygJUhJyZW1vdmVkUGVybWlzc2lvbnM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pb.dart new file mode 100644 index 00000000..bcfebeea --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pb.dart @@ -0,0 +1,4628 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/iam.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/field_mask.pb.dart' as $58; +import '../../../protobuf/timestamp.pb.dart' as $50; +import '../../../type/expr.pb.dart' as $114; +import 'iam.pbenum.dart'; + +export 'iam.pbenum.dart'; + +/// An IAM service account. +/// +/// A service account is an account for an application or a virtual machine (VM) +/// instance, not a person. You can use a service account to call Google APIs. To +/// learn more, read the [overview of service +/// accounts](https://cloud.google.com/iam/help/service-accounts/overview). +/// +/// When you create a service account, you specify the project ID that owns the +/// service account, as well as a name that must be unique within the project. +/// IAM uses these values to create an email address that identifies the service +/// account. +class ServiceAccount extends $pb.GeneratedMessage { + factory ServiceAccount({ + $core.String? name, + $core.String? projectId, + $core.String? uniqueId, + $core.String? email, + $core.String? displayName, + @$core.Deprecated('This field is deprecated.') $core.List<$core.int>? etag, + $core.String? description, + $core.String? oauth2ClientId, + $core.bool? disabled, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (projectId != null) { + $result.projectId = projectId; + } + if (uniqueId != null) { + $result.uniqueId = uniqueId; + } + if (email != null) { + $result.email = email; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (etag != null) { + // ignore: deprecated_member_use_from_same_package + $result.etag = etag; + } + if (description != null) { + $result.description = description; + } + if (oauth2ClientId != null) { + $result.oauth2ClientId = oauth2ClientId; + } + if (disabled != null) { + $result.disabled = disabled; + } + return $result; + } + ServiceAccount._() : super(); + factory ServiceAccount.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceAccount.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceAccount', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'projectId') + ..aOS(4, _omitFieldNames ? '' : 'uniqueId') + ..aOS(5, _omitFieldNames ? '' : 'email') + ..aOS(6, _omitFieldNames ? '' : 'displayName') + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'etag', $pb.PbFieldType.OY) + ..aOS(8, _omitFieldNames ? '' : 'description') + ..aOS(9, _omitFieldNames ? '' : 'oauth2ClientId') + ..aOB(11, _omitFieldNames ? '' : 'disabled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceAccount clone() => ServiceAccount()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceAccount copyWith(void Function(ServiceAccount) updates) => + super.copyWith((message) => updates(message as ServiceAccount)) + as ServiceAccount; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceAccount create() => ServiceAccount._(); + ServiceAccount createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceAccount getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceAccount? _defaultInstance; + + /// The resource name of the service account. + /// + /// Use one of the following formats: + /// + /// * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` + /// * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` + /// + /// As an alternative, you can use the `-` wildcard character instead of the + /// project ID: + /// + /// * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` + /// * `projects/-/serviceAccounts/{UNIQUE_ID}` + /// + /// When possible, avoid using the `-` wildcard character, because it can cause + /// response messages to contain misleading error codes. For example, if you + /// try to get the service account + /// `projects/-/serviceAccounts/fake@example.com`, which does not exist, the + /// response contains an HTTP `403 Forbidden` error instead of a `404 Not + /// Found` error. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Output only. The ID of the project that owns the service account. + @$pb.TagNumber(2) + $core.String get projectId => $_getSZ(1); + @$pb.TagNumber(2) + set projectId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasProjectId() => $_has(1); + @$pb.TagNumber(2) + void clearProjectId() => clearField(2); + + /// Output only. The unique, stable numeric ID for the service account. + /// + /// Each service account retains its unique ID even if you delete the service + /// account. For example, if you delete a service account, then create a new + /// service account with the same name, the new service account has a different + /// unique ID than the deleted service account. + @$pb.TagNumber(4) + $core.String get uniqueId => $_getSZ(2); + @$pb.TagNumber(4) + set uniqueId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasUniqueId() => $_has(2); + @$pb.TagNumber(4) + void clearUniqueId() => clearField(4); + + /// Output only. The email address of the service account. + @$pb.TagNumber(5) + $core.String get email => $_getSZ(3); + @$pb.TagNumber(5) + set email($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasEmail() => $_has(3); + @$pb.TagNumber(5) + void clearEmail() => clearField(5); + + /// Optional. A user-specified, human-readable name for the service account. The maximum + /// length is 100 UTF-8 bytes. + @$pb.TagNumber(6) + $core.String get displayName => $_getSZ(4); + @$pb.TagNumber(6) + set displayName($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasDisplayName() => $_has(4); + @$pb.TagNumber(6) + void clearDisplayName() => clearField(6); + + /// Deprecated. Do not use. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + $core.List<$core.int> get etag => $_getN(5); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + set etag($core.List<$core.int> v) { + $_setBytes(5, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + $core.bool hasEtag() => $_has(5); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(7) + void clearEtag() => clearField(7); + + /// Optional. A user-specified, human-readable description of the service account. The + /// maximum length is 256 UTF-8 bytes. + @$pb.TagNumber(8) + $core.String get description => $_getSZ(6); + @$pb.TagNumber(8) + set description($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(8) + $core.bool hasDescription() => $_has(6); + @$pb.TagNumber(8) + void clearDescription() => clearField(8); + + /// Output only. The OAuth 2.0 client ID for the service account. + @$pb.TagNumber(9) + $core.String get oauth2ClientId => $_getSZ(7); + @$pb.TagNumber(9) + set oauth2ClientId($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(9) + $core.bool hasOauth2ClientId() => $_has(7); + @$pb.TagNumber(9) + void clearOauth2ClientId() => clearField(9); + + /// Output only. Whether the service account is disabled. + @$pb.TagNumber(11) + $core.bool get disabled => $_getBF(8); + @$pb.TagNumber(11) + set disabled($core.bool v) { + $_setBool(8, v); + } + + @$pb.TagNumber(11) + $core.bool hasDisabled() => $_has(8); + @$pb.TagNumber(11) + void clearDisabled() => clearField(11); +} + +/// The service account create request. +class CreateServiceAccountRequest extends $pb.GeneratedMessage { + factory CreateServiceAccountRequest({ + $core.String? name, + $core.String? accountId, + ServiceAccount? serviceAccount, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (accountId != null) { + $result.accountId = accountId; + } + if (serviceAccount != null) { + $result.serviceAccount = serviceAccount; + } + return $result; + } + CreateServiceAccountRequest._() : super(); + factory CreateServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'accountId') + ..aOM(3, _omitFieldNames ? '' : 'serviceAccount', + subBuilder: ServiceAccount.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateServiceAccountRequest clone() => + CreateServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateServiceAccountRequest copyWith( + void Function(CreateServiceAccountRequest) updates) => + super.copyWith( + (message) => updates(message as CreateServiceAccountRequest)) + as CreateServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateServiceAccountRequest create() => + CreateServiceAccountRequest._(); + CreateServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateServiceAccountRequest? _defaultInstance; + + /// Required. The resource name of the project associated with the service + /// accounts, such as `projects/my-project-123`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The account id that is used to generate the service account + /// email address and a stable unique id. It is unique within a project, + /// must be 6-30 characters long, and match the regular expression + /// `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035. + @$pb.TagNumber(2) + $core.String get accountId => $_getSZ(1); + @$pb.TagNumber(2) + set accountId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasAccountId() => $_has(1); + @$pb.TagNumber(2) + void clearAccountId() => clearField(2); + + /// The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to + /// create. Currently, only the following values are user assignable: + /// `display_name` and `description`. + @$pb.TagNumber(3) + ServiceAccount get serviceAccount => $_getN(2); + @$pb.TagNumber(3) + set serviceAccount(ServiceAccount v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasServiceAccount() => $_has(2); + @$pb.TagNumber(3) + void clearServiceAccount() => clearField(3); + @$pb.TagNumber(3) + ServiceAccount ensureServiceAccount() => $_ensure(2); +} + +/// The service account list request. +class ListServiceAccountsRequest extends $pb.GeneratedMessage { + factory ListServiceAccountsRequest({ + $core.String? name, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListServiceAccountsRequest._() : super(); + factory ListServiceAccountsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceAccountsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceAccountsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceAccountsRequest clone() => + ListServiceAccountsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceAccountsRequest copyWith( + void Function(ListServiceAccountsRequest) updates) => + super.copyWith( + (message) => updates(message as ListServiceAccountsRequest)) + as ListServiceAccountsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceAccountsRequest create() => ListServiceAccountsRequest._(); + ListServiceAccountsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceAccountsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceAccountsRequest? _defaultInstance; + + /// Required. The resource name of the project associated with the service + /// accounts, such as `projects/my-project-123`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional limit on the number of service accounts to include in the + /// response. Further accounts can subsequently be obtained by including the + /// [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token] + /// in a subsequent request. + /// + /// The default is 20, and the maximum is 100. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional pagination token returned in an earlier + /// [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// The service account list response. +class ListServiceAccountsResponse extends $pb.GeneratedMessage { + factory ListServiceAccountsResponse({ + $core.Iterable? accounts, + $core.String? nextPageToken, + }) { + final $result = create(); + if (accounts != null) { + $result.accounts.addAll(accounts); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListServiceAccountsResponse._() : super(); + factory ListServiceAccountsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceAccountsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceAccountsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'accounts', $pb.PbFieldType.PM, + subBuilder: ServiceAccount.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceAccountsResponse clone() => + ListServiceAccountsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceAccountsResponse copyWith( + void Function(ListServiceAccountsResponse) updates) => + super.copyWith( + (message) => updates(message as ListServiceAccountsResponse)) + as ListServiceAccountsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceAccountsResponse create() => + ListServiceAccountsResponse._(); + ListServiceAccountsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceAccountsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceAccountsResponse? _defaultInstance; + + /// The list of matching service accounts. + @$pb.TagNumber(1) + $core.List get accounts => $_getList(0); + + /// To retrieve the next page of results, set + /// [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token] + /// to this value. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The service account get request. +class GetServiceAccountRequest extends $pb.GeneratedMessage { + factory GetServiceAccountRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetServiceAccountRequest._() : super(); + factory GetServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceAccountRequest clone() => + GetServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceAccountRequest copyWith( + void Function(GetServiceAccountRequest) updates) => + super.copyWith((message) => updates(message as GetServiceAccountRequest)) + as GetServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceAccountRequest create() => GetServiceAccountRequest._(); + GetServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceAccountRequest? _defaultInstance; + + /// Required. The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The service account delete request. +class DeleteServiceAccountRequest extends $pb.GeneratedMessage { + factory DeleteServiceAccountRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteServiceAccountRequest._() : super(); + factory DeleteServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteServiceAccountRequest clone() => + DeleteServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteServiceAccountRequest copyWith( + void Function(DeleteServiceAccountRequest) updates) => + super.copyWith( + (message) => updates(message as DeleteServiceAccountRequest)) + as DeleteServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteServiceAccountRequest create() => + DeleteServiceAccountRequest._(); + DeleteServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteServiceAccountRequest? _defaultInstance; + + /// Required. The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The service account patch request. +/// +/// You can patch only the `display_name` and `description` fields. You must use +/// the `update_mask` field to specify which of these fields you want to patch. +/// +/// Only the fields specified in the request are guaranteed to be returned in +/// the response. Other fields may be empty in the response. +class PatchServiceAccountRequest extends $pb.GeneratedMessage { + factory PatchServiceAccountRequest({ + ServiceAccount? serviceAccount, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (serviceAccount != null) { + $result.serviceAccount = serviceAccount; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + PatchServiceAccountRequest._() : super(); + factory PatchServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PatchServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PatchServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'serviceAccount', + subBuilder: ServiceAccount.create) + ..aOM<$58.FieldMask>(2, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PatchServiceAccountRequest clone() => + PatchServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PatchServiceAccountRequest copyWith( + void Function(PatchServiceAccountRequest) updates) => + super.copyWith( + (message) => updates(message as PatchServiceAccountRequest)) + as PatchServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PatchServiceAccountRequest create() => PatchServiceAccountRequest._(); + PatchServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PatchServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PatchServiceAccountRequest? _defaultInstance; + + @$pb.TagNumber(1) + ServiceAccount get serviceAccount => $_getN(0); + @$pb.TagNumber(1) + set serviceAccount(ServiceAccount v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasServiceAccount() => $_has(0); + @$pb.TagNumber(1) + void clearServiceAccount() => clearField(1); + @$pb.TagNumber(1) + ServiceAccount ensureServiceAccount() => $_ensure(0); + + @$pb.TagNumber(2) + $58.FieldMask get updateMask => $_getN(1); + @$pb.TagNumber(2) + set updateMask($58.FieldMask v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasUpdateMask() => $_has(1); + @$pb.TagNumber(2) + void clearUpdateMask() => clearField(2); + @$pb.TagNumber(2) + $58.FieldMask ensureUpdateMask() => $_ensure(1); +} + +/// The service account undelete request. +class UndeleteServiceAccountRequest extends $pb.GeneratedMessage { + factory UndeleteServiceAccountRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + UndeleteServiceAccountRequest._() : super(); + factory UndeleteServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteServiceAccountRequest clone() => + UndeleteServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteServiceAccountRequest copyWith( + void Function(UndeleteServiceAccountRequest) updates) => + super.copyWith( + (message) => updates(message as UndeleteServiceAccountRequest)) + as UndeleteServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteServiceAccountRequest create() => + UndeleteServiceAccountRequest._(); + UndeleteServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteServiceAccountRequest? _defaultInstance; + + /// The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +class UndeleteServiceAccountResponse extends $pb.GeneratedMessage { + factory UndeleteServiceAccountResponse({ + ServiceAccount? restoredAccount, + }) { + final $result = create(); + if (restoredAccount != null) { + $result.restoredAccount = restoredAccount; + } + return $result; + } + UndeleteServiceAccountResponse._() : super(); + factory UndeleteServiceAccountResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteServiceAccountResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteServiceAccountResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'restoredAccount', + subBuilder: ServiceAccount.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteServiceAccountResponse clone() => + UndeleteServiceAccountResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteServiceAccountResponse copyWith( + void Function(UndeleteServiceAccountResponse) updates) => + super.copyWith( + (message) => updates(message as UndeleteServiceAccountResponse)) + as UndeleteServiceAccountResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteServiceAccountResponse create() => + UndeleteServiceAccountResponse._(); + UndeleteServiceAccountResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteServiceAccountResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteServiceAccountResponse? _defaultInstance; + + /// Metadata for the restored service account. + @$pb.TagNumber(1) + ServiceAccount get restoredAccount => $_getN(0); + @$pb.TagNumber(1) + set restoredAccount(ServiceAccount v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasRestoredAccount() => $_has(0); + @$pb.TagNumber(1) + void clearRestoredAccount() => clearField(1); + @$pb.TagNumber(1) + ServiceAccount ensureRestoredAccount() => $_ensure(0); +} + +/// The service account enable request. +class EnableServiceAccountRequest extends $pb.GeneratedMessage { + factory EnableServiceAccountRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + EnableServiceAccountRequest._() : super(); + factory EnableServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnableServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnableServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableServiceAccountRequest clone() => + EnableServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableServiceAccountRequest copyWith( + void Function(EnableServiceAccountRequest) updates) => + super.copyWith( + (message) => updates(message as EnableServiceAccountRequest)) + as EnableServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableServiceAccountRequest create() => + EnableServiceAccountRequest._(); + EnableServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnableServiceAccountRequest? _defaultInstance; + + /// The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The service account disable request. +class DisableServiceAccountRequest extends $pb.GeneratedMessage { + factory DisableServiceAccountRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DisableServiceAccountRequest._() : super(); + factory DisableServiceAccountRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DisableServiceAccountRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DisableServiceAccountRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DisableServiceAccountRequest clone() => + DisableServiceAccountRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DisableServiceAccountRequest copyWith( + void Function(DisableServiceAccountRequest) updates) => + super.copyWith( + (message) => updates(message as DisableServiceAccountRequest)) + as DisableServiceAccountRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DisableServiceAccountRequest create() => + DisableServiceAccountRequest._(); + DisableServiceAccountRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DisableServiceAccountRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DisableServiceAccountRequest? _defaultInstance; + + /// The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The service account keys list request. +class ListServiceAccountKeysRequest extends $pb.GeneratedMessage { + factory ListServiceAccountKeysRequest({ + $core.String? name, + $core.Iterable? keyTypes, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (keyTypes != null) { + $result.keyTypes.addAll(keyTypes); + } + return $result; + } + ListServiceAccountKeysRequest._() : super(); + factory ListServiceAccountKeysRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceAccountKeysRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceAccountKeysRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc( + 2, _omitFieldNames ? '' : 'keyTypes', $pb.PbFieldType.KE, + valueOf: ListServiceAccountKeysRequest_KeyType.valueOf, + enumValues: ListServiceAccountKeysRequest_KeyType.values, + defaultEnumValue: + ListServiceAccountKeysRequest_KeyType.KEY_TYPE_UNSPECIFIED) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceAccountKeysRequest clone() => + ListServiceAccountKeysRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceAccountKeysRequest copyWith( + void Function(ListServiceAccountKeysRequest) updates) => + super.copyWith( + (message) => updates(message as ListServiceAccountKeysRequest)) + as ListServiceAccountKeysRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceAccountKeysRequest create() => + ListServiceAccountKeysRequest._(); + ListServiceAccountKeysRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceAccountKeysRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceAccountKeysRequest? _defaultInstance; + + /// Required. The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// + /// Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Filters the types of keys the user wants to include in the list + /// response. Duplicate key types are not allowed. If no key type + /// is provided, all keys are returned. + @$pb.TagNumber(2) + $core.List get keyTypes => + $_getList(1); +} + +/// The service account keys list response. +class ListServiceAccountKeysResponse extends $pb.GeneratedMessage { + factory ListServiceAccountKeysResponse({ + $core.Iterable? keys, + }) { + final $result = create(); + if (keys != null) { + $result.keys.addAll(keys); + } + return $result; + } + ListServiceAccountKeysResponse._() : super(); + factory ListServiceAccountKeysResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListServiceAccountKeysResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListServiceAccountKeysResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'keys', $pb.PbFieldType.PM, + subBuilder: ServiceAccountKey.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListServiceAccountKeysResponse clone() => + ListServiceAccountKeysResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListServiceAccountKeysResponse copyWith( + void Function(ListServiceAccountKeysResponse) updates) => + super.copyWith( + (message) => updates(message as ListServiceAccountKeysResponse)) + as ListServiceAccountKeysResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListServiceAccountKeysResponse create() => + ListServiceAccountKeysResponse._(); + ListServiceAccountKeysResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListServiceAccountKeysResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListServiceAccountKeysResponse? _defaultInstance; + + /// The public keys for the service account. + @$pb.TagNumber(1) + $core.List get keys => $_getList(0); +} + +/// The service account key get by id request. +class GetServiceAccountKeyRequest extends $pb.GeneratedMessage { + factory GetServiceAccountKeyRequest({ + $core.String? name, + ServiceAccountPublicKeyType? publicKeyType, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (publicKeyType != null) { + $result.publicKeyType = publicKeyType; + } + return $result; + } + GetServiceAccountKeyRequest._() : super(); + factory GetServiceAccountKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetServiceAccountKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetServiceAccountKeyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'publicKeyType', $pb.PbFieldType.OE, + defaultOrMaker: ServiceAccountPublicKeyType.TYPE_NONE, + valueOf: ServiceAccountPublicKeyType.valueOf, + enumValues: ServiceAccountPublicKeyType.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServiceAccountKeyRequest clone() => + GetServiceAccountKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServiceAccountKeyRequest copyWith( + void Function(GetServiceAccountKeyRequest) updates) => + super.copyWith( + (message) => updates(message as GetServiceAccountKeyRequest)) + as GetServiceAccountKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServiceAccountKeyRequest create() => + GetServiceAccountKeyRequest._(); + GetServiceAccountKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServiceAccountKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetServiceAccountKeyRequest? _defaultInstance; + + /// Required. The resource name of the service account key in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + /// + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. The output format of the public key. The default is `TYPE_NONE`, which + /// means that the public key is not returned. + @$pb.TagNumber(2) + ServiceAccountPublicKeyType get publicKeyType => $_getN(1); + @$pb.TagNumber(2) + set publicKeyType(ServiceAccountPublicKeyType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPublicKeyType() => $_has(1); + @$pb.TagNumber(2) + void clearPublicKeyType() => clearField(2); +} + +/// Represents a service account key. +/// +/// A service account has two sets of key-pairs: user-managed, and +/// system-managed. +/// +/// User-managed key-pairs can be created and deleted by users. Users are +/// responsible for rotating these keys periodically to ensure security of +/// their service accounts. Users retain the private key of these key-pairs, +/// and Google retains ONLY the public key. +/// +/// System-managed keys are automatically rotated by Google, and are used for +/// signing for a maximum of two weeks. The rotation process is probabilistic, +/// and usage of the new key will gradually ramp up and down over the key's +/// lifetime. +/// +/// If you cache the public key set for a service account, we recommend that you +/// update the cache every 15 minutes. User-managed keys can be added and removed +/// at any time, so it is important to update the cache frequently. For +/// Google-managed keys, Google will publish a key at least 6 hours before it is +/// first used for signing and will keep publishing it for at least 6 hours after +/// it was last used for signing. +/// +/// Public keys for all service accounts are also published at the OAuth2 +/// Service Account API. +class ServiceAccountKey extends $pb.GeneratedMessage { + factory ServiceAccountKey({ + $core.String? name, + ServiceAccountPrivateKeyType? privateKeyType, + $core.List<$core.int>? privateKeyData, + $50.Timestamp? validAfterTime, + $50.Timestamp? validBeforeTime, + $core.List<$core.int>? publicKeyData, + ServiceAccountKeyAlgorithm? keyAlgorithm, + ServiceAccountKeyOrigin? keyOrigin, + ListServiceAccountKeysRequest_KeyType? keyType, + $core.bool? disabled, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (privateKeyType != null) { + $result.privateKeyType = privateKeyType; + } + if (privateKeyData != null) { + $result.privateKeyData = privateKeyData; + } + if (validAfterTime != null) { + $result.validAfterTime = validAfterTime; + } + if (validBeforeTime != null) { + $result.validBeforeTime = validBeforeTime; + } + if (publicKeyData != null) { + $result.publicKeyData = publicKeyData; + } + if (keyAlgorithm != null) { + $result.keyAlgorithm = keyAlgorithm; + } + if (keyOrigin != null) { + $result.keyOrigin = keyOrigin; + } + if (keyType != null) { + $result.keyType = keyType; + } + if (disabled != null) { + $result.disabled = disabled; + } + return $result; + } + ServiceAccountKey._() : super(); + factory ServiceAccountKey.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceAccountKey.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceAccountKey', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'privateKeyType', $pb.PbFieldType.OE, + defaultOrMaker: ServiceAccountPrivateKeyType.TYPE_UNSPECIFIED, + valueOf: ServiceAccountPrivateKeyType.valueOf, + enumValues: ServiceAccountPrivateKeyType.values) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'privateKeyData', $pb.PbFieldType.OY) + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'validAfterTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'validBeforeTime', + subBuilder: $50.Timestamp.create) + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'publicKeyData', $pb.PbFieldType.OY) + ..e( + 8, _omitFieldNames ? '' : 'keyAlgorithm', $pb.PbFieldType.OE, + defaultOrMaker: ServiceAccountKeyAlgorithm.KEY_ALG_UNSPECIFIED, + valueOf: ServiceAccountKeyAlgorithm.valueOf, + enumValues: ServiceAccountKeyAlgorithm.values) + ..e( + 9, _omitFieldNames ? '' : 'keyOrigin', $pb.PbFieldType.OE, + defaultOrMaker: ServiceAccountKeyOrigin.ORIGIN_UNSPECIFIED, + valueOf: ServiceAccountKeyOrigin.valueOf, + enumValues: ServiceAccountKeyOrigin.values) + ..e( + 10, _omitFieldNames ? '' : 'keyType', $pb.PbFieldType.OE, + defaultOrMaker: + ListServiceAccountKeysRequest_KeyType.KEY_TYPE_UNSPECIFIED, + valueOf: ListServiceAccountKeysRequest_KeyType.valueOf, + enumValues: ListServiceAccountKeysRequest_KeyType.values) + ..aOB(11, _omitFieldNames ? '' : 'disabled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceAccountKey clone() => ServiceAccountKey()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceAccountKey copyWith(void Function(ServiceAccountKey) updates) => + super.copyWith((message) => updates(message as ServiceAccountKey)) + as ServiceAccountKey; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceAccountKey create() => ServiceAccountKey._(); + ServiceAccountKey createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceAccountKey getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceAccountKey? _defaultInstance; + + /// The resource name of the service account key in the following format + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The output format for the private key. + /// Only provided in `CreateServiceAccountKey` responses, not + /// in `GetServiceAccountKey` or `ListServiceAccountKey` responses. + /// + /// Google never exposes system-managed private keys, and never retains + /// user-managed private keys. + @$pb.TagNumber(2) + ServiceAccountPrivateKeyType get privateKeyType => $_getN(1); + @$pb.TagNumber(2) + set privateKeyType(ServiceAccountPrivateKeyType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPrivateKeyType() => $_has(1); + @$pb.TagNumber(2) + void clearPrivateKeyType() => clearField(2); + + /// The private key data. Only provided in `CreateServiceAccountKey` + /// responses. Make sure to keep the private key data secure because it + /// allows for the assertion of the service account identity. + /// When base64 decoded, the private key data can be used to authenticate with + /// Google API client libraries and with + /// gcloud + /// auth activate-service-account. + @$pb.TagNumber(3) + $core.List<$core.int> get privateKeyData => $_getN(2); + @$pb.TagNumber(3) + set privateKeyData($core.List<$core.int> v) { + $_setBytes(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPrivateKeyData() => $_has(2); + @$pb.TagNumber(3) + void clearPrivateKeyData() => clearField(3); + + /// The key can be used after this timestamp. + @$pb.TagNumber(4) + $50.Timestamp get validAfterTime => $_getN(3); + @$pb.TagNumber(4) + set validAfterTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasValidAfterTime() => $_has(3); + @$pb.TagNumber(4) + void clearValidAfterTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureValidAfterTime() => $_ensure(3); + + /// The key can be used before this timestamp. + /// For system-managed key pairs, this timestamp is the end time for the + /// private key signing operation. The public key could still be used + /// for verification for a few hours after this time. + @$pb.TagNumber(5) + $50.Timestamp get validBeforeTime => $_getN(4); + @$pb.TagNumber(5) + set validBeforeTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasValidBeforeTime() => $_has(4); + @$pb.TagNumber(5) + void clearValidBeforeTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureValidBeforeTime() => $_ensure(4); + + /// The public key data. Only provided in `GetServiceAccountKey` responses. + @$pb.TagNumber(7) + $core.List<$core.int> get publicKeyData => $_getN(5); + @$pb.TagNumber(7) + set publicKeyData($core.List<$core.int> v) { + $_setBytes(5, v); + } + + @$pb.TagNumber(7) + $core.bool hasPublicKeyData() => $_has(5); + @$pb.TagNumber(7) + void clearPublicKeyData() => clearField(7); + + /// Specifies the algorithm (and possibly key size) for the key. + @$pb.TagNumber(8) + ServiceAccountKeyAlgorithm get keyAlgorithm => $_getN(6); + @$pb.TagNumber(8) + set keyAlgorithm(ServiceAccountKeyAlgorithm v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasKeyAlgorithm() => $_has(6); + @$pb.TagNumber(8) + void clearKeyAlgorithm() => clearField(8); + + /// The key origin. + @$pb.TagNumber(9) + ServiceAccountKeyOrigin get keyOrigin => $_getN(7); + @$pb.TagNumber(9) + set keyOrigin(ServiceAccountKeyOrigin v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasKeyOrigin() => $_has(7); + @$pb.TagNumber(9) + void clearKeyOrigin() => clearField(9); + + /// The key type. + @$pb.TagNumber(10) + ListServiceAccountKeysRequest_KeyType get keyType => $_getN(8); + @$pb.TagNumber(10) + set keyType(ListServiceAccountKeysRequest_KeyType v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasKeyType() => $_has(8); + @$pb.TagNumber(10) + void clearKeyType() => clearField(10); + + /// The key status. + @$pb.TagNumber(11) + $core.bool get disabled => $_getBF(9); + @$pb.TagNumber(11) + set disabled($core.bool v) { + $_setBool(9, v); + } + + @$pb.TagNumber(11) + $core.bool hasDisabled() => $_has(9); + @$pb.TagNumber(11) + void clearDisabled() => clearField(11); +} + +/// The service account key create request. +class CreateServiceAccountKeyRequest extends $pb.GeneratedMessage { + factory CreateServiceAccountKeyRequest({ + $core.String? name, + ServiceAccountPrivateKeyType? privateKeyType, + ServiceAccountKeyAlgorithm? keyAlgorithm, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (privateKeyType != null) { + $result.privateKeyType = privateKeyType; + } + if (keyAlgorithm != null) { + $result.keyAlgorithm = keyAlgorithm; + } + return $result; + } + CreateServiceAccountKeyRequest._() : super(); + factory CreateServiceAccountKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateServiceAccountKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateServiceAccountKeyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..e( + 2, _omitFieldNames ? '' : 'privateKeyType', $pb.PbFieldType.OE, + defaultOrMaker: ServiceAccountPrivateKeyType.TYPE_UNSPECIFIED, + valueOf: ServiceAccountPrivateKeyType.valueOf, + enumValues: ServiceAccountPrivateKeyType.values) + ..e( + 3, _omitFieldNames ? '' : 'keyAlgorithm', $pb.PbFieldType.OE, + defaultOrMaker: ServiceAccountKeyAlgorithm.KEY_ALG_UNSPECIFIED, + valueOf: ServiceAccountKeyAlgorithm.valueOf, + enumValues: ServiceAccountKeyAlgorithm.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateServiceAccountKeyRequest clone() => + CreateServiceAccountKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateServiceAccountKeyRequest copyWith( + void Function(CreateServiceAccountKeyRequest) updates) => + super.copyWith( + (message) => updates(message as CreateServiceAccountKeyRequest)) + as CreateServiceAccountKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateServiceAccountKeyRequest create() => + CreateServiceAccountKeyRequest._(); + CreateServiceAccountKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateServiceAccountKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateServiceAccountKeyRequest? _defaultInstance; + + /// Required. The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The output format of the private key. The default value is + /// `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File + /// format. + @$pb.TagNumber(2) + ServiceAccountPrivateKeyType get privateKeyType => $_getN(1); + @$pb.TagNumber(2) + set privateKeyType(ServiceAccountPrivateKeyType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPrivateKeyType() => $_has(1); + @$pb.TagNumber(2) + void clearPrivateKeyType() => clearField(2); + + /// Which type of key and algorithm to use for the key. + /// The default is currently a 2K RSA key. However this may change in the + /// future. + @$pb.TagNumber(3) + ServiceAccountKeyAlgorithm get keyAlgorithm => $_getN(2); + @$pb.TagNumber(3) + set keyAlgorithm(ServiceAccountKeyAlgorithm v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasKeyAlgorithm() => $_has(2); + @$pb.TagNumber(3) + void clearKeyAlgorithm() => clearField(3); +} + +/// The service account key upload request. +class UploadServiceAccountKeyRequest extends $pb.GeneratedMessage { + factory UploadServiceAccountKeyRequest({ + $core.String? name, + $core.List<$core.int>? publicKeyData, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (publicKeyData != null) { + $result.publicKeyData = publicKeyData; + } + return $result; + } + UploadServiceAccountKeyRequest._() : super(); + factory UploadServiceAccountKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UploadServiceAccountKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UploadServiceAccountKeyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'publicKeyData', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UploadServiceAccountKeyRequest clone() => + UploadServiceAccountKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UploadServiceAccountKeyRequest copyWith( + void Function(UploadServiceAccountKeyRequest) updates) => + super.copyWith( + (message) => updates(message as UploadServiceAccountKeyRequest)) + as UploadServiceAccountKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UploadServiceAccountKeyRequest create() => + UploadServiceAccountKeyRequest._(); + UploadServiceAccountKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UploadServiceAccountKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UploadServiceAccountKeyRequest? _defaultInstance; + + /// The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The public key to associate with the service account. Must be an RSA public + /// key that is wrapped in an X.509 v3 certificate. Include the first line, + /// `-----BEGIN CERTIFICATE-----`, and the last line, + /// `-----END CERTIFICATE-----`. + @$pb.TagNumber(2) + $core.List<$core.int> get publicKeyData => $_getN(1); + @$pb.TagNumber(2) + set publicKeyData($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPublicKeyData() => $_has(1); + @$pb.TagNumber(2) + void clearPublicKeyData() => clearField(2); +} + +/// The service account key delete request. +class DeleteServiceAccountKeyRequest extends $pb.GeneratedMessage { + factory DeleteServiceAccountKeyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteServiceAccountKeyRequest._() : super(); + factory DeleteServiceAccountKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteServiceAccountKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteServiceAccountKeyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteServiceAccountKeyRequest clone() => + DeleteServiceAccountKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteServiceAccountKeyRequest copyWith( + void Function(DeleteServiceAccountKeyRequest) updates) => + super.copyWith( + (message) => updates(message as DeleteServiceAccountKeyRequest)) + as DeleteServiceAccountKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteServiceAccountKeyRequest create() => + DeleteServiceAccountKeyRequest._(); + DeleteServiceAccountKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteServiceAccountKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteServiceAccountKeyRequest? _defaultInstance; + + /// Required. The resource name of the service account key in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The service account key disable request. +class DisableServiceAccountKeyRequest extends $pb.GeneratedMessage { + factory DisableServiceAccountKeyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DisableServiceAccountKeyRequest._() : super(); + factory DisableServiceAccountKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DisableServiceAccountKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DisableServiceAccountKeyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DisableServiceAccountKeyRequest clone() => + DisableServiceAccountKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DisableServiceAccountKeyRequest copyWith( + void Function(DisableServiceAccountKeyRequest) updates) => + super.copyWith( + (message) => updates(message as DisableServiceAccountKeyRequest)) + as DisableServiceAccountKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DisableServiceAccountKeyRequest create() => + DisableServiceAccountKeyRequest._(); + DisableServiceAccountKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DisableServiceAccountKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static DisableServiceAccountKeyRequest? _defaultInstance; + + /// Required. The resource name of the service account key in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + /// + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The service account key enable request. +class EnableServiceAccountKeyRequest extends $pb.GeneratedMessage { + factory EnableServiceAccountKeyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + EnableServiceAccountKeyRequest._() : super(); + factory EnableServiceAccountKeyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnableServiceAccountKeyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnableServiceAccountKeyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableServiceAccountKeyRequest clone() => + EnableServiceAccountKeyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableServiceAccountKeyRequest copyWith( + void Function(EnableServiceAccountKeyRequest) updates) => + super.copyWith( + (message) => updates(message as EnableServiceAccountKeyRequest)) + as EnableServiceAccountKeyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableServiceAccountKeyRequest create() => + EnableServiceAccountKeyRequest._(); + EnableServiceAccountKeyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableServiceAccountKeyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnableServiceAccountKeyRequest? _defaultInstance; + + /// Required. The resource name of the service account key in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + /// + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Deprecated. [Migrate to Service Account Credentials +/// API](https://cloud.google.com/iam/help/credentials/migrate-api). +/// +/// The service account sign blob request. +class SignBlobRequest extends $pb.GeneratedMessage { + factory SignBlobRequest({ + @$core.Deprecated('This field is deprecated.') $core.String? name, + @$core.Deprecated('This field is deprecated.') + $core.List<$core.int>? bytesToSign, + }) { + final $result = create(); + if (name != null) { + // ignore: deprecated_member_use_from_same_package + $result.name = name; + } + if (bytesToSign != null) { + // ignore: deprecated_member_use_from_same_package + $result.bytesToSign = bytesToSign; + } + return $result; + } + SignBlobRequest._() : super(); + factory SignBlobRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignBlobRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignBlobRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'bytesToSign', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignBlobRequest clone() => SignBlobRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignBlobRequest copyWith(void Function(SignBlobRequest) updates) => + super.copyWith((message) => updates(message as SignBlobRequest)) + as SignBlobRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignBlobRequest create() => SignBlobRequest._(); + SignBlobRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignBlobRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignBlobRequest? _defaultInstance; + + /// Required. Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The bytes to sign. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.List<$core.int> get bytesToSign => $_getN(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + set bytesToSign($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.bool hasBytesToSign() => $_has(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + void clearBytesToSign() => clearField(2); +} + +/// Deprecated. [Migrate to Service Account Credentials +/// API](https://cloud.google.com/iam/help/credentials/migrate-api). +/// +/// The service account sign blob response. +class SignBlobResponse extends $pb.GeneratedMessage { + factory SignBlobResponse({ + @$core.Deprecated('This field is deprecated.') $core.String? keyId, + @$core.Deprecated('This field is deprecated.') + $core.List<$core.int>? signature, + }) { + final $result = create(); + if (keyId != null) { + // ignore: deprecated_member_use_from_same_package + $result.keyId = keyId; + } + if (signature != null) { + // ignore: deprecated_member_use_from_same_package + $result.signature = signature; + } + return $result; + } + SignBlobResponse._() : super(); + factory SignBlobResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignBlobResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignBlobResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'keyId') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'signature', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignBlobResponse clone() => SignBlobResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignBlobResponse copyWith(void Function(SignBlobResponse) updates) => + super.copyWith((message) => updates(message as SignBlobResponse)) + as SignBlobResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignBlobResponse create() => SignBlobResponse._(); + SignBlobResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignBlobResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignBlobResponse? _defaultInstance; + + /// Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The id of the key used to sign the blob. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.String get keyId => $_getSZ(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + set keyId($core.String v) { + $_setString(0, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.bool hasKeyId() => $_has(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + void clearKeyId() => clearField(1); + + /// Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The signed blob. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.List<$core.int> get signature => $_getN(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + set signature($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.bool hasSignature() => $_has(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + void clearSignature() => clearField(2); +} + +/// Deprecated. [Migrate to Service Account Credentials +/// API](https://cloud.google.com/iam/help/credentials/migrate-api). +/// +/// The service account sign JWT request. +class SignJwtRequest extends $pb.GeneratedMessage { + factory SignJwtRequest({ + @$core.Deprecated('This field is deprecated.') $core.String? name, + @$core.Deprecated('This field is deprecated.') $core.String? payload, + }) { + final $result = create(); + if (name != null) { + // ignore: deprecated_member_use_from_same_package + $result.name = name; + } + if (payload != null) { + // ignore: deprecated_member_use_from_same_package + $result.payload = payload; + } + return $result; + } + SignJwtRequest._() : super(); + factory SignJwtRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignJwtRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignJwtRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'payload') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignJwtRequest clone() => SignJwtRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignJwtRequest copyWith(void Function(SignJwtRequest) updates) => + super.copyWith((message) => updates(message as SignJwtRequest)) + as SignJwtRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignJwtRequest create() => SignJwtRequest._(); + SignJwtRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignJwtRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignJwtRequest? _defaultInstance; + + /// Required. Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The resource name of the service account in the following format: + /// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + /// Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + /// the account. The `ACCOUNT` value can be the `email` address or the + /// `unique_id` of the service account. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The JWT payload to sign. Must be a serialized JSON object that contains a + /// JWT Claims Set. For example: `{"sub": "user@example.com", "iat": 313435}` + /// + /// If the JWT Claims Set contains an expiration time (`exp`) claim, it must be + /// an integer timestamp that is not in the past and no more than 12 hours in + /// the future. + /// + /// If the JWT Claims Set does not contain an expiration time (`exp`) claim, + /// this claim is added automatically, with a timestamp that is 1 hour in the + /// future. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.String get payload => $_getSZ(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + set payload($core.String v) { + $_setString(1, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.bool hasPayload() => $_has(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + void clearPayload() => clearField(2); +} + +/// Deprecated. [Migrate to Service Account Credentials +/// API](https://cloud.google.com/iam/help/credentials/migrate-api). +/// +/// The service account sign JWT response. +class SignJwtResponse extends $pb.GeneratedMessage { + factory SignJwtResponse({ + @$core.Deprecated('This field is deprecated.') $core.String? keyId, + @$core.Deprecated('This field is deprecated.') $core.String? signedJwt, + }) { + final $result = create(); + if (keyId != null) { + // ignore: deprecated_member_use_from_same_package + $result.keyId = keyId; + } + if (signedJwt != null) { + // ignore: deprecated_member_use_from_same_package + $result.signedJwt = signedJwt; + } + return $result; + } + SignJwtResponse._() : super(); + factory SignJwtResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignJwtResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignJwtResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'keyId') + ..aOS(2, _omitFieldNames ? '' : 'signedJwt') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignJwtResponse clone() => SignJwtResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignJwtResponse copyWith(void Function(SignJwtResponse) updates) => + super.copyWith((message) => updates(message as SignJwtResponse)) + as SignJwtResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignJwtResponse create() => SignJwtResponse._(); + SignJwtResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignJwtResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignJwtResponse? _defaultInstance; + + /// Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The id of the key used to sign the JWT. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.String get keyId => $_getSZ(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + set keyId($core.String v) { + $_setString(0, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + $core.bool hasKeyId() => $_has(0); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(1) + void clearKeyId() => clearField(1); + + /// Deprecated. [Migrate to Service Account Credentials + /// API](https://cloud.google.com/iam/help/credentials/migrate-api). + /// + /// The signed JWT. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.String get signedJwt => $_getSZ(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + set signedJwt($core.String v) { + $_setString(1, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + $core.bool hasSignedJwt() => $_has(1); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(2) + void clearSignedJwt() => clearField(2); +} + +/// A role in the Identity and Access Management API. +class Role extends $pb.GeneratedMessage { + factory Role({ + $core.String? name, + $core.String? title, + $core.String? description, + $core.Iterable<$core.String>? includedPermissions, + Role_RoleLaunchStage? stage, + $core.List<$core.int>? etag, + $core.bool? deleted, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (title != null) { + $result.title = title; + } + if (description != null) { + $result.description = description; + } + if (includedPermissions != null) { + $result.includedPermissions.addAll(includedPermissions); + } + if (stage != null) { + $result.stage = stage; + } + if (etag != null) { + $result.etag = etag; + } + if (deleted != null) { + $result.deleted = deleted; + } + return $result; + } + Role._() : super(); + factory Role.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Role.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Role', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'title') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..pPS(7, _omitFieldNames ? '' : 'includedPermissions') + ..e( + 8, _omitFieldNames ? '' : 'stage', $pb.PbFieldType.OE, + defaultOrMaker: Role_RoleLaunchStage.ALPHA, + valueOf: Role_RoleLaunchStage.valueOf, + enumValues: Role_RoleLaunchStage.values) + ..a<$core.List<$core.int>>( + 9, _omitFieldNames ? '' : 'etag', $pb.PbFieldType.OY) + ..aOB(11, _omitFieldNames ? '' : 'deleted') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Role clone() => Role()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Role copyWith(void Function(Role) updates) => + super.copyWith((message) => updates(message as Role)) as Role; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Role create() => Role._(); + Role createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Role getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Role? _defaultInstance; + + /// The name of the role. + /// + /// When Role is used in CreateRole, the role name must not be set. + /// + /// When Role is used in output and other input such as UpdateRole, the role + /// name is the complete path, e.g., roles/logging.viewer for predefined roles + /// and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. A human-readable title for the role. Typically this + /// is limited to 100 UTF-8 bytes. + @$pb.TagNumber(2) + $core.String get title => $_getSZ(1); + @$pb.TagNumber(2) + set title($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTitle() => $_has(1); + @$pb.TagNumber(2) + void clearTitle() => clearField(2); + + /// Optional. A human-readable description for the role. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// The names of the permissions this role grants when bound in an IAM policy. + @$pb.TagNumber(7) + $core.List<$core.String> get includedPermissions => $_getList(3); + + /// The current launch stage of the role. If the `ALPHA` launch stage has been + /// selected for a role, the `stage` field will not be included in the + /// returned definition for the role. + @$pb.TagNumber(8) + Role_RoleLaunchStage get stage => $_getN(4); + @$pb.TagNumber(8) + set stage(Role_RoleLaunchStage v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasStage() => $_has(4); + @$pb.TagNumber(8) + void clearStage() => clearField(8); + + /// Used to perform a consistent read-modify-write. + @$pb.TagNumber(9) + $core.List<$core.int> get etag => $_getN(5); + @$pb.TagNumber(9) + set etag($core.List<$core.int> v) { + $_setBytes(5, v); + } + + @$pb.TagNumber(9) + $core.bool hasEtag() => $_has(5); + @$pb.TagNumber(9) + void clearEtag() => clearField(9); + + /// The current deleted state of the role. This field is read only. + /// It will be ignored in calls to CreateRole and UpdateRole. + @$pb.TagNumber(11) + $core.bool get deleted => $_getBF(6); + @$pb.TagNumber(11) + set deleted($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(11) + $core.bool hasDeleted() => $_has(6); + @$pb.TagNumber(11) + void clearDeleted() => clearField(11); +} + +/// The grantable role query request. +class QueryGrantableRolesRequest extends $pb.GeneratedMessage { + factory QueryGrantableRolesRequest({ + $core.String? fullResourceName, + RoleView? view, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (fullResourceName != null) { + $result.fullResourceName = fullResourceName; + } + if (view != null) { + $result.view = view; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + QueryGrantableRolesRequest._() : super(); + factory QueryGrantableRolesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryGrantableRolesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryGrantableRolesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fullResourceName') + ..e(2, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: RoleView.BASIC, + valueOf: RoleView.valueOf, + enumValues: RoleView.values) + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(4, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryGrantableRolesRequest clone() => + QueryGrantableRolesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryGrantableRolesRequest copyWith( + void Function(QueryGrantableRolesRequest) updates) => + super.copyWith( + (message) => updates(message as QueryGrantableRolesRequest)) + as QueryGrantableRolesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryGrantableRolesRequest create() => QueryGrantableRolesRequest._(); + QueryGrantableRolesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryGrantableRolesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QueryGrantableRolesRequest? _defaultInstance; + + /// Required. The full resource name to query from the list of grantable roles. + /// + /// The name follows the Google Cloud Platform resource format. + /// For example, a Cloud Platform project with id `my-project` will be named + /// `//cloudresourcemanager.googleapis.com/projects/my-project`. + @$pb.TagNumber(1) + $core.String get fullResourceName => $_getSZ(0); + @$pb.TagNumber(1) + set fullResourceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFullResourceName() => $_has(0); + @$pb.TagNumber(1) + void clearFullResourceName() => clearField(1); + + @$pb.TagNumber(2) + RoleView get view => $_getN(1); + @$pb.TagNumber(2) + set view(RoleView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); + + /// Optional limit on the number of roles to include in the response. + /// + /// The default is 300, and the maximum is 1,000. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); + + /// Optional pagination token returned in an earlier + /// QueryGrantableRolesResponse. + @$pb.TagNumber(4) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(4) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(4) + void clearPageToken() => clearField(4); +} + +/// The grantable role query response. +class QueryGrantableRolesResponse extends $pb.GeneratedMessage { + factory QueryGrantableRolesResponse({ + $core.Iterable? roles, + $core.String? nextPageToken, + }) { + final $result = create(); + if (roles != null) { + $result.roles.addAll(roles); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + QueryGrantableRolesResponse._() : super(); + factory QueryGrantableRolesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryGrantableRolesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryGrantableRolesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'roles', $pb.PbFieldType.PM, + subBuilder: Role.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryGrantableRolesResponse clone() => + QueryGrantableRolesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryGrantableRolesResponse copyWith( + void Function(QueryGrantableRolesResponse) updates) => + super.copyWith( + (message) => updates(message as QueryGrantableRolesResponse)) + as QueryGrantableRolesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryGrantableRolesResponse create() => + QueryGrantableRolesResponse._(); + QueryGrantableRolesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryGrantableRolesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QueryGrantableRolesResponse? _defaultInstance; + + /// The list of matching roles. + @$pb.TagNumber(1) + $core.List get roles => $_getList(0); + + /// To retrieve the next page of results, set + /// `QueryGrantableRolesRequest.page_token` to this value. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The request to get all roles defined under a resource. +class ListRolesRequest extends $pb.GeneratedMessage { + factory ListRolesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + RoleView? view, + $core.bool? showDeleted, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (view != null) { + $result.view = view; + } + if (showDeleted != null) { + $result.showDeleted = showDeleted; + } + return $result; + } + ListRolesRequest._() : super(); + factory ListRolesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListRolesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListRolesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..e(4, _omitFieldNames ? '' : 'view', $pb.PbFieldType.OE, + defaultOrMaker: RoleView.BASIC, + valueOf: RoleView.valueOf, + enumValues: RoleView.values) + ..aOB(6, _omitFieldNames ? '' : 'showDeleted') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListRolesRequest clone() => ListRolesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListRolesRequest copyWith(void Function(ListRolesRequest) updates) => + super.copyWith((message) => updates(message as ListRolesRequest)) + as ListRolesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListRolesRequest create() => ListRolesRequest._(); + ListRolesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListRolesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListRolesRequest? _defaultInstance; + + /// The `parent` parameter's value depends on the target resource for the + /// request, namely + /// [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), + /// [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), + /// or + /// [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + /// Each resource type's `parent` value format is described below: + /// + /// * [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list): An empty string. + /// This method doesn't require a resource; it simply returns all + /// [predefined + /// roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) + /// in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` + /// + /// * [`projects.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/list): + /// `projects/{PROJECT_ID}`. This method lists all project-level + /// [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + /// Example request URL: + /// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` + /// + /// * [`organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list): + /// `organizations/{ORGANIZATION_ID}`. This method lists all + /// organization-level [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + /// Example request URL: + /// `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` + /// + /// Note: Wildcard (*) values are invalid; you must specify a complete project + /// ID or organization ID. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional limit on the number of roles to include in the response. + /// + /// The default is 300, and the maximum is 1,000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional pagination token returned in an earlier ListRolesResponse. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Optional view for the returned Role objects. When `FULL` is specified, + /// the `includedPermissions` field is returned, which includes a list of all + /// permissions in the role. The default value is `BASIC`, which does not + /// return the `includedPermissions` field. + @$pb.TagNumber(4) + RoleView get view => $_getN(3); + @$pb.TagNumber(4) + set view(RoleView v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasView() => $_has(3); + @$pb.TagNumber(4) + void clearView() => clearField(4); + + /// Include Roles that have been deleted. + @$pb.TagNumber(6) + $core.bool get showDeleted => $_getBF(4); + @$pb.TagNumber(6) + set showDeleted($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasShowDeleted() => $_has(4); + @$pb.TagNumber(6) + void clearShowDeleted() => clearField(6); +} + +/// The response containing the roles defined under a resource. +class ListRolesResponse extends $pb.GeneratedMessage { + factory ListRolesResponse({ + $core.Iterable? roles, + $core.String? nextPageToken, + }) { + final $result = create(); + if (roles != null) { + $result.roles.addAll(roles); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListRolesResponse._() : super(); + factory ListRolesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListRolesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListRolesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'roles', $pb.PbFieldType.PM, + subBuilder: Role.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListRolesResponse clone() => ListRolesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListRolesResponse copyWith(void Function(ListRolesResponse) updates) => + super.copyWith((message) => updates(message as ListRolesResponse)) + as ListRolesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListRolesResponse create() => ListRolesResponse._(); + ListRolesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListRolesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListRolesResponse? _defaultInstance; + + /// The Roles defined on this resource. + @$pb.TagNumber(1) + $core.List get roles => $_getList(0); + + /// To retrieve the next page of results, set + /// `ListRolesRequest.page_token` to this value. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The request to get the definition of an existing role. +class GetRoleRequest extends $pb.GeneratedMessage { + factory GetRoleRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetRoleRequest._() : super(); + factory GetRoleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetRoleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetRoleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetRoleRequest clone() => GetRoleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetRoleRequest copyWith(void Function(GetRoleRequest) updates) => + super.copyWith((message) => updates(message as GetRoleRequest)) + as GetRoleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetRoleRequest create() => GetRoleRequest._(); + GetRoleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetRoleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetRoleRequest? _defaultInstance; + + /// The `name` parameter's value depends on the target resource for the + /// request, namely + /// [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), + /// [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), + /// or + /// [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + /// Each resource type's `name` value format is described below: + /// + /// * [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. + /// This method returns results from all + /// [predefined + /// roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) + /// in Cloud IAM. Example request URL: + /// `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` + /// + /// * [`projects.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/get): + /// `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only + /// [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the project level. Example request URL: + /// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// * [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/get): + /// `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + /// returns only [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the organization level. Example request URL: + /// `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// Note: Wildcard (*) values are invalid; you must specify a complete project + /// ID or organization ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The request to create a new role. +class CreateRoleRequest extends $pb.GeneratedMessage { + factory CreateRoleRequest({ + $core.String? parent, + $core.String? roleId, + Role? role, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (roleId != null) { + $result.roleId = roleId; + } + if (role != null) { + $result.role = role; + } + return $result; + } + CreateRoleRequest._() : super(); + factory CreateRoleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateRoleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateRoleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'roleId') + ..aOM(3, _omitFieldNames ? '' : 'role', subBuilder: Role.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateRoleRequest clone() => CreateRoleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateRoleRequest copyWith(void Function(CreateRoleRequest) updates) => + super.copyWith((message) => updates(message as CreateRoleRequest)) + as CreateRoleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateRoleRequest create() => CreateRoleRequest._(); + CreateRoleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateRoleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateRoleRequest? _defaultInstance; + + /// The `parent` parameter's value depends on the target resource for the + /// request, namely + /// [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + /// or + /// [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + /// Each resource type's `parent` value format is described below: + /// + /// * [`projects.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/create): + /// `projects/{PROJECT_ID}`. This method creates project-level + /// [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + /// Example request URL: + /// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` + /// + /// * [`organizations.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/create): + /// `organizations/{ORGANIZATION_ID}`. This method creates organization-level + /// [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + /// Example request URL: + /// `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` + /// + /// Note: Wildcard (*) values are invalid; you must specify a complete project + /// ID or organization ID. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The role ID to use for this role. + /// + /// A role ID may contain alphanumeric characters, underscores (`_`), and + /// periods (`.`). It must contain a minimum of 3 characters and a maximum of + /// 64 characters. + @$pb.TagNumber(2) + $core.String get roleId => $_getSZ(1); + @$pb.TagNumber(2) + set roleId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRoleId() => $_has(1); + @$pb.TagNumber(2) + void clearRoleId() => clearField(2); + + /// The Role resource to create. + @$pb.TagNumber(3) + Role get role => $_getN(2); + @$pb.TagNumber(3) + set role(Role v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasRole() => $_has(2); + @$pb.TagNumber(3) + void clearRole() => clearField(3); + @$pb.TagNumber(3) + Role ensureRole() => $_ensure(2); +} + +/// The request to update a role. +class UpdateRoleRequest extends $pb.GeneratedMessage { + factory UpdateRoleRequest({ + $core.String? name, + Role? role, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (role != null) { + $result.role = role; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateRoleRequest._() : super(); + factory UpdateRoleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateRoleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateRoleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'role', subBuilder: Role.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateRoleRequest clone() => UpdateRoleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateRoleRequest copyWith(void Function(UpdateRoleRequest) updates) => + super.copyWith((message) => updates(message as UpdateRoleRequest)) + as UpdateRoleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateRoleRequest create() => UpdateRoleRequest._(); + UpdateRoleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateRoleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateRoleRequest? _defaultInstance; + + /// The `name` parameter's value depends on the target resource for the + /// request, namely + /// [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + /// or + /// [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + /// Each resource type's `name` value format is described below: + /// + /// * [`projects.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/patch): + /// `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only + /// [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the project level. Example request URL: + /// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// * [`organizations.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/patch): + /// `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + /// updates only [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the organization level. Example request URL: + /// `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// Note: Wildcard (*) values are invalid; you must specify a complete project + /// ID or organization ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The updated role. + @$pb.TagNumber(2) + Role get role => $_getN(1); + @$pb.TagNumber(2) + set role(Role v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasRole() => $_has(1); + @$pb.TagNumber(2) + void clearRole() => clearField(2); + @$pb.TagNumber(2) + Role ensureRole() => $_ensure(1); + + /// A mask describing which fields in the Role have changed. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// The request to delete an existing role. +class DeleteRoleRequest extends $pb.GeneratedMessage { + factory DeleteRoleRequest({ + $core.String? name, + $core.List<$core.int>? etag, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (etag != null) { + $result.etag = etag; + } + return $result; + } + DeleteRoleRequest._() : super(); + factory DeleteRoleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteRoleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteRoleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'etag', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteRoleRequest clone() => DeleteRoleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteRoleRequest copyWith(void Function(DeleteRoleRequest) updates) => + super.copyWith((message) => updates(message as DeleteRoleRequest)) + as DeleteRoleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteRoleRequest create() => DeleteRoleRequest._(); + DeleteRoleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteRoleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteRoleRequest? _defaultInstance; + + /// The `name` parameter's value depends on the target resource for the + /// request, namely + /// [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + /// or + /// [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + /// Each resource type's `name` value format is described below: + /// + /// * [`projects.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/delete): + /// `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only + /// [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the project level. Example request URL: + /// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// * [`organizations.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/delete): + /// `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + /// deletes only [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the organization level. Example request URL: + /// `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// Note: Wildcard (*) values are invalid; you must specify a complete project + /// ID or organization ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Used to perform a consistent read-modify-write. + @$pb.TagNumber(2) + $core.List<$core.int> get etag => $_getN(1); + @$pb.TagNumber(2) + set etag($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEtag() => $_has(1); + @$pb.TagNumber(2) + void clearEtag() => clearField(2); +} + +/// The request to undelete an existing role. +class UndeleteRoleRequest extends $pb.GeneratedMessage { + factory UndeleteRoleRequest({ + $core.String? name, + $core.List<$core.int>? etag, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (etag != null) { + $result.etag = etag; + } + return $result; + } + UndeleteRoleRequest._() : super(); + factory UndeleteRoleRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteRoleRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteRoleRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'etag', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteRoleRequest clone() => UndeleteRoleRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteRoleRequest copyWith(void Function(UndeleteRoleRequest) updates) => + super.copyWith((message) => updates(message as UndeleteRoleRequest)) + as UndeleteRoleRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteRoleRequest create() => UndeleteRoleRequest._(); + UndeleteRoleRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteRoleRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteRoleRequest? _defaultInstance; + + /// The `name` parameter's value depends on the target resource for the + /// request, namely + /// [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + /// or + /// [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + /// Each resource type's `name` value format is described below: + /// + /// * [`projects.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/undelete): + /// `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes + /// only [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the project level. Example request URL: + /// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// * [`organizations.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/undelete): + /// `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + /// undeletes only [custom + /// roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + /// have been created at the organization level. Example request URL: + /// `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + /// + /// Note: Wildcard (*) values are invalid; you must specify a complete project + /// ID or organization ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Used to perform a consistent read-modify-write. + @$pb.TagNumber(2) + $core.List<$core.int> get etag => $_getN(1); + @$pb.TagNumber(2) + set etag($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEtag() => $_has(1); + @$pb.TagNumber(2) + void clearEtag() => clearField(2); +} + +/// A permission which can be included by a role. +class Permission extends $pb.GeneratedMessage { + factory Permission({ + $core.String? name, + $core.String? title, + $core.String? description, + @$core.Deprecated('This field is deprecated.') + $core.bool? onlyInPredefinedRoles, + Permission_PermissionLaunchStage? stage, + Permission_CustomRolesSupportLevel? customRolesSupportLevel, + $core.bool? apiDisabled, + $core.String? primaryPermission, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (title != null) { + $result.title = title; + } + if (description != null) { + $result.description = description; + } + if (onlyInPredefinedRoles != null) { + // ignore: deprecated_member_use_from_same_package + $result.onlyInPredefinedRoles = onlyInPredefinedRoles; + } + if (stage != null) { + $result.stage = stage; + } + if (customRolesSupportLevel != null) { + $result.customRolesSupportLevel = customRolesSupportLevel; + } + if (apiDisabled != null) { + $result.apiDisabled = apiDisabled; + } + if (primaryPermission != null) { + $result.primaryPermission = primaryPermission; + } + return $result; + } + Permission._() : super(); + factory Permission.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Permission.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Permission', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'title') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..aOB(4, _omitFieldNames ? '' : 'onlyInPredefinedRoles') + ..e( + 5, _omitFieldNames ? '' : 'stage', $pb.PbFieldType.OE, + defaultOrMaker: Permission_PermissionLaunchStage.ALPHA, + valueOf: Permission_PermissionLaunchStage.valueOf, + enumValues: Permission_PermissionLaunchStage.values) + ..e( + 6, _omitFieldNames ? '' : 'customRolesSupportLevel', $pb.PbFieldType.OE, + defaultOrMaker: Permission_CustomRolesSupportLevel.SUPPORTED, + valueOf: Permission_CustomRolesSupportLevel.valueOf, + enumValues: Permission_CustomRolesSupportLevel.values) + ..aOB(7, _omitFieldNames ? '' : 'apiDisabled') + ..aOS(8, _omitFieldNames ? '' : 'primaryPermission') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Permission clone() => Permission()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Permission copyWith(void Function(Permission) updates) => + super.copyWith((message) => updates(message as Permission)) as Permission; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Permission create() => Permission._(); + Permission createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Permission getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static Permission? _defaultInstance; + + /// The name of this Permission. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The title of this Permission. + @$pb.TagNumber(2) + $core.String get title => $_getSZ(1); + @$pb.TagNumber(2) + set title($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasTitle() => $_has(1); + @$pb.TagNumber(2) + void clearTitle() => clearField(2); + + /// A brief description of what this Permission is used for. + /// This permission can ONLY be used in predefined roles. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + $core.bool get onlyInPredefinedRoles => $_getBF(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + set onlyInPredefinedRoles($core.bool v) { + $_setBool(3, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + $core.bool hasOnlyInPredefinedRoles() => $_has(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + void clearOnlyInPredefinedRoles() => clearField(4); + + /// The current launch stage of the permission. + @$pb.TagNumber(5) + Permission_PermissionLaunchStage get stage => $_getN(4); + @$pb.TagNumber(5) + set stage(Permission_PermissionLaunchStage v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasStage() => $_has(4); + @$pb.TagNumber(5) + void clearStage() => clearField(5); + + /// The current custom role support level. + @$pb.TagNumber(6) + Permission_CustomRolesSupportLevel get customRolesSupportLevel => $_getN(5); + @$pb.TagNumber(6) + set customRolesSupportLevel(Permission_CustomRolesSupportLevel v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasCustomRolesSupportLevel() => $_has(5); + @$pb.TagNumber(6) + void clearCustomRolesSupportLevel() => clearField(6); + + /// The service API associated with the permission is not enabled. + @$pb.TagNumber(7) + $core.bool get apiDisabled => $_getBF(6); + @$pb.TagNumber(7) + set apiDisabled($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasApiDisabled() => $_has(6); + @$pb.TagNumber(7) + void clearApiDisabled() => clearField(7); + + /// The preferred name for this permission. If present, then this permission is + /// an alias of, and equivalent to, the listed primary_permission. + @$pb.TagNumber(8) + $core.String get primaryPermission => $_getSZ(7); + @$pb.TagNumber(8) + set primaryPermission($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasPrimaryPermission() => $_has(7); + @$pb.TagNumber(8) + void clearPrimaryPermission() => clearField(8); +} + +/// A request to get permissions which can be tested on a resource. +class QueryTestablePermissionsRequest extends $pb.GeneratedMessage { + factory QueryTestablePermissionsRequest({ + $core.String? fullResourceName, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (fullResourceName != null) { + $result.fullResourceName = fullResourceName; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + QueryTestablePermissionsRequest._() : super(); + factory QueryTestablePermissionsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestablePermissionsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryTestablePermissionsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fullResourceName') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestablePermissionsRequest clone() => + QueryTestablePermissionsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestablePermissionsRequest copyWith( + void Function(QueryTestablePermissionsRequest) updates) => + super.copyWith( + (message) => updates(message as QueryTestablePermissionsRequest)) + as QueryTestablePermissionsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestablePermissionsRequest create() => + QueryTestablePermissionsRequest._(); + QueryTestablePermissionsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestablePermissionsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static QueryTestablePermissionsRequest? _defaultInstance; + + /// Required. The full resource name to query from the list of testable + /// permissions. + /// + /// The name follows the Google Cloud Platform resource format. + /// For example, a Cloud Platform project with id `my-project` will be named + /// `//cloudresourcemanager.googleapis.com/projects/my-project`. + @$pb.TagNumber(1) + $core.String get fullResourceName => $_getSZ(0); + @$pb.TagNumber(1) + set fullResourceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFullResourceName() => $_has(0); + @$pb.TagNumber(1) + void clearFullResourceName() => clearField(1); + + /// Optional limit on the number of permissions to include in the response. + /// + /// The default is 100, and the maximum is 1,000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional pagination token returned in an earlier + /// QueryTestablePermissionsRequest. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// The response containing permissions which can be tested on a resource. +class QueryTestablePermissionsResponse extends $pb.GeneratedMessage { + factory QueryTestablePermissionsResponse({ + $core.Iterable? permissions, + $core.String? nextPageToken, + }) { + final $result = create(); + if (permissions != null) { + $result.permissions.addAll(permissions); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + QueryTestablePermissionsResponse._() : super(); + factory QueryTestablePermissionsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryTestablePermissionsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryTestablePermissionsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'permissions', $pb.PbFieldType.PM, + subBuilder: Permission.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryTestablePermissionsResponse clone() => + QueryTestablePermissionsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryTestablePermissionsResponse copyWith( + void Function(QueryTestablePermissionsResponse) updates) => + super.copyWith( + (message) => updates(message as QueryTestablePermissionsResponse)) + as QueryTestablePermissionsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryTestablePermissionsResponse create() => + QueryTestablePermissionsResponse._(); + QueryTestablePermissionsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryTestablePermissionsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static QueryTestablePermissionsResponse? _defaultInstance; + + /// The Permissions testable on the requested resource. + @$pb.TagNumber(1) + $core.List get permissions => $_getList(0); + + /// To retrieve the next page of results, set + /// `QueryTestableRolesRequest.page_token` to this value. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// A request to get the list of auditable services for a resource. +class QueryAuditableServicesRequest extends $pb.GeneratedMessage { + factory QueryAuditableServicesRequest({ + $core.String? fullResourceName, + }) { + final $result = create(); + if (fullResourceName != null) { + $result.fullResourceName = fullResourceName; + } + return $result; + } + QueryAuditableServicesRequest._() : super(); + factory QueryAuditableServicesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryAuditableServicesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryAuditableServicesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fullResourceName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryAuditableServicesRequest clone() => + QueryAuditableServicesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryAuditableServicesRequest copyWith( + void Function(QueryAuditableServicesRequest) updates) => + super.copyWith( + (message) => updates(message as QueryAuditableServicesRequest)) + as QueryAuditableServicesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryAuditableServicesRequest create() => + QueryAuditableServicesRequest._(); + QueryAuditableServicesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryAuditableServicesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QueryAuditableServicesRequest? _defaultInstance; + + /// Required. The full resource name to query from the list of auditable + /// services. + /// + /// The name follows the Google Cloud Platform resource format. + /// For example, a Cloud Platform project with id `my-project` will be named + /// `//cloudresourcemanager.googleapis.com/projects/my-project`. + @$pb.TagNumber(1) + $core.String get fullResourceName => $_getSZ(0); + @$pb.TagNumber(1) + set fullResourceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFullResourceName() => $_has(0); + @$pb.TagNumber(1) + void clearFullResourceName() => clearField(1); +} + +/// Contains information about an auditable service. +class QueryAuditableServicesResponse_AuditableService + extends $pb.GeneratedMessage { + factory QueryAuditableServicesResponse_AuditableService({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + QueryAuditableServicesResponse_AuditableService._() : super(); + factory QueryAuditableServicesResponse_AuditableService.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryAuditableServicesResponse_AuditableService.fromJson( + $core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames + ? '' + : 'QueryAuditableServicesResponse.AuditableService', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryAuditableServicesResponse_AuditableService clone() => + QueryAuditableServicesResponse_AuditableService()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryAuditableServicesResponse_AuditableService copyWith( + void Function(QueryAuditableServicesResponse_AuditableService) + updates) => + super.copyWith((message) => updates( + message as QueryAuditableServicesResponse_AuditableService)) + as QueryAuditableServicesResponse_AuditableService; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryAuditableServicesResponse_AuditableService create() => + QueryAuditableServicesResponse_AuditableService._(); + QueryAuditableServicesResponse_AuditableService createEmptyInstance() => + create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryAuditableServicesResponse_AuditableService getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + QueryAuditableServicesResponse_AuditableService>(create); + static QueryAuditableServicesResponse_AuditableService? _defaultInstance; + + /// Public name of the service. + /// For example, the service name for Cloud IAM is 'iam.googleapis.com'. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// A response containing a list of auditable services for a resource. +class QueryAuditableServicesResponse extends $pb.GeneratedMessage { + factory QueryAuditableServicesResponse({ + $core.Iterable? services, + }) { + final $result = create(); + if (services != null) { + $result.services.addAll(services); + } + return $result; + } + QueryAuditableServicesResponse._() : super(); + factory QueryAuditableServicesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory QueryAuditableServicesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'QueryAuditableServicesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'services', $pb.PbFieldType.PM, + subBuilder: QueryAuditableServicesResponse_AuditableService.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + QueryAuditableServicesResponse clone() => + QueryAuditableServicesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + QueryAuditableServicesResponse copyWith( + void Function(QueryAuditableServicesResponse) updates) => + super.copyWith( + (message) => updates(message as QueryAuditableServicesResponse)) + as QueryAuditableServicesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static QueryAuditableServicesResponse create() => + QueryAuditableServicesResponse._(); + QueryAuditableServicesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static QueryAuditableServicesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static QueryAuditableServicesResponse? _defaultInstance; + + /// The auditable services for a resource. + @$pb.TagNumber(1) + $core.List get services => + $_getList(0); +} + +enum LintPolicyRequest_LintObject { condition, notSet } + +/// The request to lint a Cloud IAM policy object. +class LintPolicyRequest extends $pb.GeneratedMessage { + factory LintPolicyRequest({ + $core.String? fullResourceName, + $114.Expr? condition, + }) { + final $result = create(); + if (fullResourceName != null) { + $result.fullResourceName = fullResourceName; + } + if (condition != null) { + $result.condition = condition; + } + return $result; + } + LintPolicyRequest._() : super(); + factory LintPolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LintPolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, LintPolicyRequest_LintObject> + _LintPolicyRequest_LintObjectByTag = { + 5: LintPolicyRequest_LintObject.condition, + 0: LintPolicyRequest_LintObject.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LintPolicyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..oo(0, [5]) + ..aOS(1, _omitFieldNames ? '' : 'fullResourceName') + ..aOM<$114.Expr>(5, _omitFieldNames ? '' : 'condition', + subBuilder: $114.Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LintPolicyRequest clone() => LintPolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LintPolicyRequest copyWith(void Function(LintPolicyRequest) updates) => + super.copyWith((message) => updates(message as LintPolicyRequest)) + as LintPolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LintPolicyRequest create() => LintPolicyRequest._(); + LintPolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LintPolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LintPolicyRequest? _defaultInstance; + + LintPolicyRequest_LintObject whichLintObject() => + _LintPolicyRequest_LintObjectByTag[$_whichOneof(0)]!; + void clearLintObject() => clearField($_whichOneof(0)); + + /// The full resource name of the policy this lint request is about. + /// + /// The name follows the Google Cloud Platform (GCP) resource format. + /// For example, a GCP project with ID `my-project` will be named + /// `//cloudresourcemanager.googleapis.com/projects/my-project`. + /// + /// The resource name is not used to read the policy instance from the Cloud + /// IAM database. The candidate policy for lint has to be provided in the same + /// request object. + @$pb.TagNumber(1) + $core.String get fullResourceName => $_getSZ(0); + @$pb.TagNumber(1) + set fullResourceName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFullResourceName() => $_has(0); + @$pb.TagNumber(1) + void clearFullResourceName() => clearField(1); + + /// [google.iam.v1.Binding.condition] [google.iam.v1.Binding.condition] object to be linted. + @$pb.TagNumber(5) + $114.Expr get condition => $_getN(1); + @$pb.TagNumber(5) + set condition($114.Expr v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCondition() => $_has(1); + @$pb.TagNumber(5) + void clearCondition() => clearField(5); + @$pb.TagNumber(5) + $114.Expr ensureCondition() => $_ensure(1); +} + +/// Structured response of a single validation unit. +class LintResult extends $pb.GeneratedMessage { + factory LintResult({ + LintResult_Level? level, + $core.String? validationUnitName, + LintResult_Severity? severity, + $core.String? fieldName, + $core.int? locationOffset, + $core.String? debugMessage, + }) { + final $result = create(); + if (level != null) { + $result.level = level; + } + if (validationUnitName != null) { + $result.validationUnitName = validationUnitName; + } + if (severity != null) { + $result.severity = severity; + } + if (fieldName != null) { + $result.fieldName = fieldName; + } + if (locationOffset != null) { + $result.locationOffset = locationOffset; + } + if (debugMessage != null) { + $result.debugMessage = debugMessage; + } + return $result; + } + LintResult._() : super(); + factory LintResult.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LintResult.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LintResult', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'level', $pb.PbFieldType.OE, + defaultOrMaker: LintResult_Level.LEVEL_UNSPECIFIED, + valueOf: LintResult_Level.valueOf, + enumValues: LintResult_Level.values) + ..aOS(2, _omitFieldNames ? '' : 'validationUnitName') + ..e( + 3, _omitFieldNames ? '' : 'severity', $pb.PbFieldType.OE, + defaultOrMaker: LintResult_Severity.SEVERITY_UNSPECIFIED, + valueOf: LintResult_Severity.valueOf, + enumValues: LintResult_Severity.values) + ..aOS(5, _omitFieldNames ? '' : 'fieldName') + ..a<$core.int>( + 6, _omitFieldNames ? '' : 'locationOffset', $pb.PbFieldType.O3) + ..aOS(7, _omitFieldNames ? '' : 'debugMessage') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LintResult clone() => LintResult()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LintResult copyWith(void Function(LintResult) updates) => + super.copyWith((message) => updates(message as LintResult)) as LintResult; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LintResult create() => LintResult._(); + LintResult createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LintResult getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LintResult? _defaultInstance; + + /// The validation unit level. + @$pb.TagNumber(1) + LintResult_Level get level => $_getN(0); + @$pb.TagNumber(1) + set level(LintResult_Level v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasLevel() => $_has(0); + @$pb.TagNumber(1) + void clearLevel() => clearField(1); + + /// The validation unit name, for instance + /// "lintValidationUnits/ConditionComplexityCheck". + @$pb.TagNumber(2) + $core.String get validationUnitName => $_getSZ(1); + @$pb.TagNumber(2) + set validationUnitName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValidationUnitName() => $_has(1); + @$pb.TagNumber(2) + void clearValidationUnitName() => clearField(2); + + /// The validation unit severity. + @$pb.TagNumber(3) + LintResult_Severity get severity => $_getN(2); + @$pb.TagNumber(3) + set severity(LintResult_Severity v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasSeverity() => $_has(2); + @$pb.TagNumber(3) + void clearSeverity() => clearField(3); + + /// The name of the field for which this lint result is about. + /// + /// For nested messages `field_name` consists of names of the embedded fields + /// separated by period character. The top-level qualifier is the input object + /// to lint in the request. For example, the `field_name` value + /// `condition.expression` identifies a lint result for the `expression` field + /// of the provided condition. + @$pb.TagNumber(5) + $core.String get fieldName => $_getSZ(3); + @$pb.TagNumber(5) + set fieldName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasFieldName() => $_has(3); + @$pb.TagNumber(5) + void clearFieldName() => clearField(5); + + /// 0-based character position of problematic construct within the object + /// identified by `field_name`. Currently, this is populated only for condition + /// expression. + @$pb.TagNumber(6) + $core.int get locationOffset => $_getIZ(4); + @$pb.TagNumber(6) + set locationOffset($core.int v) { + $_setSignedInt32(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasLocationOffset() => $_has(4); + @$pb.TagNumber(6) + void clearLocationOffset() => clearField(6); + + /// Human readable debug message associated with the issue. + @$pb.TagNumber(7) + $core.String get debugMessage => $_getSZ(5); + @$pb.TagNumber(7) + set debugMessage($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(7) + $core.bool hasDebugMessage() => $_has(5); + @$pb.TagNumber(7) + void clearDebugMessage() => clearField(7); +} + +/// The response of a lint operation. An empty response indicates +/// the operation was able to fully execute and no lint issue was found. +class LintPolicyResponse extends $pb.GeneratedMessage { + factory LintPolicyResponse({ + $core.Iterable? lintResults, + }) { + final $result = create(); + if (lintResults != null) { + $result.lintResults.addAll(lintResults); + } + return $result; + } + LintPolicyResponse._() : super(); + factory LintPolicyResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LintPolicyResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LintPolicyResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.admin.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'lintResults', $pb.PbFieldType.PM, + subBuilder: LintResult.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LintPolicyResponse clone() => LintPolicyResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LintPolicyResponse copyWith(void Function(LintPolicyResponse) updates) => + super.copyWith((message) => updates(message as LintPolicyResponse)) + as LintPolicyResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LintPolicyResponse create() => LintPolicyResponse._(); + LintPolicyResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LintPolicyResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LintPolicyResponse? _defaultInstance; + + /// List of lint results sorted by `severity` in descending order. + @$pb.TagNumber(1) + $core.List get lintResults => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbenum.dart new file mode 100644 index 00000000..aeb0dab2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbenum.dart @@ -0,0 +1,302 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/iam.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Supported key algorithms. +class ServiceAccountKeyAlgorithm extends $pb.ProtobufEnum { + static const ServiceAccountKeyAlgorithm KEY_ALG_UNSPECIFIED = + ServiceAccountKeyAlgorithm._( + 0, _omitEnumNames ? '' : 'KEY_ALG_UNSPECIFIED'); + static const ServiceAccountKeyAlgorithm KEY_ALG_RSA_1024 = + ServiceAccountKeyAlgorithm._(1, _omitEnumNames ? '' : 'KEY_ALG_RSA_1024'); + static const ServiceAccountKeyAlgorithm KEY_ALG_RSA_2048 = + ServiceAccountKeyAlgorithm._(2, _omitEnumNames ? '' : 'KEY_ALG_RSA_2048'); + + static const $core.List values = + [ + KEY_ALG_UNSPECIFIED, + KEY_ALG_RSA_1024, + KEY_ALG_RSA_2048, + ]; + + static final $core.Map<$core.int, ServiceAccountKeyAlgorithm> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServiceAccountKeyAlgorithm? valueOf($core.int value) => + _byValue[value]; + + const ServiceAccountKeyAlgorithm._($core.int v, $core.String n) : super(v, n); +} + +/// Supported private key output formats. +class ServiceAccountPrivateKeyType extends $pb.ProtobufEnum { + static const ServiceAccountPrivateKeyType TYPE_UNSPECIFIED = + ServiceAccountPrivateKeyType._( + 0, _omitEnumNames ? '' : 'TYPE_UNSPECIFIED'); + static const ServiceAccountPrivateKeyType TYPE_PKCS12_FILE = + ServiceAccountPrivateKeyType._( + 1, _omitEnumNames ? '' : 'TYPE_PKCS12_FILE'); + static const ServiceAccountPrivateKeyType TYPE_GOOGLE_CREDENTIALS_FILE = + ServiceAccountPrivateKeyType._( + 2, _omitEnumNames ? '' : 'TYPE_GOOGLE_CREDENTIALS_FILE'); + + static const $core.List values = + [ + TYPE_UNSPECIFIED, + TYPE_PKCS12_FILE, + TYPE_GOOGLE_CREDENTIALS_FILE, + ]; + + static final $core.Map<$core.int, ServiceAccountPrivateKeyType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServiceAccountPrivateKeyType? valueOf($core.int value) => + _byValue[value]; + + const ServiceAccountPrivateKeyType._($core.int v, $core.String n) + : super(v, n); +} + +/// Supported public key output formats. +class ServiceAccountPublicKeyType extends $pb.ProtobufEnum { + static const ServiceAccountPublicKeyType TYPE_NONE = + ServiceAccountPublicKeyType._(0, _omitEnumNames ? '' : 'TYPE_NONE'); + static const ServiceAccountPublicKeyType TYPE_X509_PEM_FILE = + ServiceAccountPublicKeyType._( + 1, _omitEnumNames ? '' : 'TYPE_X509_PEM_FILE'); + static const ServiceAccountPublicKeyType TYPE_RAW_PUBLIC_KEY = + ServiceAccountPublicKeyType._( + 2, _omitEnumNames ? '' : 'TYPE_RAW_PUBLIC_KEY'); + + static const $core.List values = + [ + TYPE_NONE, + TYPE_X509_PEM_FILE, + TYPE_RAW_PUBLIC_KEY, + ]; + + static final $core.Map<$core.int, ServiceAccountPublicKeyType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServiceAccountPublicKeyType? valueOf($core.int value) => + _byValue[value]; + + const ServiceAccountPublicKeyType._($core.int v, $core.String n) + : super(v, n); +} + +/// Service Account Key Origin. +class ServiceAccountKeyOrigin extends $pb.ProtobufEnum { + static const ServiceAccountKeyOrigin ORIGIN_UNSPECIFIED = + ServiceAccountKeyOrigin._(0, _omitEnumNames ? '' : 'ORIGIN_UNSPECIFIED'); + static const ServiceAccountKeyOrigin USER_PROVIDED = + ServiceAccountKeyOrigin._(1, _omitEnumNames ? '' : 'USER_PROVIDED'); + static const ServiceAccountKeyOrigin GOOGLE_PROVIDED = + ServiceAccountKeyOrigin._(2, _omitEnumNames ? '' : 'GOOGLE_PROVIDED'); + + static const $core.List values = + [ + ORIGIN_UNSPECIFIED, + USER_PROVIDED, + GOOGLE_PROVIDED, + ]; + + static final $core.Map<$core.int, ServiceAccountKeyOrigin> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ServiceAccountKeyOrigin? valueOf($core.int value) => _byValue[value]; + + const ServiceAccountKeyOrigin._($core.int v, $core.String n) : super(v, n); +} + +/// A view for Role objects. +class RoleView extends $pb.ProtobufEnum { + static const RoleView BASIC = RoleView._(0, _omitEnumNames ? '' : 'BASIC'); + static const RoleView FULL = RoleView._(1, _omitEnumNames ? '' : 'FULL'); + + static const $core.List values = [ + BASIC, + FULL, + ]; + + static final $core.Map<$core.int, RoleView> _byValue = + $pb.ProtobufEnum.initByValue(values); + static RoleView? valueOf($core.int value) => _byValue[value]; + + const RoleView._($core.int v, $core.String n) : super(v, n); +} + +/// `KeyType` filters to selectively retrieve certain varieties +/// of keys. +class ListServiceAccountKeysRequest_KeyType extends $pb.ProtobufEnum { + static const ListServiceAccountKeysRequest_KeyType KEY_TYPE_UNSPECIFIED = + ListServiceAccountKeysRequest_KeyType._( + 0, _omitEnumNames ? '' : 'KEY_TYPE_UNSPECIFIED'); + static const ListServiceAccountKeysRequest_KeyType USER_MANAGED = + ListServiceAccountKeysRequest_KeyType._( + 1, _omitEnumNames ? '' : 'USER_MANAGED'); + static const ListServiceAccountKeysRequest_KeyType SYSTEM_MANAGED = + ListServiceAccountKeysRequest_KeyType._( + 2, _omitEnumNames ? '' : 'SYSTEM_MANAGED'); + + static const $core.List values = + [ + KEY_TYPE_UNSPECIFIED, + USER_MANAGED, + SYSTEM_MANAGED, + ]; + + static final $core.Map<$core.int, ListServiceAccountKeysRequest_KeyType> + _byValue = $pb.ProtobufEnum.initByValue(values); + static ListServiceAccountKeysRequest_KeyType? valueOf($core.int value) => + _byValue[value]; + + const ListServiceAccountKeysRequest_KeyType._($core.int v, $core.String n) + : super(v, n); +} + +/// A stage representing a role's lifecycle phase. +class Role_RoleLaunchStage extends $pb.ProtobufEnum { + static const Role_RoleLaunchStage ALPHA = + Role_RoleLaunchStage._(0, _omitEnumNames ? '' : 'ALPHA'); + static const Role_RoleLaunchStage BETA = + Role_RoleLaunchStage._(1, _omitEnumNames ? '' : 'BETA'); + static const Role_RoleLaunchStage GA = + Role_RoleLaunchStage._(2, _omitEnumNames ? '' : 'GA'); + static const Role_RoleLaunchStage DEPRECATED = + Role_RoleLaunchStage._(4, _omitEnumNames ? '' : 'DEPRECATED'); + static const Role_RoleLaunchStage DISABLED = + Role_RoleLaunchStage._(5, _omitEnumNames ? '' : 'DISABLED'); + static const Role_RoleLaunchStage EAP = + Role_RoleLaunchStage._(6, _omitEnumNames ? '' : 'EAP'); + + static const $core.List values = [ + ALPHA, + BETA, + GA, + DEPRECATED, + DISABLED, + EAP, + ]; + + static final $core.Map<$core.int, Role_RoleLaunchStage> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Role_RoleLaunchStage? valueOf($core.int value) => _byValue[value]; + + const Role_RoleLaunchStage._($core.int v, $core.String n) : super(v, n); +} + +/// A stage representing a permission's lifecycle phase. +class Permission_PermissionLaunchStage extends $pb.ProtobufEnum { + static const Permission_PermissionLaunchStage ALPHA = + Permission_PermissionLaunchStage._(0, _omitEnumNames ? '' : 'ALPHA'); + static const Permission_PermissionLaunchStage BETA = + Permission_PermissionLaunchStage._(1, _omitEnumNames ? '' : 'BETA'); + static const Permission_PermissionLaunchStage GA = + Permission_PermissionLaunchStage._(2, _omitEnumNames ? '' : 'GA'); + static const Permission_PermissionLaunchStage DEPRECATED = + Permission_PermissionLaunchStage._(3, _omitEnumNames ? '' : 'DEPRECATED'); + + static const $core.List values = + [ + ALPHA, + BETA, + GA, + DEPRECATED, + ]; + + static final $core.Map<$core.int, Permission_PermissionLaunchStage> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Permission_PermissionLaunchStage? valueOf($core.int value) => + _byValue[value]; + + const Permission_PermissionLaunchStage._($core.int v, $core.String n) + : super(v, n); +} + +/// The state of the permission with regards to custom roles. +class Permission_CustomRolesSupportLevel extends $pb.ProtobufEnum { + static const Permission_CustomRolesSupportLevel SUPPORTED = + Permission_CustomRolesSupportLevel._( + 0, _omitEnumNames ? '' : 'SUPPORTED'); + static const Permission_CustomRolesSupportLevel TESTING = + Permission_CustomRolesSupportLevel._(1, _omitEnumNames ? '' : 'TESTING'); + static const Permission_CustomRolesSupportLevel NOT_SUPPORTED = + Permission_CustomRolesSupportLevel._( + 2, _omitEnumNames ? '' : 'NOT_SUPPORTED'); + + static const $core.List values = + [ + SUPPORTED, + TESTING, + NOT_SUPPORTED, + ]; + + static final $core.Map<$core.int, Permission_CustomRolesSupportLevel> + _byValue = $pb.ProtobufEnum.initByValue(values); + static Permission_CustomRolesSupportLevel? valueOf($core.int value) => + _byValue[value]; + + const Permission_CustomRolesSupportLevel._($core.int v, $core.String n) + : super(v, n); +} + +/// Possible Level values of a validation unit corresponding to its domain +/// of discourse. +class LintResult_Level extends $pb.ProtobufEnum { + static const LintResult_Level LEVEL_UNSPECIFIED = + LintResult_Level._(0, _omitEnumNames ? '' : 'LEVEL_UNSPECIFIED'); + static const LintResult_Level CONDITION = + LintResult_Level._(3, _omitEnumNames ? '' : 'CONDITION'); + + static const $core.List values = [ + LEVEL_UNSPECIFIED, + CONDITION, + ]; + + static final $core.Map<$core.int, LintResult_Level> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LintResult_Level? valueOf($core.int value) => _byValue[value]; + + const LintResult_Level._($core.int v, $core.String n) : super(v, n); +} + +/// Possible Severity values of an issued result. +class LintResult_Severity extends $pb.ProtobufEnum { + static const LintResult_Severity SEVERITY_UNSPECIFIED = + LintResult_Severity._(0, _omitEnumNames ? '' : 'SEVERITY_UNSPECIFIED'); + static const LintResult_Severity ERROR = + LintResult_Severity._(1, _omitEnumNames ? '' : 'ERROR'); + static const LintResult_Severity WARNING = + LintResult_Severity._(2, _omitEnumNames ? '' : 'WARNING'); + static const LintResult_Severity NOTICE = + LintResult_Severity._(3, _omitEnumNames ? '' : 'NOTICE'); + static const LintResult_Severity INFO = + LintResult_Severity._(4, _omitEnumNames ? '' : 'INFO'); + static const LintResult_Severity DEPRECATED = + LintResult_Severity._(5, _omitEnumNames ? '' : 'DEPRECATED'); + + static const $core.List values = [ + SEVERITY_UNSPECIFIED, + ERROR, + WARNING, + NOTICE, + INFO, + DEPRECATED, + ]; + + static final $core.Map<$core.int, LintResult_Severity> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LintResult_Severity? valueOf($core.int value) => _byValue[value]; + + const LintResult_Severity._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbgrpc.dart new file mode 100644 index 00000000..bff69858 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbgrpc.dart @@ -0,0 +1,891 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/iam.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/empty.pb.dart' as $1; +import '../../v1/iam_policy.pb.dart' as $42; +import '../../v1/policy.pb.dart' as $43; +import 'iam.pb.dart' as $45; + +export 'iam.pb.dart'; + +@$pb.GrpcServiceName('google.iam.admin.v1.IAM') +class IAMClient extends $grpc.Client { + static final _$listServiceAccounts = $grpc.ClientMethod< + $45.ListServiceAccountsRequest, $45.ListServiceAccountsResponse>( + '/google.iam.admin.v1.IAM/ListServiceAccounts', + ($45.ListServiceAccountsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ListServiceAccountsResponse.fromBuffer(value)); + static final _$getServiceAccount = + $grpc.ClientMethod<$45.GetServiceAccountRequest, $45.ServiceAccount>( + '/google.iam.admin.v1.IAM/GetServiceAccount', + ($45.GetServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ServiceAccount.fromBuffer(value)); + static final _$createServiceAccount = + $grpc.ClientMethod<$45.CreateServiceAccountRequest, $45.ServiceAccount>( + '/google.iam.admin.v1.IAM/CreateServiceAccount', + ($45.CreateServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ServiceAccount.fromBuffer(value)); + static final _$updateServiceAccount = + $grpc.ClientMethod<$45.ServiceAccount, $45.ServiceAccount>( + '/google.iam.admin.v1.IAM/UpdateServiceAccount', + ($45.ServiceAccount value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ServiceAccount.fromBuffer(value)); + static final _$patchServiceAccount = + $grpc.ClientMethod<$45.PatchServiceAccountRequest, $45.ServiceAccount>( + '/google.iam.admin.v1.IAM/PatchServiceAccount', + ($45.PatchServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ServiceAccount.fromBuffer(value)); + static final _$deleteServiceAccount = + $grpc.ClientMethod<$45.DeleteServiceAccountRequest, $1.Empty>( + '/google.iam.admin.v1.IAM/DeleteServiceAccount', + ($45.DeleteServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$undeleteServiceAccount = $grpc.ClientMethod< + $45.UndeleteServiceAccountRequest, + $45.UndeleteServiceAccountResponse>( + '/google.iam.admin.v1.IAM/UndeleteServiceAccount', + ($45.UndeleteServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.UndeleteServiceAccountResponse.fromBuffer(value)); + static final _$enableServiceAccount = + $grpc.ClientMethod<$45.EnableServiceAccountRequest, $1.Empty>( + '/google.iam.admin.v1.IAM/EnableServiceAccount', + ($45.EnableServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$disableServiceAccount = + $grpc.ClientMethod<$45.DisableServiceAccountRequest, $1.Empty>( + '/google.iam.admin.v1.IAM/DisableServiceAccount', + ($45.DisableServiceAccountRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$listServiceAccountKeys = $grpc.ClientMethod< + $45.ListServiceAccountKeysRequest, + $45.ListServiceAccountKeysResponse>( + '/google.iam.admin.v1.IAM/ListServiceAccountKeys', + ($45.ListServiceAccountKeysRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ListServiceAccountKeysResponse.fromBuffer(value)); + static final _$getServiceAccountKey = $grpc.ClientMethod< + $45.GetServiceAccountKeyRequest, $45.ServiceAccountKey>( + '/google.iam.admin.v1.IAM/GetServiceAccountKey', + ($45.GetServiceAccountKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.ServiceAccountKey.fromBuffer(value)); + static final _$createServiceAccountKey = $grpc.ClientMethod< + $45.CreateServiceAccountKeyRequest, $45.ServiceAccountKey>( + '/google.iam.admin.v1.IAM/CreateServiceAccountKey', + ($45.CreateServiceAccountKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.ServiceAccountKey.fromBuffer(value)); + static final _$uploadServiceAccountKey = $grpc.ClientMethod< + $45.UploadServiceAccountKeyRequest, $45.ServiceAccountKey>( + '/google.iam.admin.v1.IAM/UploadServiceAccountKey', + ($45.UploadServiceAccountKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.ServiceAccountKey.fromBuffer(value)); + static final _$deleteServiceAccountKey = + $grpc.ClientMethod<$45.DeleteServiceAccountKeyRequest, $1.Empty>( + '/google.iam.admin.v1.IAM/DeleteServiceAccountKey', + ($45.DeleteServiceAccountKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$disableServiceAccountKey = + $grpc.ClientMethod<$45.DisableServiceAccountKeyRequest, $1.Empty>( + '/google.iam.admin.v1.IAM/DisableServiceAccountKey', + ($45.DisableServiceAccountKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$enableServiceAccountKey = + $grpc.ClientMethod<$45.EnableServiceAccountKeyRequest, $1.Empty>( + '/google.iam.admin.v1.IAM/EnableServiceAccountKey', + ($45.EnableServiceAccountKeyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$signBlob = + $grpc.ClientMethod<$45.SignBlobRequest, $45.SignBlobResponse>( + '/google.iam.admin.v1.IAM/SignBlob', + ($45.SignBlobRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.SignBlobResponse.fromBuffer(value)); + static final _$signJwt = + $grpc.ClientMethod<$45.SignJwtRequest, $45.SignJwtResponse>( + '/google.iam.admin.v1.IAM/SignJwt', + ($45.SignJwtRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.SignJwtResponse.fromBuffer(value)); + static final _$getIamPolicy = + $grpc.ClientMethod<$42.GetIamPolicyRequest, $43.Policy>( + '/google.iam.admin.v1.IAM/GetIamPolicy', + ($42.GetIamPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $43.Policy.fromBuffer(value)); + static final _$setIamPolicy = + $grpc.ClientMethod<$42.SetIamPolicyRequest, $43.Policy>( + '/google.iam.admin.v1.IAM/SetIamPolicy', + ($42.SetIamPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $43.Policy.fromBuffer(value)); + static final _$testIamPermissions = $grpc.ClientMethod< + $42.TestIamPermissionsRequest, $42.TestIamPermissionsResponse>( + '/google.iam.admin.v1.IAM/TestIamPermissions', + ($42.TestIamPermissionsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $42.TestIamPermissionsResponse.fromBuffer(value)); + static final _$queryGrantableRoles = $grpc.ClientMethod< + $45.QueryGrantableRolesRequest, $45.QueryGrantableRolesResponse>( + '/google.iam.admin.v1.IAM/QueryGrantableRoles', + ($45.QueryGrantableRolesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.QueryGrantableRolesResponse.fromBuffer(value)); + static final _$listRoles = + $grpc.ClientMethod<$45.ListRolesRequest, $45.ListRolesResponse>( + '/google.iam.admin.v1.IAM/ListRoles', + ($45.ListRolesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.ListRolesResponse.fromBuffer(value)); + static final _$getRole = $grpc.ClientMethod<$45.GetRoleRequest, $45.Role>( + '/google.iam.admin.v1.IAM/GetRole', + ($45.GetRoleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.Role.fromBuffer(value)); + static final _$createRole = + $grpc.ClientMethod<$45.CreateRoleRequest, $45.Role>( + '/google.iam.admin.v1.IAM/CreateRole', + ($45.CreateRoleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.Role.fromBuffer(value)); + static final _$updateRole = + $grpc.ClientMethod<$45.UpdateRoleRequest, $45.Role>( + '/google.iam.admin.v1.IAM/UpdateRole', + ($45.UpdateRoleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.Role.fromBuffer(value)); + static final _$deleteRole = + $grpc.ClientMethod<$45.DeleteRoleRequest, $45.Role>( + '/google.iam.admin.v1.IAM/DeleteRole', + ($45.DeleteRoleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.Role.fromBuffer(value)); + static final _$undeleteRole = + $grpc.ClientMethod<$45.UndeleteRoleRequest, $45.Role>( + '/google.iam.admin.v1.IAM/UndeleteRole', + ($45.UndeleteRoleRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $45.Role.fromBuffer(value)); + static final _$queryTestablePermissions = $grpc.ClientMethod< + $45.QueryTestablePermissionsRequest, + $45.QueryTestablePermissionsResponse>( + '/google.iam.admin.v1.IAM/QueryTestablePermissions', + ($45.QueryTestablePermissionsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.QueryTestablePermissionsResponse.fromBuffer(value)); + static final _$queryAuditableServices = $grpc.ClientMethod< + $45.QueryAuditableServicesRequest, + $45.QueryAuditableServicesResponse>( + '/google.iam.admin.v1.IAM/QueryAuditableServices', + ($45.QueryAuditableServicesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.QueryAuditableServicesResponse.fromBuffer(value)); + static final _$lintPolicy = + $grpc.ClientMethod<$45.LintPolicyRequest, $45.LintPolicyResponse>( + '/google.iam.admin.v1.IAM/LintPolicy', + ($45.LintPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $45.LintPolicyResponse.fromBuffer(value)); + + IAMClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$45.ListServiceAccountsResponse> listServiceAccounts( + $45.ListServiceAccountsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServiceAccounts, request, options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccount> getServiceAccount( + $45.GetServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccount> createServiceAccount( + $45.CreateServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccount> updateServiceAccount( + $45.ServiceAccount request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccount> patchServiceAccount( + $45.PatchServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$patchServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteServiceAccount( + $45.DeleteServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$45.UndeleteServiceAccountResponse> + undeleteServiceAccount($45.UndeleteServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteServiceAccount, request, + options: options); + } + + $grpc.ResponseFuture<$1.Empty> enableServiceAccount( + $45.EnableServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$enableServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> disableServiceAccount( + $45.DisableServiceAccountRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$disableServiceAccount, request, options: options); + } + + $grpc.ResponseFuture<$45.ListServiceAccountKeysResponse> + listServiceAccountKeys($45.ListServiceAccountKeysRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listServiceAccountKeys, request, + options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccountKey> getServiceAccountKey( + $45.GetServiceAccountKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getServiceAccountKey, request, options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccountKey> createServiceAccountKey( + $45.CreateServiceAccountKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createServiceAccountKey, request, + options: options); + } + + $grpc.ResponseFuture<$45.ServiceAccountKey> uploadServiceAccountKey( + $45.UploadServiceAccountKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$uploadServiceAccountKey, request, + options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteServiceAccountKey( + $45.DeleteServiceAccountKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteServiceAccountKey, request, + options: options); + } + + $grpc.ResponseFuture<$1.Empty> disableServiceAccountKey( + $45.DisableServiceAccountKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$disableServiceAccountKey, request, + options: options); + } + + $grpc.ResponseFuture<$1.Empty> enableServiceAccountKey( + $45.EnableServiceAccountKeyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$enableServiceAccountKey, request, + options: options); + } + + $grpc.ResponseFuture<$45.SignBlobResponse> signBlob( + $45.SignBlobRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$signBlob, request, options: options); + } + + $grpc.ResponseFuture<$45.SignJwtResponse> signJwt($45.SignJwtRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$signJwt, request, options: options); + } + + $grpc.ResponseFuture<$43.Policy> getIamPolicy($42.GetIamPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getIamPolicy, request, options: options); + } + + $grpc.ResponseFuture<$43.Policy> setIamPolicy($42.SetIamPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$setIamPolicy, request, options: options); + } + + $grpc.ResponseFuture<$42.TestIamPermissionsResponse> testIamPermissions( + $42.TestIamPermissionsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$testIamPermissions, request, options: options); + } + + $grpc.ResponseFuture<$45.QueryGrantableRolesResponse> queryGrantableRoles( + $45.QueryGrantableRolesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryGrantableRoles, request, options: options); + } + + $grpc.ResponseFuture<$45.ListRolesResponse> listRoles( + $45.ListRolesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listRoles, request, options: options); + } + + $grpc.ResponseFuture<$45.Role> getRole($45.GetRoleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getRole, request, options: options); + } + + $grpc.ResponseFuture<$45.Role> createRole($45.CreateRoleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createRole, request, options: options); + } + + $grpc.ResponseFuture<$45.Role> updateRole($45.UpdateRoleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateRole, request, options: options); + } + + $grpc.ResponseFuture<$45.Role> deleteRole($45.DeleteRoleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteRole, request, options: options); + } + + $grpc.ResponseFuture<$45.Role> undeleteRole($45.UndeleteRoleRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteRole, request, options: options); + } + + $grpc.ResponseFuture<$45.QueryTestablePermissionsResponse> + queryTestablePermissions($45.QueryTestablePermissionsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryTestablePermissions, request, + options: options); + } + + $grpc.ResponseFuture<$45.QueryAuditableServicesResponse> + queryAuditableServices($45.QueryAuditableServicesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$queryAuditableServices, request, + options: options); + } + + $grpc.ResponseFuture<$45.LintPolicyResponse> lintPolicy( + $45.LintPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$lintPolicy, request, options: options); + } +} + +@$pb.GrpcServiceName('google.iam.admin.v1.IAM') +abstract class IAMServiceBase extends $grpc.Service { + $core.String get $name => 'google.iam.admin.v1.IAM'; + + IAMServiceBase() { + $addMethod($grpc.ServiceMethod<$45.ListServiceAccountsRequest, + $45.ListServiceAccountsResponse>( + 'ListServiceAccounts', + listServiceAccounts_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.ListServiceAccountsRequest.fromBuffer(value), + ($45.ListServiceAccountsResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$45.GetServiceAccountRequest, $45.ServiceAccount>( + 'GetServiceAccount', + getServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.GetServiceAccountRequest.fromBuffer(value), + ($45.ServiceAccount value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.CreateServiceAccountRequest, + $45.ServiceAccount>( + 'CreateServiceAccount', + createServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.CreateServiceAccountRequest.fromBuffer(value), + ($45.ServiceAccount value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.ServiceAccount, $45.ServiceAccount>( + 'UpdateServiceAccount', + updateServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => $45.ServiceAccount.fromBuffer(value), + ($45.ServiceAccount value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$45.PatchServiceAccountRequest, $45.ServiceAccount>( + 'PatchServiceAccount', + patchServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.PatchServiceAccountRequest.fromBuffer(value), + ($45.ServiceAccount value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.DeleteServiceAccountRequest, $1.Empty>( + 'DeleteServiceAccount', + deleteServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.DeleteServiceAccountRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.UndeleteServiceAccountRequest, + $45.UndeleteServiceAccountResponse>( + 'UndeleteServiceAccount', + undeleteServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.UndeleteServiceAccountRequest.fromBuffer(value), + ($45.UndeleteServiceAccountResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.EnableServiceAccountRequest, $1.Empty>( + 'EnableServiceAccount', + enableServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.EnableServiceAccountRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.DisableServiceAccountRequest, $1.Empty>( + 'DisableServiceAccount', + disableServiceAccount_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.DisableServiceAccountRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.ListServiceAccountKeysRequest, + $45.ListServiceAccountKeysResponse>( + 'ListServiceAccountKeys', + listServiceAccountKeys_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.ListServiceAccountKeysRequest.fromBuffer(value), + ($45.ListServiceAccountKeysResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.GetServiceAccountKeyRequest, + $45.ServiceAccountKey>( + 'GetServiceAccountKey', + getServiceAccountKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.GetServiceAccountKeyRequest.fromBuffer(value), + ($45.ServiceAccountKey value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.CreateServiceAccountKeyRequest, + $45.ServiceAccountKey>( + 'CreateServiceAccountKey', + createServiceAccountKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.CreateServiceAccountKeyRequest.fromBuffer(value), + ($45.ServiceAccountKey value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.UploadServiceAccountKeyRequest, + $45.ServiceAccountKey>( + 'UploadServiceAccountKey', + uploadServiceAccountKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.UploadServiceAccountKeyRequest.fromBuffer(value), + ($45.ServiceAccountKey value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$45.DeleteServiceAccountKeyRequest, $1.Empty>( + 'DeleteServiceAccountKey', + deleteServiceAccountKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.DeleteServiceAccountKeyRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$45.DisableServiceAccountKeyRequest, $1.Empty>( + 'DisableServiceAccountKey', + disableServiceAccountKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.DisableServiceAccountKeyRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$45.EnableServiceAccountKeyRequest, $1.Empty>( + 'EnableServiceAccountKey', + enableServiceAccountKey_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.EnableServiceAccountKeyRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.SignBlobRequest, $45.SignBlobResponse>( + 'SignBlob', + signBlob_Pre, + false, + false, + ($core.List<$core.int> value) => $45.SignBlobRequest.fromBuffer(value), + ($45.SignBlobResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.SignJwtRequest, $45.SignJwtResponse>( + 'SignJwt', + signJwt_Pre, + false, + false, + ($core.List<$core.int> value) => $45.SignJwtRequest.fromBuffer(value), + ($45.SignJwtResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$42.GetIamPolicyRequest, $43.Policy>( + 'GetIamPolicy', + getIamPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $42.GetIamPolicyRequest.fromBuffer(value), + ($43.Policy value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$42.SetIamPolicyRequest, $43.Policy>( + 'SetIamPolicy', + setIamPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $42.SetIamPolicyRequest.fromBuffer(value), + ($43.Policy value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$42.TestIamPermissionsRequest, + $42.TestIamPermissionsResponse>( + 'TestIamPermissions', + testIamPermissions_Pre, + false, + false, + ($core.List<$core.int> value) => + $42.TestIamPermissionsRequest.fromBuffer(value), + ($42.TestIamPermissionsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.QueryGrantableRolesRequest, + $45.QueryGrantableRolesResponse>( + 'QueryGrantableRoles', + queryGrantableRoles_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.QueryGrantableRolesRequest.fromBuffer(value), + ($45.QueryGrantableRolesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.ListRolesRequest, $45.ListRolesResponse>( + 'ListRoles', + listRoles_Pre, + false, + false, + ($core.List<$core.int> value) => $45.ListRolesRequest.fromBuffer(value), + ($45.ListRolesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.GetRoleRequest, $45.Role>( + 'GetRole', + getRole_Pre, + false, + false, + ($core.List<$core.int> value) => $45.GetRoleRequest.fromBuffer(value), + ($45.Role value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.CreateRoleRequest, $45.Role>( + 'CreateRole', + createRole_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.CreateRoleRequest.fromBuffer(value), + ($45.Role value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.UpdateRoleRequest, $45.Role>( + 'UpdateRole', + updateRole_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.UpdateRoleRequest.fromBuffer(value), + ($45.Role value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.DeleteRoleRequest, $45.Role>( + 'DeleteRole', + deleteRole_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.DeleteRoleRequest.fromBuffer(value), + ($45.Role value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.UndeleteRoleRequest, $45.Role>( + 'UndeleteRole', + undeleteRole_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.UndeleteRoleRequest.fromBuffer(value), + ($45.Role value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.QueryTestablePermissionsRequest, + $45.QueryTestablePermissionsResponse>( + 'QueryTestablePermissions', + queryTestablePermissions_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.QueryTestablePermissionsRequest.fromBuffer(value), + ($45.QueryTestablePermissionsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$45.QueryAuditableServicesRequest, + $45.QueryAuditableServicesResponse>( + 'QueryAuditableServices', + queryAuditableServices_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.QueryAuditableServicesRequest.fromBuffer(value), + ($45.QueryAuditableServicesResponse value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$45.LintPolicyRequest, $45.LintPolicyResponse>( + 'LintPolicy', + lintPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $45.LintPolicyRequest.fromBuffer(value), + ($45.LintPolicyResponse value) => value.writeToBuffer())); + } + + $async.Future<$45.ListServiceAccountsResponse> listServiceAccounts_Pre( + $grpc.ServiceCall call, + $async.Future<$45.ListServiceAccountsRequest> request) async { + return listServiceAccounts(call, await request); + } + + $async.Future<$45.ServiceAccount> getServiceAccount_Pre( + $grpc.ServiceCall call, + $async.Future<$45.GetServiceAccountRequest> request) async { + return getServiceAccount(call, await request); + } + + $async.Future<$45.ServiceAccount> createServiceAccount_Pre( + $grpc.ServiceCall call, + $async.Future<$45.CreateServiceAccountRequest> request) async { + return createServiceAccount(call, await request); + } + + $async.Future<$45.ServiceAccount> updateServiceAccount_Pre( + $grpc.ServiceCall call, $async.Future<$45.ServiceAccount> request) async { + return updateServiceAccount(call, await request); + } + + $async.Future<$45.ServiceAccount> patchServiceAccount_Pre( + $grpc.ServiceCall call, + $async.Future<$45.PatchServiceAccountRequest> request) async { + return patchServiceAccount(call, await request); + } + + $async.Future<$1.Empty> deleteServiceAccount_Pre($grpc.ServiceCall call, + $async.Future<$45.DeleteServiceAccountRequest> request) async { + return deleteServiceAccount(call, await request); + } + + $async.Future<$45.UndeleteServiceAccountResponse> undeleteServiceAccount_Pre( + $grpc.ServiceCall call, + $async.Future<$45.UndeleteServiceAccountRequest> request) async { + return undeleteServiceAccount(call, await request); + } + + $async.Future<$1.Empty> enableServiceAccount_Pre($grpc.ServiceCall call, + $async.Future<$45.EnableServiceAccountRequest> request) async { + return enableServiceAccount(call, await request); + } + + $async.Future<$1.Empty> disableServiceAccount_Pre($grpc.ServiceCall call, + $async.Future<$45.DisableServiceAccountRequest> request) async { + return disableServiceAccount(call, await request); + } + + $async.Future<$45.ListServiceAccountKeysResponse> listServiceAccountKeys_Pre( + $grpc.ServiceCall call, + $async.Future<$45.ListServiceAccountKeysRequest> request) async { + return listServiceAccountKeys(call, await request); + } + + $async.Future<$45.ServiceAccountKey> getServiceAccountKey_Pre( + $grpc.ServiceCall call, + $async.Future<$45.GetServiceAccountKeyRequest> request) async { + return getServiceAccountKey(call, await request); + } + + $async.Future<$45.ServiceAccountKey> createServiceAccountKey_Pre( + $grpc.ServiceCall call, + $async.Future<$45.CreateServiceAccountKeyRequest> request) async { + return createServiceAccountKey(call, await request); + } + + $async.Future<$45.ServiceAccountKey> uploadServiceAccountKey_Pre( + $grpc.ServiceCall call, + $async.Future<$45.UploadServiceAccountKeyRequest> request) async { + return uploadServiceAccountKey(call, await request); + } + + $async.Future<$1.Empty> deleteServiceAccountKey_Pre($grpc.ServiceCall call, + $async.Future<$45.DeleteServiceAccountKeyRequest> request) async { + return deleteServiceAccountKey(call, await request); + } + + $async.Future<$1.Empty> disableServiceAccountKey_Pre($grpc.ServiceCall call, + $async.Future<$45.DisableServiceAccountKeyRequest> request) async { + return disableServiceAccountKey(call, await request); + } + + $async.Future<$1.Empty> enableServiceAccountKey_Pre($grpc.ServiceCall call, + $async.Future<$45.EnableServiceAccountKeyRequest> request) async { + return enableServiceAccountKey(call, await request); + } + + $async.Future<$45.SignBlobResponse> signBlob_Pre($grpc.ServiceCall call, + $async.Future<$45.SignBlobRequest> request) async { + return signBlob(call, await request); + } + + $async.Future<$45.SignJwtResponse> signJwt_Pre( + $grpc.ServiceCall call, $async.Future<$45.SignJwtRequest> request) async { + return signJwt(call, await request); + } + + $async.Future<$43.Policy> getIamPolicy_Pre($grpc.ServiceCall call, + $async.Future<$42.GetIamPolicyRequest> request) async { + return getIamPolicy(call, await request); + } + + $async.Future<$43.Policy> setIamPolicy_Pre($grpc.ServiceCall call, + $async.Future<$42.SetIamPolicyRequest> request) async { + return setIamPolicy(call, await request); + } + + $async.Future<$42.TestIamPermissionsResponse> testIamPermissions_Pre( + $grpc.ServiceCall call, + $async.Future<$42.TestIamPermissionsRequest> request) async { + return testIamPermissions(call, await request); + } + + $async.Future<$45.QueryGrantableRolesResponse> queryGrantableRoles_Pre( + $grpc.ServiceCall call, + $async.Future<$45.QueryGrantableRolesRequest> request) async { + return queryGrantableRoles(call, await request); + } + + $async.Future<$45.ListRolesResponse> listRoles_Pre($grpc.ServiceCall call, + $async.Future<$45.ListRolesRequest> request) async { + return listRoles(call, await request); + } + + $async.Future<$45.Role> getRole_Pre( + $grpc.ServiceCall call, $async.Future<$45.GetRoleRequest> request) async { + return getRole(call, await request); + } + + $async.Future<$45.Role> createRole_Pre($grpc.ServiceCall call, + $async.Future<$45.CreateRoleRequest> request) async { + return createRole(call, await request); + } + + $async.Future<$45.Role> updateRole_Pre($grpc.ServiceCall call, + $async.Future<$45.UpdateRoleRequest> request) async { + return updateRole(call, await request); + } + + $async.Future<$45.Role> deleteRole_Pre($grpc.ServiceCall call, + $async.Future<$45.DeleteRoleRequest> request) async { + return deleteRole(call, await request); + } + + $async.Future<$45.Role> undeleteRole_Pre($grpc.ServiceCall call, + $async.Future<$45.UndeleteRoleRequest> request) async { + return undeleteRole(call, await request); + } + + $async.Future<$45.QueryTestablePermissionsResponse> + queryTestablePermissions_Pre($grpc.ServiceCall call, + $async.Future<$45.QueryTestablePermissionsRequest> request) async { + return queryTestablePermissions(call, await request); + } + + $async.Future<$45.QueryAuditableServicesResponse> queryAuditableServices_Pre( + $grpc.ServiceCall call, + $async.Future<$45.QueryAuditableServicesRequest> request) async { + return queryAuditableServices(call, await request); + } + + $async.Future<$45.LintPolicyResponse> lintPolicy_Pre($grpc.ServiceCall call, + $async.Future<$45.LintPolicyRequest> request) async { + return lintPolicy(call, await request); + } + + $async.Future<$45.ListServiceAccountsResponse> listServiceAccounts( + $grpc.ServiceCall call, $45.ListServiceAccountsRequest request); + $async.Future<$45.ServiceAccount> getServiceAccount( + $grpc.ServiceCall call, $45.GetServiceAccountRequest request); + $async.Future<$45.ServiceAccount> createServiceAccount( + $grpc.ServiceCall call, $45.CreateServiceAccountRequest request); + $async.Future<$45.ServiceAccount> updateServiceAccount( + $grpc.ServiceCall call, $45.ServiceAccount request); + $async.Future<$45.ServiceAccount> patchServiceAccount( + $grpc.ServiceCall call, $45.PatchServiceAccountRequest request); + $async.Future<$1.Empty> deleteServiceAccount( + $grpc.ServiceCall call, $45.DeleteServiceAccountRequest request); + $async.Future<$45.UndeleteServiceAccountResponse> undeleteServiceAccount( + $grpc.ServiceCall call, $45.UndeleteServiceAccountRequest request); + $async.Future<$1.Empty> enableServiceAccount( + $grpc.ServiceCall call, $45.EnableServiceAccountRequest request); + $async.Future<$1.Empty> disableServiceAccount( + $grpc.ServiceCall call, $45.DisableServiceAccountRequest request); + $async.Future<$45.ListServiceAccountKeysResponse> listServiceAccountKeys( + $grpc.ServiceCall call, $45.ListServiceAccountKeysRequest request); + $async.Future<$45.ServiceAccountKey> getServiceAccountKey( + $grpc.ServiceCall call, $45.GetServiceAccountKeyRequest request); + $async.Future<$45.ServiceAccountKey> createServiceAccountKey( + $grpc.ServiceCall call, $45.CreateServiceAccountKeyRequest request); + $async.Future<$45.ServiceAccountKey> uploadServiceAccountKey( + $grpc.ServiceCall call, $45.UploadServiceAccountKeyRequest request); + $async.Future<$1.Empty> deleteServiceAccountKey( + $grpc.ServiceCall call, $45.DeleteServiceAccountKeyRequest request); + $async.Future<$1.Empty> disableServiceAccountKey( + $grpc.ServiceCall call, $45.DisableServiceAccountKeyRequest request); + $async.Future<$1.Empty> enableServiceAccountKey( + $grpc.ServiceCall call, $45.EnableServiceAccountKeyRequest request); + $async.Future<$45.SignBlobResponse> signBlob( + $grpc.ServiceCall call, $45.SignBlobRequest request); + $async.Future<$45.SignJwtResponse> signJwt( + $grpc.ServiceCall call, $45.SignJwtRequest request); + $async.Future<$43.Policy> getIamPolicy( + $grpc.ServiceCall call, $42.GetIamPolicyRequest request); + $async.Future<$43.Policy> setIamPolicy( + $grpc.ServiceCall call, $42.SetIamPolicyRequest request); + $async.Future<$42.TestIamPermissionsResponse> testIamPermissions( + $grpc.ServiceCall call, $42.TestIamPermissionsRequest request); + $async.Future<$45.QueryGrantableRolesResponse> queryGrantableRoles( + $grpc.ServiceCall call, $45.QueryGrantableRolesRequest request); + $async.Future<$45.ListRolesResponse> listRoles( + $grpc.ServiceCall call, $45.ListRolesRequest request); + $async.Future<$45.Role> getRole( + $grpc.ServiceCall call, $45.GetRoleRequest request); + $async.Future<$45.Role> createRole( + $grpc.ServiceCall call, $45.CreateRoleRequest request); + $async.Future<$45.Role> updateRole( + $grpc.ServiceCall call, $45.UpdateRoleRequest request); + $async.Future<$45.Role> deleteRole( + $grpc.ServiceCall call, $45.DeleteRoleRequest request); + $async.Future<$45.Role> undeleteRole( + $grpc.ServiceCall call, $45.UndeleteRoleRequest request); + $async.Future<$45.QueryTestablePermissionsResponse> queryTestablePermissions( + $grpc.ServiceCall call, $45.QueryTestablePermissionsRequest request); + $async.Future<$45.QueryAuditableServicesResponse> queryAuditableServices( + $grpc.ServiceCall call, $45.QueryAuditableServicesRequest request); + $async.Future<$45.LintPolicyResponse> lintPolicy( + $grpc.ServiceCall call, $45.LintPolicyRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbjson.dart new file mode 100644 index 00000000..3d3a431f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/admin/v1/iam.pbjson.dart @@ -0,0 +1,1221 @@ +// +// Generated code. Do not modify. +// source: google/iam/admin/v1/iam.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use serviceAccountKeyAlgorithmDescriptor instead') +const ServiceAccountKeyAlgorithm$json = { + '1': 'ServiceAccountKeyAlgorithm', + '2': [ + {'1': 'KEY_ALG_UNSPECIFIED', '2': 0}, + {'1': 'KEY_ALG_RSA_1024', '2': 1}, + {'1': 'KEY_ALG_RSA_2048', '2': 2}, + ], +}; + +/// Descriptor for `ServiceAccountKeyAlgorithm`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List serviceAccountKeyAlgorithmDescriptor = + $convert.base64Decode( + 'ChpTZXJ2aWNlQWNjb3VudEtleUFsZ29yaXRobRIXChNLRVlfQUxHX1VOU1BFQ0lGSUVEEAASFA' + 'oQS0VZX0FMR19SU0FfMTAyNBABEhQKEEtFWV9BTEdfUlNBXzIwNDgQAg=='); + +@$core.Deprecated('Use serviceAccountPrivateKeyTypeDescriptor instead') +const ServiceAccountPrivateKeyType$json = { + '1': 'ServiceAccountPrivateKeyType', + '2': [ + {'1': 'TYPE_UNSPECIFIED', '2': 0}, + {'1': 'TYPE_PKCS12_FILE', '2': 1}, + {'1': 'TYPE_GOOGLE_CREDENTIALS_FILE', '2': 2}, + ], +}; + +/// Descriptor for `ServiceAccountPrivateKeyType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List serviceAccountPrivateKeyTypeDescriptor = + $convert.base64Decode( + 'ChxTZXJ2aWNlQWNjb3VudFByaXZhdGVLZXlUeXBlEhQKEFRZUEVfVU5TUEVDSUZJRUQQABIUCh' + 'BUWVBFX1BLQ1MxMl9GSUxFEAESIAocVFlQRV9HT09HTEVfQ1JFREVOVElBTFNfRklMRRAC'); + +@$core.Deprecated('Use serviceAccountPublicKeyTypeDescriptor instead') +const ServiceAccountPublicKeyType$json = { + '1': 'ServiceAccountPublicKeyType', + '2': [ + {'1': 'TYPE_NONE', '2': 0}, + {'1': 'TYPE_X509_PEM_FILE', '2': 1}, + {'1': 'TYPE_RAW_PUBLIC_KEY', '2': 2}, + ], +}; + +/// Descriptor for `ServiceAccountPublicKeyType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List serviceAccountPublicKeyTypeDescriptor = + $convert.base64Decode( + 'ChtTZXJ2aWNlQWNjb3VudFB1YmxpY0tleVR5cGUSDQoJVFlQRV9OT05FEAASFgoSVFlQRV9YNT' + 'A5X1BFTV9GSUxFEAESFwoTVFlQRV9SQVdfUFVCTElDX0tFWRAC'); + +@$core.Deprecated('Use serviceAccountKeyOriginDescriptor instead') +const ServiceAccountKeyOrigin$json = { + '1': 'ServiceAccountKeyOrigin', + '2': [ + {'1': 'ORIGIN_UNSPECIFIED', '2': 0}, + {'1': 'USER_PROVIDED', '2': 1}, + {'1': 'GOOGLE_PROVIDED', '2': 2}, + ], +}; + +/// Descriptor for `ServiceAccountKeyOrigin`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List serviceAccountKeyOriginDescriptor = + $convert.base64Decode( + 'ChdTZXJ2aWNlQWNjb3VudEtleU9yaWdpbhIWChJPUklHSU5fVU5TUEVDSUZJRUQQABIRCg1VU0' + 'VSX1BST1ZJREVEEAESEwoPR09PR0xFX1BST1ZJREVEEAI='); + +@$core.Deprecated('Use roleViewDescriptor instead') +const RoleView$json = { + '1': 'RoleView', + '2': [ + {'1': 'BASIC', '2': 0}, + {'1': 'FULL', '2': 1}, + ], +}; + +/// Descriptor for `RoleView`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List roleViewDescriptor = + $convert.base64Decode('CghSb2xlVmlldxIJCgVCQVNJQxAAEggKBEZVTEwQAQ=='); + +@$core.Deprecated('Use serviceAccountDescriptor instead') +const ServiceAccount$json = { + '1': 'ServiceAccount', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'project_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'projectId'}, + {'1': 'unique_id', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'uniqueId'}, + {'1': 'email', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'email'}, + {'1': 'display_name', '3': 6, '4': 1, '5': 9, '8': {}, '10': 'displayName'}, + { + '1': 'etag', + '3': 7, + '4': 1, + '5': 12, + '8': {'3': true}, + '10': 'etag', + }, + {'1': 'description', '3': 8, '4': 1, '5': 9, '8': {}, '10': 'description'}, + { + '1': 'oauth2_client_id', + '3': 9, + '4': 1, + '5': 9, + '8': {}, + '10': 'oauth2ClientId' + }, + {'1': 'disabled', '3': 11, '4': 1, '5': 8, '8': {}, '10': 'disabled'}, + ], + '7': {}, +}; + +/// Descriptor for `ServiceAccount`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceAccountDescriptor = $convert.base64Decode( + 'Cg5TZXJ2aWNlQWNjb3VudBISCgRuYW1lGAEgASgJUgRuYW1lEiIKCnByb2plY3RfaWQYAiABKA' + 'lCA+BBA1IJcHJvamVjdElkEiAKCXVuaXF1ZV9pZBgEIAEoCUID4EEDUgh1bmlxdWVJZBIZCgVl' + 'bWFpbBgFIAEoCUID4EEDUgVlbWFpbBImCgxkaXNwbGF5X25hbWUYBiABKAlCA+BBAVILZGlzcG' + 'xheU5hbWUSFgoEZXRhZxgHIAEoDEICGAFSBGV0YWcSJQoLZGVzY3JpcHRpb24YCCABKAlCA+BB' + 'AVILZGVzY3JpcHRpb24SLQoQb2F1dGgyX2NsaWVudF9pZBgJIAEoCUID4EEDUg5vYXV0aDJDbG' + 'llbnRJZBIfCghkaXNhYmxlZBgLIAEoCEID4EEDUghkaXNhYmxlZDpc6kFZCiFpYW0uZ29vZ2xl' + 'YXBpcy5jb20vU2VydmljZUFjY291bnQSNHByb2plY3RzL3twcm9qZWN0fS9zZXJ2aWNlQWNjb3' + 'VudHMve3NlcnZpY2VfYWNjb3VudH0='); + +@$core.Deprecated('Use createServiceAccountRequestDescriptor instead') +const CreateServiceAccountRequest$json = { + '1': 'CreateServiceAccountRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'account_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'accountId'}, + { + '1': 'service_account', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.iam.admin.v1.ServiceAccount', + '10': 'serviceAccount' + }, + ], +}; + +/// Descriptor for `CreateServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createServiceAccountRequestDescriptor = $convert.base64Decode( + 'ChtDcmVhdGVTZXJ2aWNlQWNjb3VudFJlcXVlc3QSRwoEbmFtZRgBIAEoCUIz4EEC+kEtCitjbG' + '91ZHJlc291cmNlbWFuYWdlci5nb29nbGVhcGlzLmNvbS9Qcm9qZWN0UgRuYW1lEiIKCmFjY291' + 'bnRfaWQYAiABKAlCA+BBAlIJYWNjb3VudElkEkwKD3NlcnZpY2VfYWNjb3VudBgDIAEoCzIjLm' + 'dvb2dsZS5pYW0uYWRtaW4udjEuU2VydmljZUFjY291bnRSDnNlcnZpY2VBY2NvdW50'); + +@$core.Deprecated('Use listServiceAccountsRequestDescriptor instead') +const ListServiceAccountsRequest$json = { + '1': 'ListServiceAccountsRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListServiceAccountsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceAccountsRequestDescriptor = + $convert.base64Decode( + 'ChpMaXN0U2VydmljZUFjY291bnRzUmVxdWVzdBJHCgRuYW1lGAEgASgJQjPgQQL6QS0KK2Nsb3' + 'VkcmVzb3VyY2VtYW5hZ2VyLmdvb2dsZWFwaXMuY29tL1Byb2plY3RSBG5hbWUSGwoJcGFnZV9z' + 'aXplGAIgASgFUghwYWdlU2l6ZRIdCgpwYWdlX3Rva2VuGAMgASgJUglwYWdlVG9rZW4='); + +@$core.Deprecated('Use listServiceAccountsResponseDescriptor instead') +const ListServiceAccountsResponse$json = { + '1': 'ListServiceAccountsResponse', + '2': [ + { + '1': 'accounts', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.admin.v1.ServiceAccount', + '10': 'accounts' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListServiceAccountsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceAccountsResponseDescriptor = + $convert.base64Decode( + 'ChtMaXN0U2VydmljZUFjY291bnRzUmVzcG9uc2USPwoIYWNjb3VudHMYASADKAsyIy5nb29nbG' + 'UuaWFtLmFkbWluLnYxLlNlcnZpY2VBY2NvdW50UghhY2NvdW50cxImCg9uZXh0X3BhZ2VfdG9r' + 'ZW4YAiABKAlSDW5leHRQYWdlVG9rZW4='); + +@$core.Deprecated('Use getServiceAccountRequestDescriptor instead') +const GetServiceAccountRequest$json = { + '1': 'GetServiceAccountRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceAccountRequestDescriptor = + $convert.base64Decode( + 'ChhHZXRTZXJ2aWNlQWNjb3VudFJlcXVlc3QSPQoEbmFtZRgBIAEoCUIp4EEC+kEjCiFpYW0uZ2' + '9vZ2xlYXBpcy5jb20vU2VydmljZUFjY291bnRSBG5hbWU='); + +@$core.Deprecated('Use deleteServiceAccountRequestDescriptor instead') +const DeleteServiceAccountRequest$json = { + '1': 'DeleteServiceAccountRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteServiceAccountRequestDescriptor = + $convert.base64Decode( + 'ChtEZWxldGVTZXJ2aWNlQWNjb3VudFJlcXVlc3QSPQoEbmFtZRgBIAEoCUIp4EEC+kEjCiFpYW' + '0uZ29vZ2xlYXBpcy5jb20vU2VydmljZUFjY291bnRSBG5hbWU='); + +@$core.Deprecated('Use patchServiceAccountRequestDescriptor instead') +const PatchServiceAccountRequest$json = { + '1': 'PatchServiceAccountRequest', + '2': [ + { + '1': 'service_account', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.admin.v1.ServiceAccount', + '10': 'serviceAccount' + }, + { + '1': 'update_mask', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `PatchServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List patchServiceAccountRequestDescriptor = $convert.base64Decode( + 'ChpQYXRjaFNlcnZpY2VBY2NvdW50UmVxdWVzdBJMCg9zZXJ2aWNlX2FjY291bnQYASABKAsyIy' + '5nb29nbGUuaWFtLmFkbWluLnYxLlNlcnZpY2VBY2NvdW50Ug5zZXJ2aWNlQWNjb3VudBI7Cgt1' + 'cGRhdGVfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSCnVwZGF0ZU1hc2' + 's='); + +@$core.Deprecated('Use undeleteServiceAccountRequestDescriptor instead') +const UndeleteServiceAccountRequest$json = { + '1': 'UndeleteServiceAccountRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `UndeleteServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteServiceAccountRequestDescriptor = + $convert.base64Decode( + 'Ch1VbmRlbGV0ZVNlcnZpY2VBY2NvdW50UmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1l'); + +@$core.Deprecated('Use undeleteServiceAccountResponseDescriptor instead') +const UndeleteServiceAccountResponse$json = { + '1': 'UndeleteServiceAccountResponse', + '2': [ + { + '1': 'restored_account', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.admin.v1.ServiceAccount', + '10': 'restoredAccount' + }, + ], +}; + +/// Descriptor for `UndeleteServiceAccountResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteServiceAccountResponseDescriptor = + $convert.base64Decode( + 'Ch5VbmRlbGV0ZVNlcnZpY2VBY2NvdW50UmVzcG9uc2USTgoQcmVzdG9yZWRfYWNjb3VudBgBIA' + 'EoCzIjLmdvb2dsZS5pYW0uYWRtaW4udjEuU2VydmljZUFjY291bnRSD3Jlc3RvcmVkQWNjb3Vu' + 'dA=='); + +@$core.Deprecated('Use enableServiceAccountRequestDescriptor instead') +const EnableServiceAccountRequest$json = { + '1': 'EnableServiceAccountRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `EnableServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableServiceAccountRequestDescriptor = + $convert.base64Decode( + 'ChtFbmFibGVTZXJ2aWNlQWNjb3VudFJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZQ=='); + +@$core.Deprecated('Use disableServiceAccountRequestDescriptor instead') +const DisableServiceAccountRequest$json = { + '1': 'DisableServiceAccountRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DisableServiceAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List disableServiceAccountRequestDescriptor = + $convert.base64Decode( + 'ChxEaXNhYmxlU2VydmljZUFjY291bnRSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWU='); + +@$core.Deprecated('Use listServiceAccountKeysRequestDescriptor instead') +const ListServiceAccountKeysRequest$json = { + '1': 'ListServiceAccountKeysRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'key_types', + '3': 2, + '4': 3, + '5': 14, + '6': '.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType', + '10': 'keyTypes' + }, + ], + '4': [ListServiceAccountKeysRequest_KeyType$json], +}; + +@$core.Deprecated('Use listServiceAccountKeysRequestDescriptor instead') +const ListServiceAccountKeysRequest_KeyType$json = { + '1': 'KeyType', + '2': [ + {'1': 'KEY_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'USER_MANAGED', '2': 1}, + {'1': 'SYSTEM_MANAGED', '2': 2}, + ], +}; + +/// Descriptor for `ListServiceAccountKeysRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceAccountKeysRequestDescriptor = $convert.base64Decode( + 'Ch1MaXN0U2VydmljZUFjY291bnRLZXlzUmVxdWVzdBI9CgRuYW1lGAEgASgJQingQQL6QSMKIW' + 'lhbS5nb29nbGVhcGlzLmNvbS9TZXJ2aWNlQWNjb3VudFIEbmFtZRJXCglrZXlfdHlwZXMYAiAD' + 'KA4yOi5nb29nbGUuaWFtLmFkbWluLnYxLkxpc3RTZXJ2aWNlQWNjb3VudEtleXNSZXF1ZXN0Lk' + 'tleVR5cGVSCGtleVR5cGVzIkkKB0tleVR5cGUSGAoUS0VZX1RZUEVfVU5TUEVDSUZJRUQQABIQ' + 'CgxVU0VSX01BTkFHRUQQARISCg5TWVNURU1fTUFOQUdFRBAC'); + +@$core.Deprecated('Use listServiceAccountKeysResponseDescriptor instead') +const ListServiceAccountKeysResponse$json = { + '1': 'ListServiceAccountKeysResponse', + '2': [ + { + '1': 'keys', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.admin.v1.ServiceAccountKey', + '10': 'keys' + }, + ], +}; + +/// Descriptor for `ListServiceAccountKeysResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listServiceAccountKeysResponseDescriptor = + $convert.base64Decode( + 'Ch5MaXN0U2VydmljZUFjY291bnRLZXlzUmVzcG9uc2USOgoEa2V5cxgBIAMoCzImLmdvb2dsZS' + '5pYW0uYWRtaW4udjEuU2VydmljZUFjY291bnRLZXlSBGtleXM='); + +@$core.Deprecated('Use getServiceAccountKeyRequestDescriptor instead') +const GetServiceAccountKeyRequest$json = { + '1': 'GetServiceAccountKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'public_key_type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ServiceAccountPublicKeyType', + '8': {}, + '10': 'publicKeyType' + }, + ], +}; + +/// Descriptor for `GetServiceAccountKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServiceAccountKeyRequestDescriptor = $convert.base64Decode( + 'ChtHZXRTZXJ2aWNlQWNjb3VudEtleVJlcXVlc3QSMgoEbmFtZRgBIAEoCUIe4EEC+kEYChZpYW' + '0uZ29vZ2xlYXBpcy5jb20vS2V5UgRuYW1lEl0KD3B1YmxpY19rZXlfdHlwZRgCIAEoDjIwLmdv' + 'b2dsZS5pYW0uYWRtaW4udjEuU2VydmljZUFjY291bnRQdWJsaWNLZXlUeXBlQgPgQQFSDXB1Ym' + 'xpY0tleVR5cGU='); + +@$core.Deprecated('Use serviceAccountKeyDescriptor instead') +const ServiceAccountKey$json = { + '1': 'ServiceAccountKey', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'private_key_type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ServiceAccountPrivateKeyType', + '10': 'privateKeyType' + }, + { + '1': 'key_algorithm', + '3': 8, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ServiceAccountKeyAlgorithm', + '10': 'keyAlgorithm' + }, + {'1': 'private_key_data', '3': 3, '4': 1, '5': 12, '10': 'privateKeyData'}, + {'1': 'public_key_data', '3': 7, '4': 1, '5': 12, '10': 'publicKeyData'}, + { + '1': 'valid_after_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'validAfterTime' + }, + { + '1': 'valid_before_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'validBeforeTime' + }, + { + '1': 'key_origin', + '3': 9, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ServiceAccountKeyOrigin', + '10': 'keyOrigin' + }, + { + '1': 'key_type', + '3': 10, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ListServiceAccountKeysRequest.KeyType', + '10': 'keyType' + }, + {'1': 'disabled', '3': 11, '4': 1, '5': 8, '10': 'disabled'}, + ], + '7': {}, +}; + +/// Descriptor for `ServiceAccountKey`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceAccountKeyDescriptor = $convert.base64Decode( + 'ChFTZXJ2aWNlQWNjb3VudEtleRISCgRuYW1lGAEgASgJUgRuYW1lElsKEHByaXZhdGVfa2V5X3' + 'R5cGUYAiABKA4yMS5nb29nbGUuaWFtLmFkbWluLnYxLlNlcnZpY2VBY2NvdW50UHJpdmF0ZUtl' + 'eVR5cGVSDnByaXZhdGVLZXlUeXBlElQKDWtleV9hbGdvcml0aG0YCCABKA4yLy5nb29nbGUuaW' + 'FtLmFkbWluLnYxLlNlcnZpY2VBY2NvdW50S2V5QWxnb3JpdGhtUgxrZXlBbGdvcml0aG0SKAoQ' + 'cHJpdmF0ZV9rZXlfZGF0YRgDIAEoDFIOcHJpdmF0ZUtleURhdGESJgoPcHVibGljX2tleV9kYX' + 'RhGAcgASgMUg1wdWJsaWNLZXlEYXRhEkQKEHZhbGlkX2FmdGVyX3RpbWUYBCABKAsyGi5nb29n' + 'bGUucHJvdG9idWYuVGltZXN0YW1wUg52YWxpZEFmdGVyVGltZRJGChF2YWxpZF9iZWZvcmVfdG' + 'ltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSD3ZhbGlkQmVmb3JlVGltZRJL' + 'CgprZXlfb3JpZ2luGAkgASgOMiwuZ29vZ2xlLmlhbS5hZG1pbi52MS5TZXJ2aWNlQWNjb3VudE' + 'tleU9yaWdpblIJa2V5T3JpZ2luElUKCGtleV90eXBlGAogASgOMjouZ29vZ2xlLmlhbS5hZG1p' + 'bi52MS5MaXN0U2VydmljZUFjY291bnRLZXlzUmVxdWVzdC5LZXlUeXBlUgdrZXlUeXBlEhoKCG' + 'Rpc2FibGVkGAsgASgIUghkaXNhYmxlZDpc6kFZChZpYW0uZ29vZ2xlYXBpcy5jb20vS2V5Ej9w' + 'cm9qZWN0cy97cHJvamVjdH0vc2VydmljZUFjY291bnRzL3tzZXJ2aWNlX2FjY291bnR9L2tleX' + 'Mve2tleX0='); + +@$core.Deprecated('Use createServiceAccountKeyRequestDescriptor instead') +const CreateServiceAccountKeyRequest$json = { + '1': 'CreateServiceAccountKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'private_key_type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ServiceAccountPrivateKeyType', + '10': 'privateKeyType' + }, + { + '1': 'key_algorithm', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.ServiceAccountKeyAlgorithm', + '10': 'keyAlgorithm' + }, + ], +}; + +/// Descriptor for `CreateServiceAccountKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createServiceAccountKeyRequestDescriptor = $convert.base64Decode( + 'Ch5DcmVhdGVTZXJ2aWNlQWNjb3VudEtleVJlcXVlc3QSPQoEbmFtZRgBIAEoCUIp4EEC+kEjCi' + 'FpYW0uZ29vZ2xlYXBpcy5jb20vU2VydmljZUFjY291bnRSBG5hbWUSWwoQcHJpdmF0ZV9rZXlf' + 'dHlwZRgCIAEoDjIxLmdvb2dsZS5pYW0uYWRtaW4udjEuU2VydmljZUFjY291bnRQcml2YXRlS2' + 'V5VHlwZVIOcHJpdmF0ZUtleVR5cGUSVAoNa2V5X2FsZ29yaXRobRgDIAEoDjIvLmdvb2dsZS5p' + 'YW0uYWRtaW4udjEuU2VydmljZUFjY291bnRLZXlBbGdvcml0aG1SDGtleUFsZ29yaXRobQ=='); + +@$core.Deprecated('Use uploadServiceAccountKeyRequestDescriptor instead') +const UploadServiceAccountKeyRequest$json = { + '1': 'UploadServiceAccountKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'public_key_data', '3': 2, '4': 1, '5': 12, '10': 'publicKeyData'}, + ], +}; + +/// Descriptor for `UploadServiceAccountKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List uploadServiceAccountKeyRequestDescriptor = + $convert.base64Decode( + 'Ch5VcGxvYWRTZXJ2aWNlQWNjb3VudEtleVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZRImCg' + '9wdWJsaWNfa2V5X2RhdGEYAiABKAxSDXB1YmxpY0tleURhdGE='); + +@$core.Deprecated('Use deleteServiceAccountKeyRequestDescriptor instead') +const DeleteServiceAccountKeyRequest$json = { + '1': 'DeleteServiceAccountKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteServiceAccountKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteServiceAccountKeyRequestDescriptor = + $convert.base64Decode( + 'Ch5EZWxldGVTZXJ2aWNlQWNjb3VudEtleVJlcXVlc3QSMgoEbmFtZRgBIAEoCUIe4EEC+kEYCh' + 'ZpYW0uZ29vZ2xlYXBpcy5jb20vS2V5UgRuYW1l'); + +@$core.Deprecated('Use disableServiceAccountKeyRequestDescriptor instead') +const DisableServiceAccountKeyRequest$json = { + '1': 'DisableServiceAccountKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DisableServiceAccountKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List disableServiceAccountKeyRequestDescriptor = + $convert.base64Decode( + 'Ch9EaXNhYmxlU2VydmljZUFjY291bnRLZXlSZXF1ZXN0EjIKBG5hbWUYASABKAlCHuBBAvpBGA' + 'oWaWFtLmdvb2dsZWFwaXMuY29tL0tleVIEbmFtZQ=='); + +@$core.Deprecated('Use enableServiceAccountKeyRequestDescriptor instead') +const EnableServiceAccountKeyRequest$json = { + '1': 'EnableServiceAccountKeyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `EnableServiceAccountKeyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableServiceAccountKeyRequestDescriptor = + $convert.base64Decode( + 'Ch5FbmFibGVTZXJ2aWNlQWNjb3VudEtleVJlcXVlc3QSMgoEbmFtZRgBIAEoCUIe4EEC+kEYCh' + 'ZpYW0uZ29vZ2xlYXBpcy5jb20vS2V5UgRuYW1l'); + +@$core.Deprecated('Use signBlobRequestDescriptor instead') +const SignBlobRequest$json = { + '1': 'SignBlobRequest', + '2': [ + { + '1': 'name', + '3': 1, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'name', + }, + { + '1': 'bytes_to_sign', + '3': 2, + '4': 1, + '5': 12, + '8': {'3': true}, + '10': 'bytesToSign', + }, + ], +}; + +/// Descriptor for `SignBlobRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signBlobRequestDescriptor = $convert.base64Decode( + 'Cg9TaWduQmxvYlJlcXVlc3QSPwoEbmFtZRgBIAEoCUIrGAHgQQL6QSMKIWlhbS5nb29nbGVhcG' + 'lzLmNvbS9TZXJ2aWNlQWNjb3VudFIEbmFtZRIpCg1ieXRlc190b19zaWduGAIgASgMQgUYAeBB' + 'AlILYnl0ZXNUb1NpZ24='); + +@$core.Deprecated('Use signBlobResponseDescriptor instead') +const SignBlobResponse$json = { + '1': 'SignBlobResponse', + '2': [ + { + '1': 'key_id', + '3': 1, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'keyId', + }, + { + '1': 'signature', + '3': 2, + '4': 1, + '5': 12, + '8': {'3': true}, + '10': 'signature', + }, + ], +}; + +/// Descriptor for `SignBlobResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signBlobResponseDescriptor = $convert.base64Decode( + 'ChBTaWduQmxvYlJlc3BvbnNlEhkKBmtleV9pZBgBIAEoCUICGAFSBWtleUlkEiAKCXNpZ25hdH' + 'VyZRgCIAEoDEICGAFSCXNpZ25hdHVyZQ=='); + +@$core.Deprecated('Use signJwtRequestDescriptor instead') +const SignJwtRequest$json = { + '1': 'SignJwtRequest', + '2': [ + { + '1': 'name', + '3': 1, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'name', + }, + { + '1': 'payload', + '3': 2, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'payload', + }, + ], +}; + +/// Descriptor for `SignJwtRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signJwtRequestDescriptor = $convert.base64Decode( + 'Cg5TaWduSnd0UmVxdWVzdBI/CgRuYW1lGAEgASgJQisYAeBBAvpBIwohaWFtLmdvb2dsZWFwaX' + 'MuY29tL1NlcnZpY2VBY2NvdW50UgRuYW1lEh8KB3BheWxvYWQYAiABKAlCBRgB4EECUgdwYXls' + 'b2Fk'); + +@$core.Deprecated('Use signJwtResponseDescriptor instead') +const SignJwtResponse$json = { + '1': 'SignJwtResponse', + '2': [ + { + '1': 'key_id', + '3': 1, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'keyId', + }, + { + '1': 'signed_jwt', + '3': 2, + '4': 1, + '5': 9, + '8': {'3': true}, + '10': 'signedJwt', + }, + ], +}; + +/// Descriptor for `SignJwtResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signJwtResponseDescriptor = $convert.base64Decode( + 'Cg9TaWduSnd0UmVzcG9uc2USGQoGa2V5X2lkGAEgASgJQgIYAVIFa2V5SWQSIQoKc2lnbmVkX2' + 'p3dBgCIAEoCUICGAFSCXNpZ25lZEp3dA=='); + +@$core.Deprecated('Use roleDescriptor instead') +const Role$json = { + '1': 'Role', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'title', '3': 2, '4': 1, '5': 9, '10': 'title'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'included_permissions', + '3': 7, + '4': 3, + '5': 9, + '10': 'includedPermissions' + }, + { + '1': 'stage', + '3': 8, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.Role.RoleLaunchStage', + '10': 'stage' + }, + {'1': 'etag', '3': 9, '4': 1, '5': 12, '10': 'etag'}, + {'1': 'deleted', '3': 11, '4': 1, '5': 8, '10': 'deleted'}, + ], + '4': [Role_RoleLaunchStage$json], +}; + +@$core.Deprecated('Use roleDescriptor instead') +const Role_RoleLaunchStage$json = { + '1': 'RoleLaunchStage', + '2': [ + {'1': 'ALPHA', '2': 0}, + {'1': 'BETA', '2': 1}, + {'1': 'GA', '2': 2}, + {'1': 'DEPRECATED', '2': 4}, + {'1': 'DISABLED', '2': 5}, + {'1': 'EAP', '2': 6}, + ], +}; + +/// Descriptor for `Role`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List roleDescriptor = $convert.base64Decode( + 'CgRSb2xlEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFdGl0bGUYAiABKAlSBXRpdGxlEiAKC2Rlc2' + 'NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIxChRpbmNsdWRlZF9wZXJtaXNzaW9ucxgHIAMo' + 'CVITaW5jbHVkZWRQZXJtaXNzaW9ucxI/CgVzdGFnZRgIIAEoDjIpLmdvb2dsZS5pYW0uYWRtaW' + '4udjEuUm9sZS5Sb2xlTGF1bmNoU3RhZ2VSBXN0YWdlEhIKBGV0YWcYCSABKAxSBGV0YWcSGAoH' + 'ZGVsZXRlZBgLIAEoCFIHZGVsZXRlZCJVCg9Sb2xlTGF1bmNoU3RhZ2USCQoFQUxQSEEQABIICg' + 'RCRVRBEAESBgoCR0EQAhIOCgpERVBSRUNBVEVEEAQSDAoIRElTQUJMRUQQBRIHCgNFQVAQBg=='); + +@$core.Deprecated('Use queryGrantableRolesRequestDescriptor instead') +const QueryGrantableRolesRequest$json = { + '1': 'QueryGrantableRolesRequest', + '2': [ + { + '1': 'full_resource_name', + '3': 1, + '4': 1, + '5': 9, + '8': {}, + '10': 'fullResourceName' + }, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.RoleView', + '10': 'view' + }, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 4, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `QueryGrantableRolesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryGrantableRolesRequestDescriptor = $convert.base64Decode( + 'ChpRdWVyeUdyYW50YWJsZVJvbGVzUmVxdWVzdBIxChJmdWxsX3Jlc291cmNlX25hbWUYASABKA' + 'lCA+BBAlIQZnVsbFJlc291cmNlTmFtZRIxCgR2aWV3GAIgASgOMh0uZ29vZ2xlLmlhbS5hZG1p' + 'bi52MS5Sb2xlVmlld1IEdmlldxIbCglwYWdlX3NpemUYAyABKAVSCHBhZ2VTaXplEh0KCnBhZ2' + 'VfdG9rZW4YBCABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use queryGrantableRolesResponseDescriptor instead') +const QueryGrantableRolesResponse$json = { + '1': 'QueryGrantableRolesResponse', + '2': [ + { + '1': 'roles', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.admin.v1.Role', + '10': 'roles' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `QueryGrantableRolesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryGrantableRolesResponseDescriptor = + $convert.base64Decode( + 'ChtRdWVyeUdyYW50YWJsZVJvbGVzUmVzcG9uc2USLwoFcm9sZXMYASADKAsyGS5nb29nbGUuaW' + 'FtLmFkbWluLnYxLlJvbGVSBXJvbGVzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBh' + 'Z2VUb2tlbg=='); + +@$core.Deprecated('Use listRolesRequestDescriptor instead') +const ListRolesRequest$json = { + '1': 'ListRolesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + { + '1': 'view', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.RoleView', + '10': 'view' + }, + {'1': 'show_deleted', '3': 6, '4': 1, '5': 8, '10': 'showDeleted'}, + ], +}; + +/// Descriptor for `ListRolesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listRolesRequestDescriptor = $convert.base64Decode( + 'ChBMaXN0Um9sZXNSZXF1ZXN0Eh4KBnBhcmVudBgBIAEoCUIG+kEDCgEqUgZwYXJlbnQSGwoJcG' + 'FnZV9zaXplGAIgASgFUghwYWdlU2l6ZRIdCgpwYWdlX3Rva2VuGAMgASgJUglwYWdlVG9rZW4S' + 'MQoEdmlldxgEIAEoDjIdLmdvb2dsZS5pYW0uYWRtaW4udjEuUm9sZVZpZXdSBHZpZXcSIQoMc2' + 'hvd19kZWxldGVkGAYgASgIUgtzaG93RGVsZXRlZA=='); + +@$core.Deprecated('Use listRolesResponseDescriptor instead') +const ListRolesResponse$json = { + '1': 'ListRolesResponse', + '2': [ + { + '1': 'roles', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.admin.v1.Role', + '10': 'roles' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListRolesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listRolesResponseDescriptor = $convert.base64Decode( + 'ChFMaXN0Um9sZXNSZXNwb25zZRIvCgVyb2xlcxgBIAMoCzIZLmdvb2dsZS5pYW0uYWRtaW4udj' + 'EuUm9sZVIFcm9sZXMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use getRoleRequestDescriptor instead') +const GetRoleRequest$json = { + '1': 'GetRoleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetRoleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getRoleRequestDescriptor = $convert.base64Decode( + 'Cg5HZXRSb2xlUmVxdWVzdBIaCgRuYW1lGAEgASgJQgb6QQMKASpSBG5hbWU='); + +@$core.Deprecated('Use createRoleRequestDescriptor instead') +const CreateRoleRequest$json = { + '1': 'CreateRoleRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'role_id', '3': 2, '4': 1, '5': 9, '10': 'roleId'}, + { + '1': 'role', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.iam.admin.v1.Role', + '10': 'role' + }, + ], +}; + +/// Descriptor for `CreateRoleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createRoleRequestDescriptor = $convert.base64Decode( + 'ChFDcmVhdGVSb2xlUmVxdWVzdBIeCgZwYXJlbnQYASABKAlCBvpBAwoBKlIGcGFyZW50EhcKB3' + 'JvbGVfaWQYAiABKAlSBnJvbGVJZBItCgRyb2xlGAMgASgLMhkuZ29vZ2xlLmlhbS5hZG1pbi52' + 'MS5Sb2xlUgRyb2xl'); + +@$core.Deprecated('Use updateRoleRequestDescriptor instead') +const UpdateRoleRequest$json = { + '1': 'UpdateRoleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'role', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.admin.v1.Role', + '10': 'role' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateRoleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateRoleRequestDescriptor = $convert.base64Decode( + 'ChFVcGRhdGVSb2xlUmVxdWVzdBIaCgRuYW1lGAEgASgJQgb6QQMKASpSBG5hbWUSLQoEcm9sZR' + 'gCIAEoCzIZLmdvb2dsZS5pYW0uYWRtaW4udjEuUm9sZVIEcm9sZRI7Cgt1cGRhdGVfbWFzaxgD' + 'IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSCnVwZGF0ZU1hc2s='); + +@$core.Deprecated('Use deleteRoleRequestDescriptor instead') +const DeleteRoleRequest$json = { + '1': 'DeleteRoleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'etag', '3': 2, '4': 1, '5': 12, '10': 'etag'}, + ], +}; + +/// Descriptor for `DeleteRoleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteRoleRequestDescriptor = $convert.base64Decode( + 'ChFEZWxldGVSb2xlUmVxdWVzdBIaCgRuYW1lGAEgASgJQgb6QQMKASpSBG5hbWUSEgoEZXRhZx' + 'gCIAEoDFIEZXRhZw=='); + +@$core.Deprecated('Use undeleteRoleRequestDescriptor instead') +const UndeleteRoleRequest$json = { + '1': 'UndeleteRoleRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'etag', '3': 2, '4': 1, '5': 12, '10': 'etag'}, + ], +}; + +/// Descriptor for `UndeleteRoleRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteRoleRequestDescriptor = $convert.base64Decode( + 'ChNVbmRlbGV0ZVJvbGVSZXF1ZXN0EhoKBG5hbWUYASABKAlCBvpBAwoBKlIEbmFtZRISCgRldG' + 'FnGAIgASgMUgRldGFn'); + +@$core.Deprecated('Use permissionDescriptor instead') +const Permission$json = { + '1': 'Permission', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'title', '3': 2, '4': 1, '5': 9, '10': 'title'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'only_in_predefined_roles', + '3': 4, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'onlyInPredefinedRoles', + }, + { + '1': 'stage', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.Permission.PermissionLaunchStage', + '10': 'stage' + }, + { + '1': 'custom_roles_support_level', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.Permission.CustomRolesSupportLevel', + '10': 'customRolesSupportLevel' + }, + {'1': 'api_disabled', '3': 7, '4': 1, '5': 8, '10': 'apiDisabled'}, + { + '1': 'primary_permission', + '3': 8, + '4': 1, + '5': 9, + '10': 'primaryPermission' + }, + ], + '4': [ + Permission_PermissionLaunchStage$json, + Permission_CustomRolesSupportLevel$json + ], +}; + +@$core.Deprecated('Use permissionDescriptor instead') +const Permission_PermissionLaunchStage$json = { + '1': 'PermissionLaunchStage', + '2': [ + {'1': 'ALPHA', '2': 0}, + {'1': 'BETA', '2': 1}, + {'1': 'GA', '2': 2}, + {'1': 'DEPRECATED', '2': 3}, + ], +}; + +@$core.Deprecated('Use permissionDescriptor instead') +const Permission_CustomRolesSupportLevel$json = { + '1': 'CustomRolesSupportLevel', + '2': [ + {'1': 'SUPPORTED', '2': 0}, + {'1': 'TESTING', '2': 1}, + {'1': 'NOT_SUPPORTED', '2': 2}, + ], +}; + +/// Descriptor for `Permission`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List permissionDescriptor = $convert.base64Decode( + 'CgpQZXJtaXNzaW9uEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFdGl0bGUYAiABKAlSBXRpdGxlEi' + 'AKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhI7Chhvbmx5X2luX3ByZWRlZmluZWRf' + 'cm9sZXMYBCABKAhCAhgBUhVvbmx5SW5QcmVkZWZpbmVkUm9sZXMSSwoFc3RhZ2UYBSABKA4yNS' + '5nb29nbGUuaWFtLmFkbWluLnYxLlBlcm1pc3Npb24uUGVybWlzc2lvbkxhdW5jaFN0YWdlUgVz' + 'dGFnZRJ0ChpjdXN0b21fcm9sZXNfc3VwcG9ydF9sZXZlbBgGIAEoDjI3Lmdvb2dsZS5pYW0uYW' + 'RtaW4udjEuUGVybWlzc2lvbi5DdXN0b21Sb2xlc1N1cHBvcnRMZXZlbFIXY3VzdG9tUm9sZXNT' + 'dXBwb3J0TGV2ZWwSIQoMYXBpX2Rpc2FibGVkGAcgASgIUgthcGlEaXNhYmxlZBItChJwcmltYX' + 'J5X3Blcm1pc3Npb24YCCABKAlSEXByaW1hcnlQZXJtaXNzaW9uIkQKFVBlcm1pc3Npb25MYXVu' + 'Y2hTdGFnZRIJCgVBTFBIQRAAEggKBEJFVEEQARIGCgJHQRACEg4KCkRFUFJFQ0FURUQQAyJICh' + 'dDdXN0b21Sb2xlc1N1cHBvcnRMZXZlbBINCglTVVBQT1JURUQQABILCgdURVNUSU5HEAESEQoN' + 'Tk9UX1NVUFBPUlRFRBAC'); + +@$core.Deprecated('Use queryTestablePermissionsRequestDescriptor instead') +const QueryTestablePermissionsRequest$json = { + '1': 'QueryTestablePermissionsRequest', + '2': [ + { + '1': 'full_resource_name', + '3': 1, + '4': 1, + '5': 9, + '10': 'fullResourceName' + }, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `QueryTestablePermissionsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestablePermissionsRequestDescriptor = + $convert.base64Decode( + 'Ch9RdWVyeVRlc3RhYmxlUGVybWlzc2lvbnNSZXF1ZXN0EiwKEmZ1bGxfcmVzb3VyY2VfbmFtZR' + 'gBIAEoCVIQZnVsbFJlc291cmNlTmFtZRIbCglwYWdlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0K' + 'CnBhZ2VfdG9rZW4YAyABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use queryTestablePermissionsResponseDescriptor instead') +const QueryTestablePermissionsResponse$json = { + '1': 'QueryTestablePermissionsResponse', + '2': [ + { + '1': 'permissions', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.admin.v1.Permission', + '10': 'permissions' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `QueryTestablePermissionsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryTestablePermissionsResponseDescriptor = + $convert.base64Decode( + 'CiBRdWVyeVRlc3RhYmxlUGVybWlzc2lvbnNSZXNwb25zZRJBCgtwZXJtaXNzaW9ucxgBIAMoCz' + 'IfLmdvb2dsZS5pYW0uYWRtaW4udjEuUGVybWlzc2lvblILcGVybWlzc2lvbnMSJgoPbmV4dF9w' + 'YWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use queryAuditableServicesRequestDescriptor instead') +const QueryAuditableServicesRequest$json = { + '1': 'QueryAuditableServicesRequest', + '2': [ + { + '1': 'full_resource_name', + '3': 1, + '4': 1, + '5': 9, + '10': 'fullResourceName' + }, + ], +}; + +/// Descriptor for `QueryAuditableServicesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryAuditableServicesRequestDescriptor = + $convert.base64Decode( + 'Ch1RdWVyeUF1ZGl0YWJsZVNlcnZpY2VzUmVxdWVzdBIsChJmdWxsX3Jlc291cmNlX25hbWUYAS' + 'ABKAlSEGZ1bGxSZXNvdXJjZU5hbWU='); + +@$core.Deprecated('Use queryAuditableServicesResponseDescriptor instead') +const QueryAuditableServicesResponse$json = { + '1': 'QueryAuditableServicesResponse', + '2': [ + { + '1': 'services', + '3': 1, + '4': 3, + '5': 11, + '6': + '.google.iam.admin.v1.QueryAuditableServicesResponse.AuditableService', + '10': 'services' + }, + ], + '3': [QueryAuditableServicesResponse_AuditableService$json], +}; + +@$core.Deprecated('Use queryAuditableServicesResponseDescriptor instead') +const QueryAuditableServicesResponse_AuditableService$json = { + '1': 'AuditableService', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `QueryAuditableServicesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List queryAuditableServicesResponseDescriptor = + $convert.base64Decode( + 'Ch5RdWVyeUF1ZGl0YWJsZVNlcnZpY2VzUmVzcG9uc2USYAoIc2VydmljZXMYASADKAsyRC5nb2' + '9nbGUuaWFtLmFkbWluLnYxLlF1ZXJ5QXVkaXRhYmxlU2VydmljZXNSZXNwb25zZS5BdWRpdGFi' + 'bGVTZXJ2aWNlUghzZXJ2aWNlcxomChBBdWRpdGFibGVTZXJ2aWNlEhIKBG5hbWUYASABKAlSBG' + '5hbWU='); + +@$core.Deprecated('Use lintPolicyRequestDescriptor instead') +const LintPolicyRequest$json = { + '1': 'LintPolicyRequest', + '2': [ + { + '1': 'full_resource_name', + '3': 1, + '4': 1, + '5': 9, + '10': 'fullResourceName' + }, + { + '1': 'condition', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.type.Expr', + '9': 0, + '10': 'condition' + }, + ], + '8': [ + {'1': 'lint_object'}, + ], +}; + +/// Descriptor for `LintPolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lintPolicyRequestDescriptor = $convert.base64Decode( + 'ChFMaW50UG9saWN5UmVxdWVzdBIsChJmdWxsX3Jlc291cmNlX25hbWUYASABKAlSEGZ1bGxSZX' + 'NvdXJjZU5hbWUSMQoJY29uZGl0aW9uGAUgASgLMhEuZ29vZ2xlLnR5cGUuRXhwckgAUgljb25k' + 'aXRpb25CDQoLbGludF9vYmplY3Q='); + +@$core.Deprecated('Use lintResultDescriptor instead') +const LintResult$json = { + '1': 'LintResult', + '2': [ + { + '1': 'level', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.LintResult.Level', + '10': 'level' + }, + { + '1': 'validation_unit_name', + '3': 2, + '4': 1, + '5': 9, + '10': 'validationUnitName' + }, + { + '1': 'severity', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.iam.admin.v1.LintResult.Severity', + '10': 'severity' + }, + {'1': 'field_name', '3': 5, '4': 1, '5': 9, '10': 'fieldName'}, + {'1': 'location_offset', '3': 6, '4': 1, '5': 5, '10': 'locationOffset'}, + {'1': 'debug_message', '3': 7, '4': 1, '5': 9, '10': 'debugMessage'}, + ], + '4': [LintResult_Level$json, LintResult_Severity$json], +}; + +@$core.Deprecated('Use lintResultDescriptor instead') +const LintResult_Level$json = { + '1': 'Level', + '2': [ + {'1': 'LEVEL_UNSPECIFIED', '2': 0}, + {'1': 'CONDITION', '2': 3}, + ], +}; + +@$core.Deprecated('Use lintResultDescriptor instead') +const LintResult_Severity$json = { + '1': 'Severity', + '2': [ + {'1': 'SEVERITY_UNSPECIFIED', '2': 0}, + {'1': 'ERROR', '2': 1}, + {'1': 'WARNING', '2': 2}, + {'1': 'NOTICE', '2': 3}, + {'1': 'INFO', '2': 4}, + {'1': 'DEPRECATED', '2': 5}, + ], +}; + +/// Descriptor for `LintResult`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lintResultDescriptor = $convert.base64Decode( + 'CgpMaW50UmVzdWx0EjsKBWxldmVsGAEgASgOMiUuZ29vZ2xlLmlhbS5hZG1pbi52MS5MaW50Um' + 'VzdWx0LkxldmVsUgVsZXZlbBIwChR2YWxpZGF0aW9uX3VuaXRfbmFtZRgCIAEoCVISdmFsaWRh' + 'dGlvblVuaXROYW1lEkQKCHNldmVyaXR5GAMgASgOMiguZ29vZ2xlLmlhbS5hZG1pbi52MS5MaW' + '50UmVzdWx0LlNldmVyaXR5UghzZXZlcml0eRIdCgpmaWVsZF9uYW1lGAUgASgJUglmaWVsZE5h' + 'bWUSJwoPbG9jYXRpb25fb2Zmc2V0GAYgASgFUg5sb2NhdGlvbk9mZnNldBIjCg1kZWJ1Z19tZX' + 'NzYWdlGAcgASgJUgxkZWJ1Z01lc3NhZ2UiLQoFTGV2ZWwSFQoRTEVWRUxfVU5TUEVDSUZJRUQQ' + 'ABINCglDT05ESVRJT04QAyJiCghTZXZlcml0eRIYChRTRVZFUklUWV9VTlNQRUNJRklFRBAAEg' + 'kKBUVSUk9SEAESCwoHV0FSTklORxACEgoKBk5PVElDRRADEggKBElORk8QBBIOCgpERVBSRUNB' + 'VEVEEAU='); + +@$core.Deprecated('Use lintPolicyResponseDescriptor instead') +const LintPolicyResponse$json = { + '1': 'LintPolicyResponse', + '2': [ + { + '1': 'lint_results', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.admin.v1.LintResult', + '10': 'lintResults' + }, + ], +}; + +/// Descriptor for `LintPolicyResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List lintPolicyResponseDescriptor = $convert.base64Decode( + 'ChJMaW50UG9saWN5UmVzcG9uc2USQgoMbGludF9yZXN1bHRzGAEgAygLMh8uZ29vZ2xlLmlhbS' + '5hZG1pbi52MS5MaW50UmVzdWx0UgtsaW50UmVzdWx0cw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pb.dart new file mode 100644 index 00000000..3fd37a24 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pb.dart @@ -0,0 +1,790 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/common.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../../protobuf/duration.pb.dart' as $51; +import '../../../protobuf/timestamp.pb.dart' as $50; + +class GenerateAccessTokenRequest extends $pb.GeneratedMessage { + factory GenerateAccessTokenRequest({ + $core.String? name, + $core.Iterable<$core.String>? delegates, + $core.Iterable<$core.String>? scope, + $51.Duration? lifetime, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (delegates != null) { + $result.delegates.addAll(delegates); + } + if (scope != null) { + $result.scope.addAll(scope); + } + if (lifetime != null) { + $result.lifetime = lifetime; + } + return $result; + } + GenerateAccessTokenRequest._() : super(); + factory GenerateAccessTokenRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateAccessTokenRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateAccessTokenRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pPS(2, _omitFieldNames ? '' : 'delegates') + ..pPS(4, _omitFieldNames ? '' : 'scope') + ..aOM<$51.Duration>(7, _omitFieldNames ? '' : 'lifetime', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateAccessTokenRequest clone() => + GenerateAccessTokenRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateAccessTokenRequest copyWith( + void Function(GenerateAccessTokenRequest) updates) => + super.copyWith( + (message) => updates(message as GenerateAccessTokenRequest)) + as GenerateAccessTokenRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateAccessTokenRequest create() => GenerateAccessTokenRequest._(); + GenerateAccessTokenRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateAccessTokenRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateAccessTokenRequest? _defaultInstance; + + /// Required. The resource name of the service account for which the credentials + /// are requested, in the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The sequence of service accounts in a delegation chain. Each service + /// account must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on its next service account in the chain. The last service account in the + /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on the service account that is specified in the `name` field of the + /// request. + /// + /// The delegates must have the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(2) + $core.List<$core.String> get delegates => $_getList(1); + + /// Required. Code to identify the scopes to be included in the OAuth 2.0 access token. + /// See https://developers.google.com/identity/protocols/googlescopes for more + /// information. + /// At least one value required. + @$pb.TagNumber(4) + $core.List<$core.String> get scope => $_getList(2); + + /// The desired lifetime duration of the access token in seconds. + /// Must be set to a value less than or equal to 3600 (1 hour). If a value is + /// not specified, the token's lifetime will be set to a default value of one + /// hour. + @$pb.TagNumber(7) + $51.Duration get lifetime => $_getN(3); + @$pb.TagNumber(7) + set lifetime($51.Duration v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasLifetime() => $_has(3); + @$pb.TagNumber(7) + void clearLifetime() => clearField(7); + @$pb.TagNumber(7) + $51.Duration ensureLifetime() => $_ensure(3); +} + +class GenerateAccessTokenResponse extends $pb.GeneratedMessage { + factory GenerateAccessTokenResponse({ + $core.String? accessToken, + $50.Timestamp? expireTime, + }) { + final $result = create(); + if (accessToken != null) { + $result.accessToken = accessToken; + } + if (expireTime != null) { + $result.expireTime = expireTime; + } + return $result; + } + GenerateAccessTokenResponse._() : super(); + factory GenerateAccessTokenResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateAccessTokenResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateAccessTokenResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'accessToken') + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'expireTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateAccessTokenResponse clone() => + GenerateAccessTokenResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateAccessTokenResponse copyWith( + void Function(GenerateAccessTokenResponse) updates) => + super.copyWith( + (message) => updates(message as GenerateAccessTokenResponse)) + as GenerateAccessTokenResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateAccessTokenResponse create() => + GenerateAccessTokenResponse._(); + GenerateAccessTokenResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateAccessTokenResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateAccessTokenResponse? _defaultInstance; + + /// The OAuth 2.0 access token. + @$pb.TagNumber(1) + $core.String get accessToken => $_getSZ(0); + @$pb.TagNumber(1) + set accessToken($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasAccessToken() => $_has(0); + @$pb.TagNumber(1) + void clearAccessToken() => clearField(1); + + /// Token expiration time. + /// The expiration time is always set. + @$pb.TagNumber(3) + $50.Timestamp get expireTime => $_getN(1); + @$pb.TagNumber(3) + set expireTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasExpireTime() => $_has(1); + @$pb.TagNumber(3) + void clearExpireTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureExpireTime() => $_ensure(1); +} + +class SignBlobRequest extends $pb.GeneratedMessage { + factory SignBlobRequest({ + $core.String? name, + $core.Iterable<$core.String>? delegates, + $core.List<$core.int>? payload, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (delegates != null) { + $result.delegates.addAll(delegates); + } + if (payload != null) { + $result.payload = payload; + } + return $result; + } + SignBlobRequest._() : super(); + factory SignBlobRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignBlobRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignBlobRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pPS(3, _omitFieldNames ? '' : 'delegates') + ..a<$core.List<$core.int>>( + 5, _omitFieldNames ? '' : 'payload', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignBlobRequest clone() => SignBlobRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignBlobRequest copyWith(void Function(SignBlobRequest) updates) => + super.copyWith((message) => updates(message as SignBlobRequest)) + as SignBlobRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignBlobRequest create() => SignBlobRequest._(); + SignBlobRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignBlobRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignBlobRequest? _defaultInstance; + + /// Required. The resource name of the service account for which the credentials + /// are requested, in the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The sequence of service accounts in a delegation chain. Each service + /// account must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on its next service account in the chain. The last service account in the + /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on the service account that is specified in the `name` field of the + /// request. + /// + /// The delegates must have the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(3) + $core.List<$core.String> get delegates => $_getList(1); + + /// Required. The bytes to sign. + @$pb.TagNumber(5) + $core.List<$core.int> get payload => $_getN(2); + @$pb.TagNumber(5) + set payload($core.List<$core.int> v) { + $_setBytes(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasPayload() => $_has(2); + @$pb.TagNumber(5) + void clearPayload() => clearField(5); +} + +class SignBlobResponse extends $pb.GeneratedMessage { + factory SignBlobResponse({ + $core.String? keyId, + $core.List<$core.int>? signedBlob, + }) { + final $result = create(); + if (keyId != null) { + $result.keyId = keyId; + } + if (signedBlob != null) { + $result.signedBlob = signedBlob; + } + return $result; + } + SignBlobResponse._() : super(); + factory SignBlobResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignBlobResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignBlobResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'keyId') + ..a<$core.List<$core.int>>( + 4, _omitFieldNames ? '' : 'signedBlob', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignBlobResponse clone() => SignBlobResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignBlobResponse copyWith(void Function(SignBlobResponse) updates) => + super.copyWith((message) => updates(message as SignBlobResponse)) + as SignBlobResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignBlobResponse create() => SignBlobResponse._(); + SignBlobResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignBlobResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignBlobResponse? _defaultInstance; + + /// The ID of the key used to sign the blob. + @$pb.TagNumber(1) + $core.String get keyId => $_getSZ(0); + @$pb.TagNumber(1) + set keyId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKeyId() => $_has(0); + @$pb.TagNumber(1) + void clearKeyId() => clearField(1); + + /// The signed blob. + @$pb.TagNumber(4) + $core.List<$core.int> get signedBlob => $_getN(1); + @$pb.TagNumber(4) + set signedBlob($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(4) + $core.bool hasSignedBlob() => $_has(1); + @$pb.TagNumber(4) + void clearSignedBlob() => clearField(4); +} + +class SignJwtRequest extends $pb.GeneratedMessage { + factory SignJwtRequest({ + $core.String? name, + $core.Iterable<$core.String>? delegates, + $core.String? payload, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (delegates != null) { + $result.delegates.addAll(delegates); + } + if (payload != null) { + $result.payload = payload; + } + return $result; + } + SignJwtRequest._() : super(); + factory SignJwtRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignJwtRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignJwtRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pPS(3, _omitFieldNames ? '' : 'delegates') + ..aOS(5, _omitFieldNames ? '' : 'payload') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignJwtRequest clone() => SignJwtRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignJwtRequest copyWith(void Function(SignJwtRequest) updates) => + super.copyWith((message) => updates(message as SignJwtRequest)) + as SignJwtRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignJwtRequest create() => SignJwtRequest._(); + SignJwtRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignJwtRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignJwtRequest? _defaultInstance; + + /// Required. The resource name of the service account for which the credentials + /// are requested, in the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The sequence of service accounts in a delegation chain. Each service + /// account must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on its next service account in the chain. The last service account in the + /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on the service account that is specified in the `name` field of the + /// request. + /// + /// The delegates must have the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(3) + $core.List<$core.String> get delegates => $_getList(1); + + /// Required. The JWT payload to sign: a JSON object that contains a JWT Claims Set. + @$pb.TagNumber(5) + $core.String get payload => $_getSZ(2); + @$pb.TagNumber(5) + set payload($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasPayload() => $_has(2); + @$pb.TagNumber(5) + void clearPayload() => clearField(5); +} + +class SignJwtResponse extends $pb.GeneratedMessage { + factory SignJwtResponse({ + $core.String? keyId, + $core.String? signedJwt, + }) { + final $result = create(); + if (keyId != null) { + $result.keyId = keyId; + } + if (signedJwt != null) { + $result.signedJwt = signedJwt; + } + return $result; + } + SignJwtResponse._() : super(); + factory SignJwtResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SignJwtResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SignJwtResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'keyId') + ..aOS(2, _omitFieldNames ? '' : 'signedJwt') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SignJwtResponse clone() => SignJwtResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SignJwtResponse copyWith(void Function(SignJwtResponse) updates) => + super.copyWith((message) => updates(message as SignJwtResponse)) + as SignJwtResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SignJwtResponse create() => SignJwtResponse._(); + SignJwtResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SignJwtResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SignJwtResponse? _defaultInstance; + + /// The ID of the key used to sign the JWT. + @$pb.TagNumber(1) + $core.String get keyId => $_getSZ(0); + @$pb.TagNumber(1) + set keyId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasKeyId() => $_has(0); + @$pb.TagNumber(1) + void clearKeyId() => clearField(1); + + /// The signed JWT. + @$pb.TagNumber(2) + $core.String get signedJwt => $_getSZ(1); + @$pb.TagNumber(2) + set signedJwt($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSignedJwt() => $_has(1); + @$pb.TagNumber(2) + void clearSignedJwt() => clearField(2); +} + +class GenerateIdTokenRequest extends $pb.GeneratedMessage { + factory GenerateIdTokenRequest({ + $core.String? name, + $core.Iterable<$core.String>? delegates, + $core.String? audience, + $core.bool? includeEmail, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (delegates != null) { + $result.delegates.addAll(delegates); + } + if (audience != null) { + $result.audience = audience; + } + if (includeEmail != null) { + $result.includeEmail = includeEmail; + } + return $result; + } + GenerateIdTokenRequest._() : super(); + factory GenerateIdTokenRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateIdTokenRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateIdTokenRequest', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pPS(2, _omitFieldNames ? '' : 'delegates') + ..aOS(3, _omitFieldNames ? '' : 'audience') + ..aOB(4, _omitFieldNames ? '' : 'includeEmail') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateIdTokenRequest clone() => + GenerateIdTokenRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateIdTokenRequest copyWith( + void Function(GenerateIdTokenRequest) updates) => + super.copyWith((message) => updates(message as GenerateIdTokenRequest)) + as GenerateIdTokenRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateIdTokenRequest create() => GenerateIdTokenRequest._(); + GenerateIdTokenRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateIdTokenRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateIdTokenRequest? _defaultInstance; + + /// Required. The resource name of the service account for which the credentials + /// are requested, in the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The sequence of service accounts in a delegation chain. Each service + /// account must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on its next service account in the chain. The last service account in the + /// chain must be granted the `roles/iam.serviceAccountTokenCreator` role + /// on the service account that is specified in the `name` field of the + /// request. + /// + /// The delegates must have the following format: + /// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + /// character is required; replacing it with a project ID is invalid. + @$pb.TagNumber(2) + $core.List<$core.String> get delegates => $_getList(1); + + /// Required. The audience for the token, such as the API or account that this token + /// grants access to. + @$pb.TagNumber(3) + $core.String get audience => $_getSZ(2); + @$pb.TagNumber(3) + set audience($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasAudience() => $_has(2); + @$pb.TagNumber(3) + void clearAudience() => clearField(3); + + /// Include the service account email in the token. If set to `true`, the + /// token will contain `email` and `email_verified` claims. + @$pb.TagNumber(4) + $core.bool get includeEmail => $_getBF(3); + @$pb.TagNumber(4) + set includeEmail($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasIncludeEmail() => $_has(3); + @$pb.TagNumber(4) + void clearIncludeEmail() => clearField(4); +} + +class GenerateIdTokenResponse extends $pb.GeneratedMessage { + factory GenerateIdTokenResponse({ + $core.String? token, + }) { + final $result = create(); + if (token != null) { + $result.token = token; + } + return $result; + } + GenerateIdTokenResponse._() : super(); + factory GenerateIdTokenResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GenerateIdTokenResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GenerateIdTokenResponse', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.credentials.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'token') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GenerateIdTokenResponse clone() => + GenerateIdTokenResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GenerateIdTokenResponse copyWith( + void Function(GenerateIdTokenResponse) updates) => + super.copyWith((message) => updates(message as GenerateIdTokenResponse)) + as GenerateIdTokenResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GenerateIdTokenResponse create() => GenerateIdTokenResponse._(); + GenerateIdTokenResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GenerateIdTokenResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GenerateIdTokenResponse? _defaultInstance; + + /// The OpenId Connect ID token. + @$pb.TagNumber(1) + $core.String get token => $_getSZ(0); + @$pb.TagNumber(1) + set token($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasToken() => $_has(0); + @$pb.TagNumber(1) + void clearToken() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pbenum.dart new file mode 100644 index 00000000..42ac14cb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/common.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pbjson.dart new file mode 100644 index 00000000..46b8a9fb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/common.pbjson.dart @@ -0,0 +1,153 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/common.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use generateAccessTokenRequestDescriptor instead') +const GenerateAccessTokenRequest$json = { + '1': 'GenerateAccessTokenRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'delegates', '3': 2, '4': 3, '5': 9, '10': 'delegates'}, + {'1': 'scope', '3': 4, '4': 3, '5': 9, '8': {}, '10': 'scope'}, + { + '1': 'lifetime', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'lifetime' + }, + ], +}; + +/// Descriptor for `GenerateAccessTokenRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateAccessTokenRequestDescriptor = $convert.base64Decode( + 'ChpHZW5lcmF0ZUFjY2Vzc1Rva2VuUmVxdWVzdBI9CgRuYW1lGAEgASgJQingQQL6QSMKIWlhbS' + '5nb29nbGVhcGlzLmNvbS9TZXJ2aWNlQWNjb3VudFIEbmFtZRIcCglkZWxlZ2F0ZXMYAiADKAlS' + 'CWRlbGVnYXRlcxIZCgVzY29wZRgEIAMoCUID4EECUgVzY29wZRI1CghsaWZldGltZRgHIAEoCz' + 'IZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIIbGlmZXRpbWU='); + +@$core.Deprecated('Use generateAccessTokenResponseDescriptor instead') +const GenerateAccessTokenResponse$json = { + '1': 'GenerateAccessTokenResponse', + '2': [ + {'1': 'access_token', '3': 1, '4': 1, '5': 9, '10': 'accessToken'}, + { + '1': 'expire_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'expireTime' + }, + ], +}; + +/// Descriptor for `GenerateAccessTokenResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateAccessTokenResponseDescriptor = + $convert.base64Decode( + 'ChtHZW5lcmF0ZUFjY2Vzc1Rva2VuUmVzcG9uc2USIQoMYWNjZXNzX3Rva2VuGAEgASgJUgthY2' + 'Nlc3NUb2tlbhI7CgtleHBpcmVfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3Rh' + 'bXBSCmV4cGlyZVRpbWU='); + +@$core.Deprecated('Use signBlobRequestDescriptor instead') +const SignBlobRequest$json = { + '1': 'SignBlobRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'delegates', '3': 3, '4': 3, '5': 9, '10': 'delegates'}, + {'1': 'payload', '3': 5, '4': 1, '5': 12, '8': {}, '10': 'payload'}, + ], +}; + +/// Descriptor for `SignBlobRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signBlobRequestDescriptor = $convert.base64Decode( + 'Cg9TaWduQmxvYlJlcXVlc3QSPQoEbmFtZRgBIAEoCUIp4EEC+kEjCiFpYW0uZ29vZ2xlYXBpcy' + '5jb20vU2VydmljZUFjY291bnRSBG5hbWUSHAoJZGVsZWdhdGVzGAMgAygJUglkZWxlZ2F0ZXMS' + 'HQoHcGF5bG9hZBgFIAEoDEID4EECUgdwYXlsb2Fk'); + +@$core.Deprecated('Use signBlobResponseDescriptor instead') +const SignBlobResponse$json = { + '1': 'SignBlobResponse', + '2': [ + {'1': 'key_id', '3': 1, '4': 1, '5': 9, '10': 'keyId'}, + {'1': 'signed_blob', '3': 4, '4': 1, '5': 12, '10': 'signedBlob'}, + ], +}; + +/// Descriptor for `SignBlobResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signBlobResponseDescriptor = $convert.base64Decode( + 'ChBTaWduQmxvYlJlc3BvbnNlEhUKBmtleV9pZBgBIAEoCVIFa2V5SWQSHwoLc2lnbmVkX2Jsb2' + 'IYBCABKAxSCnNpZ25lZEJsb2I='); + +@$core.Deprecated('Use signJwtRequestDescriptor instead') +const SignJwtRequest$json = { + '1': 'SignJwtRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'delegates', '3': 3, '4': 3, '5': 9, '10': 'delegates'}, + {'1': 'payload', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'payload'}, + ], +}; + +/// Descriptor for `SignJwtRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signJwtRequestDescriptor = $convert.base64Decode( + 'Cg5TaWduSnd0UmVxdWVzdBI9CgRuYW1lGAEgASgJQingQQL6QSMKIWlhbS5nb29nbGVhcGlzLm' + 'NvbS9TZXJ2aWNlQWNjb3VudFIEbmFtZRIcCglkZWxlZ2F0ZXMYAyADKAlSCWRlbGVnYXRlcxId' + 'CgdwYXlsb2FkGAUgASgJQgPgQQJSB3BheWxvYWQ='); + +@$core.Deprecated('Use signJwtResponseDescriptor instead') +const SignJwtResponse$json = { + '1': 'SignJwtResponse', + '2': [ + {'1': 'key_id', '3': 1, '4': 1, '5': 9, '10': 'keyId'}, + {'1': 'signed_jwt', '3': 2, '4': 1, '5': 9, '10': 'signedJwt'}, + ], +}; + +/// Descriptor for `SignJwtResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List signJwtResponseDescriptor = $convert.base64Decode( + 'Cg9TaWduSnd0UmVzcG9uc2USFQoGa2V5X2lkGAEgASgJUgVrZXlJZBIdCgpzaWduZWRfand0GA' + 'IgASgJUglzaWduZWRKd3Q='); + +@$core.Deprecated('Use generateIdTokenRequestDescriptor instead') +const GenerateIdTokenRequest$json = { + '1': 'GenerateIdTokenRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'delegates', '3': 2, '4': 3, '5': 9, '10': 'delegates'}, + {'1': 'audience', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'audience'}, + {'1': 'include_email', '3': 4, '4': 1, '5': 8, '10': 'includeEmail'}, + ], +}; + +/// Descriptor for `GenerateIdTokenRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateIdTokenRequestDescriptor = $convert.base64Decode( + 'ChZHZW5lcmF0ZUlkVG9rZW5SZXF1ZXN0Ej0KBG5hbWUYASABKAlCKeBBAvpBIwohaWFtLmdvb2' + 'dsZWFwaXMuY29tL1NlcnZpY2VBY2NvdW50UgRuYW1lEhwKCWRlbGVnYXRlcxgCIAMoCVIJZGVs' + 'ZWdhdGVzEh8KCGF1ZGllbmNlGAMgASgJQgPgQQJSCGF1ZGllbmNlEiMKDWluY2x1ZGVfZW1haW' + 'wYBCABKAhSDGluY2x1ZGVFbWFpbA=='); + +@$core.Deprecated('Use generateIdTokenResponseDescriptor instead') +const GenerateIdTokenResponse$json = { + '1': 'GenerateIdTokenResponse', + '2': [ + {'1': 'token', '3': 1, '4': 1, '5': 9, '10': 'token'}, + ], +}; + +/// Descriptor for `GenerateIdTokenResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generateIdTokenResponseDescriptor = + $convert.base64Decode( + 'ChdHZW5lcmF0ZUlkVG9rZW5SZXNwb25zZRIUCgV0b2tlbhgBIAEoCVIFdG9rZW4='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pb.dart new file mode 100644 index 00000000..e470b894 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pb.dart @@ -0,0 +1,12 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/iamcredentials.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbenum.dart new file mode 100644 index 00000000..43c6c535 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/iamcredentials.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbgrpc.dart new file mode 100644 index 00000000..67a80938 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbgrpc.dart @@ -0,0 +1,147 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/iamcredentials.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'common.pb.dart' as $44; + +export 'iamcredentials.pb.dart'; + +@$pb.GrpcServiceName('google.iam.credentials.v1.IAMCredentials') +class IAMCredentialsClient extends $grpc.Client { + static final _$generateAccessToken = $grpc.ClientMethod< + $44.GenerateAccessTokenRequest, $44.GenerateAccessTokenResponse>( + '/google.iam.credentials.v1.IAMCredentials/GenerateAccessToken', + ($44.GenerateAccessTokenRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $44.GenerateAccessTokenResponse.fromBuffer(value)); + static final _$generateIdToken = $grpc.ClientMethod< + $44.GenerateIdTokenRequest, $44.GenerateIdTokenResponse>( + '/google.iam.credentials.v1.IAMCredentials/GenerateIdToken', + ($44.GenerateIdTokenRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $44.GenerateIdTokenResponse.fromBuffer(value)); + static final _$signBlob = + $grpc.ClientMethod<$44.SignBlobRequest, $44.SignBlobResponse>( + '/google.iam.credentials.v1.IAMCredentials/SignBlob', + ($44.SignBlobRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $44.SignBlobResponse.fromBuffer(value)); + static final _$signJwt = + $grpc.ClientMethod<$44.SignJwtRequest, $44.SignJwtResponse>( + '/google.iam.credentials.v1.IAMCredentials/SignJwt', + ($44.SignJwtRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $44.SignJwtResponse.fromBuffer(value)); + + IAMCredentialsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$44.GenerateAccessTokenResponse> generateAccessToken( + $44.GenerateAccessTokenRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$generateAccessToken, request, options: options); + } + + $grpc.ResponseFuture<$44.GenerateIdTokenResponse> generateIdToken( + $44.GenerateIdTokenRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$generateIdToken, request, options: options); + } + + $grpc.ResponseFuture<$44.SignBlobResponse> signBlob( + $44.SignBlobRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$signBlob, request, options: options); + } + + $grpc.ResponseFuture<$44.SignJwtResponse> signJwt($44.SignJwtRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$signJwt, request, options: options); + } +} + +@$pb.GrpcServiceName('google.iam.credentials.v1.IAMCredentials') +abstract class IAMCredentialsServiceBase extends $grpc.Service { + $core.String get $name => 'google.iam.credentials.v1.IAMCredentials'; + + IAMCredentialsServiceBase() { + $addMethod($grpc.ServiceMethod<$44.GenerateAccessTokenRequest, + $44.GenerateAccessTokenResponse>( + 'GenerateAccessToken', + generateAccessToken_Pre, + false, + false, + ($core.List<$core.int> value) => + $44.GenerateAccessTokenRequest.fromBuffer(value), + ($44.GenerateAccessTokenResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$44.GenerateIdTokenRequest, + $44.GenerateIdTokenResponse>( + 'GenerateIdToken', + generateIdToken_Pre, + false, + false, + ($core.List<$core.int> value) => + $44.GenerateIdTokenRequest.fromBuffer(value), + ($44.GenerateIdTokenResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$44.SignBlobRequest, $44.SignBlobResponse>( + 'SignBlob', + signBlob_Pre, + false, + false, + ($core.List<$core.int> value) => $44.SignBlobRequest.fromBuffer(value), + ($44.SignBlobResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$44.SignJwtRequest, $44.SignJwtResponse>( + 'SignJwt', + signJwt_Pre, + false, + false, + ($core.List<$core.int> value) => $44.SignJwtRequest.fromBuffer(value), + ($44.SignJwtResponse value) => value.writeToBuffer())); + } + + $async.Future<$44.GenerateAccessTokenResponse> generateAccessToken_Pre( + $grpc.ServiceCall call, + $async.Future<$44.GenerateAccessTokenRequest> request) async { + return generateAccessToken(call, await request); + } + + $async.Future<$44.GenerateIdTokenResponse> generateIdToken_Pre( + $grpc.ServiceCall call, + $async.Future<$44.GenerateIdTokenRequest> request) async { + return generateIdToken(call, await request); + } + + $async.Future<$44.SignBlobResponse> signBlob_Pre($grpc.ServiceCall call, + $async.Future<$44.SignBlobRequest> request) async { + return signBlob(call, await request); + } + + $async.Future<$44.SignJwtResponse> signJwt_Pre( + $grpc.ServiceCall call, $async.Future<$44.SignJwtRequest> request) async { + return signJwt(call, await request); + } + + $async.Future<$44.GenerateAccessTokenResponse> generateAccessToken( + $grpc.ServiceCall call, $44.GenerateAccessTokenRequest request); + $async.Future<$44.GenerateIdTokenResponse> generateIdToken( + $grpc.ServiceCall call, $44.GenerateIdTokenRequest request); + $async.Future<$44.SignBlobResponse> signBlob( + $grpc.ServiceCall call, $44.SignBlobRequest request); + $async.Future<$44.SignJwtResponse> signJwt( + $grpc.ServiceCall call, $44.SignJwtRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbjson.dart new file mode 100644 index 00000000..92528303 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/credentials/v1/iamcredentials.pbjson.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/iam/credentials/v1/iamcredentials.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pb.dart new file mode 100644 index 00000000..a07f2373 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pb.dart @@ -0,0 +1,357 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/iam_policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/field_mask.pb.dart' as $58; +import 'options.pb.dart' as $115; +import 'policy.pb.dart' as $43; + +/// Request message for `SetIamPolicy` method. +class SetIamPolicyRequest extends $pb.GeneratedMessage { + factory SetIamPolicyRequest({ + $core.String? resource, + $43.Policy? policy, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (resource != null) { + $result.resource = resource; + } + if (policy != null) { + $result.policy = policy; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + SetIamPolicyRequest._() : super(); + factory SetIamPolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SetIamPolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SetIamPolicyRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'resource') + ..aOM<$43.Policy>(2, _omitFieldNames ? '' : 'policy', + subBuilder: $43.Policy.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetIamPolicyRequest clone() => SetIamPolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetIamPolicyRequest copyWith(void Function(SetIamPolicyRequest) updates) => + super.copyWith((message) => updates(message as SetIamPolicyRequest)) + as SetIamPolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetIamPolicyRequest create() => SetIamPolicyRequest._(); + SetIamPolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetIamPolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SetIamPolicyRequest? _defaultInstance; + + /// REQUIRED: The resource for which the policy is being specified. + /// See the operation documentation for the appropriate value for this field. + @$pb.TagNumber(1) + $core.String get resource => $_getSZ(0); + @$pb.TagNumber(1) + set resource($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasResource() => $_has(0); + @$pb.TagNumber(1) + void clearResource() => clearField(1); + + /// REQUIRED: The complete policy to be applied to the `resource`. The size of + /// the policy is limited to a few 10s of KB. An empty policy is a + /// valid policy but certain Cloud Platform services (such as Projects) + /// might reject them. + @$pb.TagNumber(2) + $43.Policy get policy => $_getN(1); + @$pb.TagNumber(2) + set policy($43.Policy v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPolicy() => $_has(1); + @$pb.TagNumber(2) + void clearPolicy() => clearField(2); + @$pb.TagNumber(2) + $43.Policy ensurePolicy() => $_ensure(1); + + /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + /// the fields in the mask will be modified. If no mask is provided, the + /// following default mask is used: + /// + /// `paths: "bindings, etag"` + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Request message for `GetIamPolicy` method. +class GetIamPolicyRequest extends $pb.GeneratedMessage { + factory GetIamPolicyRequest({ + $core.String? resource, + $115.GetPolicyOptions? options, + }) { + final $result = create(); + if (resource != null) { + $result.resource = resource; + } + if (options != null) { + $result.options = options; + } + return $result; + } + GetIamPolicyRequest._() : super(); + factory GetIamPolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetIamPolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetIamPolicyRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'resource') + ..aOM<$115.GetPolicyOptions>(2, _omitFieldNames ? '' : 'options', + subBuilder: $115.GetPolicyOptions.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetIamPolicyRequest clone() => GetIamPolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetIamPolicyRequest copyWith(void Function(GetIamPolicyRequest) updates) => + super.copyWith((message) => updates(message as GetIamPolicyRequest)) + as GetIamPolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetIamPolicyRequest create() => GetIamPolicyRequest._(); + GetIamPolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetIamPolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetIamPolicyRequest? _defaultInstance; + + /// REQUIRED: The resource for which the policy is being requested. + /// See the operation documentation for the appropriate value for this field. + @$pb.TagNumber(1) + $core.String get resource => $_getSZ(0); + @$pb.TagNumber(1) + set resource($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasResource() => $_has(0); + @$pb.TagNumber(1) + void clearResource() => clearField(1); + + /// OPTIONAL: A `GetPolicyOptions` object for specifying options to + /// `GetIamPolicy`. + @$pb.TagNumber(2) + $115.GetPolicyOptions get options => $_getN(1); + @$pb.TagNumber(2) + set options($115.GetPolicyOptions v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOptions() => $_has(1); + @$pb.TagNumber(2) + void clearOptions() => clearField(2); + @$pb.TagNumber(2) + $115.GetPolicyOptions ensureOptions() => $_ensure(1); +} + +/// Request message for `TestIamPermissions` method. +class TestIamPermissionsRequest extends $pb.GeneratedMessage { + factory TestIamPermissionsRequest({ + $core.String? resource, + $core.Iterable<$core.String>? permissions, + }) { + final $result = create(); + if (resource != null) { + $result.resource = resource; + } + if (permissions != null) { + $result.permissions.addAll(permissions); + } + return $result; + } + TestIamPermissionsRequest._() : super(); + factory TestIamPermissionsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestIamPermissionsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestIamPermissionsRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'resource') + ..pPS(2, _omitFieldNames ? '' : 'permissions') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestIamPermissionsRequest clone() => + TestIamPermissionsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestIamPermissionsRequest copyWith( + void Function(TestIamPermissionsRequest) updates) => + super.copyWith((message) => updates(message as TestIamPermissionsRequest)) + as TestIamPermissionsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestIamPermissionsRequest create() => TestIamPermissionsRequest._(); + TestIamPermissionsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestIamPermissionsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TestIamPermissionsRequest? _defaultInstance; + + /// REQUIRED: The resource for which the policy detail is being requested. + /// See the operation documentation for the appropriate value for this field. + @$pb.TagNumber(1) + $core.String get resource => $_getSZ(0); + @$pb.TagNumber(1) + set resource($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasResource() => $_has(0); + @$pb.TagNumber(1) + void clearResource() => clearField(1); + + /// The set of permissions to check for the `resource`. Permissions with + /// wildcards (such as '*' or 'storage.*') are not allowed. For more + /// information see + /// [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + @$pb.TagNumber(2) + $core.List<$core.String> get permissions => $_getList(1); +} + +/// Response message for `TestIamPermissions` method. +class TestIamPermissionsResponse extends $pb.GeneratedMessage { + factory TestIamPermissionsResponse({ + $core.Iterable<$core.String>? permissions, + }) { + final $result = create(); + if (permissions != null) { + $result.permissions.addAll(permissions); + } + return $result; + } + TestIamPermissionsResponse._() : super(); + factory TestIamPermissionsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestIamPermissionsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestIamPermissionsResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'permissions') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestIamPermissionsResponse clone() => + TestIamPermissionsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestIamPermissionsResponse copyWith( + void Function(TestIamPermissionsResponse) updates) => + super.copyWith( + (message) => updates(message as TestIamPermissionsResponse)) + as TestIamPermissionsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestIamPermissionsResponse create() => TestIamPermissionsResponse._(); + TestIamPermissionsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestIamPermissionsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TestIamPermissionsResponse? _defaultInstance; + + /// A subset of `TestPermissionsRequest.permissions` that the caller is + /// allowed. + @$pb.TagNumber(1) + $core.List<$core.String> get permissions => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbenum.dart new file mode 100644 index 00000000..6335f916 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/iam_policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbgrpc.dart new file mode 100644 index 00000000..8b14fe9f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbgrpc.dart @@ -0,0 +1,118 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/iam_policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'iam_policy.pb.dart' as $42; +import 'policy.pb.dart' as $43; + +export 'iam_policy.pb.dart'; + +@$pb.GrpcServiceName('google.iam.v1.IAMPolicy') +class IAMPolicyClient extends $grpc.Client { + static final _$setIamPolicy = + $grpc.ClientMethod<$42.SetIamPolicyRequest, $43.Policy>( + '/google.iam.v1.IAMPolicy/SetIamPolicy', + ($42.SetIamPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $43.Policy.fromBuffer(value)); + static final _$getIamPolicy = + $grpc.ClientMethod<$42.GetIamPolicyRequest, $43.Policy>( + '/google.iam.v1.IAMPolicy/GetIamPolicy', + ($42.GetIamPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $43.Policy.fromBuffer(value)); + static final _$testIamPermissions = $grpc.ClientMethod< + $42.TestIamPermissionsRequest, $42.TestIamPermissionsResponse>( + '/google.iam.v1.IAMPolicy/TestIamPermissions', + ($42.TestIamPermissionsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $42.TestIamPermissionsResponse.fromBuffer(value)); + + IAMPolicyClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$43.Policy> setIamPolicy($42.SetIamPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$setIamPolicy, request, options: options); + } + + $grpc.ResponseFuture<$43.Policy> getIamPolicy($42.GetIamPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getIamPolicy, request, options: options); + } + + $grpc.ResponseFuture<$42.TestIamPermissionsResponse> testIamPermissions( + $42.TestIamPermissionsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$testIamPermissions, request, options: options); + } +} + +@$pb.GrpcServiceName('google.iam.v1.IAMPolicy') +abstract class IAMPolicyServiceBase extends $grpc.Service { + $core.String get $name => 'google.iam.v1.IAMPolicy'; + + IAMPolicyServiceBase() { + $addMethod($grpc.ServiceMethod<$42.SetIamPolicyRequest, $43.Policy>( + 'SetIamPolicy', + setIamPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $42.SetIamPolicyRequest.fromBuffer(value), + ($43.Policy value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$42.GetIamPolicyRequest, $43.Policy>( + 'GetIamPolicy', + getIamPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $42.GetIamPolicyRequest.fromBuffer(value), + ($43.Policy value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$42.TestIamPermissionsRequest, + $42.TestIamPermissionsResponse>( + 'TestIamPermissions', + testIamPermissions_Pre, + false, + false, + ($core.List<$core.int> value) => + $42.TestIamPermissionsRequest.fromBuffer(value), + ($42.TestIamPermissionsResponse value) => value.writeToBuffer())); + } + + $async.Future<$43.Policy> setIamPolicy_Pre($grpc.ServiceCall call, + $async.Future<$42.SetIamPolicyRequest> request) async { + return setIamPolicy(call, await request); + } + + $async.Future<$43.Policy> getIamPolicy_Pre($grpc.ServiceCall call, + $async.Future<$42.GetIamPolicyRequest> request) async { + return getIamPolicy(call, await request); + } + + $async.Future<$42.TestIamPermissionsResponse> testIamPermissions_Pre( + $grpc.ServiceCall call, + $async.Future<$42.TestIamPermissionsRequest> request) async { + return testIamPermissions(call, await request); + } + + $async.Future<$43.Policy> setIamPolicy( + $grpc.ServiceCall call, $42.SetIamPolicyRequest request); + $async.Future<$43.Policy> getIamPolicy( + $grpc.ServiceCall call, $42.GetIamPolicyRequest request); + $async.Future<$42.TestIamPermissionsResponse> testIamPermissions( + $grpc.ServiceCall call, $42.TestIamPermissionsRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbjson.dart new file mode 100644 index 00000000..3bb3432a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/iam_policy.pbjson.dart @@ -0,0 +1,97 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/iam_policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use setIamPolicyRequestDescriptor instead') +const SetIamPolicyRequest$json = { + '1': 'SetIamPolicyRequest', + '2': [ + {'1': 'resource', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'resource'}, + { + '1': 'policy', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v1.Policy', + '8': {}, + '10': 'policy' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `SetIamPolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setIamPolicyRequestDescriptor = $convert.base64Decode( + 'ChNTZXRJYW1Qb2xpY3lSZXF1ZXN0EiUKCHJlc291cmNlGAEgASgJQgngQQL6QQMKASpSCHJlc2' + '91cmNlEjIKBnBvbGljeRgCIAEoCzIVLmdvb2dsZS5pYW0udjEuUG9saWN5QgPgQQJSBnBvbGlj' + 'eRI7Cgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSCnVwZG' + 'F0ZU1hc2s='); + +@$core.Deprecated('Use getIamPolicyRequestDescriptor instead') +const GetIamPolicyRequest$json = { + '1': 'GetIamPolicyRequest', + '2': [ + {'1': 'resource', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'resource'}, + { + '1': 'options', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v1.GetPolicyOptions', + '10': 'options' + }, + ], +}; + +/// Descriptor for `GetIamPolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getIamPolicyRequestDescriptor = $convert.base64Decode( + 'ChNHZXRJYW1Qb2xpY3lSZXF1ZXN0EiUKCHJlc291cmNlGAEgASgJQgngQQL6QQMKASpSCHJlc2' + '91cmNlEjkKB29wdGlvbnMYAiABKAsyHy5nb29nbGUuaWFtLnYxLkdldFBvbGljeU9wdGlvbnNS' + 'B29wdGlvbnM='); + +@$core.Deprecated('Use testIamPermissionsRequestDescriptor instead') +const TestIamPermissionsRequest$json = { + '1': 'TestIamPermissionsRequest', + '2': [ + {'1': 'resource', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'resource'}, + {'1': 'permissions', '3': 2, '4': 3, '5': 9, '8': {}, '10': 'permissions'}, + ], +}; + +/// Descriptor for `TestIamPermissionsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testIamPermissionsRequestDescriptor = + $convert.base64Decode( + 'ChlUZXN0SWFtUGVybWlzc2lvbnNSZXF1ZXN0EiUKCHJlc291cmNlGAEgASgJQgngQQL6QQMKAS' + 'pSCHJlc291cmNlEiUKC3Blcm1pc3Npb25zGAIgAygJQgPgQQJSC3Blcm1pc3Npb25z'); + +@$core.Deprecated('Use testIamPermissionsResponseDescriptor instead') +const TestIamPermissionsResponse$json = { + '1': 'TestIamPermissionsResponse', + '2': [ + {'1': 'permissions', '3': 1, '4': 3, '5': 9, '10': 'permissions'}, + ], +}; + +/// Descriptor for `TestIamPermissionsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testIamPermissionsResponseDescriptor = + $convert.base64Decode( + 'ChpUZXN0SWFtUGVybWlzc2lvbnNSZXNwb25zZRIgCgtwZXJtaXNzaW9ucxgBIAMoCVILcGVybW' + 'lzc2lvbnM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pb.dart new file mode 100644 index 00000000..01dea1ba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pb.dart @@ -0,0 +1,87 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/logging/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../policy.pb.dart' as $43; + +/// Audit log information specific to Cloud IAM. This message is serialized +/// as an `Any` type in the `ServiceData` message of an +/// `AuditLog` message. +class AuditData extends $pb.GeneratedMessage { + factory AuditData({ + $43.PolicyDelta? policyDelta, + }) { + final $result = create(); + if (policyDelta != null) { + $result.policyDelta = policyDelta; + } + return $result; + } + AuditData._() : super(); + factory AuditData.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditData.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditData', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'google.iam.v1.logging'), + createEmptyInstance: create) + ..aOM<$43.PolicyDelta>(2, _omitFieldNames ? '' : 'policyDelta', + subBuilder: $43.PolicyDelta.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditData clone() => AuditData()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditData copyWith(void Function(AuditData) updates) => + super.copyWith((message) => updates(message as AuditData)) as AuditData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditData create() => AuditData._(); + AuditData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditData getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AuditData? _defaultInstance; + + /// Policy delta between the original policy and the newly set policy. + @$pb.TagNumber(2) + $43.PolicyDelta get policyDelta => $_getN(0); + @$pb.TagNumber(2) + set policyDelta($43.PolicyDelta v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPolicyDelta() => $_has(0); + @$pb.TagNumber(2) + void clearPolicyDelta() => clearField(2); + @$pb.TagNumber(2) + $43.PolicyDelta ensurePolicyDelta() => $_ensure(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pbenum.dart new file mode 100644 index 00000000..57d293cb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/logging/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pbjson.dart new file mode 100644 index 00000000..962307d5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/logging/audit_data.pbjson.dart @@ -0,0 +1,34 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/logging/audit_data.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use auditDataDescriptor instead') +const AuditData$json = { + '1': 'AuditData', + '2': [ + { + '1': 'policy_delta', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v1.PolicyDelta', + '10': 'policyDelta' + }, + ], +}; + +/// Descriptor for `AuditData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditDataDescriptor = $convert.base64Decode( + 'CglBdWRpdERhdGESPQoMcG9saWN5X2RlbHRhGAIgASgLMhouZ29vZ2xlLmlhbS52MS5Qb2xpY3' + 'lEZWx0YVILcG9saWN5RGVsdGE='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pb.dart new file mode 100644 index 00000000..09412686 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pb.dart @@ -0,0 +1,99 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Encapsulates settings provided to GetIamPolicy. +class GetPolicyOptions extends $pb.GeneratedMessage { + factory GetPolicyOptions({ + $core.int? requestedPolicyVersion, + }) { + final $result = create(); + if (requestedPolicyVersion != null) { + $result.requestedPolicyVersion = requestedPolicyVersion; + } + return $result; + } + GetPolicyOptions._() : super(); + factory GetPolicyOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetPolicyOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetPolicyOptions', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'requestedPolicyVersion', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPolicyOptions clone() => GetPolicyOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetPolicyOptions copyWith(void Function(GetPolicyOptions) updates) => + super.copyWith((message) => updates(message as GetPolicyOptions)) + as GetPolicyOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetPolicyOptions create() => GetPolicyOptions._(); + GetPolicyOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetPolicyOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetPolicyOptions? _defaultInstance; + + /// Optional. The maximum policy version that will be used to format the + /// policy. + /// + /// Valid values are 0, 1, and 3. Requests specifying an invalid value will be + /// rejected. + /// + /// Requests for policies with any conditional role bindings must specify + /// version 3. Policies with no conditional role bindings may specify any valid + /// value or leave the field unset. + /// + /// The policy in the response might use the policy version that you specified, + /// or it might use a lower policy version. For example, if you specify version + /// 3, but the policy has no conditional role bindings, the response uses + /// version 1. + /// + /// To learn which resources support conditions in their IAM policies, see the + /// [IAM + /// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + @$pb.TagNumber(1) + $core.int get requestedPolicyVersion => $_getIZ(0); + @$pb.TagNumber(1) + set requestedPolicyVersion($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequestedPolicyVersion() => $_has(0); + @$pb.TagNumber(1) + void clearRequestedPolicyVersion() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pbenum.dart new file mode 100644 index 00000000..4911d9af --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pbjson.dart new file mode 100644 index 00000000..1074f501 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/options.pbjson.dart @@ -0,0 +1,33 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/options.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use getPolicyOptionsDescriptor instead') +const GetPolicyOptions$json = { + '1': 'GetPolicyOptions', + '2': [ + { + '1': 'requested_policy_version', + '3': 1, + '4': 1, + '5': 5, + '10': 'requestedPolicyVersion' + }, + ], +}; + +/// Descriptor for `GetPolicyOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getPolicyOptionsDescriptor = $convert.base64Decode( + 'ChBHZXRQb2xpY3lPcHRpb25zEjgKGHJlcXVlc3RlZF9wb2xpY3lfdmVyc2lvbhgBIAEoBVIWcm' + 'VxdWVzdGVkUG9saWN5VmVyc2lvbg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pb.dart new file mode 100644 index 00000000..8d959485 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pb.dart @@ -0,0 +1,932 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../type/expr.pb.dart' as $114; +import 'policy.pbenum.dart'; + +export 'policy.pbenum.dart'; + +/// An Identity and Access Management (IAM) policy, which specifies access +/// controls for Google Cloud resources. +/// +/// +/// A `Policy` is a collection of `bindings`. A `binding` binds one or more +/// `members`, or principals, to a single `role`. Principals can be user +/// accounts, service accounts, Google groups, and domains (such as G Suite). A +/// `role` is a named list of permissions; each `role` can be an IAM predefined +/// role or a user-created custom role. +/// +/// For some types of Google Cloud resources, a `binding` can also specify a +/// `condition`, which is a logical expression that allows access to a resource +/// only if the expression evaluates to `true`. A condition can add constraints +/// based on attributes of the request, the resource, or both. To learn which +/// resources support conditions in their IAM policies, see the +/// [IAM +/// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +/// +/// **JSON example:** +/// +/// ``` +/// { +/// "bindings": [ +/// { +/// "role": "roles/resourcemanager.organizationAdmin", +/// "members": [ +/// "user:mike@example.com", +/// "group:admins@example.com", +/// "domain:google.com", +/// "serviceAccount:my-project-id@appspot.gserviceaccount.com" +/// ] +/// }, +/// { +/// "role": "roles/resourcemanager.organizationViewer", +/// "members": [ +/// "user:eve@example.com" +/// ], +/// "condition": { +/// "title": "expirable access", +/// "description": "Does not grant access after Sep 2020", +/// "expression": "request.time < +/// timestamp('2020-10-01T00:00:00.000Z')", +/// } +/// } +/// ], +/// "etag": "BwWWja0YfJA=", +/// "version": 3 +/// } +/// ``` +/// +/// **YAML example:** +/// +/// ``` +/// bindings: +/// - members: +/// - user:mike@example.com +/// - group:admins@example.com +/// - domain:google.com +/// - serviceAccount:my-project-id@appspot.gserviceaccount.com +/// role: roles/resourcemanager.organizationAdmin +/// - members: +/// - user:eve@example.com +/// role: roles/resourcemanager.organizationViewer +/// condition: +/// title: expirable access +/// description: Does not grant access after Sep 2020 +/// expression: request.time < timestamp('2020-10-01T00:00:00.000Z') +/// etag: BwWWja0YfJA= +/// version: 3 +/// ``` +/// +/// For a description of IAM and its features, see the +/// [IAM documentation](https://cloud.google.com/iam/docs/). +class Policy extends $pb.GeneratedMessage { + factory Policy({ + $core.int? version, + $core.List<$core.int>? etag, + $core.Iterable? bindings, + $core.Iterable? auditConfigs, + }) { + final $result = create(); + if (version != null) { + $result.version = version; + } + if (etag != null) { + $result.etag = etag; + } + if (bindings != null) { + $result.bindings.addAll(bindings); + } + if (auditConfigs != null) { + $result.auditConfigs.addAll(auditConfigs); + } + return $result; + } + Policy._() : super(); + factory Policy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Policy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Policy', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'version', $pb.PbFieldType.O3) + ..a<$core.List<$core.int>>( + 3, _omitFieldNames ? '' : 'etag', $pb.PbFieldType.OY) + ..pc(4, _omitFieldNames ? '' : 'bindings', $pb.PbFieldType.PM, + subBuilder: Binding.create) + ..pc( + 6, _omitFieldNames ? '' : 'auditConfigs', $pb.PbFieldType.PM, + subBuilder: AuditConfig.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Policy clone() => Policy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Policy copyWith(void Function(Policy) updates) => + super.copyWith((message) => updates(message as Policy)) as Policy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Policy create() => Policy._(); + Policy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Policy getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Policy? _defaultInstance; + + /// Specifies the format of the policy. + /// + /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + /// are rejected. + /// + /// Any operation that affects conditional role bindings must specify version + /// `3`. This requirement applies to the following operations: + /// + /// * Getting a policy that includes a conditional role binding + /// * Adding a conditional role binding to a policy + /// * Changing a conditional role binding in a policy + /// * Removing any role binding, with or without a condition, from a policy + /// that includes conditions + /// + /// **Important:** If you use IAM Conditions, you must include the `etag` field + /// whenever you call `setIamPolicy`. If you omit this field, then IAM allows + /// you to overwrite a version `3` policy with a version `1` policy, and all of + /// the conditions in the version `3` policy are lost. + /// + /// If a policy does not include any conditions, operations on that policy may + /// specify any valid version or leave the field unset. + /// + /// To learn which resources support conditions in their IAM policies, see the + /// [IAM + /// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + @$pb.TagNumber(1) + $core.int get version => $_getIZ(0); + @$pb.TagNumber(1) + set version($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasVersion() => $_has(0); + @$pb.TagNumber(1) + void clearVersion() => clearField(1); + + /// `etag` is used for optimistic concurrency control as a way to help + /// prevent simultaneous updates of a policy from overwriting each other. + /// It is strongly suggested that systems make use of the `etag` in the + /// read-modify-write cycle to perform policy updates in order to avoid race + /// conditions: An `etag` is returned in the response to `getIamPolicy`, and + /// systems are expected to put that etag in the request to `setIamPolicy` to + /// ensure that their change will be applied to the same version of the policy. + /// + /// **Important:** If you use IAM Conditions, you must include the `etag` field + /// whenever you call `setIamPolicy`. If you omit this field, then IAM allows + /// you to overwrite a version `3` policy with a version `1` policy, and all of + /// the conditions in the version `3` policy are lost. + @$pb.TagNumber(3) + $core.List<$core.int> get etag => $_getN(1); + @$pb.TagNumber(3) + set etag($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasEtag() => $_has(1); + @$pb.TagNumber(3) + void clearEtag() => clearField(3); + + /// Associates a list of `members`, or principals, with a `role`. Optionally, + /// may specify a `condition` that determines how and when the `bindings` are + /// applied. Each of the `bindings` must contain at least one principal. + /// + /// The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 + /// of these principals can be Google groups. Each occurrence of a principal + /// counts towards these limits. For example, if the `bindings` grant 50 + /// different roles to `user:alice@example.com`, and not to any other + /// principal, then you can add another 1,450 principals to the `bindings` in + /// the `Policy`. + @$pb.TagNumber(4) + $core.List get bindings => $_getList(2); + + /// Specifies cloud audit logging configuration for this policy. + @$pb.TagNumber(6) + $core.List get auditConfigs => $_getList(3); +} + +/// Associates `members`, or principals, with a `role`. +class Binding extends $pb.GeneratedMessage { + factory Binding({ + $core.String? role, + $core.Iterable<$core.String>? members, + $114.Expr? condition, + }) { + final $result = create(); + if (role != null) { + $result.role = role; + } + if (members != null) { + $result.members.addAll(members); + } + if (condition != null) { + $result.condition = condition; + } + return $result; + } + Binding._() : super(); + factory Binding.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Binding.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Binding', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'role') + ..pPS(2, _omitFieldNames ? '' : 'members') + ..aOM<$114.Expr>(3, _omitFieldNames ? '' : 'condition', + subBuilder: $114.Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Binding clone() => Binding()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Binding copyWith(void Function(Binding) updates) => + super.copyWith((message) => updates(message as Binding)) as Binding; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Binding create() => Binding._(); + Binding createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Binding getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Binding? _defaultInstance; + + /// Role that is assigned to the list of `members`, or principals. + /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + @$pb.TagNumber(1) + $core.String get role => $_getSZ(0); + @$pb.TagNumber(1) + set role($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRole() => $_has(0); + @$pb.TagNumber(1) + void clearRole() => clearField(1); + + /// Specifies the principals requesting access for a Google Cloud resource. + /// `members` can have the following values: + /// + /// * `allUsers`: A special identifier that represents anyone who is + /// on the internet; with or without a Google account. + /// + /// * `allAuthenticatedUsers`: A special identifier that represents anyone + /// who is authenticated with a Google account or a service account. + /// + /// * `user:{emailid}`: An email address that represents a specific Google + /// account. For example, `alice@example.com` . + /// + /// + /// * `serviceAccount:{emailid}`: An email address that represents a service + /// account. For example, `my-other-app@appspot.gserviceaccount.com`. + /// + /// * `group:{emailid}`: An email address that represents a Google group. + /// For example, `admins@example.com`. + /// + /// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique + /// identifier) representing a user that has been recently deleted. For + /// example, `alice@example.com?uid=123456789012345678901`. If the user is + /// recovered, this value reverts to `user:{emailid}` and the recovered user + /// retains the role in the binding. + /// + /// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus + /// unique identifier) representing a service account that has been recently + /// deleted. For example, + /// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + /// If the service account is undeleted, this value reverts to + /// `serviceAccount:{emailid}` and the undeleted service account retains the + /// role in the binding. + /// + /// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique + /// identifier) representing a Google group that has been recently + /// deleted. For example, `admins@example.com?uid=123456789012345678901`. If + /// the group is recovered, this value reverts to `group:{emailid}` and the + /// recovered group retains the role in the binding. + /// + /// + /// * `domain:{domain}`: The G Suite domain (primary) that represents all the + /// users of that domain. For example, `google.com` or `example.com`. + @$pb.TagNumber(2) + $core.List<$core.String> get members => $_getList(1); + + /// The condition that is associated with this binding. + /// + /// If the condition evaluates to `true`, then this binding applies to the + /// current request. + /// + /// If the condition evaluates to `false`, then this binding does not apply to + /// the current request. However, a different role binding might grant the same + /// role to one or more of the principals in this binding. + /// + /// To learn which resources support conditions in their IAM policies, see the + /// [IAM + /// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + @$pb.TagNumber(3) + $114.Expr get condition => $_getN(2); + @$pb.TagNumber(3) + set condition($114.Expr v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasCondition() => $_has(2); + @$pb.TagNumber(3) + void clearCondition() => clearField(3); + @$pb.TagNumber(3) + $114.Expr ensureCondition() => $_ensure(2); +} + +/// Specifies the audit configuration for a service. +/// The configuration determines which permission types are logged, and what +/// identities, if any, are exempted from logging. +/// An AuditConfig must have one or more AuditLogConfigs. +/// +/// If there are AuditConfigs for both `allServices` and a specific service, +/// the union of the two AuditConfigs is used for that service: the log_types +/// specified in each AuditConfig are enabled, and the exempted_members in each +/// AuditLogConfig are exempted. +/// +/// Example Policy with multiple AuditConfigs: +/// +/// { +/// "audit_configs": [ +/// { +/// "service": "allServices", +/// "audit_log_configs": [ +/// { +/// "log_type": "DATA_READ", +/// "exempted_members": [ +/// "user:jose@example.com" +/// ] +/// }, +/// { +/// "log_type": "DATA_WRITE" +/// }, +/// { +/// "log_type": "ADMIN_READ" +/// } +/// ] +/// }, +/// { +/// "service": "sampleservice.googleapis.com", +/// "audit_log_configs": [ +/// { +/// "log_type": "DATA_READ" +/// }, +/// { +/// "log_type": "DATA_WRITE", +/// "exempted_members": [ +/// "user:aliya@example.com" +/// ] +/// } +/// ] +/// } +/// ] +/// } +/// +/// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ +/// logging. It also exempts `jose@example.com` from DATA_READ logging, and +/// `aliya@example.com` from DATA_WRITE logging. +class AuditConfig extends $pb.GeneratedMessage { + factory AuditConfig({ + $core.String? service, + $core.Iterable? auditLogConfigs, + }) { + final $result = create(); + if (service != null) { + $result.service = service; + } + if (auditLogConfigs != null) { + $result.auditLogConfigs.addAll(auditLogConfigs); + } + return $result; + } + AuditConfig._() : super(); + factory AuditConfig.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditConfig.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditConfig', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'service') + ..pc( + 3, _omitFieldNames ? '' : 'auditLogConfigs', $pb.PbFieldType.PM, + subBuilder: AuditLogConfig.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditConfig clone() => AuditConfig()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditConfig copyWith(void Function(AuditConfig) updates) => + super.copyWith((message) => updates(message as AuditConfig)) + as AuditConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditConfig create() => AuditConfig._(); + AuditConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditConfig getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuditConfig? _defaultInstance; + + /// Specifies a service that will be enabled for audit logging. + /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + /// `allServices` is a special value that covers all services. + @$pb.TagNumber(1) + $core.String get service => $_getSZ(0); + @$pb.TagNumber(1) + set service($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasService() => $_has(0); + @$pb.TagNumber(1) + void clearService() => clearField(1); + + /// The configuration for logging of each type of permission. + @$pb.TagNumber(3) + $core.List get auditLogConfigs => $_getList(1); +} + +/// Provides the configuration for logging a type of permissions. +/// Example: +/// +/// { +/// "audit_log_configs": [ +/// { +/// "log_type": "DATA_READ", +/// "exempted_members": [ +/// "user:jose@example.com" +/// ] +/// }, +/// { +/// "log_type": "DATA_WRITE" +/// } +/// ] +/// } +/// +/// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting +/// jose@example.com from DATA_READ logging. +class AuditLogConfig extends $pb.GeneratedMessage { + factory AuditLogConfig({ + AuditLogConfig_LogType? logType, + $core.Iterable<$core.String>? exemptedMembers, + }) { + final $result = create(); + if (logType != null) { + $result.logType = logType; + } + if (exemptedMembers != null) { + $result.exemptedMembers.addAll(exemptedMembers); + } + return $result; + } + AuditLogConfig._() : super(); + factory AuditLogConfig.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditLogConfig.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditLogConfig', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'logType', $pb.PbFieldType.OE, + defaultOrMaker: AuditLogConfig_LogType.LOG_TYPE_UNSPECIFIED, + valueOf: AuditLogConfig_LogType.valueOf, + enumValues: AuditLogConfig_LogType.values) + ..pPS(2, _omitFieldNames ? '' : 'exemptedMembers') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditLogConfig clone() => AuditLogConfig()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditLogConfig copyWith(void Function(AuditLogConfig) updates) => + super.copyWith((message) => updates(message as AuditLogConfig)) + as AuditLogConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditLogConfig create() => AuditLogConfig._(); + AuditLogConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditLogConfig getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuditLogConfig? _defaultInstance; + + /// The log type that this config enables. + @$pb.TagNumber(1) + AuditLogConfig_LogType get logType => $_getN(0); + @$pb.TagNumber(1) + set logType(AuditLogConfig_LogType v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasLogType() => $_has(0); + @$pb.TagNumber(1) + void clearLogType() => clearField(1); + + /// Specifies the identities that do not cause logging for this type of + /// permission. + /// Follows the same format of + /// [Binding.members][google.iam.v1.Binding.members]. + @$pb.TagNumber(2) + $core.List<$core.String> get exemptedMembers => $_getList(1); +} + +/// The difference delta between two policies. +class PolicyDelta extends $pb.GeneratedMessage { + factory PolicyDelta({ + $core.Iterable? bindingDeltas, + $core.Iterable? auditConfigDeltas, + }) { + final $result = create(); + if (bindingDeltas != null) { + $result.bindingDeltas.addAll(bindingDeltas); + } + if (auditConfigDeltas != null) { + $result.auditConfigDeltas.addAll(auditConfigDeltas); + } + return $result; + } + PolicyDelta._() : super(); + factory PolicyDelta.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PolicyDelta.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PolicyDelta', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'bindingDeltas', $pb.PbFieldType.PM, + subBuilder: BindingDelta.create) + ..pc( + 2, _omitFieldNames ? '' : 'auditConfigDeltas', $pb.PbFieldType.PM, + subBuilder: AuditConfigDelta.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyDelta clone() => PolicyDelta()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyDelta copyWith(void Function(PolicyDelta) updates) => + super.copyWith((message) => updates(message as PolicyDelta)) + as PolicyDelta; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyDelta create() => PolicyDelta._(); + PolicyDelta createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyDelta getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PolicyDelta? _defaultInstance; + + /// The delta for Bindings between two policies. + @$pb.TagNumber(1) + $core.List get bindingDeltas => $_getList(0); + + /// The delta for AuditConfigs between two policies. + @$pb.TagNumber(2) + $core.List get auditConfigDeltas => $_getList(1); +} + +/// One delta entry for Binding. Each individual change (only one member in each +/// entry) to a binding will be a separate entry. +class BindingDelta extends $pb.GeneratedMessage { + factory BindingDelta({ + BindingDelta_Action? action, + $core.String? role, + $core.String? member, + $114.Expr? condition, + }) { + final $result = create(); + if (action != null) { + $result.action = action; + } + if (role != null) { + $result.role = role; + } + if (member != null) { + $result.member = member; + } + if (condition != null) { + $result.condition = condition; + } + return $result; + } + BindingDelta._() : super(); + factory BindingDelta.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BindingDelta.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BindingDelta', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'action', $pb.PbFieldType.OE, + defaultOrMaker: BindingDelta_Action.ACTION_UNSPECIFIED, + valueOf: BindingDelta_Action.valueOf, + enumValues: BindingDelta_Action.values) + ..aOS(2, _omitFieldNames ? '' : 'role') + ..aOS(3, _omitFieldNames ? '' : 'member') + ..aOM<$114.Expr>(4, _omitFieldNames ? '' : 'condition', + subBuilder: $114.Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BindingDelta clone() => BindingDelta()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BindingDelta copyWith(void Function(BindingDelta) updates) => + super.copyWith((message) => updates(message as BindingDelta)) + as BindingDelta; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BindingDelta create() => BindingDelta._(); + BindingDelta createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BindingDelta getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BindingDelta? _defaultInstance; + + /// The action that was performed on a Binding. + /// Required + @$pb.TagNumber(1) + BindingDelta_Action get action => $_getN(0); + @$pb.TagNumber(1) + set action(BindingDelta_Action v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasAction() => $_has(0); + @$pb.TagNumber(1) + void clearAction() => clearField(1); + + /// Role that is assigned to `members`. + /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// Required + @$pb.TagNumber(2) + $core.String get role => $_getSZ(1); + @$pb.TagNumber(2) + set role($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRole() => $_has(1); + @$pb.TagNumber(2) + void clearRole() => clearField(2); + + /// A single identity requesting access for a Google Cloud resource. + /// Follows the same format of Binding.members. + /// Required + @$pb.TagNumber(3) + $core.String get member => $_getSZ(2); + @$pb.TagNumber(3) + set member($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasMember() => $_has(2); + @$pb.TagNumber(3) + void clearMember() => clearField(3); + + /// The condition that is associated with this binding. + @$pb.TagNumber(4) + $114.Expr get condition => $_getN(3); + @$pb.TagNumber(4) + set condition($114.Expr v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasCondition() => $_has(3); + @$pb.TagNumber(4) + void clearCondition() => clearField(4); + @$pb.TagNumber(4) + $114.Expr ensureCondition() => $_ensure(3); +} + +/// One delta entry for AuditConfig. Each individual change (only one +/// exempted_member in each entry) to a AuditConfig will be a separate entry. +class AuditConfigDelta extends $pb.GeneratedMessage { + factory AuditConfigDelta({ + AuditConfigDelta_Action? action, + $core.String? service, + $core.String? exemptedMember, + $core.String? logType, + }) { + final $result = create(); + if (action != null) { + $result.action = action; + } + if (service != null) { + $result.service = service; + } + if (exemptedMember != null) { + $result.exemptedMember = exemptedMember; + } + if (logType != null) { + $result.logType = logType; + } + return $result; + } + AuditConfigDelta._() : super(); + factory AuditConfigDelta.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory AuditConfigDelta.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'AuditConfigDelta', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'action', $pb.PbFieldType.OE, + defaultOrMaker: AuditConfigDelta_Action.ACTION_UNSPECIFIED, + valueOf: AuditConfigDelta_Action.valueOf, + enumValues: AuditConfigDelta_Action.values) + ..aOS(2, _omitFieldNames ? '' : 'service') + ..aOS(3, _omitFieldNames ? '' : 'exemptedMember') + ..aOS(4, _omitFieldNames ? '' : 'logType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AuditConfigDelta clone() => AuditConfigDelta()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AuditConfigDelta copyWith(void Function(AuditConfigDelta) updates) => + super.copyWith((message) => updates(message as AuditConfigDelta)) + as AuditConfigDelta; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static AuditConfigDelta create() => AuditConfigDelta._(); + AuditConfigDelta createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static AuditConfigDelta getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static AuditConfigDelta? _defaultInstance; + + /// The action that was performed on an audit configuration in a policy. + /// Required + @$pb.TagNumber(1) + AuditConfigDelta_Action get action => $_getN(0); + @$pb.TagNumber(1) + set action(AuditConfigDelta_Action v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasAction() => $_has(0); + @$pb.TagNumber(1) + void clearAction() => clearField(1); + + /// Specifies a service that was configured for Cloud Audit Logging. + /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + /// `allServices` is a special value that covers all services. + /// Required + @$pb.TagNumber(2) + $core.String get service => $_getSZ(1); + @$pb.TagNumber(2) + set service($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasService() => $_has(1); + @$pb.TagNumber(2) + void clearService() => clearField(2); + + /// A single identity that is exempted from "data access" audit + /// logging for the `service` specified above. + /// Follows the same format of Binding.members. + @$pb.TagNumber(3) + $core.String get exemptedMember => $_getSZ(2); + @$pb.TagNumber(3) + set exemptedMember($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasExemptedMember() => $_has(2); + @$pb.TagNumber(3) + void clearExemptedMember() => clearField(3); + + /// Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always + /// enabled, and cannot be configured. + /// Required + @$pb.TagNumber(4) + $core.String get logType => $_getSZ(3); + @$pb.TagNumber(4) + set logType($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasLogType() => $_has(3); + @$pb.TagNumber(4) + void clearLogType() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pbenum.dart new file mode 100644 index 00000000..b14d0455 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pbenum.dart @@ -0,0 +1,88 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The list of valid permission types for which logging can be configured. +/// Admin writes are always logged, and are not configurable. +class AuditLogConfig_LogType extends $pb.ProtobufEnum { + static const AuditLogConfig_LogType LOG_TYPE_UNSPECIFIED = + AuditLogConfig_LogType._(0, _omitEnumNames ? '' : 'LOG_TYPE_UNSPECIFIED'); + static const AuditLogConfig_LogType ADMIN_READ = + AuditLogConfig_LogType._(1, _omitEnumNames ? '' : 'ADMIN_READ'); + static const AuditLogConfig_LogType DATA_WRITE = + AuditLogConfig_LogType._(2, _omitEnumNames ? '' : 'DATA_WRITE'); + static const AuditLogConfig_LogType DATA_READ = + AuditLogConfig_LogType._(3, _omitEnumNames ? '' : 'DATA_READ'); + + static const $core.List values = + [ + LOG_TYPE_UNSPECIFIED, + ADMIN_READ, + DATA_WRITE, + DATA_READ, + ]; + + static final $core.Map<$core.int, AuditLogConfig_LogType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static AuditLogConfig_LogType? valueOf($core.int value) => _byValue[value]; + + const AuditLogConfig_LogType._($core.int v, $core.String n) : super(v, n); +} + +/// The type of action performed on a Binding in a policy. +class BindingDelta_Action extends $pb.ProtobufEnum { + static const BindingDelta_Action ACTION_UNSPECIFIED = + BindingDelta_Action._(0, _omitEnumNames ? '' : 'ACTION_UNSPECIFIED'); + static const BindingDelta_Action ADD = + BindingDelta_Action._(1, _omitEnumNames ? '' : 'ADD'); + static const BindingDelta_Action REMOVE = + BindingDelta_Action._(2, _omitEnumNames ? '' : 'REMOVE'); + + static const $core.List values = [ + ACTION_UNSPECIFIED, + ADD, + REMOVE, + ]; + + static final $core.Map<$core.int, BindingDelta_Action> _byValue = + $pb.ProtobufEnum.initByValue(values); + static BindingDelta_Action? valueOf($core.int value) => _byValue[value]; + + const BindingDelta_Action._($core.int v, $core.String n) : super(v, n); +} + +/// The type of action performed on an audit configuration in a policy. +class AuditConfigDelta_Action extends $pb.ProtobufEnum { + static const AuditConfigDelta_Action ACTION_UNSPECIFIED = + AuditConfigDelta_Action._(0, _omitEnumNames ? '' : 'ACTION_UNSPECIFIED'); + static const AuditConfigDelta_Action ADD = + AuditConfigDelta_Action._(1, _omitEnumNames ? '' : 'ADD'); + static const AuditConfigDelta_Action REMOVE = + AuditConfigDelta_Action._(2, _omitEnumNames ? '' : 'REMOVE'); + + static const $core.List values = + [ + ACTION_UNSPECIFIED, + ADD, + REMOVE, + ]; + + static final $core.Map<$core.int, AuditConfigDelta_Action> _byValue = + $pb.ProtobufEnum.initByValue(values); + static AuditConfigDelta_Action? valueOf($core.int value) => _byValue[value]; + + const AuditConfigDelta_Action._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pbjson.dart new file mode 100644 index 00000000..26105837 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1/policy.pbjson.dart @@ -0,0 +1,234 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use policyDescriptor instead') +const Policy$json = { + '1': 'Policy', + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 5, '10': 'version'}, + { + '1': 'bindings', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.iam.v1.Binding', + '10': 'bindings' + }, + { + '1': 'audit_configs', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.iam.v1.AuditConfig', + '10': 'auditConfigs' + }, + {'1': 'etag', '3': 3, '4': 1, '5': 12, '10': 'etag'}, + ], +}; + +/// Descriptor for `Policy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyDescriptor = $convert.base64Decode( + 'CgZQb2xpY3kSGAoHdmVyc2lvbhgBIAEoBVIHdmVyc2lvbhIyCghiaW5kaW5ncxgEIAMoCzIWLm' + 'dvb2dsZS5pYW0udjEuQmluZGluZ1IIYmluZGluZ3MSPwoNYXVkaXRfY29uZmlncxgGIAMoCzIa' + 'Lmdvb2dsZS5pYW0udjEuQXVkaXRDb25maWdSDGF1ZGl0Q29uZmlncxISCgRldGFnGAMgASgMUg' + 'RldGFn'); + +@$core.Deprecated('Use bindingDescriptor instead') +const Binding$json = { + '1': 'Binding', + '2': [ + {'1': 'role', '3': 1, '4': 1, '5': 9, '10': 'role'}, + {'1': 'members', '3': 2, '4': 3, '5': 9, '10': 'members'}, + { + '1': 'condition', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.type.Expr', + '10': 'condition' + }, + ], +}; + +/// Descriptor for `Binding`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bindingDescriptor = $convert.base64Decode( + 'CgdCaW5kaW5nEhIKBHJvbGUYASABKAlSBHJvbGUSGAoHbWVtYmVycxgCIAMoCVIHbWVtYmVycx' + 'IvCgljb25kaXRpb24YAyABKAsyES5nb29nbGUudHlwZS5FeHByUgljb25kaXRpb24='); + +@$core.Deprecated('Use auditConfigDescriptor instead') +const AuditConfig$json = { + '1': 'AuditConfig', + '2': [ + {'1': 'service', '3': 1, '4': 1, '5': 9, '10': 'service'}, + { + '1': 'audit_log_configs', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.iam.v1.AuditLogConfig', + '10': 'auditLogConfigs' + }, + ], +}; + +/// Descriptor for `AuditConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditConfigDescriptor = $convert.base64Decode( + 'CgtBdWRpdENvbmZpZxIYCgdzZXJ2aWNlGAEgASgJUgdzZXJ2aWNlEkkKEWF1ZGl0X2xvZ19jb2' + '5maWdzGAMgAygLMh0uZ29vZ2xlLmlhbS52MS5BdWRpdExvZ0NvbmZpZ1IPYXVkaXRMb2dDb25m' + 'aWdz'); + +@$core.Deprecated('Use auditLogConfigDescriptor instead') +const AuditLogConfig$json = { + '1': 'AuditLogConfig', + '2': [ + { + '1': 'log_type', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.iam.v1.AuditLogConfig.LogType', + '10': 'logType' + }, + {'1': 'exempted_members', '3': 2, '4': 3, '5': 9, '10': 'exemptedMembers'}, + ], + '4': [AuditLogConfig_LogType$json], +}; + +@$core.Deprecated('Use auditLogConfigDescriptor instead') +const AuditLogConfig_LogType$json = { + '1': 'LogType', + '2': [ + {'1': 'LOG_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'ADMIN_READ', '2': 1}, + {'1': 'DATA_WRITE', '2': 2}, + {'1': 'DATA_READ', '2': 3}, + ], +}; + +/// Descriptor for `AuditLogConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditLogConfigDescriptor = $convert.base64Decode( + 'Cg5BdWRpdExvZ0NvbmZpZxJACghsb2dfdHlwZRgBIAEoDjIlLmdvb2dsZS5pYW0udjEuQXVkaX' + 'RMb2dDb25maWcuTG9nVHlwZVIHbG9nVHlwZRIpChBleGVtcHRlZF9tZW1iZXJzGAIgAygJUg9l' + 'eGVtcHRlZE1lbWJlcnMiUgoHTG9nVHlwZRIYChRMT0dfVFlQRV9VTlNQRUNJRklFRBAAEg4KCk' + 'FETUlOX1JFQUQQARIOCgpEQVRBX1dSSVRFEAISDQoJREFUQV9SRUFEEAM='); + +@$core.Deprecated('Use policyDeltaDescriptor instead') +const PolicyDelta$json = { + '1': 'PolicyDelta', + '2': [ + { + '1': 'binding_deltas', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.v1.BindingDelta', + '10': 'bindingDeltas' + }, + { + '1': 'audit_config_deltas', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.iam.v1.AuditConfigDelta', + '10': 'auditConfigDeltas' + }, + ], +}; + +/// Descriptor for `PolicyDelta`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyDeltaDescriptor = $convert.base64Decode( + 'CgtQb2xpY3lEZWx0YRJCCg5iaW5kaW5nX2RlbHRhcxgBIAMoCzIbLmdvb2dsZS5pYW0udjEuQm' + 'luZGluZ0RlbHRhUg1iaW5kaW5nRGVsdGFzEk8KE2F1ZGl0X2NvbmZpZ19kZWx0YXMYAiADKAsy' + 'Hy5nb29nbGUuaWFtLnYxLkF1ZGl0Q29uZmlnRGVsdGFSEWF1ZGl0Q29uZmlnRGVsdGFz'); + +@$core.Deprecated('Use bindingDeltaDescriptor instead') +const BindingDelta$json = { + '1': 'BindingDelta', + '2': [ + { + '1': 'action', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.iam.v1.BindingDelta.Action', + '10': 'action' + }, + {'1': 'role', '3': 2, '4': 1, '5': 9, '10': 'role'}, + {'1': 'member', '3': 3, '4': 1, '5': 9, '10': 'member'}, + { + '1': 'condition', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.type.Expr', + '10': 'condition' + }, + ], + '4': [BindingDelta_Action$json], +}; + +@$core.Deprecated('Use bindingDeltaDescriptor instead') +const BindingDelta_Action$json = { + '1': 'Action', + '2': [ + {'1': 'ACTION_UNSPECIFIED', '2': 0}, + {'1': 'ADD', '2': 1}, + {'1': 'REMOVE', '2': 2}, + ], +}; + +/// Descriptor for `BindingDelta`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bindingDeltaDescriptor = $convert.base64Decode( + 'CgxCaW5kaW5nRGVsdGESOgoGYWN0aW9uGAEgASgOMiIuZ29vZ2xlLmlhbS52MS5CaW5kaW5nRG' + 'VsdGEuQWN0aW9uUgZhY3Rpb24SEgoEcm9sZRgCIAEoCVIEcm9sZRIWCgZtZW1iZXIYAyABKAlS' + 'Bm1lbWJlchIvCgljb25kaXRpb24YBCABKAsyES5nb29nbGUudHlwZS5FeHByUgljb25kaXRpb2' + '4iNQoGQWN0aW9uEhYKEkFDVElPTl9VTlNQRUNJRklFRBAAEgcKA0FERBABEgoKBlJFTU9WRRAC'); + +@$core.Deprecated('Use auditConfigDeltaDescriptor instead') +const AuditConfigDelta$json = { + '1': 'AuditConfigDelta', + '2': [ + { + '1': 'action', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.iam.v1.AuditConfigDelta.Action', + '10': 'action' + }, + {'1': 'service', '3': 2, '4': 1, '5': 9, '10': 'service'}, + {'1': 'exempted_member', '3': 3, '4': 1, '5': 9, '10': 'exemptedMember'}, + {'1': 'log_type', '3': 4, '4': 1, '5': 9, '10': 'logType'}, + ], + '4': [AuditConfigDelta_Action$json], +}; + +@$core.Deprecated('Use auditConfigDeltaDescriptor instead') +const AuditConfigDelta_Action$json = { + '1': 'Action', + '2': [ + {'1': 'ACTION_UNSPECIFIED', '2': 0}, + {'1': 'ADD', '2': 1}, + {'1': 'REMOVE', '2': 2}, + ], +}; + +/// Descriptor for `AuditConfigDelta`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List auditConfigDeltaDescriptor = $convert.base64Decode( + 'ChBBdWRpdENvbmZpZ0RlbHRhEj4KBmFjdGlvbhgBIAEoDjImLmdvb2dsZS5pYW0udjEuQXVkaX' + 'RDb25maWdEZWx0YS5BY3Rpb25SBmFjdGlvbhIYCgdzZXJ2aWNlGAIgASgJUgdzZXJ2aWNlEicK' + 'D2V4ZW1wdGVkX21lbWJlchgDIAEoCVIOZXhlbXB0ZWRNZW1iZXISGQoIbG9nX3R5cGUYBCABKA' + 'lSB2xvZ1R5cGUiNQoGQWN0aW9uEhYKEkFDVElPTl9VTlNQRUNJRklFRBAAEgcKA0FERBABEgoK' + 'BlJFTU9WRRAC'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pb.dart new file mode 100644 index 00000000..a259f4da --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pb.dart @@ -0,0 +1,2022 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1beta/workload_identity_pool.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/field_mask.pb.dart' as $58; +import 'workload_identity_pool.pbenum.dart'; + +export 'workload_identity_pool.pbenum.dart'; + +/// Represents a collection of external workload identities. You can define IAM +/// policies to grant these identities access to Google Cloud resources. +class WorkloadIdentityPool extends $pb.GeneratedMessage { + factory WorkloadIdentityPool({ + $core.String? name, + $core.String? displayName, + $core.String? description, + WorkloadIdentityPool_State? state, + $core.bool? disabled, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (description != null) { + $result.description = description; + } + if (state != null) { + $result.state = state; + } + if (disabled != null) { + $result.disabled = disabled; + } + return $result; + } + WorkloadIdentityPool._() : super(); + factory WorkloadIdentityPool.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WorkloadIdentityPool.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WorkloadIdentityPool', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'displayName') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..e( + 4, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: WorkloadIdentityPool_State.STATE_UNSPECIFIED, + valueOf: WorkloadIdentityPool_State.valueOf, + enumValues: WorkloadIdentityPool_State.values) + ..aOB(5, _omitFieldNames ? '' : 'disabled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPool clone() => + WorkloadIdentityPool()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPool copyWith(void Function(WorkloadIdentityPool) updates) => + super.copyWith((message) => updates(message as WorkloadIdentityPool)) + as WorkloadIdentityPool; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPool create() => WorkloadIdentityPool._(); + WorkloadIdentityPool createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPool getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static WorkloadIdentityPool? _defaultInstance; + + /// Output only. The resource name of the pool. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A display name for the pool. Cannot exceed 32 characters. + @$pb.TagNumber(2) + $core.String get displayName => $_getSZ(1); + @$pb.TagNumber(2) + set displayName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDisplayName() => $_has(1); + @$pb.TagNumber(2) + void clearDisplayName() => clearField(2); + + /// A description of the pool. Cannot exceed 256 characters. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// Output only. The state of the pool. + @$pb.TagNumber(4) + WorkloadIdentityPool_State get state => $_getN(3); + @$pb.TagNumber(4) + set state(WorkloadIdentityPool_State v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasState() => $_has(3); + @$pb.TagNumber(4) + void clearState() => clearField(4); + + /// Whether the pool is disabled. You cannot use a disabled pool to exchange + /// tokens, or use existing tokens to access resources. If + /// the pool is re-enabled, existing tokens grant access again. + @$pb.TagNumber(5) + $core.bool get disabled => $_getBF(4); + @$pb.TagNumber(5) + set disabled($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDisabled() => $_has(4); + @$pb.TagNumber(5) + void clearDisabled() => clearField(5); +} + +/// Represents an Amazon Web Services identity provider. +class WorkloadIdentityPoolProvider_Aws extends $pb.GeneratedMessage { + factory WorkloadIdentityPoolProvider_Aws({ + $core.String? accountId, + }) { + final $result = create(); + if (accountId != null) { + $result.accountId = accountId; + } + return $result; + } + WorkloadIdentityPoolProvider_Aws._() : super(); + factory WorkloadIdentityPoolProvider_Aws.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WorkloadIdentityPoolProvider_Aws.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WorkloadIdentityPoolProvider.Aws', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'accountId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProvider_Aws clone() => + WorkloadIdentityPoolProvider_Aws()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProvider_Aws copyWith( + void Function(WorkloadIdentityPoolProvider_Aws) updates) => + super.copyWith( + (message) => updates(message as WorkloadIdentityPoolProvider_Aws)) + as WorkloadIdentityPoolProvider_Aws; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProvider_Aws create() => + WorkloadIdentityPoolProvider_Aws._(); + WorkloadIdentityPoolProvider_Aws createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProvider_Aws getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static WorkloadIdentityPoolProvider_Aws? _defaultInstance; + + /// Required. The AWS account ID. + @$pb.TagNumber(1) + $core.String get accountId => $_getSZ(0); + @$pb.TagNumber(1) + set accountId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasAccountId() => $_has(0); + @$pb.TagNumber(1) + void clearAccountId() => clearField(1); +} + +/// Represents an OpenId Connect 1.0 identity provider. +class WorkloadIdentityPoolProvider_Oidc extends $pb.GeneratedMessage { + factory WorkloadIdentityPoolProvider_Oidc({ + $core.String? issuerUri, + $core.Iterable<$core.String>? allowedAudiences, + }) { + final $result = create(); + if (issuerUri != null) { + $result.issuerUri = issuerUri; + } + if (allowedAudiences != null) { + $result.allowedAudiences.addAll(allowedAudiences); + } + return $result; + } + WorkloadIdentityPoolProvider_Oidc._() : super(); + factory WorkloadIdentityPoolProvider_Oidc.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WorkloadIdentityPoolProvider_Oidc.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WorkloadIdentityPoolProvider.Oidc', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'issuerUri') + ..pPS(2, _omitFieldNames ? '' : 'allowedAudiences') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProvider_Oidc clone() => + WorkloadIdentityPoolProvider_Oidc()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProvider_Oidc copyWith( + void Function(WorkloadIdentityPoolProvider_Oidc) updates) => + super.copyWith((message) => + updates(message as WorkloadIdentityPoolProvider_Oidc)) + as WorkloadIdentityPoolProvider_Oidc; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProvider_Oidc create() => + WorkloadIdentityPoolProvider_Oidc._(); + WorkloadIdentityPoolProvider_Oidc createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProvider_Oidc getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static WorkloadIdentityPoolProvider_Oidc? _defaultInstance; + + /// Required. The OIDC issuer URL. + @$pb.TagNumber(1) + $core.String get issuerUri => $_getSZ(0); + @$pb.TagNumber(1) + set issuerUri($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasIssuerUri() => $_has(0); + @$pb.TagNumber(1) + void clearIssuerUri() => clearField(1); + + /// Acceptable values for the `aud` field (audience) in the OIDC token. Token + /// exchange requests are rejected if the token audience does not match one + /// of the configured values. Each audience may be at most 256 characters. A + /// maximum of 10 audiences may be configured. + /// + /// If this list is empty, the OIDC token audience must be equal to + /// the full canonical resource name of the WorkloadIdentityPoolProvider, + /// with or without the HTTPS prefix. For example: + /// + /// ``` + /// //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ + /// https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ + /// ``` + @$pb.TagNumber(2) + $core.List<$core.String> get allowedAudiences => $_getList(1); +} + +enum WorkloadIdentityPoolProvider_ProviderConfig { aws, oidc, notSet } + +/// A configuration for an external identity provider. +class WorkloadIdentityPoolProvider extends $pb.GeneratedMessage { + factory WorkloadIdentityPoolProvider({ + $core.String? name, + $core.String? displayName, + $core.String? description, + WorkloadIdentityPoolProvider_State? state, + $core.bool? disabled, + $core.Map<$core.String, $core.String>? attributeMapping, + $core.String? attributeCondition, + WorkloadIdentityPoolProvider_Aws? aws, + WorkloadIdentityPoolProvider_Oidc? oidc, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (description != null) { + $result.description = description; + } + if (state != null) { + $result.state = state; + } + if (disabled != null) { + $result.disabled = disabled; + } + if (attributeMapping != null) { + $result.attributeMapping.addAll(attributeMapping); + } + if (attributeCondition != null) { + $result.attributeCondition = attributeCondition; + } + if (aws != null) { + $result.aws = aws; + } + if (oidc != null) { + $result.oidc = oidc; + } + return $result; + } + WorkloadIdentityPoolProvider._() : super(); + factory WorkloadIdentityPoolProvider.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WorkloadIdentityPoolProvider.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, WorkloadIdentityPoolProvider_ProviderConfig> + _WorkloadIdentityPoolProvider_ProviderConfigByTag = { + 8: WorkloadIdentityPoolProvider_ProviderConfig.aws, + 9: WorkloadIdentityPoolProvider_ProviderConfig.oidc, + 0: WorkloadIdentityPoolProvider_ProviderConfig.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WorkloadIdentityPoolProvider', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..oo(0, [8, 9]) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'displayName') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..e( + 4, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: WorkloadIdentityPoolProvider_State.STATE_UNSPECIFIED, + valueOf: WorkloadIdentityPoolProvider_State.valueOf, + enumValues: WorkloadIdentityPoolProvider_State.values) + ..aOB(5, _omitFieldNames ? '' : 'disabled') + ..m<$core.String, $core.String>( + 6, _omitFieldNames ? '' : 'attributeMapping', + entryClassName: 'WorkloadIdentityPoolProvider.AttributeMappingEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.iam.v1beta')) + ..aOS(7, _omitFieldNames ? '' : 'attributeCondition') + ..aOM(8, _omitFieldNames ? '' : 'aws', + subBuilder: WorkloadIdentityPoolProvider_Aws.create) + ..aOM(9, _omitFieldNames ? '' : 'oidc', + subBuilder: WorkloadIdentityPoolProvider_Oidc.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProvider clone() => + WorkloadIdentityPoolProvider()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProvider copyWith( + void Function(WorkloadIdentityPoolProvider) updates) => + super.copyWith( + (message) => updates(message as WorkloadIdentityPoolProvider)) + as WorkloadIdentityPoolProvider; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProvider create() => + WorkloadIdentityPoolProvider._(); + WorkloadIdentityPoolProvider createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProvider getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static WorkloadIdentityPoolProvider? _defaultInstance; + + WorkloadIdentityPoolProvider_ProviderConfig whichProviderConfig() => + _WorkloadIdentityPoolProvider_ProviderConfigByTag[$_whichOneof(0)]!; + void clearProviderConfig() => clearField($_whichOneof(0)); + + /// Output only. The resource name of the provider. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A display name for the provider. Cannot exceed 32 characters. + @$pb.TagNumber(2) + $core.String get displayName => $_getSZ(1); + @$pb.TagNumber(2) + set displayName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDisplayName() => $_has(1); + @$pb.TagNumber(2) + void clearDisplayName() => clearField(2); + + /// A description for the provider. Cannot exceed 256 characters. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(2); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(2); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// Output only. The state of the provider. + @$pb.TagNumber(4) + WorkloadIdentityPoolProvider_State get state => $_getN(3); + @$pb.TagNumber(4) + set state(WorkloadIdentityPoolProvider_State v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasState() => $_has(3); + @$pb.TagNumber(4) + void clearState() => clearField(4); + + /// Whether the provider is disabled. You cannot use a disabled provider to + /// exchange tokens. However, existing tokens still grant access. + @$pb.TagNumber(5) + $core.bool get disabled => $_getBF(4); + @$pb.TagNumber(5) + set disabled($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDisabled() => $_has(4); + @$pb.TagNumber(5) + void clearDisabled() => clearField(5); + + /// Maps attributes from authentication credentials issued by an external + /// identity provider to Google Cloud attributes, such as `subject` and + /// `segment`. + /// + /// Each key must be a string specifying the Google Cloud IAM attribute to + /// map to. + /// + /// The following keys are supported: + /// + /// * `google.subject`: The principal IAM is authenticating. You can reference + /// this value in IAM bindings. This is also the + /// subject that appears in Cloud Logging logs. + /// Cannot exceed 127 characters. + /// + /// * `google.groups`: Groups the external identity belongs to. You can grant + /// groups access to resources using an IAM `principalSet` + /// binding; access applies to all members of the group. + /// + /// You can also provide custom attributes by specifying + /// `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of + /// the custom attribute to be mapped. You can define a maximum of 50 custom + /// attributes. The maximum length of a mapped attribute key is + /// 100 characters, and the key may only contain the characters [a-z0-9_]. + /// + /// You can reference these attributes in IAM policies to define fine-grained + /// access for a workload to Google Cloud resources. For example: + /// + /// * `google.subject`: + /// `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` + /// + /// * `google.groups`: + /// `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` + /// + /// * `attribute.{custom_attribute}`: + /// `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` + /// + /// Each value must be a [Common Expression Language] + /// (https://opensource.google/projects/cel) function that maps an + /// identity provider credential to the normalized attribute specified by the + /// corresponding map key. + /// + /// You can use the `assertion` keyword in the expression to access a JSON + /// representation of the authentication credential issued by the provider. + /// + /// The maximum length of an attribute mapping expression is 2048 characters. + /// When evaluated, the total size of all mapped attributes must not exceed + /// 8KB. + /// + /// For AWS providers, the following rules apply: + /// + /// - If no attribute mapping is defined, the following default mapping + /// applies: + /// + /// ``` + /// { + /// "google.subject":"assertion.arn", + /// "attribute.aws_role": + /// "assertion.arn.contains('assumed-role')" + /// " ? assertion.arn.extract('{account_arn}assumed-role/')" + /// " + 'assumed-role/'" + /// " + assertion.arn.extract('assumed-role/{role_name}/')" + /// " : assertion.arn", + /// } + /// ``` + /// + /// - If any custom attribute mappings are defined, they must include a mapping + /// to the `google.subject` attribute. + /// + /// + /// For OIDC providers, the following rules apply: + /// + /// - Custom attribute mappings must be defined, and must include a mapping to + /// the `google.subject` attribute. For example, the following maps the + /// `sub` claim of the incoming credential to the `subject` attribute on + /// a Google token. + /// + /// ``` + /// {"google.subject": "assertion.sub"} + /// ``` + @$pb.TagNumber(6) + $core.Map<$core.String, $core.String> get attributeMapping => $_getMap(5); + + /// [A Common Expression Language](https://opensource.google/projects/cel) + /// expression, in plain text, to restrict what otherwise valid authentication + /// credentials issued by the provider should not be accepted. + /// + /// The expression must output a boolean representing whether to allow the + /// federation. + /// + /// The following keywords may be referenced in the expressions: + /// + /// * `assertion`: JSON representing the authentication credential issued by + /// the provider. + /// * `google`: The Google attributes mapped from the assertion in the + /// `attribute_mappings`. + /// * `attribute`: The custom attributes mapped from the assertion in the + /// `attribute_mappings`. + /// + /// The maximum length of the attribute condition expression is 4096 + /// characters. If unspecified, all valid authentication credential are + /// accepted. + /// + /// The following example shows how to only allow credentials with a mapped + /// `google.groups` value of `admins`: + /// + /// ``` + /// "'admins' in google.groups" + /// ``` + @$pb.TagNumber(7) + $core.String get attributeCondition => $_getSZ(6); + @$pb.TagNumber(7) + set attributeCondition($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasAttributeCondition() => $_has(6); + @$pb.TagNumber(7) + void clearAttributeCondition() => clearField(7); + + /// An Amazon Web Services identity provider. + @$pb.TagNumber(8) + WorkloadIdentityPoolProvider_Aws get aws => $_getN(7); + @$pb.TagNumber(8) + set aws(WorkloadIdentityPoolProvider_Aws v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasAws() => $_has(7); + @$pb.TagNumber(8) + void clearAws() => clearField(8); + @$pb.TagNumber(8) + WorkloadIdentityPoolProvider_Aws ensureAws() => $_ensure(7); + + /// An OpenId Connect 1.0 identity provider. + @$pb.TagNumber(9) + WorkloadIdentityPoolProvider_Oidc get oidc => $_getN(8); + @$pb.TagNumber(9) + set oidc(WorkloadIdentityPoolProvider_Oidc v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasOidc() => $_has(8); + @$pb.TagNumber(9) + void clearOidc() => clearField(9); + @$pb.TagNumber(9) + WorkloadIdentityPoolProvider_Oidc ensureOidc() => $_ensure(8); +} + +/// Request message for ListWorkloadIdentityPools. +class ListWorkloadIdentityPoolsRequest extends $pb.GeneratedMessage { + factory ListWorkloadIdentityPoolsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.bool? showDeleted, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (showDeleted != null) { + $result.showDeleted = showDeleted; + } + return $result; + } + ListWorkloadIdentityPoolsRequest._() : super(); + factory ListWorkloadIdentityPoolsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListWorkloadIdentityPoolsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListWorkloadIdentityPoolsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOB(4, _omitFieldNames ? '' : 'showDeleted') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolsRequest clone() => + ListWorkloadIdentityPoolsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolsRequest copyWith( + void Function(ListWorkloadIdentityPoolsRequest) updates) => + super.copyWith( + (message) => updates(message as ListWorkloadIdentityPoolsRequest)) + as ListWorkloadIdentityPoolsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolsRequest create() => + ListWorkloadIdentityPoolsRequest._(); + ListWorkloadIdentityPoolsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListWorkloadIdentityPoolsRequest? _defaultInstance; + + /// Required. The parent resource to list pools for. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The maximum number of pools to return. + /// If unspecified, at most 50 pools are returned. + /// The maximum value is 1000; values above are 1000 truncated to 1000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token, received from a previous `ListWorkloadIdentityPools` + /// call. Provide this to retrieve the subsequent page. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Whether to return soft-deleted pools. + @$pb.TagNumber(4) + $core.bool get showDeleted => $_getBF(3); + @$pb.TagNumber(4) + set showDeleted($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasShowDeleted() => $_has(3); + @$pb.TagNumber(4) + void clearShowDeleted() => clearField(4); +} + +/// Response message for ListWorkloadIdentityPools. +class ListWorkloadIdentityPoolsResponse extends $pb.GeneratedMessage { + factory ListWorkloadIdentityPoolsResponse({ + $core.Iterable? workloadIdentityPools, + $core.String? nextPageToken, + }) { + final $result = create(); + if (workloadIdentityPools != null) { + $result.workloadIdentityPools.addAll(workloadIdentityPools); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListWorkloadIdentityPoolsResponse._() : super(); + factory ListWorkloadIdentityPoolsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListWorkloadIdentityPoolsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListWorkloadIdentityPoolsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'workloadIdentityPools', $pb.PbFieldType.PM, + subBuilder: WorkloadIdentityPool.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolsResponse clone() => + ListWorkloadIdentityPoolsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolsResponse copyWith( + void Function(ListWorkloadIdentityPoolsResponse) updates) => + super.copyWith((message) => + updates(message as ListWorkloadIdentityPoolsResponse)) + as ListWorkloadIdentityPoolsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolsResponse create() => + ListWorkloadIdentityPoolsResponse._(); + ListWorkloadIdentityPoolsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ListWorkloadIdentityPoolsResponse? _defaultInstance; + + /// A list of pools. + @$pb.TagNumber(1) + $core.List get workloadIdentityPools => $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there are no subsequent pages. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for GetWorkloadIdentityPool. +class GetWorkloadIdentityPoolRequest extends $pb.GeneratedMessage { + factory GetWorkloadIdentityPoolRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetWorkloadIdentityPoolRequest._() : super(); + factory GetWorkloadIdentityPoolRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetWorkloadIdentityPoolRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetWorkloadIdentityPoolRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetWorkloadIdentityPoolRequest clone() => + GetWorkloadIdentityPoolRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetWorkloadIdentityPoolRequest copyWith( + void Function(GetWorkloadIdentityPoolRequest) updates) => + super.copyWith( + (message) => updates(message as GetWorkloadIdentityPoolRequest)) + as GetWorkloadIdentityPoolRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetWorkloadIdentityPoolRequest create() => + GetWorkloadIdentityPoolRequest._(); + GetWorkloadIdentityPoolRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetWorkloadIdentityPoolRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetWorkloadIdentityPoolRequest? _defaultInstance; + + /// Required. The name of the pool to retrieve. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for CreateWorkloadIdentityPool. +class CreateWorkloadIdentityPoolRequest extends $pb.GeneratedMessage { + factory CreateWorkloadIdentityPoolRequest({ + $core.String? parent, + WorkloadIdentityPool? workloadIdentityPool, + $core.String? workloadIdentityPoolId, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (workloadIdentityPool != null) { + $result.workloadIdentityPool = workloadIdentityPool; + } + if (workloadIdentityPoolId != null) { + $result.workloadIdentityPoolId = workloadIdentityPoolId; + } + return $result; + } + CreateWorkloadIdentityPoolRequest._() : super(); + factory CreateWorkloadIdentityPoolRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateWorkloadIdentityPoolRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateWorkloadIdentityPoolRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM( + 2, _omitFieldNames ? '' : 'workloadIdentityPool', + subBuilder: WorkloadIdentityPool.create) + ..aOS(3, _omitFieldNames ? '' : 'workloadIdentityPoolId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateWorkloadIdentityPoolRequest clone() => + CreateWorkloadIdentityPoolRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateWorkloadIdentityPoolRequest copyWith( + void Function(CreateWorkloadIdentityPoolRequest) updates) => + super.copyWith((message) => + updates(message as CreateWorkloadIdentityPoolRequest)) + as CreateWorkloadIdentityPoolRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateWorkloadIdentityPoolRequest create() => + CreateWorkloadIdentityPoolRequest._(); + CreateWorkloadIdentityPoolRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateWorkloadIdentityPoolRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static CreateWorkloadIdentityPoolRequest? _defaultInstance; + + /// Required. The parent resource to create the pool in. The only supported + /// location is `global`. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The pool to create. + @$pb.TagNumber(2) + WorkloadIdentityPool get workloadIdentityPool => $_getN(1); + @$pb.TagNumber(2) + set workloadIdentityPool(WorkloadIdentityPool v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasWorkloadIdentityPool() => $_has(1); + @$pb.TagNumber(2) + void clearWorkloadIdentityPool() => clearField(2); + @$pb.TagNumber(2) + WorkloadIdentityPool ensureWorkloadIdentityPool() => $_ensure(1); + + /// Required. The ID to use for the pool, which becomes the + /// final component of the resource name. This value should be 4-32 characters, + /// and may contain the characters [a-z0-9-]. The prefix `gcp-` is + /// reserved for use by Google, and may not be specified. + @$pb.TagNumber(3) + $core.String get workloadIdentityPoolId => $_getSZ(2); + @$pb.TagNumber(3) + set workloadIdentityPoolId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasWorkloadIdentityPoolId() => $_has(2); + @$pb.TagNumber(3) + void clearWorkloadIdentityPoolId() => clearField(3); +} + +/// Request message for UpdateWorkloadIdentityPool. +class UpdateWorkloadIdentityPoolRequest extends $pb.GeneratedMessage { + factory UpdateWorkloadIdentityPoolRequest({ + WorkloadIdentityPool? workloadIdentityPool, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (workloadIdentityPool != null) { + $result.workloadIdentityPool = workloadIdentityPool; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateWorkloadIdentityPoolRequest._() : super(); + factory UpdateWorkloadIdentityPoolRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateWorkloadIdentityPoolRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateWorkloadIdentityPoolRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOM( + 1, _omitFieldNames ? '' : 'workloadIdentityPool', + subBuilder: WorkloadIdentityPool.create) + ..aOM<$58.FieldMask>(2, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateWorkloadIdentityPoolRequest clone() => + UpdateWorkloadIdentityPoolRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateWorkloadIdentityPoolRequest copyWith( + void Function(UpdateWorkloadIdentityPoolRequest) updates) => + super.copyWith((message) => + updates(message as UpdateWorkloadIdentityPoolRequest)) + as UpdateWorkloadIdentityPoolRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateWorkloadIdentityPoolRequest create() => + UpdateWorkloadIdentityPoolRequest._(); + UpdateWorkloadIdentityPoolRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateWorkloadIdentityPoolRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static UpdateWorkloadIdentityPoolRequest? _defaultInstance; + + /// Required. The pool to update. The `name` field is used to identify the pool. + @$pb.TagNumber(1) + WorkloadIdentityPool get workloadIdentityPool => $_getN(0); + @$pb.TagNumber(1) + set workloadIdentityPool(WorkloadIdentityPool v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasWorkloadIdentityPool() => $_has(0); + @$pb.TagNumber(1) + void clearWorkloadIdentityPool() => clearField(1); + @$pb.TagNumber(1) + WorkloadIdentityPool ensureWorkloadIdentityPool() => $_ensure(0); + + /// Required. The list of fields update. + @$pb.TagNumber(2) + $58.FieldMask get updateMask => $_getN(1); + @$pb.TagNumber(2) + set updateMask($58.FieldMask v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasUpdateMask() => $_has(1); + @$pb.TagNumber(2) + void clearUpdateMask() => clearField(2); + @$pb.TagNumber(2) + $58.FieldMask ensureUpdateMask() => $_ensure(1); +} + +/// Request message for DeleteWorkloadIdentityPool. +class DeleteWorkloadIdentityPoolRequest extends $pb.GeneratedMessage { + factory DeleteWorkloadIdentityPoolRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteWorkloadIdentityPoolRequest._() : super(); + factory DeleteWorkloadIdentityPoolRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteWorkloadIdentityPoolRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteWorkloadIdentityPoolRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteWorkloadIdentityPoolRequest clone() => + DeleteWorkloadIdentityPoolRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteWorkloadIdentityPoolRequest copyWith( + void Function(DeleteWorkloadIdentityPoolRequest) updates) => + super.copyWith((message) => + updates(message as DeleteWorkloadIdentityPoolRequest)) + as DeleteWorkloadIdentityPoolRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteWorkloadIdentityPoolRequest create() => + DeleteWorkloadIdentityPoolRequest._(); + DeleteWorkloadIdentityPoolRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteWorkloadIdentityPoolRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static DeleteWorkloadIdentityPoolRequest? _defaultInstance; + + /// Required. The name of the pool to delete. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for UndeleteWorkloadIdentityPool. +class UndeleteWorkloadIdentityPoolRequest extends $pb.GeneratedMessage { + factory UndeleteWorkloadIdentityPoolRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + UndeleteWorkloadIdentityPoolRequest._() : super(); + factory UndeleteWorkloadIdentityPoolRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteWorkloadIdentityPoolRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteWorkloadIdentityPoolRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteWorkloadIdentityPoolRequest clone() => + UndeleteWorkloadIdentityPoolRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteWorkloadIdentityPoolRequest copyWith( + void Function(UndeleteWorkloadIdentityPoolRequest) updates) => + super.copyWith((message) => + updates(message as UndeleteWorkloadIdentityPoolRequest)) + as UndeleteWorkloadIdentityPoolRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteWorkloadIdentityPoolRequest create() => + UndeleteWorkloadIdentityPoolRequest._(); + UndeleteWorkloadIdentityPoolRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteWorkloadIdentityPoolRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + UndeleteWorkloadIdentityPoolRequest>(create); + static UndeleteWorkloadIdentityPoolRequest? _defaultInstance; + + /// Required. The name of the pool to undelete. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for ListWorkloadIdentityPoolProviders. +class ListWorkloadIdentityPoolProvidersRequest extends $pb.GeneratedMessage { + factory ListWorkloadIdentityPoolProvidersRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.bool? showDeleted, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (showDeleted != null) { + $result.showDeleted = showDeleted; + } + return $result; + } + ListWorkloadIdentityPoolProvidersRequest._() : super(); + factory ListWorkloadIdentityPoolProvidersRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListWorkloadIdentityPoolProvidersRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListWorkloadIdentityPoolProvidersRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOB(4, _omitFieldNames ? '' : 'showDeleted') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolProvidersRequest clone() => + ListWorkloadIdentityPoolProvidersRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolProvidersRequest copyWith( + void Function(ListWorkloadIdentityPoolProvidersRequest) updates) => + super.copyWith((message) => + updates(message as ListWorkloadIdentityPoolProvidersRequest)) + as ListWorkloadIdentityPoolProvidersRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolProvidersRequest create() => + ListWorkloadIdentityPoolProvidersRequest._(); + ListWorkloadIdentityPoolProvidersRequest createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolProvidersRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + ListWorkloadIdentityPoolProvidersRequest>(create); + static ListWorkloadIdentityPoolProvidersRequest? _defaultInstance; + + /// Required. The pool to list providers for. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The maximum number of providers to return. + /// If unspecified, at most 50 providers are returned. + /// The maximum value is 100; values above 100 are truncated to 100. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token, received from a previous + /// `ListWorkloadIdentityPoolProviders` call. Provide this to retrieve the + /// subsequent page. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Whether to return soft-deleted providers. + @$pb.TagNumber(4) + $core.bool get showDeleted => $_getBF(3); + @$pb.TagNumber(4) + set showDeleted($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasShowDeleted() => $_has(3); + @$pb.TagNumber(4) + void clearShowDeleted() => clearField(4); +} + +/// Response message for ListWorkloadIdentityPoolProviders. +class ListWorkloadIdentityPoolProvidersResponse extends $pb.GeneratedMessage { + factory ListWorkloadIdentityPoolProvidersResponse({ + $core.Iterable? workloadIdentityPoolProviders, + $core.String? nextPageToken, + }) { + final $result = create(); + if (workloadIdentityPoolProviders != null) { + $result.workloadIdentityPoolProviders + .addAll(workloadIdentityPoolProviders); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListWorkloadIdentityPoolProvidersResponse._() : super(); + factory ListWorkloadIdentityPoolProvidersResponse.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListWorkloadIdentityPoolProvidersResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListWorkloadIdentityPoolProvidersResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..pc( + 1, + _omitFieldNames ? '' : 'workloadIdentityPoolProviders', + $pb.PbFieldType.PM, + subBuilder: WorkloadIdentityPoolProvider.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolProvidersResponse clone() => + ListWorkloadIdentityPoolProvidersResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListWorkloadIdentityPoolProvidersResponse copyWith( + void Function(ListWorkloadIdentityPoolProvidersResponse) updates) => + super.copyWith((message) => + updates(message as ListWorkloadIdentityPoolProvidersResponse)) + as ListWorkloadIdentityPoolProvidersResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolProvidersResponse create() => + ListWorkloadIdentityPoolProvidersResponse._(); + ListWorkloadIdentityPoolProvidersResponse createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListWorkloadIdentityPoolProvidersResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + ListWorkloadIdentityPoolProvidersResponse>(create); + static ListWorkloadIdentityPoolProvidersResponse? _defaultInstance; + + /// A list of providers. + @$pb.TagNumber(1) + $core.List get workloadIdentityPoolProviders => + $_getList(0); + + /// A token, which can be sent as `page_token` to retrieve the next page. + /// If this field is omitted, there are no subsequent pages. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for GetWorkloadIdentityPoolProvider. +class GetWorkloadIdentityPoolProviderRequest extends $pb.GeneratedMessage { + factory GetWorkloadIdentityPoolProviderRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetWorkloadIdentityPoolProviderRequest._() : super(); + factory GetWorkloadIdentityPoolProviderRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetWorkloadIdentityPoolProviderRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetWorkloadIdentityPoolProviderRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetWorkloadIdentityPoolProviderRequest clone() => + GetWorkloadIdentityPoolProviderRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetWorkloadIdentityPoolProviderRequest copyWith( + void Function(GetWorkloadIdentityPoolProviderRequest) updates) => + super.copyWith((message) => + updates(message as GetWorkloadIdentityPoolProviderRequest)) + as GetWorkloadIdentityPoolProviderRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetWorkloadIdentityPoolProviderRequest create() => + GetWorkloadIdentityPoolProviderRequest._(); + GetWorkloadIdentityPoolProviderRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetWorkloadIdentityPoolProviderRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + GetWorkloadIdentityPoolProviderRequest>(create); + static GetWorkloadIdentityPoolProviderRequest? _defaultInstance; + + /// Required. The name of the provider to retrieve. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for CreateWorkloadIdentityPoolProvider. +class CreateWorkloadIdentityPoolProviderRequest extends $pb.GeneratedMessage { + factory CreateWorkloadIdentityPoolProviderRequest({ + $core.String? parent, + WorkloadIdentityPoolProvider? workloadIdentityPoolProvider, + $core.String? workloadIdentityPoolProviderId, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (workloadIdentityPoolProvider != null) { + $result.workloadIdentityPoolProvider = workloadIdentityPoolProvider; + } + if (workloadIdentityPoolProviderId != null) { + $result.workloadIdentityPoolProviderId = workloadIdentityPoolProviderId; + } + return $result; + } + CreateWorkloadIdentityPoolProviderRequest._() : super(); + factory CreateWorkloadIdentityPoolProviderRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateWorkloadIdentityPoolProviderRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateWorkloadIdentityPoolProviderRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM( + 2, _omitFieldNames ? '' : 'workloadIdentityPoolProvider', + subBuilder: WorkloadIdentityPoolProvider.create) + ..aOS(3, _omitFieldNames ? '' : 'workloadIdentityPoolProviderId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateWorkloadIdentityPoolProviderRequest clone() => + CreateWorkloadIdentityPoolProviderRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateWorkloadIdentityPoolProviderRequest copyWith( + void Function(CreateWorkloadIdentityPoolProviderRequest) updates) => + super.copyWith((message) => + updates(message as CreateWorkloadIdentityPoolProviderRequest)) + as CreateWorkloadIdentityPoolProviderRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateWorkloadIdentityPoolProviderRequest create() => + CreateWorkloadIdentityPoolProviderRequest._(); + CreateWorkloadIdentityPoolProviderRequest createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateWorkloadIdentityPoolProviderRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + CreateWorkloadIdentityPoolProviderRequest>(create); + static CreateWorkloadIdentityPoolProviderRequest? _defaultInstance; + + /// Required. The pool to create this provider in. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The provider to create. + @$pb.TagNumber(2) + WorkloadIdentityPoolProvider get workloadIdentityPoolProvider => $_getN(1); + @$pb.TagNumber(2) + set workloadIdentityPoolProvider(WorkloadIdentityPoolProvider v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasWorkloadIdentityPoolProvider() => $_has(1); + @$pb.TagNumber(2) + void clearWorkloadIdentityPoolProvider() => clearField(2); + @$pb.TagNumber(2) + WorkloadIdentityPoolProvider ensureWorkloadIdentityPoolProvider() => + $_ensure(1); + + /// Required. The ID for the provider, which becomes the + /// final component of the resource name. This value must be 4-32 characters, + /// and may contain the characters [a-z0-9-]. The prefix `gcp-` is + /// reserved for use by Google, and may not be specified. + @$pb.TagNumber(3) + $core.String get workloadIdentityPoolProviderId => $_getSZ(2); + @$pb.TagNumber(3) + set workloadIdentityPoolProviderId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasWorkloadIdentityPoolProviderId() => $_has(2); + @$pb.TagNumber(3) + void clearWorkloadIdentityPoolProviderId() => clearField(3); +} + +/// Request message for UpdateWorkloadIdentityPoolProvider. +class UpdateWorkloadIdentityPoolProviderRequest extends $pb.GeneratedMessage { + factory UpdateWorkloadIdentityPoolProviderRequest({ + WorkloadIdentityPoolProvider? workloadIdentityPoolProvider, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (workloadIdentityPoolProvider != null) { + $result.workloadIdentityPoolProvider = workloadIdentityPoolProvider; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateWorkloadIdentityPoolProviderRequest._() : super(); + factory UpdateWorkloadIdentityPoolProviderRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateWorkloadIdentityPoolProviderRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateWorkloadIdentityPoolProviderRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOM( + 1, _omitFieldNames ? '' : 'workloadIdentityPoolProvider', + subBuilder: WorkloadIdentityPoolProvider.create) + ..aOM<$58.FieldMask>(2, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateWorkloadIdentityPoolProviderRequest clone() => + UpdateWorkloadIdentityPoolProviderRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateWorkloadIdentityPoolProviderRequest copyWith( + void Function(UpdateWorkloadIdentityPoolProviderRequest) updates) => + super.copyWith((message) => + updates(message as UpdateWorkloadIdentityPoolProviderRequest)) + as UpdateWorkloadIdentityPoolProviderRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateWorkloadIdentityPoolProviderRequest create() => + UpdateWorkloadIdentityPoolProviderRequest._(); + UpdateWorkloadIdentityPoolProviderRequest createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateWorkloadIdentityPoolProviderRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + UpdateWorkloadIdentityPoolProviderRequest>(create); + static UpdateWorkloadIdentityPoolProviderRequest? _defaultInstance; + + /// Required. The provider to update. + @$pb.TagNumber(1) + WorkloadIdentityPoolProvider get workloadIdentityPoolProvider => $_getN(0); + @$pb.TagNumber(1) + set workloadIdentityPoolProvider(WorkloadIdentityPoolProvider v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasWorkloadIdentityPoolProvider() => $_has(0); + @$pb.TagNumber(1) + void clearWorkloadIdentityPoolProvider() => clearField(1); + @$pb.TagNumber(1) + WorkloadIdentityPoolProvider ensureWorkloadIdentityPoolProvider() => + $_ensure(0); + + /// Required. The list of fields to update. + @$pb.TagNumber(2) + $58.FieldMask get updateMask => $_getN(1); + @$pb.TagNumber(2) + set updateMask($58.FieldMask v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasUpdateMask() => $_has(1); + @$pb.TagNumber(2) + void clearUpdateMask() => clearField(2); + @$pb.TagNumber(2) + $58.FieldMask ensureUpdateMask() => $_ensure(1); +} + +/// Request message for DeleteWorkloadIdentityPoolProvider. +class DeleteWorkloadIdentityPoolProviderRequest extends $pb.GeneratedMessage { + factory DeleteWorkloadIdentityPoolProviderRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteWorkloadIdentityPoolProviderRequest._() : super(); + factory DeleteWorkloadIdentityPoolProviderRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteWorkloadIdentityPoolProviderRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteWorkloadIdentityPoolProviderRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteWorkloadIdentityPoolProviderRequest clone() => + DeleteWorkloadIdentityPoolProviderRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteWorkloadIdentityPoolProviderRequest copyWith( + void Function(DeleteWorkloadIdentityPoolProviderRequest) updates) => + super.copyWith((message) => + updates(message as DeleteWorkloadIdentityPoolProviderRequest)) + as DeleteWorkloadIdentityPoolProviderRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteWorkloadIdentityPoolProviderRequest create() => + DeleteWorkloadIdentityPoolProviderRequest._(); + DeleteWorkloadIdentityPoolProviderRequest createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteWorkloadIdentityPoolProviderRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + DeleteWorkloadIdentityPoolProviderRequest>(create); + static DeleteWorkloadIdentityPoolProviderRequest? _defaultInstance; + + /// Required. The name of the provider to delete. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for UndeleteWorkloadIdentityPoolProvider. +class UndeleteWorkloadIdentityPoolProviderRequest extends $pb.GeneratedMessage { + factory UndeleteWorkloadIdentityPoolProviderRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + UndeleteWorkloadIdentityPoolProviderRequest._() : super(); + factory UndeleteWorkloadIdentityPoolProviderRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteWorkloadIdentityPoolProviderRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteWorkloadIdentityPoolProviderRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteWorkloadIdentityPoolProviderRequest clone() => + UndeleteWorkloadIdentityPoolProviderRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteWorkloadIdentityPoolProviderRequest copyWith( + void Function(UndeleteWorkloadIdentityPoolProviderRequest) updates) => + super.copyWith((message) => + updates(message as UndeleteWorkloadIdentityPoolProviderRequest)) + as UndeleteWorkloadIdentityPoolProviderRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteWorkloadIdentityPoolProviderRequest create() => + UndeleteWorkloadIdentityPoolProviderRequest._(); + UndeleteWorkloadIdentityPoolProviderRequest createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteWorkloadIdentityPoolProviderRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + UndeleteWorkloadIdentityPoolProviderRequest>(create); + static UndeleteWorkloadIdentityPoolProviderRequest? _defaultInstance; + + /// Required. The name of the provider to undelete. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Metadata for long-running WorkloadIdentityPool operations. +class WorkloadIdentityPoolOperationMetadata extends $pb.GeneratedMessage { + factory WorkloadIdentityPoolOperationMetadata() => create(); + WorkloadIdentityPoolOperationMetadata._() : super(); + factory WorkloadIdentityPoolOperationMetadata.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WorkloadIdentityPoolOperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WorkloadIdentityPoolOperationMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolOperationMetadata clone() => + WorkloadIdentityPoolOperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolOperationMetadata copyWith( + void Function(WorkloadIdentityPoolOperationMetadata) updates) => + super.copyWith((message) => + updates(message as WorkloadIdentityPoolOperationMetadata)) + as WorkloadIdentityPoolOperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolOperationMetadata create() => + WorkloadIdentityPoolOperationMetadata._(); + WorkloadIdentityPoolOperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolOperationMetadata getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + WorkloadIdentityPoolOperationMetadata>(create); + static WorkloadIdentityPoolOperationMetadata? _defaultInstance; +} + +/// Metadata for long-running WorkloadIdentityPoolProvider operations. +class WorkloadIdentityPoolProviderOperationMetadata + extends $pb.GeneratedMessage { + factory WorkloadIdentityPoolProviderOperationMetadata() => create(); + WorkloadIdentityPoolProviderOperationMetadata._() : super(); + factory WorkloadIdentityPoolProviderOperationMetadata.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WorkloadIdentityPoolProviderOperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WorkloadIdentityPoolProviderOperationMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v1beta'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProviderOperationMetadata clone() => + WorkloadIdentityPoolProviderOperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WorkloadIdentityPoolProviderOperationMetadata copyWith( + void Function(WorkloadIdentityPoolProviderOperationMetadata) + updates) => + super.copyWith((message) => + updates(message as WorkloadIdentityPoolProviderOperationMetadata)) + as WorkloadIdentityPoolProviderOperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProviderOperationMetadata create() => + WorkloadIdentityPoolProviderOperationMetadata._(); + WorkloadIdentityPoolProviderOperationMetadata createEmptyInstance() => + create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WorkloadIdentityPoolProviderOperationMetadata getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + WorkloadIdentityPoolProviderOperationMetadata>(create); + static WorkloadIdentityPoolProviderOperationMetadata? _defaultInstance; +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbenum.dart new file mode 100644 index 00000000..91ad547e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbenum.dart @@ -0,0 +1,67 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1beta/workload_identity_pool.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The current state of the pool. +class WorkloadIdentityPool_State extends $pb.ProtobufEnum { + static const WorkloadIdentityPool_State STATE_UNSPECIFIED = + WorkloadIdentityPool_State._( + 0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const WorkloadIdentityPool_State ACTIVE = + WorkloadIdentityPool_State._(1, _omitEnumNames ? '' : 'ACTIVE'); + static const WorkloadIdentityPool_State DELETED = + WorkloadIdentityPool_State._(2, _omitEnumNames ? '' : 'DELETED'); + + static const $core.List values = + [ + STATE_UNSPECIFIED, + ACTIVE, + DELETED, + ]; + + static final $core.Map<$core.int, WorkloadIdentityPool_State> _byValue = + $pb.ProtobufEnum.initByValue(values); + static WorkloadIdentityPool_State? valueOf($core.int value) => + _byValue[value]; + + const WorkloadIdentityPool_State._($core.int v, $core.String n) : super(v, n); +} + +/// The current state of the provider. +class WorkloadIdentityPoolProvider_State extends $pb.ProtobufEnum { + static const WorkloadIdentityPoolProvider_State STATE_UNSPECIFIED = + WorkloadIdentityPoolProvider_State._( + 0, _omitEnumNames ? '' : 'STATE_UNSPECIFIED'); + static const WorkloadIdentityPoolProvider_State ACTIVE = + WorkloadIdentityPoolProvider_State._(1, _omitEnumNames ? '' : 'ACTIVE'); + static const WorkloadIdentityPoolProvider_State DELETED = + WorkloadIdentityPoolProvider_State._(2, _omitEnumNames ? '' : 'DELETED'); + + static const $core.List values = + [ + STATE_UNSPECIFIED, + ACTIVE, + DELETED, + ]; + + static final $core.Map<$core.int, WorkloadIdentityPoolProvider_State> + _byValue = $pb.ProtobufEnum.initByValue(values); + static WorkloadIdentityPoolProvider_State? valueOf($core.int value) => + _byValue[value]; + + const WorkloadIdentityPoolProvider_State._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbgrpc.dart new file mode 100644 index 00000000..188dbf1b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbgrpc.dart @@ -0,0 +1,422 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1beta/workload_identity_pool.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../longrunning/operations.pb.dart' as $0; +import 'workload_identity_pool.pb.dart' as $41; + +export 'workload_identity_pool.pb.dart'; + +@$pb.GrpcServiceName('google.iam.v1beta.WorkloadIdentityPools') +class WorkloadIdentityPoolsClient extends $grpc.Client { + static final _$listWorkloadIdentityPools = $grpc.ClientMethod< + $41.ListWorkloadIdentityPoolsRequest, + $41.ListWorkloadIdentityPoolsResponse>( + '/google.iam.v1beta.WorkloadIdentityPools/ListWorkloadIdentityPools', + ($41.ListWorkloadIdentityPoolsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $41.ListWorkloadIdentityPoolsResponse.fromBuffer(value)); + static final _$getWorkloadIdentityPool = $grpc.ClientMethod< + $41.GetWorkloadIdentityPoolRequest, $41.WorkloadIdentityPool>( + '/google.iam.v1beta.WorkloadIdentityPools/GetWorkloadIdentityPool', + ($41.GetWorkloadIdentityPoolRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $41.WorkloadIdentityPool.fromBuffer(value)); + static final _$createWorkloadIdentityPool = + $grpc.ClientMethod<$41.CreateWorkloadIdentityPoolRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/CreateWorkloadIdentityPool', + ($41.CreateWorkloadIdentityPoolRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateWorkloadIdentityPool = + $grpc.ClientMethod<$41.UpdateWorkloadIdentityPoolRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/UpdateWorkloadIdentityPool', + ($41.UpdateWorkloadIdentityPoolRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteWorkloadIdentityPool = + $grpc.ClientMethod<$41.DeleteWorkloadIdentityPoolRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/DeleteWorkloadIdentityPool', + ($41.DeleteWorkloadIdentityPoolRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$undeleteWorkloadIdentityPool = $grpc.ClientMethod< + $41.UndeleteWorkloadIdentityPoolRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/UndeleteWorkloadIdentityPool', + ($41.UndeleteWorkloadIdentityPoolRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listWorkloadIdentityPoolProviders = $grpc.ClientMethod< + $41.ListWorkloadIdentityPoolProvidersRequest, + $41.ListWorkloadIdentityPoolProvidersResponse>( + '/google.iam.v1beta.WorkloadIdentityPools/ListWorkloadIdentityPoolProviders', + ($41.ListWorkloadIdentityPoolProvidersRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => + $41.ListWorkloadIdentityPoolProvidersResponse.fromBuffer(value)); + static final _$getWorkloadIdentityPoolProvider = $grpc.ClientMethod< + $41.GetWorkloadIdentityPoolProviderRequest, + $41.WorkloadIdentityPoolProvider>( + '/google.iam.v1beta.WorkloadIdentityPools/GetWorkloadIdentityPoolProvider', + ($41.GetWorkloadIdentityPoolProviderRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => + $41.WorkloadIdentityPoolProvider.fromBuffer(value)); + static final _$createWorkloadIdentityPoolProvider = $grpc.ClientMethod< + $41.CreateWorkloadIdentityPoolProviderRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/CreateWorkloadIdentityPoolProvider', + ($41.CreateWorkloadIdentityPoolProviderRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateWorkloadIdentityPoolProvider = $grpc.ClientMethod< + $41.UpdateWorkloadIdentityPoolProviderRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/UpdateWorkloadIdentityPoolProvider', + ($41.UpdateWorkloadIdentityPoolProviderRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteWorkloadIdentityPoolProvider = $grpc.ClientMethod< + $41.DeleteWorkloadIdentityPoolProviderRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/DeleteWorkloadIdentityPoolProvider', + ($41.DeleteWorkloadIdentityPoolProviderRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$undeleteWorkloadIdentityPoolProvider = $grpc.ClientMethod< + $41.UndeleteWorkloadIdentityPoolProviderRequest, $0.Operation>( + '/google.iam.v1beta.WorkloadIdentityPools/UndeleteWorkloadIdentityPoolProvider', + ($41.UndeleteWorkloadIdentityPoolProviderRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + WorkloadIdentityPoolsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$41.ListWorkloadIdentityPoolsResponse> + listWorkloadIdentityPools($41.ListWorkloadIdentityPoolsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listWorkloadIdentityPools, request, + options: options); + } + + $grpc.ResponseFuture<$41.WorkloadIdentityPool> getWorkloadIdentityPool( + $41.GetWorkloadIdentityPoolRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getWorkloadIdentityPool, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> createWorkloadIdentityPool( + $41.CreateWorkloadIdentityPoolRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createWorkloadIdentityPool, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateWorkloadIdentityPool( + $41.UpdateWorkloadIdentityPoolRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateWorkloadIdentityPool, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteWorkloadIdentityPool( + $41.DeleteWorkloadIdentityPoolRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteWorkloadIdentityPool, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> undeleteWorkloadIdentityPool( + $41.UndeleteWorkloadIdentityPoolRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteWorkloadIdentityPool, request, + options: options); + } + + $grpc.ResponseFuture<$41.ListWorkloadIdentityPoolProvidersResponse> + listWorkloadIdentityPoolProviders( + $41.ListWorkloadIdentityPoolProvidersRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listWorkloadIdentityPoolProviders, request, + options: options); + } + + $grpc.ResponseFuture<$41.WorkloadIdentityPoolProvider> + getWorkloadIdentityPoolProvider( + $41.GetWorkloadIdentityPoolProviderRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getWorkloadIdentityPoolProvider, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> createWorkloadIdentityPoolProvider( + $41.CreateWorkloadIdentityPoolProviderRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createWorkloadIdentityPoolProvider, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateWorkloadIdentityPoolProvider( + $41.UpdateWorkloadIdentityPoolProviderRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateWorkloadIdentityPoolProvider, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteWorkloadIdentityPoolProvider( + $41.DeleteWorkloadIdentityPoolProviderRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteWorkloadIdentityPoolProvider, request, + options: options); + } + + $grpc.ResponseFuture<$0.Operation> undeleteWorkloadIdentityPoolProvider( + $41.UndeleteWorkloadIdentityPoolProviderRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteWorkloadIdentityPoolProvider, request, + options: options); + } +} + +@$pb.GrpcServiceName('google.iam.v1beta.WorkloadIdentityPools') +abstract class WorkloadIdentityPoolsServiceBase extends $grpc.Service { + $core.String get $name => 'google.iam.v1beta.WorkloadIdentityPools'; + + WorkloadIdentityPoolsServiceBase() { + $addMethod($grpc.ServiceMethod<$41.ListWorkloadIdentityPoolsRequest, + $41.ListWorkloadIdentityPoolsResponse>( + 'ListWorkloadIdentityPools', + listWorkloadIdentityPools_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.ListWorkloadIdentityPoolsRequest.fromBuffer(value), + ($41.ListWorkloadIdentityPoolsResponse value) => + value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.GetWorkloadIdentityPoolRequest, + $41.WorkloadIdentityPool>( + 'GetWorkloadIdentityPool', + getWorkloadIdentityPool_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.GetWorkloadIdentityPoolRequest.fromBuffer(value), + ($41.WorkloadIdentityPool value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.CreateWorkloadIdentityPoolRequest, + $0.Operation>( + 'CreateWorkloadIdentityPool', + createWorkloadIdentityPool_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.CreateWorkloadIdentityPoolRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.UpdateWorkloadIdentityPoolRequest, + $0.Operation>( + 'UpdateWorkloadIdentityPool', + updateWorkloadIdentityPool_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.UpdateWorkloadIdentityPoolRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.DeleteWorkloadIdentityPoolRequest, + $0.Operation>( + 'DeleteWorkloadIdentityPool', + deleteWorkloadIdentityPool_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.DeleteWorkloadIdentityPoolRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.UndeleteWorkloadIdentityPoolRequest, + $0.Operation>( + 'UndeleteWorkloadIdentityPool', + undeleteWorkloadIdentityPool_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.UndeleteWorkloadIdentityPoolRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.ListWorkloadIdentityPoolProvidersRequest, + $41.ListWorkloadIdentityPoolProvidersResponse>( + 'ListWorkloadIdentityPoolProviders', + listWorkloadIdentityPoolProviders_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.ListWorkloadIdentityPoolProvidersRequest.fromBuffer(value), + ($41.ListWorkloadIdentityPoolProvidersResponse value) => + value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$41.GetWorkloadIdentityPoolProviderRequest, + $41.WorkloadIdentityPoolProvider>( + 'GetWorkloadIdentityPoolProvider', + getWorkloadIdentityPoolProvider_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.GetWorkloadIdentityPoolProviderRequest.fromBuffer(value), + ($41.WorkloadIdentityPoolProvider value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod< + $41.CreateWorkloadIdentityPoolProviderRequest, $0.Operation>( + 'CreateWorkloadIdentityPoolProvider', + createWorkloadIdentityPoolProvider_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.CreateWorkloadIdentityPoolProviderRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod< + $41.UpdateWorkloadIdentityPoolProviderRequest, $0.Operation>( + 'UpdateWorkloadIdentityPoolProvider', + updateWorkloadIdentityPoolProvider_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.UpdateWorkloadIdentityPoolProviderRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod< + $41.DeleteWorkloadIdentityPoolProviderRequest, $0.Operation>( + 'DeleteWorkloadIdentityPoolProvider', + deleteWorkloadIdentityPoolProvider_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.DeleteWorkloadIdentityPoolProviderRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod< + $41.UndeleteWorkloadIdentityPoolProviderRequest, $0.Operation>( + 'UndeleteWorkloadIdentityPoolProvider', + undeleteWorkloadIdentityPoolProvider_Pre, + false, + false, + ($core.List<$core.int> value) => + $41.UndeleteWorkloadIdentityPoolProviderRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$41.ListWorkloadIdentityPoolsResponse> + listWorkloadIdentityPools_Pre($grpc.ServiceCall call, + $async.Future<$41.ListWorkloadIdentityPoolsRequest> request) async { + return listWorkloadIdentityPools(call, await request); + } + + $async.Future<$41.WorkloadIdentityPool> getWorkloadIdentityPool_Pre( + $grpc.ServiceCall call, + $async.Future<$41.GetWorkloadIdentityPoolRequest> request) async { + return getWorkloadIdentityPool(call, await request); + } + + $async.Future<$0.Operation> createWorkloadIdentityPool_Pre( + $grpc.ServiceCall call, + $async.Future<$41.CreateWorkloadIdentityPoolRequest> request) async { + return createWorkloadIdentityPool(call, await request); + } + + $async.Future<$0.Operation> updateWorkloadIdentityPool_Pre( + $grpc.ServiceCall call, + $async.Future<$41.UpdateWorkloadIdentityPoolRequest> request) async { + return updateWorkloadIdentityPool(call, await request); + } + + $async.Future<$0.Operation> deleteWorkloadIdentityPool_Pre( + $grpc.ServiceCall call, + $async.Future<$41.DeleteWorkloadIdentityPoolRequest> request) async { + return deleteWorkloadIdentityPool(call, await request); + } + + $async.Future<$0.Operation> undeleteWorkloadIdentityPool_Pre( + $grpc.ServiceCall call, + $async.Future<$41.UndeleteWorkloadIdentityPoolRequest> request) async { + return undeleteWorkloadIdentityPool(call, await request); + } + + $async.Future<$41.ListWorkloadIdentityPoolProvidersResponse> + listWorkloadIdentityPoolProviders_Pre( + $grpc.ServiceCall call, + $async.Future<$41.ListWorkloadIdentityPoolProvidersRequest> + request) async { + return listWorkloadIdentityPoolProviders(call, await request); + } + + $async.Future<$41.WorkloadIdentityPoolProvider> + getWorkloadIdentityPoolProvider_Pre( + $grpc.ServiceCall call, + $async.Future<$41.GetWorkloadIdentityPoolProviderRequest> + request) async { + return getWorkloadIdentityPoolProvider(call, await request); + } + + $async.Future<$0.Operation> createWorkloadIdentityPoolProvider_Pre( + $grpc.ServiceCall call, + $async.Future<$41.CreateWorkloadIdentityPoolProviderRequest> + request) async { + return createWorkloadIdentityPoolProvider(call, await request); + } + + $async.Future<$0.Operation> updateWorkloadIdentityPoolProvider_Pre( + $grpc.ServiceCall call, + $async.Future<$41.UpdateWorkloadIdentityPoolProviderRequest> + request) async { + return updateWorkloadIdentityPoolProvider(call, await request); + } + + $async.Future<$0.Operation> deleteWorkloadIdentityPoolProvider_Pre( + $grpc.ServiceCall call, + $async.Future<$41.DeleteWorkloadIdentityPoolProviderRequest> + request) async { + return deleteWorkloadIdentityPoolProvider(call, await request); + } + + $async.Future<$0.Operation> undeleteWorkloadIdentityPoolProvider_Pre( + $grpc.ServiceCall call, + $async.Future<$41.UndeleteWorkloadIdentityPoolProviderRequest> + request) async { + return undeleteWorkloadIdentityPoolProvider(call, await request); + } + + $async.Future<$41.ListWorkloadIdentityPoolsResponse> + listWorkloadIdentityPools( + $grpc.ServiceCall call, $41.ListWorkloadIdentityPoolsRequest request); + $async.Future<$41.WorkloadIdentityPool> getWorkloadIdentityPool( + $grpc.ServiceCall call, $41.GetWorkloadIdentityPoolRequest request); + $async.Future<$0.Operation> createWorkloadIdentityPool( + $grpc.ServiceCall call, $41.CreateWorkloadIdentityPoolRequest request); + $async.Future<$0.Operation> updateWorkloadIdentityPool( + $grpc.ServiceCall call, $41.UpdateWorkloadIdentityPoolRequest request); + $async.Future<$0.Operation> deleteWorkloadIdentityPool( + $grpc.ServiceCall call, $41.DeleteWorkloadIdentityPoolRequest request); + $async.Future<$0.Operation> undeleteWorkloadIdentityPool( + $grpc.ServiceCall call, $41.UndeleteWorkloadIdentityPoolRequest request); + $async.Future<$41.ListWorkloadIdentityPoolProvidersResponse> + listWorkloadIdentityPoolProviders($grpc.ServiceCall call, + $41.ListWorkloadIdentityPoolProvidersRequest request); + $async.Future<$41.WorkloadIdentityPoolProvider> + getWorkloadIdentityPoolProvider($grpc.ServiceCall call, + $41.GetWorkloadIdentityPoolProviderRequest request); + $async.Future<$0.Operation> createWorkloadIdentityPoolProvider( + $grpc.ServiceCall call, + $41.CreateWorkloadIdentityPoolProviderRequest request); + $async.Future<$0.Operation> updateWorkloadIdentityPoolProvider( + $grpc.ServiceCall call, + $41.UpdateWorkloadIdentityPoolProviderRequest request); + $async.Future<$0.Operation> deleteWorkloadIdentityPoolProvider( + $grpc.ServiceCall call, + $41.DeleteWorkloadIdentityPoolProviderRequest request); + $async.Future<$0.Operation> undeleteWorkloadIdentityPoolProvider( + $grpc.ServiceCall call, + $41.UndeleteWorkloadIdentityPoolProviderRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbjson.dart new file mode 100644 index 00000000..5538340b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v1beta/workload_identity_pool.pbjson.dart @@ -0,0 +1,524 @@ +// +// Generated code. Do not modify. +// source: google/iam/v1beta/workload_identity_pool.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use workloadIdentityPoolDescriptor instead') +const WorkloadIdentityPool$json = { + '1': 'WorkloadIdentityPool', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'display_name', '3': 2, '4': 1, '5': 9, '10': 'displayName'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'state', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.iam.v1beta.WorkloadIdentityPool.State', + '8': {}, + '10': 'state' + }, + {'1': 'disabled', '3': 5, '4': 1, '5': 8, '10': 'disabled'}, + ], + '4': [WorkloadIdentityPool_State$json], + '7': {}, +}; + +@$core.Deprecated('Use workloadIdentityPoolDescriptor instead') +const WorkloadIdentityPool_State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'ACTIVE', '2': 1}, + {'1': 'DELETED', '2': 2}, + ], +}; + +/// Descriptor for `WorkloadIdentityPool`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List workloadIdentityPoolDescriptor = $convert.base64Decode( + 'ChRXb3JrbG9hZElkZW50aXR5UG9vbBIXCgRuYW1lGAEgASgJQgPgQQNSBG5hbWUSIQoMZGlzcG' + 'xheV9uYW1lGAIgASgJUgtkaXNwbGF5TmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3Jp' + 'cHRpb24SSAoFc3RhdGUYBCABKA4yLS5nb29nbGUuaWFtLnYxYmV0YS5Xb3JrbG9hZElkZW50aX' + 'R5UG9vbC5TdGF0ZUID4EEDUgVzdGF0ZRIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQiNwoF' + 'U3RhdGUSFQoRU1RBVEVfVU5TUEVDSUZJRUQQABIKCgZBQ1RJVkUQARILCgdERUxFVEVEEAI6hQ' + 'HqQYEBCidpYW0uZ29vZ2xlYXBpcy5jb20vV29ya2xvYWRJZGVudGl0eVBvb2wSVnByb2plY3Rz' + 'L3twcm9qZWN0fS9sb2NhdGlvbnMve2xvY2F0aW9ufS93b3JrbG9hZElkZW50aXR5UG9vbHMve3' + 'dvcmtsb2FkX2lkZW50aXR5X3Bvb2x9'); + +@$core.Deprecated('Use workloadIdentityPoolProviderDescriptor instead') +const WorkloadIdentityPoolProvider$json = { + '1': 'WorkloadIdentityPoolProvider', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'display_name', '3': 2, '4': 1, '5': 9, '10': 'displayName'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'state', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.iam.v1beta.WorkloadIdentityPoolProvider.State', + '8': {}, + '10': 'state' + }, + {'1': 'disabled', '3': 5, '4': 1, '5': 8, '10': 'disabled'}, + { + '1': 'attribute_mapping', + '3': 6, + '4': 3, + '5': 11, + '6': + '.google.iam.v1beta.WorkloadIdentityPoolProvider.AttributeMappingEntry', + '10': 'attributeMapping' + }, + { + '1': 'attribute_condition', + '3': 7, + '4': 1, + '5': 9, + '10': 'attributeCondition' + }, + { + '1': 'aws', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPoolProvider.Aws', + '9': 0, + '10': 'aws' + }, + { + '1': 'oidc', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPoolProvider.Oidc', + '9': 0, + '10': 'oidc' + }, + ], + '3': [ + WorkloadIdentityPoolProvider_Aws$json, + WorkloadIdentityPoolProvider_Oidc$json, + WorkloadIdentityPoolProvider_AttributeMappingEntry$json + ], + '4': [WorkloadIdentityPoolProvider_State$json], + '7': {}, + '8': [ + {'1': 'provider_config'}, + ], +}; + +@$core.Deprecated('Use workloadIdentityPoolProviderDescriptor instead') +const WorkloadIdentityPoolProvider_Aws$json = { + '1': 'Aws', + '2': [ + {'1': 'account_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'accountId'}, + ], +}; + +@$core.Deprecated('Use workloadIdentityPoolProviderDescriptor instead') +const WorkloadIdentityPoolProvider_Oidc$json = { + '1': 'Oidc', + '2': [ + {'1': 'issuer_uri', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'issuerUri'}, + { + '1': 'allowed_audiences', + '3': 2, + '4': 3, + '5': 9, + '10': 'allowedAudiences' + }, + ], +}; + +@$core.Deprecated('Use workloadIdentityPoolProviderDescriptor instead') +const WorkloadIdentityPoolProvider_AttributeMappingEntry$json = { + '1': 'AttributeMappingEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use workloadIdentityPoolProviderDescriptor instead') +const WorkloadIdentityPoolProvider_State$json = { + '1': 'State', + '2': [ + {'1': 'STATE_UNSPECIFIED', '2': 0}, + {'1': 'ACTIVE', '2': 1}, + {'1': 'DELETED', '2': 2}, + ], +}; + +/// Descriptor for `WorkloadIdentityPoolProvider`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List workloadIdentityPoolProviderDescriptor = $convert.base64Decode( + 'ChxXb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVyEhcKBG5hbWUYASABKAlCA+BBA1IEbmFtZR' + 'IhCgxkaXNwbGF5X25hbWUYAiABKAlSC2Rpc3BsYXlOYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJ' + 'UgtkZXNjcmlwdGlvbhJQCgVzdGF0ZRgEIAEoDjI1Lmdvb2dsZS5pYW0udjFiZXRhLldvcmtsb2' + 'FkSWRlbnRpdHlQb29sUHJvdmlkZXIuU3RhdGVCA+BBA1IFc3RhdGUSGgoIZGlzYWJsZWQYBSAB' + 'KAhSCGRpc2FibGVkEnIKEWF0dHJpYnV0ZV9tYXBwaW5nGAYgAygLMkUuZ29vZ2xlLmlhbS52MW' + 'JldGEuV29ya2xvYWRJZGVudGl0eVBvb2xQcm92aWRlci5BdHRyaWJ1dGVNYXBwaW5nRW50cnlS' + 'EGF0dHJpYnV0ZU1hcHBpbmcSLwoTYXR0cmlidXRlX2NvbmRpdGlvbhgHIAEoCVISYXR0cmlidX' + 'RlQ29uZGl0aW9uEkcKA2F3cxgIIAEoCzIzLmdvb2dsZS5pYW0udjFiZXRhLldvcmtsb2FkSWRl' + 'bnRpdHlQb29sUHJvdmlkZXIuQXdzSABSA2F3cxJKCgRvaWRjGAkgASgLMjQuZ29vZ2xlLmlhbS' + '52MWJldGEuV29ya2xvYWRJZGVudGl0eVBvb2xQcm92aWRlci5PaWRjSABSBG9pZGMaKQoDQXdz' + 'EiIKCmFjY291bnRfaWQYASABKAlCA+BBAlIJYWNjb3VudElkGlcKBE9pZGMSIgoKaXNzdWVyX3' + 'VyaRgBIAEoCUID4EECUglpc3N1ZXJVcmkSKwoRYWxsb3dlZF9hdWRpZW5jZXMYAiADKAlSEGFs' + 'bG93ZWRBdWRpZW5jZXMaQwoVQXR0cmlidXRlTWFwcGluZ0VudHJ5EhAKA2tleRgBIAEoCVIDa2' + 'V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEiNwoFU3RhdGUSFQoRU1RBVEVfVU5TUEVDSUZJ' + 'RUQQABIKCgZBQ1RJVkUQARILCgdERUxFVEVEEAI6ugHqQbYBCi9pYW0uZ29vZ2xlYXBpcy5jb2' + '0vV29ya2xvYWRJZGVudGl0eVBvb2xQcm92aWRlchKCAXByb2plY3RzL3twcm9qZWN0fS9sb2Nh' + 'dGlvbnMve2xvY2F0aW9ufS93b3JrbG9hZElkZW50aXR5UG9vbHMve3dvcmtsb2FkX2lkZW50aX' + 'R5X3Bvb2x9L3Byb3ZpZGVycy97d29ya2xvYWRfaWRlbnRpdHlfcG9vbF9wcm92aWRlcn1CEQoP' + 'cHJvdmlkZXJfY29uZmln'); + +@$core.Deprecated('Use listWorkloadIdentityPoolsRequestDescriptor instead') +const ListWorkloadIdentityPoolsRequest$json = { + '1': 'ListWorkloadIdentityPoolsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'show_deleted', '3': 4, '4': 1, '5': 8, '10': 'showDeleted'}, + ], +}; + +/// Descriptor for `ListWorkloadIdentityPoolsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listWorkloadIdentityPoolsRequestDescriptor = + $convert.base64Decode( + 'CiBMaXN0V29ya2xvYWRJZGVudGl0eVBvb2xzUmVxdWVzdBJLCgZwYXJlbnQYASABKAlCM+BBAv' + 'pBLQorY2xvdWRyZXNvdXJjZW1hbmFnZXIuZ29vZ2xlYXBpcy5jb20vUHJvamVjdFIGcGFyZW50' + 'EhsKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZV' + 'Rva2VuEiEKDHNob3dfZGVsZXRlZBgEIAEoCFILc2hvd0RlbGV0ZWQ='); + +@$core.Deprecated('Use listWorkloadIdentityPoolsResponseDescriptor instead') +const ListWorkloadIdentityPoolsResponse$json = { + '1': 'ListWorkloadIdentityPoolsResponse', + '2': [ + { + '1': 'workload_identity_pools', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPool', + '10': 'workloadIdentityPools' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListWorkloadIdentityPoolsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listWorkloadIdentityPoolsResponseDescriptor = + $convert.base64Decode( + 'CiFMaXN0V29ya2xvYWRJZGVudGl0eVBvb2xzUmVzcG9uc2USXwoXd29ya2xvYWRfaWRlbnRpdH' + 'lfcG9vbHMYASADKAsyJy5nb29nbGUuaWFtLnYxYmV0YS5Xb3JrbG9hZElkZW50aXR5UG9vbFIV' + 'd29ya2xvYWRJZGVudGl0eVBvb2xzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2' + 'VUb2tlbg=='); + +@$core.Deprecated('Use getWorkloadIdentityPoolRequestDescriptor instead') +const GetWorkloadIdentityPoolRequest$json = { + '1': 'GetWorkloadIdentityPoolRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetWorkloadIdentityPoolRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getWorkloadIdentityPoolRequestDescriptor = + $convert.base64Decode( + 'Ch5HZXRXb3JrbG9hZElkZW50aXR5UG9vbFJlcXVlc3QSQwoEbmFtZRgBIAEoCUIv4EEC+kEpCi' + 'dpYW0uZ29vZ2xlYXBpcy5jb20vV29ya2xvYWRJZGVudGl0eVBvb2xSBG5hbWU='); + +@$core.Deprecated('Use createWorkloadIdentityPoolRequestDescriptor instead') +const CreateWorkloadIdentityPoolRequest$json = { + '1': 'CreateWorkloadIdentityPoolRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'workload_identity_pool', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPool', + '8': {}, + '10': 'workloadIdentityPool' + }, + { + '1': 'workload_identity_pool_id', + '3': 3, + '4': 1, + '5': 9, + '8': {}, + '10': 'workloadIdentityPoolId' + }, + ], +}; + +/// Descriptor for `CreateWorkloadIdentityPoolRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createWorkloadIdentityPoolRequestDescriptor = $convert.base64Decode( + 'CiFDcmVhdGVXb3JrbG9hZElkZW50aXR5UG9vbFJlcXVlc3QSSwoGcGFyZW50GAEgASgJQjPgQQ' + 'L6QS0KK2Nsb3VkcmVzb3VyY2VtYW5hZ2VyLmdvb2dsZWFwaXMuY29tL1Byb2plY3RSBnBhcmVu' + 'dBJiChZ3b3JrbG9hZF9pZGVudGl0eV9wb29sGAIgASgLMicuZ29vZ2xlLmlhbS52MWJldGEuV2' + '9ya2xvYWRJZGVudGl0eVBvb2xCA+BBAlIUd29ya2xvYWRJZGVudGl0eVBvb2wSPgoZd29ya2xv' + 'YWRfaWRlbnRpdHlfcG9vbF9pZBgDIAEoCUID4EECUhZ3b3JrbG9hZElkZW50aXR5UG9vbElk'); + +@$core.Deprecated('Use updateWorkloadIdentityPoolRequestDescriptor instead') +const UpdateWorkloadIdentityPoolRequest$json = { + '1': 'UpdateWorkloadIdentityPoolRequest', + '2': [ + { + '1': 'workload_identity_pool', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPool', + '8': {}, + '10': 'workloadIdentityPool' + }, + { + '1': 'update_mask', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateWorkloadIdentityPoolRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateWorkloadIdentityPoolRequestDescriptor = + $convert.base64Decode( + 'CiFVcGRhdGVXb3JrbG9hZElkZW50aXR5UG9vbFJlcXVlc3QSYgoWd29ya2xvYWRfaWRlbnRpdH' + 'lfcG9vbBgBIAEoCzInLmdvb2dsZS5pYW0udjFiZXRhLldvcmtsb2FkSWRlbnRpdHlQb29sQgPg' + 'QQJSFHdvcmtsb2FkSWRlbnRpdHlQb29sEkAKC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLn' + 'Byb3RvYnVmLkZpZWxkTWFza0ID4EECUgp1cGRhdGVNYXNr'); + +@$core.Deprecated('Use deleteWorkloadIdentityPoolRequestDescriptor instead') +const DeleteWorkloadIdentityPoolRequest$json = { + '1': 'DeleteWorkloadIdentityPoolRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteWorkloadIdentityPoolRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteWorkloadIdentityPoolRequestDescriptor = + $convert.base64Decode( + 'CiFEZWxldGVXb3JrbG9hZElkZW50aXR5UG9vbFJlcXVlc3QSQwoEbmFtZRgBIAEoCUIv4EEC+k' + 'EpCidpYW0uZ29vZ2xlYXBpcy5jb20vV29ya2xvYWRJZGVudGl0eVBvb2xSBG5hbWU='); + +@$core.Deprecated('Use undeleteWorkloadIdentityPoolRequestDescriptor instead') +const UndeleteWorkloadIdentityPoolRequest$json = { + '1': 'UndeleteWorkloadIdentityPoolRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `UndeleteWorkloadIdentityPoolRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteWorkloadIdentityPoolRequestDescriptor = + $convert.base64Decode( + 'CiNVbmRlbGV0ZVdvcmtsb2FkSWRlbnRpdHlQb29sUmVxdWVzdBJDCgRuYW1lGAEgASgJQi/gQQ' + 'L6QSkKJ2lhbS5nb29nbGVhcGlzLmNvbS9Xb3JrbG9hZElkZW50aXR5UG9vbFIEbmFtZQ=='); + +@$core.Deprecated( + 'Use listWorkloadIdentityPoolProvidersRequestDescriptor instead') +const ListWorkloadIdentityPoolProvidersRequest$json = { + '1': 'ListWorkloadIdentityPoolProvidersRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + {'1': 'show_deleted', '3': 4, '4': 1, '5': 8, '10': 'showDeleted'}, + ], +}; + +/// Descriptor for `ListWorkloadIdentityPoolProvidersRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listWorkloadIdentityPoolProvidersRequestDescriptor = + $convert.base64Decode( + 'CihMaXN0V29ya2xvYWRJZGVudGl0eVBvb2xQcm92aWRlcnNSZXF1ZXN0EkcKBnBhcmVudBgBIA' + 'EoCUIv4EEC+kEpCidpYW0uZ29vZ2xlYXBpcy5jb20vV29ya2xvYWRJZGVudGl0eVBvb2xSBnBh' + 'cmVudBIbCglwYWdlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4YAyABKAlSCX' + 'BhZ2VUb2tlbhIhCgxzaG93X2RlbGV0ZWQYBCABKAhSC3Nob3dEZWxldGVk'); + +@$core.Deprecated( + 'Use listWorkloadIdentityPoolProvidersResponseDescriptor instead') +const ListWorkloadIdentityPoolProvidersResponse$json = { + '1': 'ListWorkloadIdentityPoolProvidersResponse', + '2': [ + { + '1': 'workload_identity_pool_providers', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPoolProvider', + '10': 'workloadIdentityPoolProviders' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListWorkloadIdentityPoolProvidersResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List + listWorkloadIdentityPoolProvidersResponseDescriptor = $convert.base64Decode( + 'CilMaXN0V29ya2xvYWRJZGVudGl0eVBvb2xQcm92aWRlcnNSZXNwb25zZRJ4CiB3b3JrbG9hZF' + '9pZGVudGl0eV9wb29sX3Byb3ZpZGVycxgBIAMoCzIvLmdvb2dsZS5pYW0udjFiZXRhLldvcmts' + 'b2FkSWRlbnRpdHlQb29sUHJvdmlkZXJSHXdvcmtsb2FkSWRlbnRpdHlQb29sUHJvdmlkZXJzEi' + 'YKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core + .Deprecated('Use getWorkloadIdentityPoolProviderRequestDescriptor instead') +const GetWorkloadIdentityPoolProviderRequest$json = { + '1': 'GetWorkloadIdentityPoolProviderRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetWorkloadIdentityPoolProviderRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getWorkloadIdentityPoolProviderRequestDescriptor = + $convert.base64Decode( + 'CiZHZXRXb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVyUmVxdWVzdBJLCgRuYW1lGAEgASgJQj' + 'fgQQL6QTEKL2lhbS5nb29nbGVhcGlzLmNvbS9Xb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVy' + 'UgRuYW1l'); + +@$core.Deprecated( + 'Use createWorkloadIdentityPoolProviderRequestDescriptor instead') +const CreateWorkloadIdentityPoolProviderRequest$json = { + '1': 'CreateWorkloadIdentityPoolProviderRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'workload_identity_pool_provider', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPoolProvider', + '8': {}, + '10': 'workloadIdentityPoolProvider' + }, + { + '1': 'workload_identity_pool_provider_id', + '3': 3, + '4': 1, + '5': 9, + '8': {}, + '10': 'workloadIdentityPoolProviderId' + }, + ], +}; + +/// Descriptor for `CreateWorkloadIdentityPoolProviderRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List + createWorkloadIdentityPoolProviderRequestDescriptor = $convert.base64Decode( + 'CilDcmVhdGVXb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVyUmVxdWVzdBJHCgZwYXJlbnQYAS' + 'ABKAlCL+BBAvpBKQonaWFtLmdvb2dsZWFwaXMuY29tL1dvcmtsb2FkSWRlbnRpdHlQb29sUgZw' + 'YXJlbnQSewofd29ya2xvYWRfaWRlbnRpdHlfcG9vbF9wcm92aWRlchgCIAEoCzIvLmdvb2dsZS' + '5pYW0udjFiZXRhLldvcmtsb2FkSWRlbnRpdHlQb29sUHJvdmlkZXJCA+BBAlIcd29ya2xvYWRJ' + 'ZGVudGl0eVBvb2xQcm92aWRlchJPCiJ3b3JrbG9hZF9pZGVudGl0eV9wb29sX3Byb3ZpZGVyX2' + 'lkGAMgASgJQgPgQQJSHndvcmtsb2FkSWRlbnRpdHlQb29sUHJvdmlkZXJJZA=='); + +@$core.Deprecated( + 'Use updateWorkloadIdentityPoolProviderRequestDescriptor instead') +const UpdateWorkloadIdentityPoolProviderRequest$json = { + '1': 'UpdateWorkloadIdentityPoolProviderRequest', + '2': [ + { + '1': 'workload_identity_pool_provider', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.v1beta.WorkloadIdentityPoolProvider', + '8': {}, + '10': 'workloadIdentityPoolProvider' + }, + { + '1': 'update_mask', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateWorkloadIdentityPoolProviderRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List + updateWorkloadIdentityPoolProviderRequestDescriptor = $convert.base64Decode( + 'CilVcGRhdGVXb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVyUmVxdWVzdBJ7Ch93b3JrbG9hZF' + '9pZGVudGl0eV9wb29sX3Byb3ZpZGVyGAEgASgLMi8uZ29vZ2xlLmlhbS52MWJldGEuV29ya2xv' + 'YWRJZGVudGl0eVBvb2xQcm92aWRlckID4EECUhx3b3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZG' + 'VyEkAKC3VwZGF0ZV9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0ID4EEC' + 'Ugp1cGRhdGVNYXNr'); + +@$core.Deprecated( + 'Use deleteWorkloadIdentityPoolProviderRequestDescriptor instead') +const DeleteWorkloadIdentityPoolProviderRequest$json = { + '1': 'DeleteWorkloadIdentityPoolProviderRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteWorkloadIdentityPoolProviderRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List + deleteWorkloadIdentityPoolProviderRequestDescriptor = $convert.base64Decode( + 'CilEZWxldGVXb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVyUmVxdWVzdBJLCgRuYW1lGAEgAS' + 'gJQjfgQQL6QTEKL2lhbS5nb29nbGVhcGlzLmNvbS9Xb3JrbG9hZElkZW50aXR5UG9vbFByb3Zp' + 'ZGVyUgRuYW1l'); + +@$core.Deprecated( + 'Use undeleteWorkloadIdentityPoolProviderRequestDescriptor instead') +const UndeleteWorkloadIdentityPoolProviderRequest$json = { + '1': 'UndeleteWorkloadIdentityPoolProviderRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `UndeleteWorkloadIdentityPoolProviderRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List + undeleteWorkloadIdentityPoolProviderRequestDescriptor = + $convert.base64Decode( + 'CitVbmRlbGV0ZVdvcmtsb2FkSWRlbnRpdHlQb29sUHJvdmlkZXJSZXF1ZXN0EksKBG5hbWUYAS' + 'ABKAlCN+BBAvpBMQovaWFtLmdvb2dsZWFwaXMuY29tL1dvcmtsb2FkSWRlbnRpdHlQb29sUHJv' + 'dmlkZXJSBG5hbWU='); + +@$core.Deprecated('Use workloadIdentityPoolOperationMetadataDescriptor instead') +const WorkloadIdentityPoolOperationMetadata$json = { + '1': 'WorkloadIdentityPoolOperationMetadata', +}; + +/// Descriptor for `WorkloadIdentityPoolOperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List workloadIdentityPoolOperationMetadataDescriptor = + $convert + .base64Decode('CiVXb3JrbG9hZElkZW50aXR5UG9vbE9wZXJhdGlvbk1ldGFkYXRh'); + +@$core.Deprecated( + 'Use workloadIdentityPoolProviderOperationMetadataDescriptor instead') +const WorkloadIdentityPoolProviderOperationMetadata$json = { + '1': 'WorkloadIdentityPoolProviderOperationMetadata', +}; + +/// Descriptor for `WorkloadIdentityPoolProviderOperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List + workloadIdentityPoolProviderOperationMetadataDescriptor = + $convert.base64Decode( + 'Ci1Xb3JrbG9hZElkZW50aXR5UG9vbFByb3ZpZGVyT3BlcmF0aW9uTWV0YWRhdGE='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pb.dart new file mode 100644 index 00000000..4f590478 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pb.dart @@ -0,0 +1,185 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/deny.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../type/expr.pb.dart' as $114; + +/// A deny rule in an IAM deny policy. +class DenyRule extends $pb.GeneratedMessage { + factory DenyRule({ + $core.Iterable<$core.String>? deniedPrincipals, + $core.Iterable<$core.String>? exceptionPrincipals, + $core.Iterable<$core.String>? deniedPermissions, + $core.Iterable<$core.String>? exceptionPermissions, + $114.Expr? denialCondition, + }) { + final $result = create(); + if (deniedPrincipals != null) { + $result.deniedPrincipals.addAll(deniedPrincipals); + } + if (exceptionPrincipals != null) { + $result.exceptionPrincipals.addAll(exceptionPrincipals); + } + if (deniedPermissions != null) { + $result.deniedPermissions.addAll(deniedPermissions); + } + if (exceptionPermissions != null) { + $result.exceptionPermissions.addAll(exceptionPermissions); + } + if (denialCondition != null) { + $result.denialCondition = denialCondition; + } + return $result; + } + DenyRule._() : super(); + factory DenyRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DenyRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DenyRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'deniedPrincipals') + ..pPS(2, _omitFieldNames ? '' : 'exceptionPrincipals') + ..pPS(3, _omitFieldNames ? '' : 'deniedPermissions') + ..pPS(4, _omitFieldNames ? '' : 'exceptionPermissions') + ..aOM<$114.Expr>(5, _omitFieldNames ? '' : 'denialCondition', + subBuilder: $114.Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DenyRule clone() => DenyRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DenyRule copyWith(void Function(DenyRule) updates) => + super.copyWith((message) => updates(message as DenyRule)) as DenyRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DenyRule create() => DenyRule._(); + DenyRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DenyRule getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DenyRule? _defaultInstance; + + /// The identities that are prevented from using one or more permissions on + /// Google Cloud resources. This field can contain the following values: + /// + /// * `principalSet://goog/public:all`: A special identifier that represents + /// any principal that is on the internet, even if they do not have a Google + /// Account or are not logged in. + /// + /// * `principal://goog/subject/{email_id}`: A specific Google Account. + /// Includes Gmail, Cloud Identity, and Google Workspace user accounts. For + /// example, `principal://goog/subject/alice@example.com`. + /// + /// * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific + /// Google Account that was deleted recently. For example, + /// `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If + /// the Google Account is recovered, this identifier reverts to the standard + /// identifier for a Google Account. + /// + /// * `principalSet://goog/group/{group_id}`: A Google group. For example, + /// `principalSet://goog/group/admins@example.com`. + /// + /// * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group + /// that was deleted recently. For example, + /// `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If + /// the Google group is restored, this identifier reverts to the standard + /// identifier for a Google group. + /// + /// * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: + /// A Google Cloud service account. For example, + /// `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. + /// + /// * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: + /// A Google Cloud service account that was deleted recently. For example, + /// `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. + /// If the service account is undeleted, this identifier reverts to the + /// standard identifier for a service account. + /// + /// * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the + /// principals associated with the specified Google Workspace or Cloud + /// Identity customer ID. For example, + /// `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. + @$pb.TagNumber(1) + $core.List<$core.String> get deniedPrincipals => $_getList(0); + + /// The identities that are excluded from the deny rule, even if they are + /// listed in the `denied_principals`. For example, you could add a Google + /// group to the `denied_principals`, then exclude specific users who belong to + /// that group. + /// + /// This field can contain the same values as the `denied_principals` field, + /// excluding `principalSet://goog/public:all`, which represents all users on + /// the internet. + @$pb.TagNumber(2) + $core.List<$core.String> get exceptionPrincipals => $_getList(1); + + /// The permissions that are explicitly denied by this rule. Each permission + /// uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` + /// is the fully qualified domain name for the service. For example, + /// `iam.googleapis.com/roles.list`. + @$pb.TagNumber(3) + $core.List<$core.String> get deniedPermissions => $_getList(2); + + /// Specifies the permissions that this rule excludes from the set of denied + /// permissions given by `denied_permissions`. If a permission appears in + /// `denied_permissions` _and_ in `exception_permissions` then it will _not_ be + /// denied. + /// + /// The excluded permissions can be specified using the same syntax as + /// `denied_permissions`. + @$pb.TagNumber(4) + $core.List<$core.String> get exceptionPermissions => $_getList(3); + + /// The condition that determines whether this deny rule applies to a request. + /// If the condition expression evaluates to `true`, then the deny rule is + /// applied; otherwise, the deny rule is not applied. + /// + /// Each deny rule is evaluated independently. If this deny rule does not apply + /// to a request, other deny rules might still apply. + /// + /// The condition can use CEL functions that evaluate + /// [resource + /// tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other + /// functions and operators are not supported. + @$pb.TagNumber(5) + $114.Expr get denialCondition => $_getN(4); + @$pb.TagNumber(5) + set denialCondition($114.Expr v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasDenialCondition() => $_has(4); + @$pb.TagNumber(5) + void clearDenialCondition() => clearField(5); + @$pb.TagNumber(5) + $114.Expr ensureDenialCondition() => $_ensure(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pbenum.dart new file mode 100644 index 00000000..999935dc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/deny.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pbjson.dart new file mode 100644 index 00000000..327104b9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/deny.pbjson.dart @@ -0,0 +1,65 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/deny.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use denyRuleDescriptor instead') +const DenyRule$json = { + '1': 'DenyRule', + '2': [ + { + '1': 'denied_principals', + '3': 1, + '4': 3, + '5': 9, + '10': 'deniedPrincipals' + }, + { + '1': 'exception_principals', + '3': 2, + '4': 3, + '5': 9, + '10': 'exceptionPrincipals' + }, + { + '1': 'denied_permissions', + '3': 3, + '4': 3, + '5': 9, + '10': 'deniedPermissions' + }, + { + '1': 'exception_permissions', + '3': 4, + '4': 3, + '5': 9, + '10': 'exceptionPermissions' + }, + { + '1': 'denial_condition', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.type.Expr', + '10': 'denialCondition' + }, + ], +}; + +/// Descriptor for `DenyRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List denyRuleDescriptor = $convert.base64Decode( + 'CghEZW55UnVsZRIrChFkZW5pZWRfcHJpbmNpcGFscxgBIAMoCVIQZGVuaWVkUHJpbmNpcGFscx' + 'IxChRleGNlcHRpb25fcHJpbmNpcGFscxgCIAMoCVITZXhjZXB0aW9uUHJpbmNpcGFscxItChJk' + 'ZW5pZWRfcGVybWlzc2lvbnMYAyADKAlSEWRlbmllZFBlcm1pc3Npb25zEjMKFWV4Y2VwdGlvbl' + '9wZXJtaXNzaW9ucxgEIAMoCVIUZXhjZXB0aW9uUGVybWlzc2lvbnMSPAoQZGVuaWFsX2NvbmRp' + 'dGlvbhgFIAEoCzIRLmdvb2dsZS50eXBlLkV4cHJSD2RlbmlhbENvbmRpdGlvbg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pb.dart new file mode 100644 index 00000000..6caa999c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pb.dart @@ -0,0 +1,977 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'deny.pb.dart' as $117; + +/// Data for an IAM policy. +class Policy extends $pb.GeneratedMessage { + factory Policy({ + $core.String? name, + $core.String? uid, + $core.String? kind, + $core.String? displayName, + $core.Map<$core.String, $core.String>? annotations, + $core.String? etag, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $50.Timestamp? deleteTime, + $core.Iterable? rules, + $core.String? managingAuthority, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (uid != null) { + $result.uid = uid; + } + if (kind != null) { + $result.kind = kind; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (annotations != null) { + $result.annotations.addAll(annotations); + } + if (etag != null) { + $result.etag = etag; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (deleteTime != null) { + $result.deleteTime = deleteTime; + } + if (rules != null) { + $result.rules.addAll(rules); + } + if (managingAuthority != null) { + $result.managingAuthority = managingAuthority; + } + return $result; + } + Policy._() : super(); + factory Policy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Policy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Policy', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'uid') + ..aOS(3, _omitFieldNames ? '' : 'kind') + ..aOS(4, _omitFieldNames ? '' : 'displayName') + ..m<$core.String, $core.String>(5, _omitFieldNames ? '' : 'annotations', + entryClassName: 'Policy.AnnotationsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.iam.v2')) + ..aOS(6, _omitFieldNames ? '' : 'etag') + ..aOM<$50.Timestamp>(7, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(8, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(9, _omitFieldNames ? '' : 'deleteTime', + subBuilder: $50.Timestamp.create) + ..pc(10, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: PolicyRule.create) + ..aOS(11, _omitFieldNames ? '' : 'managingAuthority') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Policy clone() => Policy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Policy copyWith(void Function(Policy) updates) => + super.copyWith((message) => updates(message as Policy)) as Policy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Policy create() => Policy._(); + Policy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Policy getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Policy? _defaultInstance; + + /// Immutable. The resource name of the `Policy`, which must be unique. Format: + /// `policies/{attachment_point}/denypolicies/{policy_id}` + /// + /// + /// The attachment point is identified by its URL-encoded full resource name, + /// which means that the forward-slash character, `/`, must be written as + /// `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, requests can use the alphanumeric or the numeric ID. + /// Responses always contain the numeric ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Immutable. The globally unique ID of the `Policy`. Assigned automatically when the + /// `Policy` is created. + @$pb.TagNumber(2) + $core.String get uid => $_getSZ(1); + @$pb.TagNumber(2) + set uid($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUid() => $_has(1); + @$pb.TagNumber(2) + void clearUid() => clearField(2); + + /// Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. + @$pb.TagNumber(3) + $core.String get kind => $_getSZ(2); + @$pb.TagNumber(3) + set kind($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasKind() => $_has(2); + @$pb.TagNumber(3) + void clearKind() => clearField(3); + + /// A user-specified description of the `Policy`. This value can be up to 63 + /// characters. + @$pb.TagNumber(4) + $core.String get displayName => $_getSZ(3); + @$pb.TagNumber(4) + set displayName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisplayName() => $_has(3); + @$pb.TagNumber(4) + void clearDisplayName() => clearField(4); + + /// A key-value map to store arbitrary metadata for the `Policy`. Keys + /// can be up to 63 characters. Values can be up to 255 characters. + @$pb.TagNumber(5) + $core.Map<$core.String, $core.String> get annotations => $_getMap(4); + + /// An opaque tag that identifies the current version of the `Policy`. IAM uses + /// this value to help manage concurrent updates, so they do not cause one + /// update to be overwritten by another. + /// + /// If this field is present in a [CreatePolicy][] request, the value is + /// ignored. + @$pb.TagNumber(6) + $core.String get etag => $_getSZ(5); + @$pb.TagNumber(6) + set etag($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasEtag() => $_has(5); + @$pb.TagNumber(6) + void clearEtag() => clearField(6); + + /// Output only. The time when the `Policy` was created. + @$pb.TagNumber(7) + $50.Timestamp get createTime => $_getN(6); + @$pb.TagNumber(7) + set createTime($50.Timestamp v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasCreateTime() => $_has(6); + @$pb.TagNumber(7) + void clearCreateTime() => clearField(7); + @$pb.TagNumber(7) + $50.Timestamp ensureCreateTime() => $_ensure(6); + + /// Output only. The time when the `Policy` was last updated. + @$pb.TagNumber(8) + $50.Timestamp get updateTime => $_getN(7); + @$pb.TagNumber(8) + set updateTime($50.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasUpdateTime() => $_has(7); + @$pb.TagNumber(8) + void clearUpdateTime() => clearField(8); + @$pb.TagNumber(8) + $50.Timestamp ensureUpdateTime() => $_ensure(7); + + /// Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. + @$pb.TagNumber(9) + $50.Timestamp get deleteTime => $_getN(8); + @$pb.TagNumber(9) + set deleteTime($50.Timestamp v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasDeleteTime() => $_has(8); + @$pb.TagNumber(9) + void clearDeleteTime() => clearField(9); + @$pb.TagNumber(9) + $50.Timestamp ensureDeleteTime() => $_ensure(8); + + /// A list of rules that specify the behavior of the `Policy`. All of the rules + /// should be of the `kind` specified in the `Policy`. + @$pb.TagNumber(10) + $core.List get rules => $_getList(9); + + /// Immutable. Specifies that this policy is managed by an authority and can only be + /// modified by that authority. Usage is restricted. + @$pb.TagNumber(11) + $core.String get managingAuthority => $_getSZ(10); + @$pb.TagNumber(11) + set managingAuthority($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasManagingAuthority() => $_has(10); + @$pb.TagNumber(11) + void clearManagingAuthority() => clearField(11); +} + +enum PolicyRule_Kind { denyRule, notSet } + +/// A single rule in a `Policy`. +class PolicyRule extends $pb.GeneratedMessage { + factory PolicyRule({ + $core.String? description, + $117.DenyRule? denyRule, + }) { + final $result = create(); + if (description != null) { + $result.description = description; + } + if (denyRule != null) { + $result.denyRule = denyRule; + } + return $result; + } + PolicyRule._() : super(); + factory PolicyRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PolicyRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, PolicyRule_Kind> _PolicyRule_KindByTag = { + 2: PolicyRule_Kind.denyRule, + 0: PolicyRule_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PolicyRule', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..oo(0, [2]) + ..aOS(1, _omitFieldNames ? '' : 'description') + ..aOM<$117.DenyRule>(2, _omitFieldNames ? '' : 'denyRule', + subBuilder: $117.DenyRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyRule clone() => PolicyRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyRule copyWith(void Function(PolicyRule) updates) => + super.copyWith((message) => updates(message as PolicyRule)) as PolicyRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyRule create() => PolicyRule._(); + PolicyRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PolicyRule? _defaultInstance; + + PolicyRule_Kind whichKind() => _PolicyRule_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// A user-specified description of the rule. This value can be up to 256 + /// characters. + @$pb.TagNumber(1) + $core.String get description => $_getSZ(0); + @$pb.TagNumber(1) + set description($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDescription() => $_has(0); + @$pb.TagNumber(1) + void clearDescription() => clearField(1); + + /// A rule for a deny policy. + @$pb.TagNumber(2) + $117.DenyRule get denyRule => $_getN(1); + @$pb.TagNumber(2) + set denyRule($117.DenyRule v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDenyRule() => $_has(1); + @$pb.TagNumber(2) + void clearDenyRule() => clearField(2); + @$pb.TagNumber(2) + $117.DenyRule ensureDenyRule() => $_ensure(1); +} + +/// Request message for `ListPolicies`. +class ListPoliciesRequest extends $pb.GeneratedMessage { + factory ListPoliciesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListPoliciesRequest._() : super(); + factory ListPoliciesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListPoliciesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListPoliciesRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListPoliciesRequest clone() => ListPoliciesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListPoliciesRequest copyWith(void Function(ListPoliciesRequest) updates) => + super.copyWith((message) => updates(message as ListPoliciesRequest)) + as ListPoliciesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListPoliciesRequest create() => ListPoliciesRequest._(); + ListPoliciesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListPoliciesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListPoliciesRequest? _defaultInstance; + + /// Required. The resource that the policy is attached to, along with the kind of policy + /// to list. Format: + /// `policies/{attachment_point}/denypolicies` + /// + /// + /// The attachment point is identified by its URL-encoded full resource name, + /// which means that the forward-slash character, `/`, must be written as + /// `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The maximum number of policies to return. IAM ignores this value and uses + /// the value 1000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token received in a [ListPoliciesResponse][google.iam.v2.ListPoliciesResponse]. Provide this token to + /// retrieve the next page. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `ListPolicies`. +class ListPoliciesResponse extends $pb.GeneratedMessage { + factory ListPoliciesResponse({ + $core.Iterable? policies, + $core.String? nextPageToken, + }) { + final $result = create(); + if (policies != null) { + $result.policies.addAll(policies); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListPoliciesResponse._() : super(); + factory ListPoliciesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListPoliciesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListPoliciesResponse', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'policies', $pb.PbFieldType.PM, + subBuilder: Policy.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListPoliciesResponse clone() => + ListPoliciesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListPoliciesResponse copyWith(void Function(ListPoliciesResponse) updates) => + super.copyWith((message) => updates(message as ListPoliciesResponse)) + as ListPoliciesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListPoliciesResponse create() => ListPoliciesResponse._(); + ListPoliciesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListPoliciesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListPoliciesResponse? _defaultInstance; + + /// Metadata for the policies that are attached to the resource. + @$pb.TagNumber(1) + $core.List get policies => $_getList(0); + + /// A page token that you can use in a [ListPoliciesRequest][google.iam.v2.ListPoliciesRequest] to retrieve the + /// next page. If this field is omitted, there are no additional pages. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `GetPolicy`. +class GetPolicyRequest extends $pb.GeneratedMessage { + factory GetPolicyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetPolicyRequest._() : super(); + factory GetPolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetPolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetPolicyRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPolicyRequest clone() => GetPolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetPolicyRequest copyWith(void Function(GetPolicyRequest) updates) => + super.copyWith((message) => updates(message as GetPolicyRequest)) + as GetPolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetPolicyRequest create() => GetPolicyRequest._(); + GetPolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetPolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetPolicyRequest? _defaultInstance; + + /// Required. The resource name of the policy to retrieve. Format: + /// `policies/{attachment_point}/denypolicies/{policy_id}` + /// + /// + /// Use the URL-encoded full resource name, which means that the forward-slash + /// character, `/`, must be written as `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `CreatePolicy`. +class CreatePolicyRequest extends $pb.GeneratedMessage { + factory CreatePolicyRequest({ + $core.String? parent, + Policy? policy, + $core.String? policyId, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (policy != null) { + $result.policy = policy; + } + if (policyId != null) { + $result.policyId = policyId; + } + return $result; + } + CreatePolicyRequest._() : super(); + factory CreatePolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreatePolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreatePolicyRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM(2, _omitFieldNames ? '' : 'policy', subBuilder: Policy.create) + ..aOS(3, _omitFieldNames ? '' : 'policyId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreatePolicyRequest clone() => CreatePolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreatePolicyRequest copyWith(void Function(CreatePolicyRequest) updates) => + super.copyWith((message) => updates(message as CreatePolicyRequest)) + as CreatePolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreatePolicyRequest create() => CreatePolicyRequest._(); + CreatePolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreatePolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreatePolicyRequest? _defaultInstance; + + /// Required. The resource that the policy is attached to, along with the kind of policy + /// to create. Format: `policies/{attachment_point}/denypolicies` + /// + /// + /// The attachment point is identified by its URL-encoded full resource name, + /// which means that the forward-slash character, `/`, must be written as + /// `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The policy to create. + @$pb.TagNumber(2) + Policy get policy => $_getN(1); + @$pb.TagNumber(2) + set policy(Policy v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPolicy() => $_has(1); + @$pb.TagNumber(2) + void clearPolicy() => clearField(2); + @$pb.TagNumber(2) + Policy ensurePolicy() => $_ensure(1); + + /// The ID to use for this policy, which will become the final component of + /// the policy's resource name. The ID must contain 3 to 63 characters. It can + /// contain lowercase letters and numbers, as well as dashes (`-`) and periods + /// (`.`). The first character must be a lowercase letter. + @$pb.TagNumber(3) + $core.String get policyId => $_getSZ(2); + @$pb.TagNumber(3) + set policyId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPolicyId() => $_has(2); + @$pb.TagNumber(3) + void clearPolicyId() => clearField(3); +} + +/// Request message for `UpdatePolicy`. +class UpdatePolicyRequest extends $pb.GeneratedMessage { + factory UpdatePolicyRequest({ + Policy? policy, + }) { + final $result = create(); + if (policy != null) { + $result.policy = policy; + } + return $result; + } + UpdatePolicyRequest._() : super(); + factory UpdatePolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdatePolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdatePolicyRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'policy', subBuilder: Policy.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdatePolicyRequest clone() => UpdatePolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdatePolicyRequest copyWith(void Function(UpdatePolicyRequest) updates) => + super.copyWith((message) => updates(message as UpdatePolicyRequest)) + as UpdatePolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdatePolicyRequest create() => UpdatePolicyRequest._(); + UpdatePolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdatePolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdatePolicyRequest? _defaultInstance; + + /// Required. The policy to update. + /// + /// To prevent conflicting updates, the `etag` value must match the value that + /// is stored in IAM. If the `etag` values do not match, the request fails with + /// a `409` error code and `ABORTED` status. + @$pb.TagNumber(1) + Policy get policy => $_getN(0); + @$pb.TagNumber(1) + set policy(Policy v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasPolicy() => $_has(0); + @$pb.TagNumber(1) + void clearPolicy() => clearField(1); + @$pb.TagNumber(1) + Policy ensurePolicy() => $_ensure(0); +} + +/// Request message for `DeletePolicy`. +class DeletePolicyRequest extends $pb.GeneratedMessage { + factory DeletePolicyRequest({ + $core.String? name, + $core.String? etag, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (etag != null) { + $result.etag = etag; + } + return $result; + } + DeletePolicyRequest._() : super(); + factory DeletePolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeletePolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeletePolicyRequest', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'etag') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeletePolicyRequest clone() => DeletePolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeletePolicyRequest copyWith(void Function(DeletePolicyRequest) updates) => + super.copyWith((message) => updates(message as DeletePolicyRequest)) + as DeletePolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeletePolicyRequest create() => DeletePolicyRequest._(); + DeletePolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeletePolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeletePolicyRequest? _defaultInstance; + + /// Required. The resource name of the policy to delete. Format: + /// `policies/{attachment_point}/denypolicies/{policy_id}` + /// + /// + /// Use the URL-encoded full resource name, which means that the forward-slash + /// character, `/`, must be written as `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. The expected `etag` of the policy to delete. If the value does not match + /// the value that is stored in IAM, the request fails with a `409` error code + /// and `ABORTED` status. + /// + /// If you omit this field, the policy is deleted regardless of its current + /// `etag`. + @$pb.TagNumber(2) + $core.String get etag => $_getSZ(1); + @$pb.TagNumber(2) + set etag($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEtag() => $_has(1); + @$pb.TagNumber(2) + void clearEtag() => clearField(2); +} + +/// Metadata for long-running `Policy` operations. +class PolicyOperationMetadata extends $pb.GeneratedMessage { + factory PolicyOperationMetadata({ + $50.Timestamp? createTime, + }) { + final $result = create(); + if (createTime != null) { + $result.createTime = createTime; + } + return $result; + } + PolicyOperationMetadata._() : super(); + factory PolicyOperationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PolicyOperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PolicyOperationMetadata', + package: const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyOperationMetadata clone() => + PolicyOperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyOperationMetadata copyWith( + void Function(PolicyOperationMetadata) updates) => + super.copyWith((message) => updates(message as PolicyOperationMetadata)) + as PolicyOperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyOperationMetadata create() => PolicyOperationMetadata._(); + PolicyOperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyOperationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PolicyOperationMetadata? _defaultInstance; + + /// Timestamp when the `google.longrunning.Operation` was created. + @$pb.TagNumber(1) + $50.Timestamp get createTime => $_getN(0); + @$pb.TagNumber(1) + set createTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCreateTime() => $_has(0); + @$pb.TagNumber(1) + void clearCreateTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureCreateTime() => $_ensure(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbenum.dart new file mode 100644 index 00000000..0c068740 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbgrpc.dart new file mode 100644 index 00000000..e500adf0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbgrpc.dart @@ -0,0 +1,170 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../longrunning/operations.pb.dart' as $0; +import 'policy.pb.dart' as $47; + +export 'policy.pb.dart'; + +@$pb.GrpcServiceName('google.iam.v2.Policies') +class PoliciesClient extends $grpc.Client { + static final _$listPolicies = + $grpc.ClientMethod<$47.ListPoliciesRequest, $47.ListPoliciesResponse>( + '/google.iam.v2.Policies/ListPolicies', + ($47.ListPoliciesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $47.ListPoliciesResponse.fromBuffer(value)); + static final _$getPolicy = + $grpc.ClientMethod<$47.GetPolicyRequest, $47.Policy>( + '/google.iam.v2.Policies/GetPolicy', + ($47.GetPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $47.Policy.fromBuffer(value)); + static final _$createPolicy = + $grpc.ClientMethod<$47.CreatePolicyRequest, $0.Operation>( + '/google.iam.v2.Policies/CreatePolicy', + ($47.CreatePolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updatePolicy = + $grpc.ClientMethod<$47.UpdatePolicyRequest, $0.Operation>( + '/google.iam.v2.Policies/UpdatePolicy', + ($47.UpdatePolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deletePolicy = + $grpc.ClientMethod<$47.DeletePolicyRequest, $0.Operation>( + '/google.iam.v2.Policies/DeletePolicy', + ($47.DeletePolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + PoliciesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$47.ListPoliciesResponse> listPolicies( + $47.ListPoliciesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listPolicies, request, options: options); + } + + $grpc.ResponseFuture<$47.Policy> getPolicy($47.GetPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getPolicy, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createPolicy( + $47.CreatePolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createPolicy, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updatePolicy( + $47.UpdatePolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updatePolicy, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deletePolicy( + $47.DeletePolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deletePolicy, request, options: options); + } +} + +@$pb.GrpcServiceName('google.iam.v2.Policies') +abstract class PoliciesServiceBase extends $grpc.Service { + $core.String get $name => 'google.iam.v2.Policies'; + + PoliciesServiceBase() { + $addMethod( + $grpc.ServiceMethod<$47.ListPoliciesRequest, $47.ListPoliciesResponse>( + 'ListPolicies', + listPolicies_Pre, + false, + false, + ($core.List<$core.int> value) => + $47.ListPoliciesRequest.fromBuffer(value), + ($47.ListPoliciesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$47.GetPolicyRequest, $47.Policy>( + 'GetPolicy', + getPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => $47.GetPolicyRequest.fromBuffer(value), + ($47.Policy value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$47.CreatePolicyRequest, $0.Operation>( + 'CreatePolicy', + createPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $47.CreatePolicyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$47.UpdatePolicyRequest, $0.Operation>( + 'UpdatePolicy', + updatePolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $47.UpdatePolicyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$47.DeletePolicyRequest, $0.Operation>( + 'DeletePolicy', + deletePolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $47.DeletePolicyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$47.ListPoliciesResponse> listPolicies_Pre( + $grpc.ServiceCall call, + $async.Future<$47.ListPoliciesRequest> request) async { + return listPolicies(call, await request); + } + + $async.Future<$47.Policy> getPolicy_Pre($grpc.ServiceCall call, + $async.Future<$47.GetPolicyRequest> request) async { + return getPolicy(call, await request); + } + + $async.Future<$0.Operation> createPolicy_Pre($grpc.ServiceCall call, + $async.Future<$47.CreatePolicyRequest> request) async { + return createPolicy(call, await request); + } + + $async.Future<$0.Operation> updatePolicy_Pre($grpc.ServiceCall call, + $async.Future<$47.UpdatePolicyRequest> request) async { + return updatePolicy(call, await request); + } + + $async.Future<$0.Operation> deletePolicy_Pre($grpc.ServiceCall call, + $async.Future<$47.DeletePolicyRequest> request) async { + return deletePolicy(call, await request); + } + + $async.Future<$47.ListPoliciesResponse> listPolicies( + $grpc.ServiceCall call, $47.ListPoliciesRequest request); + $async.Future<$47.Policy> getPolicy( + $grpc.ServiceCall call, $47.GetPolicyRequest request); + $async.Future<$0.Operation> createPolicy( + $grpc.ServiceCall call, $47.CreatePolicyRequest request); + $async.Future<$0.Operation> updatePolicy( + $grpc.ServiceCall call, $47.UpdatePolicyRequest request); + $async.Future<$0.Operation> deletePolicy( + $grpc.ServiceCall call, $47.DeletePolicyRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbjson.dart new file mode 100644 index 00000000..0c189b86 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2/policy.pbjson.dart @@ -0,0 +1,256 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use policyDescriptor instead') +const Policy$json = { + '1': 'Policy', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'uid', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'uid'}, + {'1': 'kind', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'kind'}, + {'1': 'display_name', '3': 4, '4': 1, '5': 9, '10': 'displayName'}, + { + '1': 'annotations', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.iam.v2.Policy.AnnotationsEntry', + '10': 'annotations' + }, + {'1': 'etag', '3': 6, '4': 1, '5': 9, '10': 'etag'}, + { + '1': 'create_time', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + { + '1': 'delete_time', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'deleteTime' + }, + { + '1': 'rules', + '3': 10, + '4': 3, + '5': 11, + '6': '.google.iam.v2.PolicyRule', + '10': 'rules' + }, + { + '1': 'managing_authority', + '3': 11, + '4': 1, + '5': 9, + '8': {}, + '10': 'managingAuthority' + }, + ], + '3': [Policy_AnnotationsEntry$json], +}; + +@$core.Deprecated('Use policyDescriptor instead') +const Policy_AnnotationsEntry$json = { + '1': 'AnnotationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Policy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyDescriptor = $convert.base64Decode( + 'CgZQb2xpY3kSFwoEbmFtZRgBIAEoCUID4EEFUgRuYW1lEhUKA3VpZBgCIAEoCUID4EEFUgN1aW' + 'QSFwoEa2luZBgDIAEoCUID4EEDUgRraW5kEiEKDGRpc3BsYXlfbmFtZRgEIAEoCVILZGlzcGxh' + 'eU5hbWUSSAoLYW5ub3RhdGlvbnMYBSADKAsyJi5nb29nbGUuaWFtLnYyLlBvbGljeS5Bbm5vdG' + 'F0aW9uc0VudHJ5Ugthbm5vdGF0aW9ucxISCgRldGFnGAYgASgJUgRldGFnEkAKC2NyZWF0ZV90' + 'aW1lGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDUgpjcmVhdGVUaW1lEk' + 'AKC3VwZGF0ZV90aW1lGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDUgp1' + 'cGRhdGVUaW1lEkAKC2RlbGV0ZV90aW1lGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdG' + 'FtcEID4EEDUgpkZWxldGVUaW1lEi8KBXJ1bGVzGAogAygLMhkuZ29vZ2xlLmlhbS52Mi5Qb2xp' + 'Y3lSdWxlUgVydWxlcxIyChJtYW5hZ2luZ19hdXRob3JpdHkYCyABKAlCA+BBBVIRbWFuYWdpbm' + 'dBdXRob3JpdHkaPgoQQW5ub3RhdGlvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1' + 'ZRgCIAEoCVIFdmFsdWU6AjgB'); + +@$core.Deprecated('Use policyRuleDescriptor instead') +const PolicyRule$json = { + '1': 'PolicyRule', + '2': [ + { + '1': 'deny_rule', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v2.DenyRule', + '9': 0, + '10': 'denyRule' + }, + {'1': 'description', '3': 1, '4': 1, '5': 9, '10': 'description'}, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `PolicyRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyRuleDescriptor = $convert.base64Decode( + 'CgpQb2xpY3lSdWxlEjYKCWRlbnlfcnVsZRgCIAEoCzIXLmdvb2dsZS5pYW0udjIuRGVueVJ1bG' + 'VIAFIIZGVueVJ1bGUSIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uQgYKBGtpbmQ='); + +@$core.Deprecated('Use listPoliciesRequestDescriptor instead') +const ListPoliciesRequest$json = { + '1': 'ListPoliciesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListPoliciesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listPoliciesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0UG9saWNpZXNSZXF1ZXN0EhsKBnBhcmVudBgBIAEoCUID4EECUgZwYXJlbnQSGwoJcG' + 'FnZV9zaXplGAIgASgFUghwYWdlU2l6ZRIdCgpwYWdlX3Rva2VuGAMgASgJUglwYWdlVG9rZW4='); + +@$core.Deprecated('Use listPoliciesResponseDescriptor instead') +const ListPoliciesResponse$json = { + '1': 'ListPoliciesResponse', + '2': [ + { + '1': 'policies', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.v2.Policy', + '10': 'policies' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListPoliciesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listPoliciesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0UG9saWNpZXNSZXNwb25zZRIxCghwb2xpY2llcxgBIAMoCzIVLmdvb2dsZS5pYW0udj' + 'IuUG9saWN5Ughwb2xpY2llcxImCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlSDW5leHRQYWdlVG9r' + 'ZW4='); + +@$core.Deprecated('Use getPolicyRequestDescriptor instead') +const GetPolicyRequest$json = { + '1': 'GetPolicyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetPolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getPolicyRequestDescriptor = $convert.base64Decode( + 'ChBHZXRQb2xpY3lSZXF1ZXN0EhcKBG5hbWUYASABKAlCA+BBAlIEbmFtZQ=='); + +@$core.Deprecated('Use createPolicyRequestDescriptor instead') +const CreatePolicyRequest$json = { + '1': 'CreatePolicyRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'policy', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v2.Policy', + '8': {}, + '10': 'policy' + }, + {'1': 'policy_id', '3': 3, '4': 1, '5': 9, '10': 'policyId'}, + ], +}; + +/// Descriptor for `CreatePolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createPolicyRequestDescriptor = $convert.base64Decode( + 'ChNDcmVhdGVQb2xpY3lSZXF1ZXN0EhsKBnBhcmVudBgBIAEoCUID4EECUgZwYXJlbnQSMgoGcG' + '9saWN5GAIgASgLMhUuZ29vZ2xlLmlhbS52Mi5Qb2xpY3lCA+BBAlIGcG9saWN5EhsKCXBvbGlj' + 'eV9pZBgDIAEoCVIIcG9saWN5SWQ='); + +@$core.Deprecated('Use updatePolicyRequestDescriptor instead') +const UpdatePolicyRequest$json = { + '1': 'UpdatePolicyRequest', + '2': [ + { + '1': 'policy', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.v2.Policy', + '8': {}, + '10': 'policy' + }, + ], +}; + +/// Descriptor for `UpdatePolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updatePolicyRequestDescriptor = $convert.base64Decode( + 'ChNVcGRhdGVQb2xpY3lSZXF1ZXN0EjIKBnBvbGljeRgBIAEoCzIVLmdvb2dsZS5pYW0udjIuUG' + '9saWN5QgPgQQJSBnBvbGljeQ=='); + +@$core.Deprecated('Use deletePolicyRequestDescriptor instead') +const DeletePolicyRequest$json = { + '1': 'DeletePolicyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'etag', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'etag'}, + ], +}; + +/// Descriptor for `DeletePolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deletePolicyRequestDescriptor = $convert.base64Decode( + 'ChNEZWxldGVQb2xpY3lSZXF1ZXN0EhcKBG5hbWUYASABKAlCA+BBAlIEbmFtZRIXCgRldGFnGA' + 'IgASgJQgPgQQFSBGV0YWc='); + +@$core.Deprecated('Use policyOperationMetadataDescriptor instead') +const PolicyOperationMetadata$json = { + '1': 'PolicyOperationMetadata', + '2': [ + { + '1': 'create_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + ], +}; + +/// Descriptor for `PolicyOperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyOperationMetadataDescriptor = + $convert.base64Decode( + 'ChdQb2xpY3lPcGVyYXRpb25NZXRhZGF0YRI7CgtjcmVhdGVfdGltZRgBIAEoCzIaLmdvb2dsZS' + '5wcm90b2J1Zi5UaW1lc3RhbXBSCmNyZWF0ZVRpbWU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pb.dart new file mode 100644 index 00000000..f6fa8bdc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pb.dart @@ -0,0 +1,186 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/deny.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../type/expr.pb.dart' as $114; + +/// A deny rule in an IAM deny policy. +class DenyRule extends $pb.GeneratedMessage { + factory DenyRule({ + $core.Iterable<$core.String>? deniedPrincipals, + $core.Iterable<$core.String>? exceptionPrincipals, + $core.Iterable<$core.String>? deniedPermissions, + $core.Iterable<$core.String>? exceptionPermissions, + $114.Expr? denialCondition, + }) { + final $result = create(); + if (deniedPrincipals != null) { + $result.deniedPrincipals.addAll(deniedPrincipals); + } + if (exceptionPrincipals != null) { + $result.exceptionPrincipals.addAll(exceptionPrincipals); + } + if (deniedPermissions != null) { + $result.deniedPermissions.addAll(deniedPermissions); + } + if (exceptionPermissions != null) { + $result.exceptionPermissions.addAll(exceptionPermissions); + } + if (denialCondition != null) { + $result.denialCondition = denialCondition; + } + return $result; + } + DenyRule._() : super(); + factory DenyRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DenyRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DenyRule', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'deniedPrincipals') + ..pPS(2, _omitFieldNames ? '' : 'exceptionPrincipals') + ..pPS(3, _omitFieldNames ? '' : 'deniedPermissions') + ..pPS(4, _omitFieldNames ? '' : 'exceptionPermissions') + ..aOM<$114.Expr>(5, _omitFieldNames ? '' : 'denialCondition', + subBuilder: $114.Expr.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DenyRule clone() => DenyRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DenyRule copyWith(void Function(DenyRule) updates) => + super.copyWith((message) => updates(message as DenyRule)) as DenyRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DenyRule create() => DenyRule._(); + DenyRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DenyRule getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DenyRule? _defaultInstance; + + /// The identities that are prevented from using one or more permissions on + /// Google Cloud resources. This field can contain the following values: + /// + /// * `principalSet://goog/public:all`: A special identifier that represents + /// any principal that is on the internet, even if they do not have a Google + /// Account or are not logged in. + /// + /// * `principal://goog/subject/{email_id}`: A specific Google Account. + /// Includes Gmail, Cloud Identity, and Google Workspace user accounts. For + /// example, `principal://goog/subject/alice@example.com`. + /// + /// * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific + /// Google Account that was deleted recently. For example, + /// `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If + /// the Google Account is recovered, this identifier reverts to the standard + /// identifier for a Google Account. + /// + /// * `principalSet://goog/group/{group_id}`: A Google group. For example, + /// `principalSet://goog/group/admins@example.com`. + /// + /// * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group + /// that was deleted recently. For example, + /// `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If + /// the Google group is restored, this identifier reverts to the standard + /// identifier for a Google group. + /// + /// * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: + /// A Google Cloud service account. For example, + /// `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. + /// + /// * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: + /// A Google Cloud service account that was deleted recently. For example, + /// `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. + /// If the service account is undeleted, this identifier reverts to the + /// standard identifier for a service account. + /// + /// * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the + /// principals associated with the specified Google Workspace or Cloud + /// Identity customer ID. For example, + /// `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. + @$pb.TagNumber(1) + $core.List<$core.String> get deniedPrincipals => $_getList(0); + + /// The identities that are excluded from the deny rule, even if they are + /// listed in the `denied_principals`. For example, you could add a Google + /// group to the `denied_principals`, then exclude specific users who belong to + /// that group. + /// + /// This field can contain the same values as the `denied_principals` field, + /// excluding `principalSet://goog/public:all`, which represents all users on + /// the internet. + @$pb.TagNumber(2) + $core.List<$core.String> get exceptionPrincipals => $_getList(1); + + /// The permissions that are explicitly denied by this rule. Each permission + /// uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` + /// is the fully qualified domain name for the service. For example, + /// `iam.googleapis.com/roles.list`. + @$pb.TagNumber(3) + $core.List<$core.String> get deniedPermissions => $_getList(2); + + /// Specifies the permissions that this rule excludes from the set of denied + /// permissions given by `denied_permissions`. If a permission appears in + /// `denied_permissions` _and_ in `exception_permissions` then it will _not_ be + /// denied. + /// + /// The excluded permissions can be specified using the same syntax as + /// `denied_permissions`. + @$pb.TagNumber(4) + $core.List<$core.String> get exceptionPermissions => $_getList(3); + + /// The condition that determines whether this deny rule applies to a request. + /// If the condition expression evaluates to `true`, then the deny rule is + /// applied; otherwise, the deny rule is not applied. + /// + /// Each deny rule is evaluated independently. If this deny rule does not apply + /// to a request, other deny rules might still apply. + /// + /// The condition can use CEL functions that evaluate + /// [resource + /// tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other + /// functions and operators are not supported. + @$pb.TagNumber(5) + $114.Expr get denialCondition => $_getN(4); + @$pb.TagNumber(5) + set denialCondition($114.Expr v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasDenialCondition() => $_has(4); + @$pb.TagNumber(5) + void clearDenialCondition() => clearField(5); + @$pb.TagNumber(5) + $114.Expr ensureDenialCondition() => $_ensure(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pbenum.dart new file mode 100644 index 00000000..3b2fc898 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/deny.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pbjson.dart new file mode 100644 index 00000000..e2af0686 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/deny.pbjson.dart @@ -0,0 +1,65 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/deny.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use denyRuleDescriptor instead') +const DenyRule$json = { + '1': 'DenyRule', + '2': [ + { + '1': 'denied_principals', + '3': 1, + '4': 3, + '5': 9, + '10': 'deniedPrincipals' + }, + { + '1': 'exception_principals', + '3': 2, + '4': 3, + '5': 9, + '10': 'exceptionPrincipals' + }, + { + '1': 'denied_permissions', + '3': 3, + '4': 3, + '5': 9, + '10': 'deniedPermissions' + }, + { + '1': 'exception_permissions', + '3': 4, + '4': 3, + '5': 9, + '10': 'exceptionPermissions' + }, + { + '1': 'denial_condition', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.type.Expr', + '10': 'denialCondition' + }, + ], +}; + +/// Descriptor for `DenyRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List denyRuleDescriptor = $convert.base64Decode( + 'CghEZW55UnVsZRIrChFkZW5pZWRfcHJpbmNpcGFscxgBIAMoCVIQZGVuaWVkUHJpbmNpcGFscx' + 'IxChRleGNlcHRpb25fcHJpbmNpcGFscxgCIAMoCVITZXhjZXB0aW9uUHJpbmNpcGFscxItChJk' + 'ZW5pZWRfcGVybWlzc2lvbnMYAyADKAlSEWRlbmllZFBlcm1pc3Npb25zEjMKFWV4Y2VwdGlvbl' + '9wZXJtaXNzaW9ucxgEIAMoCVIUZXhjZXB0aW9uUGVybWlzc2lvbnMSPAoQZGVuaWFsX2NvbmRp' + 'dGlvbhgFIAEoCzIRLmdvb2dsZS50eXBlLkV4cHJSD2RlbmlhbENvbmRpdGlvbg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pb.dart new file mode 100644 index 00000000..3e169584 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pb.dart @@ -0,0 +1,967 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/timestamp.pb.dart' as $50; +import 'deny.pb.dart' as $116; + +/// Data for an IAM policy. +class Policy extends $pb.GeneratedMessage { + factory Policy({ + $core.String? name, + $core.String? uid, + $core.String? kind, + $core.String? displayName, + $core.Map<$core.String, $core.String>? annotations, + $core.String? etag, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $50.Timestamp? deleteTime, + $core.Iterable? rules, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (uid != null) { + $result.uid = uid; + } + if (kind != null) { + $result.kind = kind; + } + if (displayName != null) { + $result.displayName = displayName; + } + if (annotations != null) { + $result.annotations.addAll(annotations); + } + if (etag != null) { + $result.etag = etag; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (deleteTime != null) { + $result.deleteTime = deleteTime; + } + if (rules != null) { + $result.rules.addAll(rules); + } + return $result; + } + Policy._() : super(); + factory Policy.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Policy.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Policy', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'uid') + ..aOS(3, _omitFieldNames ? '' : 'kind') + ..aOS(4, _omitFieldNames ? '' : 'displayName') + ..m<$core.String, $core.String>(5, _omitFieldNames ? '' : 'annotations', + entryClassName: 'Policy.AnnotationsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.iam.v2beta')) + ..aOS(6, _omitFieldNames ? '' : 'etag') + ..aOM<$50.Timestamp>(7, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(8, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(9, _omitFieldNames ? '' : 'deleteTime', + subBuilder: $50.Timestamp.create) + ..pc(10, _omitFieldNames ? '' : 'rules', $pb.PbFieldType.PM, + subBuilder: PolicyRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Policy clone() => Policy()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Policy copyWith(void Function(Policy) updates) => + super.copyWith((message) => updates(message as Policy)) as Policy; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Policy create() => Policy._(); + Policy createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Policy getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Policy? _defaultInstance; + + /// Immutable. The resource name of the `Policy`, which must be unique. Format: + /// `policies/{attachment_point}/denypolicies/{policy_id}` + /// + /// + /// The attachment point is identified by its URL-encoded full resource name, + /// which means that the forward-slash character, `/`, must be written as + /// `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, requests can use the alphanumeric or the numeric ID. + /// Responses always contain the numeric ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Immutable. The globally unique ID of the `Policy`. Assigned automatically when the + /// `Policy` is created. + @$pb.TagNumber(2) + $core.String get uid => $_getSZ(1); + @$pb.TagNumber(2) + set uid($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasUid() => $_has(1); + @$pb.TagNumber(2) + void clearUid() => clearField(2); + + /// Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. + @$pb.TagNumber(3) + $core.String get kind => $_getSZ(2); + @$pb.TagNumber(3) + set kind($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasKind() => $_has(2); + @$pb.TagNumber(3) + void clearKind() => clearField(3); + + /// A user-specified description of the `Policy`. This value can be up to 63 + /// characters. + @$pb.TagNumber(4) + $core.String get displayName => $_getSZ(3); + @$pb.TagNumber(4) + set displayName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisplayName() => $_has(3); + @$pb.TagNumber(4) + void clearDisplayName() => clearField(4); + + /// A key-value map to store arbitrary metadata for the `Policy`. Keys + /// can be up to 63 characters. Values can be up to 255 characters. + @$pb.TagNumber(5) + $core.Map<$core.String, $core.String> get annotations => $_getMap(4); + + /// An opaque tag that identifies the current version of the `Policy`. IAM uses + /// this value to help manage concurrent updates, so they do not cause one + /// update to be overwritten by another. + /// + /// If this field is present in a [CreatePolicy][] request, the value is + /// ignored. + @$pb.TagNumber(6) + $core.String get etag => $_getSZ(5); + @$pb.TagNumber(6) + set etag($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasEtag() => $_has(5); + @$pb.TagNumber(6) + void clearEtag() => clearField(6); + + /// Output only. The time when the `Policy` was created. + @$pb.TagNumber(7) + $50.Timestamp get createTime => $_getN(6); + @$pb.TagNumber(7) + set createTime($50.Timestamp v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasCreateTime() => $_has(6); + @$pb.TagNumber(7) + void clearCreateTime() => clearField(7); + @$pb.TagNumber(7) + $50.Timestamp ensureCreateTime() => $_ensure(6); + + /// Output only. The time when the `Policy` was last updated. + @$pb.TagNumber(8) + $50.Timestamp get updateTime => $_getN(7); + @$pb.TagNumber(8) + set updateTime($50.Timestamp v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasUpdateTime() => $_has(7); + @$pb.TagNumber(8) + void clearUpdateTime() => clearField(8); + @$pb.TagNumber(8) + $50.Timestamp ensureUpdateTime() => $_ensure(7); + + /// Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. + @$pb.TagNumber(9) + $50.Timestamp get deleteTime => $_getN(8); + @$pb.TagNumber(9) + set deleteTime($50.Timestamp v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasDeleteTime() => $_has(8); + @$pb.TagNumber(9) + void clearDeleteTime() => clearField(9); + @$pb.TagNumber(9) + $50.Timestamp ensureDeleteTime() => $_ensure(8); + + /// A list of rules that specify the behavior of the `Policy`. All of the rules + /// should be of the `kind` specified in the `Policy`. + @$pb.TagNumber(10) + $core.List get rules => $_getList(9); +} + +enum PolicyRule_Kind { denyRule, notSet } + +/// A single rule in a `Policy`. +class PolicyRule extends $pb.GeneratedMessage { + factory PolicyRule({ + $core.String? description, + $116.DenyRule? denyRule, + }) { + final $result = create(); + if (description != null) { + $result.description = description; + } + if (denyRule != null) { + $result.denyRule = denyRule; + } + return $result; + } + PolicyRule._() : super(); + factory PolicyRule.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PolicyRule.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, PolicyRule_Kind> _PolicyRule_KindByTag = { + 2: PolicyRule_Kind.denyRule, + 0: PolicyRule_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PolicyRule', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..oo(0, [2]) + ..aOS(1, _omitFieldNames ? '' : 'description') + ..aOM<$116.DenyRule>(2, _omitFieldNames ? '' : 'denyRule', + subBuilder: $116.DenyRule.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyRule clone() => PolicyRule()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyRule copyWith(void Function(PolicyRule) updates) => + super.copyWith((message) => updates(message as PolicyRule)) as PolicyRule; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyRule create() => PolicyRule._(); + PolicyRule createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyRule getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PolicyRule? _defaultInstance; + + PolicyRule_Kind whichKind() => _PolicyRule_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// A user-specified description of the rule. This value can be up to 256 + /// characters. + @$pb.TagNumber(1) + $core.String get description => $_getSZ(0); + @$pb.TagNumber(1) + set description($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDescription() => $_has(0); + @$pb.TagNumber(1) + void clearDescription() => clearField(1); + + /// A rule for a deny policy. + @$pb.TagNumber(2) + $116.DenyRule get denyRule => $_getN(1); + @$pb.TagNumber(2) + set denyRule($116.DenyRule v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasDenyRule() => $_has(1); + @$pb.TagNumber(2) + void clearDenyRule() => clearField(2); + @$pb.TagNumber(2) + $116.DenyRule ensureDenyRule() => $_ensure(1); +} + +/// Request message for `ListPolicies`. +class ListPoliciesRequest extends $pb.GeneratedMessage { + factory ListPoliciesRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListPoliciesRequest._() : super(); + factory ListPoliciesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListPoliciesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListPoliciesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListPoliciesRequest clone() => ListPoliciesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListPoliciesRequest copyWith(void Function(ListPoliciesRequest) updates) => + super.copyWith((message) => updates(message as ListPoliciesRequest)) + as ListPoliciesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListPoliciesRequest create() => ListPoliciesRequest._(); + ListPoliciesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListPoliciesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListPoliciesRequest? _defaultInstance; + + /// Required. The resource that the policy is attached to, along with the kind of policy + /// to list. Format: + /// `policies/{attachment_point}/denypolicies` + /// + /// + /// The attachment point is identified by its URL-encoded full resource name, + /// which means that the forward-slash character, `/`, must be written as + /// `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// The maximum number of policies to return. IAM ignores this value and uses + /// the value 1000. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// A page token received in a [ListPoliciesResponse][google.iam.v2beta.ListPoliciesResponse]. Provide this token to + /// retrieve the next page. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); +} + +/// Response message for `ListPolicies`. +class ListPoliciesResponse extends $pb.GeneratedMessage { + factory ListPoliciesResponse({ + $core.Iterable? policies, + $core.String? nextPageToken, + }) { + final $result = create(); + if (policies != null) { + $result.policies.addAll(policies); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListPoliciesResponse._() : super(); + factory ListPoliciesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListPoliciesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListPoliciesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'policies', $pb.PbFieldType.PM, + subBuilder: Policy.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListPoliciesResponse clone() => + ListPoliciesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListPoliciesResponse copyWith(void Function(ListPoliciesResponse) updates) => + super.copyWith((message) => updates(message as ListPoliciesResponse)) + as ListPoliciesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListPoliciesResponse create() => ListPoliciesResponse._(); + ListPoliciesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListPoliciesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListPoliciesResponse? _defaultInstance; + + /// Metadata for the policies that are attached to the resource. + @$pb.TagNumber(1) + $core.List get policies => $_getList(0); + + /// A page token that you can use in a [ListPoliciesRequest][google.iam.v2beta.ListPoliciesRequest] to retrieve the + /// next page. If this field is omitted, there are no additional pages. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// Request message for `GetPolicy`. +class GetPolicyRequest extends $pb.GeneratedMessage { + factory GetPolicyRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetPolicyRequest._() : super(); + factory GetPolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetPolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetPolicyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPolicyRequest clone() => GetPolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetPolicyRequest copyWith(void Function(GetPolicyRequest) updates) => + super.copyWith((message) => updates(message as GetPolicyRequest)) + as GetPolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetPolicyRequest create() => GetPolicyRequest._(); + GetPolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetPolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetPolicyRequest? _defaultInstance; + + /// Required. The resource name of the policy to retrieve. Format: + /// `policies/{attachment_point}/denypolicies/{policy_id}` + /// + /// + /// Use the URL-encoded full resource name, which means that the forward-slash + /// character, `/`, must be written as `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Request message for `CreatePolicy`. +class CreatePolicyRequest extends $pb.GeneratedMessage { + factory CreatePolicyRequest({ + $core.String? parent, + Policy? policy, + $core.String? policyId, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (policy != null) { + $result.policy = policy; + } + if (policyId != null) { + $result.policyId = policyId; + } + return $result; + } + CreatePolicyRequest._() : super(); + factory CreatePolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreatePolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreatePolicyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM(2, _omitFieldNames ? '' : 'policy', subBuilder: Policy.create) + ..aOS(3, _omitFieldNames ? '' : 'policyId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreatePolicyRequest clone() => CreatePolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreatePolicyRequest copyWith(void Function(CreatePolicyRequest) updates) => + super.copyWith((message) => updates(message as CreatePolicyRequest)) + as CreatePolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreatePolicyRequest create() => CreatePolicyRequest._(); + CreatePolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreatePolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreatePolicyRequest? _defaultInstance; + + /// Required. The resource that the policy is attached to, along with the kind of policy + /// to create. Format: `policies/{attachment_point}/denypolicies` + /// + /// + /// The attachment point is identified by its URL-encoded full resource name, + /// which means that the forward-slash character, `/`, must be written as + /// `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The policy to create. + @$pb.TagNumber(2) + Policy get policy => $_getN(1); + @$pb.TagNumber(2) + set policy(Policy v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasPolicy() => $_has(1); + @$pb.TagNumber(2) + void clearPolicy() => clearField(2); + @$pb.TagNumber(2) + Policy ensurePolicy() => $_ensure(1); + + /// The ID to use for this policy, which will become the final component of + /// the policy's resource name. The ID must contain 3 to 63 characters. It can + /// contain lowercase letters and numbers, as well as dashes (`-`) and periods + /// (`.`). The first character must be a lowercase letter. + @$pb.TagNumber(3) + $core.String get policyId => $_getSZ(2); + @$pb.TagNumber(3) + set policyId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPolicyId() => $_has(2); + @$pb.TagNumber(3) + void clearPolicyId() => clearField(3); +} + +/// Request message for `UpdatePolicy`. +class UpdatePolicyRequest extends $pb.GeneratedMessage { + factory UpdatePolicyRequest({ + Policy? policy, + }) { + final $result = create(); + if (policy != null) { + $result.policy = policy; + } + return $result; + } + UpdatePolicyRequest._() : super(); + factory UpdatePolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdatePolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdatePolicyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'policy', subBuilder: Policy.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdatePolicyRequest clone() => UpdatePolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdatePolicyRequest copyWith(void Function(UpdatePolicyRequest) updates) => + super.copyWith((message) => updates(message as UpdatePolicyRequest)) + as UpdatePolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdatePolicyRequest create() => UpdatePolicyRequest._(); + UpdatePolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdatePolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdatePolicyRequest? _defaultInstance; + + /// Required. The policy to update. + /// + /// To prevent conflicting updates, the `etag` value must match the value that + /// is stored in IAM. If the `etag` values do not match, the request fails with + /// a `409` error code and `ABORTED` status. + @$pb.TagNumber(1) + Policy get policy => $_getN(0); + @$pb.TagNumber(1) + set policy(Policy v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasPolicy() => $_has(0); + @$pb.TagNumber(1) + void clearPolicy() => clearField(1); + @$pb.TagNumber(1) + Policy ensurePolicy() => $_ensure(0); +} + +/// Request message for `DeletePolicy`. +class DeletePolicyRequest extends $pb.GeneratedMessage { + factory DeletePolicyRequest({ + $core.String? name, + $core.String? etag, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (etag != null) { + $result.etag = etag; + } + return $result; + } + DeletePolicyRequest._() : super(); + factory DeletePolicyRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeletePolicyRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeletePolicyRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'etag') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeletePolicyRequest clone() => DeletePolicyRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeletePolicyRequest copyWith(void Function(DeletePolicyRequest) updates) => + super.copyWith((message) => updates(message as DeletePolicyRequest)) + as DeletePolicyRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeletePolicyRequest create() => DeletePolicyRequest._(); + DeletePolicyRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeletePolicyRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeletePolicyRequest? _defaultInstance; + + /// Required. The resource name of the policy to delete. Format: + /// `policies/{attachment_point}/denypolicies/{policy_id}` + /// + /// + /// Use the URL-encoded full resource name, which means that the forward-slash + /// character, `/`, must be written as `%2F`. For example, + /// `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + /// + /// For organizations and folders, use the numeric ID in the full resource + /// name. For projects, you can use the alphanumeric or the numeric ID. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. The expected `etag` of the policy to delete. If the value does not match + /// the value that is stored in IAM, the request fails with a `409` error code + /// and `ABORTED` status. + /// + /// If you omit this field, the policy is deleted regardless of its current + /// `etag`. + @$pb.TagNumber(2) + $core.String get etag => $_getSZ(1); + @$pb.TagNumber(2) + set etag($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEtag() => $_has(1); + @$pb.TagNumber(2) + void clearEtag() => clearField(2); +} + +/// Metadata for long-running `Policy` operations. +class PolicyOperationMetadata extends $pb.GeneratedMessage { + factory PolicyOperationMetadata({ + $50.Timestamp? createTime, + }) { + final $result = create(); + if (createTime != null) { + $result.createTime = createTime; + } + return $result; + } + PolicyOperationMetadata._() : super(); + factory PolicyOperationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory PolicyOperationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'PolicyOperationMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.iam.v2beta'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PolicyOperationMetadata clone() => + PolicyOperationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PolicyOperationMetadata copyWith( + void Function(PolicyOperationMetadata) updates) => + super.copyWith((message) => updates(message as PolicyOperationMetadata)) + as PolicyOperationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PolicyOperationMetadata create() => PolicyOperationMetadata._(); + PolicyOperationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PolicyOperationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static PolicyOperationMetadata? _defaultInstance; + + /// Timestamp when the `google.longrunning.Operation` was created. + @$pb.TagNumber(1) + $50.Timestamp get createTime => $_getN(0); + @$pb.TagNumber(1) + set createTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCreateTime() => $_has(0); + @$pb.TagNumber(1) + void clearCreateTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureCreateTime() => $_ensure(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbenum.dart new file mode 100644 index 00000000..678eaba5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbgrpc.dart new file mode 100644 index 00000000..5c74027f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbgrpc.dart @@ -0,0 +1,170 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../longrunning/operations.pb.dart' as $0; +import 'policy.pb.dart' as $46; + +export 'policy.pb.dart'; + +@$pb.GrpcServiceName('google.iam.v2beta.Policies') +class PoliciesClient extends $grpc.Client { + static final _$listPolicies = + $grpc.ClientMethod<$46.ListPoliciesRequest, $46.ListPoliciesResponse>( + '/google.iam.v2beta.Policies/ListPolicies', + ($46.ListPoliciesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $46.ListPoliciesResponse.fromBuffer(value)); + static final _$getPolicy = + $grpc.ClientMethod<$46.GetPolicyRequest, $46.Policy>( + '/google.iam.v2beta.Policies/GetPolicy', + ($46.GetPolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $46.Policy.fromBuffer(value)); + static final _$createPolicy = + $grpc.ClientMethod<$46.CreatePolicyRequest, $0.Operation>( + '/google.iam.v2beta.Policies/CreatePolicy', + ($46.CreatePolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updatePolicy = + $grpc.ClientMethod<$46.UpdatePolicyRequest, $0.Operation>( + '/google.iam.v2beta.Policies/UpdatePolicy', + ($46.UpdatePolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deletePolicy = + $grpc.ClientMethod<$46.DeletePolicyRequest, $0.Operation>( + '/google.iam.v2beta.Policies/DeletePolicy', + ($46.DeletePolicyRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + PoliciesClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$46.ListPoliciesResponse> listPolicies( + $46.ListPoliciesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listPolicies, request, options: options); + } + + $grpc.ResponseFuture<$46.Policy> getPolicy($46.GetPolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getPolicy, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createPolicy( + $46.CreatePolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createPolicy, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updatePolicy( + $46.UpdatePolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updatePolicy, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deletePolicy( + $46.DeletePolicyRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deletePolicy, request, options: options); + } +} + +@$pb.GrpcServiceName('google.iam.v2beta.Policies') +abstract class PoliciesServiceBase extends $grpc.Service { + $core.String get $name => 'google.iam.v2beta.Policies'; + + PoliciesServiceBase() { + $addMethod( + $grpc.ServiceMethod<$46.ListPoliciesRequest, $46.ListPoliciesResponse>( + 'ListPolicies', + listPolicies_Pre, + false, + false, + ($core.List<$core.int> value) => + $46.ListPoliciesRequest.fromBuffer(value), + ($46.ListPoliciesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$46.GetPolicyRequest, $46.Policy>( + 'GetPolicy', + getPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => $46.GetPolicyRequest.fromBuffer(value), + ($46.Policy value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$46.CreatePolicyRequest, $0.Operation>( + 'CreatePolicy', + createPolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $46.CreatePolicyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$46.UpdatePolicyRequest, $0.Operation>( + 'UpdatePolicy', + updatePolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $46.UpdatePolicyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$46.DeletePolicyRequest, $0.Operation>( + 'DeletePolicy', + deletePolicy_Pre, + false, + false, + ($core.List<$core.int> value) => + $46.DeletePolicyRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$46.ListPoliciesResponse> listPolicies_Pre( + $grpc.ServiceCall call, + $async.Future<$46.ListPoliciesRequest> request) async { + return listPolicies(call, await request); + } + + $async.Future<$46.Policy> getPolicy_Pre($grpc.ServiceCall call, + $async.Future<$46.GetPolicyRequest> request) async { + return getPolicy(call, await request); + } + + $async.Future<$0.Operation> createPolicy_Pre($grpc.ServiceCall call, + $async.Future<$46.CreatePolicyRequest> request) async { + return createPolicy(call, await request); + } + + $async.Future<$0.Operation> updatePolicy_Pre($grpc.ServiceCall call, + $async.Future<$46.UpdatePolicyRequest> request) async { + return updatePolicy(call, await request); + } + + $async.Future<$0.Operation> deletePolicy_Pre($grpc.ServiceCall call, + $async.Future<$46.DeletePolicyRequest> request) async { + return deletePolicy(call, await request); + } + + $async.Future<$46.ListPoliciesResponse> listPolicies( + $grpc.ServiceCall call, $46.ListPoliciesRequest request); + $async.Future<$46.Policy> getPolicy( + $grpc.ServiceCall call, $46.GetPolicyRequest request); + $async.Future<$0.Operation> createPolicy( + $grpc.ServiceCall call, $46.CreatePolicyRequest request); + $async.Future<$0.Operation> updatePolicy( + $grpc.ServiceCall call, $46.UpdatePolicyRequest request); + $async.Future<$0.Operation> deletePolicy( + $grpc.ServiceCall call, $46.DeletePolicyRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbjson.dart new file mode 100644 index 00000000..7705fd6e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/iam/v2beta/policy.pbjson.dart @@ -0,0 +1,248 @@ +// +// Generated code. Do not modify. +// source: google/iam/v2beta/policy.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use policyDescriptor instead') +const Policy$json = { + '1': 'Policy', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'uid', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'uid'}, + {'1': 'kind', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'kind'}, + {'1': 'display_name', '3': 4, '4': 1, '5': 9, '10': 'displayName'}, + { + '1': 'annotations', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.iam.v2beta.Policy.AnnotationsEntry', + '10': 'annotations' + }, + {'1': 'etag', '3': 6, '4': 1, '5': 9, '10': 'etag'}, + { + '1': 'create_time', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + { + '1': 'delete_time', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'deleteTime' + }, + { + '1': 'rules', + '3': 10, + '4': 3, + '5': 11, + '6': '.google.iam.v2beta.PolicyRule', + '10': 'rules' + }, + ], + '3': [Policy_AnnotationsEntry$json], +}; + +@$core.Deprecated('Use policyDescriptor instead') +const Policy_AnnotationsEntry$json = { + '1': 'AnnotationsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Policy`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyDescriptor = $convert.base64Decode( + 'CgZQb2xpY3kSFwoEbmFtZRgBIAEoCUID4EEFUgRuYW1lEhUKA3VpZBgCIAEoCUID4EEFUgN1aW' + 'QSFwoEa2luZBgDIAEoCUID4EEDUgRraW5kEiEKDGRpc3BsYXlfbmFtZRgEIAEoCVILZGlzcGxh' + 'eU5hbWUSTAoLYW5ub3RhdGlvbnMYBSADKAsyKi5nb29nbGUuaWFtLnYyYmV0YS5Qb2xpY3kuQW' + '5ub3RhdGlvbnNFbnRyeVILYW5ub3RhdGlvbnMSEgoEZXRhZxgGIAEoCVIEZXRhZxJACgtjcmVh' + 'dGVfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBA1IKY3JlYXRlVG' + 'ltZRJACgt1cGRhdGVfdGltZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BB' + 'A1IKdXBkYXRlVGltZRJACgtkZWxldGVfdGltZRgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW' + '1lc3RhbXBCA+BBA1IKZGVsZXRlVGltZRIzCgVydWxlcxgKIAMoCzIdLmdvb2dsZS5pYW0udjJi' + 'ZXRhLlBvbGljeVJ1bGVSBXJ1bGVzGj4KEEFubm90YXRpb25zRW50cnkSEAoDa2V5GAEgASgJUg' + 'NrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use policyRuleDescriptor instead') +const PolicyRule$json = { + '1': 'PolicyRule', + '2': [ + { + '1': 'deny_rule', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v2beta.DenyRule', + '9': 0, + '10': 'denyRule' + }, + {'1': 'description', '3': 1, '4': 1, '5': 9, '10': 'description'}, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `PolicyRule`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyRuleDescriptor = $convert.base64Decode( + 'CgpQb2xpY3lSdWxlEjoKCWRlbnlfcnVsZRgCIAEoCzIbLmdvb2dsZS5pYW0udjJiZXRhLkRlbn' + 'lSdWxlSABSCGRlbnlSdWxlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbkIGCgRr' + 'aW5k'); + +@$core.Deprecated('Use listPoliciesRequestDescriptor instead') +const ListPoliciesRequest$json = { + '1': 'ListPoliciesRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListPoliciesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listPoliciesRequestDescriptor = $convert.base64Decode( + 'ChNMaXN0UG9saWNpZXNSZXF1ZXN0EhsKBnBhcmVudBgBIAEoCUID4EECUgZwYXJlbnQSGwoJcG' + 'FnZV9zaXplGAIgASgFUghwYWdlU2l6ZRIdCgpwYWdlX3Rva2VuGAMgASgJUglwYWdlVG9rZW4='); + +@$core.Deprecated('Use listPoliciesResponseDescriptor instead') +const ListPoliciesResponse$json = { + '1': 'ListPoliciesResponse', + '2': [ + { + '1': 'policies', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.iam.v2beta.Policy', + '10': 'policies' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListPoliciesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listPoliciesResponseDescriptor = $convert.base64Decode( + 'ChRMaXN0UG9saWNpZXNSZXNwb25zZRI1Cghwb2xpY2llcxgBIAMoCzIZLmdvb2dsZS5pYW0udj' + 'JiZXRhLlBvbGljeVIIcG9saWNpZXMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFn' + 'ZVRva2Vu'); + +@$core.Deprecated('Use getPolicyRequestDescriptor instead') +const GetPolicyRequest$json = { + '1': 'GetPolicyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetPolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getPolicyRequestDescriptor = $convert.base64Decode( + 'ChBHZXRQb2xpY3lSZXF1ZXN0EhcKBG5hbWUYASABKAlCA+BBAlIEbmFtZQ=='); + +@$core.Deprecated('Use createPolicyRequestDescriptor instead') +const CreatePolicyRequest$json = { + '1': 'CreatePolicyRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'policy', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.iam.v2beta.Policy', + '8': {}, + '10': 'policy' + }, + {'1': 'policy_id', '3': 3, '4': 1, '5': 9, '10': 'policyId'}, + ], +}; + +/// Descriptor for `CreatePolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createPolicyRequestDescriptor = $convert.base64Decode( + 'ChNDcmVhdGVQb2xpY3lSZXF1ZXN0EhsKBnBhcmVudBgBIAEoCUID4EECUgZwYXJlbnQSNgoGcG' + '9saWN5GAIgASgLMhkuZ29vZ2xlLmlhbS52MmJldGEuUG9saWN5QgPgQQJSBnBvbGljeRIbCglw' + 'b2xpY3lfaWQYAyABKAlSCHBvbGljeUlk'); + +@$core.Deprecated('Use updatePolicyRequestDescriptor instead') +const UpdatePolicyRequest$json = { + '1': 'UpdatePolicyRequest', + '2': [ + { + '1': 'policy', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.iam.v2beta.Policy', + '8': {}, + '10': 'policy' + }, + ], +}; + +/// Descriptor for `UpdatePolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updatePolicyRequestDescriptor = $convert.base64Decode( + 'ChNVcGRhdGVQb2xpY3lSZXF1ZXN0EjYKBnBvbGljeRgBIAEoCzIZLmdvb2dsZS5pYW0udjJiZX' + 'RhLlBvbGljeUID4EECUgZwb2xpY3k='); + +@$core.Deprecated('Use deletePolicyRequestDescriptor instead') +const DeletePolicyRequest$json = { + '1': 'DeletePolicyRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'etag', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'etag'}, + ], +}; + +/// Descriptor for `DeletePolicyRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deletePolicyRequestDescriptor = $convert.base64Decode( + 'ChNEZWxldGVQb2xpY3lSZXF1ZXN0EhcKBG5hbWUYASABKAlCA+BBAlIEbmFtZRIXCgRldGFnGA' + 'IgASgJQgPgQQFSBGV0YWc='); + +@$core.Deprecated('Use policyOperationMetadataDescriptor instead') +const PolicyOperationMetadata$json = { + '1': 'PolicyOperationMetadata', + '2': [ + { + '1': 'create_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'createTime' + }, + ], +}; + +/// Descriptor for `PolicyOperationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List policyOperationMetadataDescriptor = + $convert.base64Decode( + 'ChdQb2xpY3lPcGVyYXRpb25NZXRhZGF0YRI7CgtjcmVhdGVfdGltZRgBIAEoCzIaLmdvb2dsZS' + '5wcm90b2J1Zi5UaW1lc3RhbXBSCmNyZWF0ZVRpbWU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pb.dart new file mode 100644 index 00000000..b78888d3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pb.dart @@ -0,0 +1,359 @@ +// +// Generated code. Do not modify. +// source: google/logging/type/http_request.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/duration.pb.dart' as $51; + +/// 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. +class HttpRequest extends $pb.GeneratedMessage { + factory HttpRequest({ + $core.String? requestMethod, + $core.String? requestUrl, + $fixnum.Int64? requestSize, + $core.int? status, + $fixnum.Int64? responseSize, + $core.String? userAgent, + $core.String? remoteIp, + $core.String? referer, + $core.bool? cacheHit, + $core.bool? cacheValidatedWithOriginServer, + $core.bool? cacheLookup, + $fixnum.Int64? cacheFillBytes, + $core.String? serverIp, + $51.Duration? latency, + $core.String? protocol, + }) { + final $result = create(); + if (requestMethod != null) { + $result.requestMethod = requestMethod; + } + if (requestUrl != null) { + $result.requestUrl = requestUrl; + } + if (requestSize != null) { + $result.requestSize = requestSize; + } + if (status != null) { + $result.status = status; + } + if (responseSize != null) { + $result.responseSize = responseSize; + } + if (userAgent != null) { + $result.userAgent = userAgent; + } + if (remoteIp != null) { + $result.remoteIp = remoteIp; + } + if (referer != null) { + $result.referer = referer; + } + if (cacheHit != null) { + $result.cacheHit = cacheHit; + } + if (cacheValidatedWithOriginServer != null) { + $result.cacheValidatedWithOriginServer = cacheValidatedWithOriginServer; + } + if (cacheLookup != null) { + $result.cacheLookup = cacheLookup; + } + if (cacheFillBytes != null) { + $result.cacheFillBytes = cacheFillBytes; + } + if (serverIp != null) { + $result.serverIp = serverIp; + } + if (latency != null) { + $result.latency = latency; + } + if (protocol != null) { + $result.protocol = protocol; + } + return $result; + } + HttpRequest._() : super(); + factory HttpRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory HttpRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'HttpRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.type'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'requestMethod') + ..aOS(2, _omitFieldNames ? '' : 'requestUrl') + ..aInt64(3, _omitFieldNames ? '' : 'requestSize') + ..a<$core.int>(4, _omitFieldNames ? '' : 'status', $pb.PbFieldType.O3) + ..aInt64(5, _omitFieldNames ? '' : 'responseSize') + ..aOS(6, _omitFieldNames ? '' : 'userAgent') + ..aOS(7, _omitFieldNames ? '' : 'remoteIp') + ..aOS(8, _omitFieldNames ? '' : 'referer') + ..aOB(9, _omitFieldNames ? '' : 'cacheHit') + ..aOB(10, _omitFieldNames ? '' : 'cacheValidatedWithOriginServer') + ..aOB(11, _omitFieldNames ? '' : 'cacheLookup') + ..aInt64(12, _omitFieldNames ? '' : 'cacheFillBytes') + ..aOS(13, _omitFieldNames ? '' : 'serverIp') + ..aOM<$51.Duration>(14, _omitFieldNames ? '' : 'latency', + subBuilder: $51.Duration.create) + ..aOS(15, _omitFieldNames ? '' : 'protocol') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HttpRequest clone() => HttpRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HttpRequest copyWith(void Function(HttpRequest) updates) => + super.copyWith((message) => updates(message as HttpRequest)) + as HttpRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HttpRequest create() => HttpRequest._(); + HttpRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HttpRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static HttpRequest? _defaultInstance; + + /// The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. + @$pb.TagNumber(1) + $core.String get requestMethod => $_getSZ(0); + @$pb.TagNumber(1) + set requestMethod($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequestMethod() => $_has(0); + @$pb.TagNumber(1) + void clearRequestMethod() => clearField(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"`. + @$pb.TagNumber(2) + $core.String get requestUrl => $_getSZ(1); + @$pb.TagNumber(2) + set requestUrl($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRequestUrl() => $_has(1); + @$pb.TagNumber(2) + void clearRequestUrl() => clearField(2); + + /// The size of the HTTP request message in bytes, including the request + /// headers and the request body. + @$pb.TagNumber(3) + $fixnum.Int64 get requestSize => $_getI64(2); + @$pb.TagNumber(3) + set requestSize($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasRequestSize() => $_has(2); + @$pb.TagNumber(3) + void clearRequestSize() => clearField(3); + + /// The response code indicating the status of response. + /// Examples: 200, 404. + @$pb.TagNumber(4) + $core.int get status => $_getIZ(3); + @$pb.TagNumber(4) + set status($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasStatus() => $_has(3); + @$pb.TagNumber(4) + void clearStatus() => clearField(4); + + /// The size of the HTTP response message sent back to the client, in bytes, + /// including the response headers and the response body. + @$pb.TagNumber(5) + $fixnum.Int64 get responseSize => $_getI64(4); + @$pb.TagNumber(5) + set responseSize($fixnum.Int64 v) { + $_setInt64(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasResponseSize() => $_has(4); + @$pb.TagNumber(5) + void clearResponseSize() => clearField(5); + + /// The user agent sent by the client. Example: + /// `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET + /// CLR 1.0.3705)"`. + @$pb.TagNumber(6) + $core.String get userAgent => $_getSZ(5); + @$pb.TagNumber(6) + set userAgent($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasUserAgent() => $_has(5); + @$pb.TagNumber(6) + void clearUserAgent() => clearField(6); + + /// The IP address (IPv4 or IPv6) of the client that issued the HTTP + /// request. This field can include port information. Examples: + /// `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`. + @$pb.TagNumber(7) + $core.String get remoteIp => $_getSZ(6); + @$pb.TagNumber(7) + set remoteIp($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasRemoteIp() => $_has(6); + @$pb.TagNumber(7) + void clearRemoteIp() => clearField(7); + + /// The referer URL of the request, as defined in + /// [HTTP/1.1 Header Field + /// Definitions](https://datatracker.ietf.org/doc/html/rfc2616#section-14.36). + @$pb.TagNumber(8) + $core.String get referer => $_getSZ(7); + @$pb.TagNumber(8) + set referer($core.String v) { + $_setString(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasReferer() => $_has(7); + @$pb.TagNumber(8) + void clearReferer() => clearField(8); + + /// Whether or not an entity was served from cache + /// (with or without validation). + @$pb.TagNumber(9) + $core.bool get cacheHit => $_getBF(8); + @$pb.TagNumber(9) + set cacheHit($core.bool v) { + $_setBool(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasCacheHit() => $_has(8); + @$pb.TagNumber(9) + void clearCacheHit() => clearField(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. + @$pb.TagNumber(10) + $core.bool get cacheValidatedWithOriginServer => $_getBF(9); + @$pb.TagNumber(10) + set cacheValidatedWithOriginServer($core.bool v) { + $_setBool(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasCacheValidatedWithOriginServer() => $_has(9); + @$pb.TagNumber(10) + void clearCacheValidatedWithOriginServer() => clearField(10); + + /// Whether or not a cache lookup was attempted. + @$pb.TagNumber(11) + $core.bool get cacheLookup => $_getBF(10); + @$pb.TagNumber(11) + set cacheLookup($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasCacheLookup() => $_has(10); + @$pb.TagNumber(11) + void clearCacheLookup() => clearField(11); + + /// The number of HTTP response bytes inserted into cache. Set only when a + /// cache fill was attempted. + @$pb.TagNumber(12) + $fixnum.Int64 get cacheFillBytes => $_getI64(11); + @$pb.TagNumber(12) + set cacheFillBytes($fixnum.Int64 v) { + $_setInt64(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasCacheFillBytes() => $_has(11); + @$pb.TagNumber(12) + void clearCacheFillBytes() => clearField(12); + + /// The IP address (IPv4 or IPv6) of the origin server that the request was + /// sent to. This field can include port information. Examples: + /// `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`. + @$pb.TagNumber(13) + $core.String get serverIp => $_getSZ(12); + @$pb.TagNumber(13) + set serverIp($core.String v) { + $_setString(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasServerIp() => $_has(12); + @$pb.TagNumber(13) + void clearServerIp() => clearField(13); + + /// The request processing latency on the server, from the time the request was + /// received until the response was sent. + @$pb.TagNumber(14) + $51.Duration get latency => $_getN(13); + @$pb.TagNumber(14) + set latency($51.Duration v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasLatency() => $_has(13); + @$pb.TagNumber(14) + void clearLatency() => clearField(14); + @$pb.TagNumber(14) + $51.Duration ensureLatency() => $_ensure(13); + + /// Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket" + @$pb.TagNumber(15) + $core.String get protocol => $_getSZ(14); + @$pb.TagNumber(15) + set protocol($core.String v) { + $_setString(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasProtocol() => $_has(14); + @$pb.TagNumber(15) + void clearProtocol() => clearField(15); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pbenum.dart new file mode 100644 index 00000000..fc82b412 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/logging/type/http_request.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pbjson.dart new file mode 100644 index 00000000..8cb06df6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/http_request.pbjson.dart @@ -0,0 +1,63 @@ +// +// Generated code. Do not modify. +// source: google/logging/type/http_request.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use httpRequestDescriptor instead') +const HttpRequest$json = { + '1': 'HttpRequest', + '2': [ + {'1': 'request_method', '3': 1, '4': 1, '5': 9, '10': 'requestMethod'}, + {'1': 'request_url', '3': 2, '4': 1, '5': 9, '10': 'requestUrl'}, + {'1': 'request_size', '3': 3, '4': 1, '5': 3, '10': 'requestSize'}, + {'1': 'status', '3': 4, '4': 1, '5': 5, '10': 'status'}, + {'1': 'response_size', '3': 5, '4': 1, '5': 3, '10': 'responseSize'}, + {'1': 'user_agent', '3': 6, '4': 1, '5': 9, '10': 'userAgent'}, + {'1': 'remote_ip', '3': 7, '4': 1, '5': 9, '10': 'remoteIp'}, + {'1': 'server_ip', '3': 13, '4': 1, '5': 9, '10': 'serverIp'}, + {'1': 'referer', '3': 8, '4': 1, '5': 9, '10': 'referer'}, + { + '1': 'latency', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'latency' + }, + {'1': 'cache_lookup', '3': 11, '4': 1, '5': 8, '10': 'cacheLookup'}, + {'1': 'cache_hit', '3': 9, '4': 1, '5': 8, '10': 'cacheHit'}, + { + '1': 'cache_validated_with_origin_server', + '3': 10, + '4': 1, + '5': 8, + '10': 'cacheValidatedWithOriginServer' + }, + {'1': 'cache_fill_bytes', '3': 12, '4': 1, '5': 3, '10': 'cacheFillBytes'}, + {'1': 'protocol', '3': 15, '4': 1, '5': 9, '10': 'protocol'}, + ], +}; + +/// Descriptor for `HttpRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List httpRequestDescriptor = $convert.base64Decode( + 'CgtIdHRwUmVxdWVzdBIlCg5yZXF1ZXN0X21ldGhvZBgBIAEoCVINcmVxdWVzdE1ldGhvZBIfCg' + 'tyZXF1ZXN0X3VybBgCIAEoCVIKcmVxdWVzdFVybBIhCgxyZXF1ZXN0X3NpemUYAyABKANSC3Jl' + 'cXVlc3RTaXplEhYKBnN0YXR1cxgEIAEoBVIGc3RhdHVzEiMKDXJlc3BvbnNlX3NpemUYBSABKA' + 'NSDHJlc3BvbnNlU2l6ZRIdCgp1c2VyX2FnZW50GAYgASgJUgl1c2VyQWdlbnQSGwoJcmVtb3Rl' + 'X2lwGAcgASgJUghyZW1vdGVJcBIbCglzZXJ2ZXJfaXAYDSABKAlSCHNlcnZlcklwEhgKB3JlZm' + 'VyZXIYCCABKAlSB3JlZmVyZXISMwoHbGF0ZW5jeRgOIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5E' + 'dXJhdGlvblIHbGF0ZW5jeRIhCgxjYWNoZV9sb29rdXAYCyABKAhSC2NhY2hlTG9va3VwEhsKCW' + 'NhY2hlX2hpdBgJIAEoCFIIY2FjaGVIaXQSSgoiY2FjaGVfdmFsaWRhdGVkX3dpdGhfb3JpZ2lu' + 'X3NlcnZlchgKIAEoCFIeY2FjaGVWYWxpZGF0ZWRXaXRoT3JpZ2luU2VydmVyEigKEGNhY2hlX2' + 'ZpbGxfYnl0ZXMYDCABKANSDmNhY2hlRmlsbEJ5dGVzEhoKCHByb3RvY29sGA8gASgJUghwcm90' + 'b2NvbA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pb.dart new file mode 100644 index 00000000..da0684fc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pb.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: google/logging/type/log_severity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +export 'log_severity.pbenum.dart'; diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pbenum.dart new file mode 100644 index 00000000..f9816c97 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pbenum.dart @@ -0,0 +1,70 @@ +// +// Generated code. Do not modify. +// source: google/logging/type/log_severity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// 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. +class LogSeverity extends $pb.ProtobufEnum { + static const LogSeverity DEFAULT = + LogSeverity._(0, _omitEnumNames ? '' : 'DEFAULT'); + static const LogSeverity DEBUG = + LogSeverity._(100, _omitEnumNames ? '' : 'DEBUG'); + static const LogSeverity INFO = + LogSeverity._(200, _omitEnumNames ? '' : 'INFO'); + static const LogSeverity NOTICE = + LogSeverity._(300, _omitEnumNames ? '' : 'NOTICE'); + static const LogSeverity WARNING = + LogSeverity._(400, _omitEnumNames ? '' : 'WARNING'); + static const LogSeverity ERROR = + LogSeverity._(500, _omitEnumNames ? '' : 'ERROR'); + static const LogSeverity CRITICAL = + LogSeverity._(600, _omitEnumNames ? '' : 'CRITICAL'); + static const LogSeverity ALERT = + LogSeverity._(700, _omitEnumNames ? '' : 'ALERT'); + static const LogSeverity EMERGENCY = + LogSeverity._(800, _omitEnumNames ? '' : 'EMERGENCY'); + + static const $core.List values = [ + DEFAULT, + DEBUG, + INFO, + NOTICE, + WARNING, + ERROR, + CRITICAL, + ALERT, + EMERGENCY, + ]; + + static final $core.Map<$core.int, LogSeverity> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LogSeverity? valueOf($core.int value) => _byValue[value]; + + const LogSeverity._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pbjson.dart new file mode 100644 index 00000000..37d3dfd9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/type/log_severity.pbjson.dart @@ -0,0 +1,36 @@ +// +// Generated code. Do not modify. +// source: google/logging/type/log_severity.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use logSeverityDescriptor instead') +const LogSeverity$json = { + '1': 'LogSeverity', + '2': [ + {'1': 'DEFAULT', '2': 0}, + {'1': 'DEBUG', '2': 100}, + {'1': 'INFO', '2': 200}, + {'1': 'NOTICE', '2': 300}, + {'1': 'WARNING', '2': 400}, + {'1': 'ERROR', '2': 500}, + {'1': 'CRITICAL', '2': 600}, + {'1': 'ALERT', '2': 700}, + {'1': 'EMERGENCY', '2': 800}, + ], +}; + +/// Descriptor for `LogSeverity`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List logSeverityDescriptor = $convert.base64Decode( + 'CgtMb2dTZXZlcml0eRILCgdERUZBVUxUEAASCQoFREVCVUcQZBIJCgRJTkZPEMgBEgsKBk5PVE' + 'lDRRCsAhIMCgdXQVJOSU5HEJADEgoKBUVSUk9SEPQDEg0KCENSSVRJQ0FMENgEEgoKBUFMRVJU' + 'ELwFEg4KCUVNRVJHRU5DWRCgBg=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pb.dart new file mode 100644 index 00000000..0c1af94f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pb.dart @@ -0,0 +1,866 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/log_entry.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../api/monitored_resource.pb.dart' as $67; +import '../../protobuf/any.pb.dart' as $49; +import '../../protobuf/struct.pb.dart' as $48; +import '../../protobuf/timestamp.pb.dart' as $50; +import '../type/http_request.pb.dart' as $66; +import '../type/log_severity.pbenum.dart' as $64; + +enum LogEntry_Payload { protoPayload, textPayload, jsonPayload, notSet } + +/// An individual entry in a log. +class LogEntry extends $pb.GeneratedMessage { + factory LogEntry({ + $49.Any? protoPayload, + $core.String? textPayload, + $core.String? insertId, + $48.Struct? jsonPayload, + $66.HttpRequest? httpRequest, + $67.MonitoredResource? resource, + $50.Timestamp? timestamp, + $64.LogSeverity? severity, + $core.Map<$core.String, $core.String>? labels, + $core.String? logName, + LogEntryOperation? operation, + $core.String? trace, + LogEntrySourceLocation? sourceLocation, + $50.Timestamp? receiveTimestamp, + $core.String? spanId, + $core.bool? traceSampled, + LogSplit? split, + }) { + final $result = create(); + if (protoPayload != null) { + $result.protoPayload = protoPayload; + } + if (textPayload != null) { + $result.textPayload = textPayload; + } + if (insertId != null) { + $result.insertId = insertId; + } + if (jsonPayload != null) { + $result.jsonPayload = jsonPayload; + } + if (httpRequest != null) { + $result.httpRequest = httpRequest; + } + if (resource != null) { + $result.resource = resource; + } + if (timestamp != null) { + $result.timestamp = timestamp; + } + if (severity != null) { + $result.severity = severity; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (logName != null) { + $result.logName = logName; + } + if (operation != null) { + $result.operation = operation; + } + if (trace != null) { + $result.trace = trace; + } + if (sourceLocation != null) { + $result.sourceLocation = sourceLocation; + } + if (receiveTimestamp != null) { + $result.receiveTimestamp = receiveTimestamp; + } + if (spanId != null) { + $result.spanId = spanId; + } + if (traceSampled != null) { + $result.traceSampled = traceSampled; + } + if (split != null) { + $result.split = split; + } + return $result; + } + LogEntry._() : super(); + factory LogEntry.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogEntry.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, LogEntry_Payload> _LogEntry_PayloadByTag = { + 2: LogEntry_Payload.protoPayload, + 3: LogEntry_Payload.textPayload, + 6: LogEntry_Payload.jsonPayload, + 0: LogEntry_Payload.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogEntry', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..oo(0, [2, 3, 6]) + ..aOM<$49.Any>(2, _omitFieldNames ? '' : 'protoPayload', + subBuilder: $49.Any.create) + ..aOS(3, _omitFieldNames ? '' : 'textPayload') + ..aOS(4, _omitFieldNames ? '' : 'insertId') + ..aOM<$48.Struct>(6, _omitFieldNames ? '' : 'jsonPayload', + subBuilder: $48.Struct.create) + ..aOM<$66.HttpRequest>(7, _omitFieldNames ? '' : 'httpRequest', + subBuilder: $66.HttpRequest.create) + ..aOM<$67.MonitoredResource>(8, _omitFieldNames ? '' : 'resource', + subBuilder: $67.MonitoredResource.create) + ..aOM<$50.Timestamp>(9, _omitFieldNames ? '' : 'timestamp', + subBuilder: $50.Timestamp.create) + ..e<$64.LogSeverity>( + 10, _omitFieldNames ? '' : 'severity', $pb.PbFieldType.OE, + defaultOrMaker: $64.LogSeverity.DEFAULT, + valueOf: $64.LogSeverity.valueOf, + enumValues: $64.LogSeverity.values) + ..m<$core.String, $core.String>(11, _omitFieldNames ? '' : 'labels', + entryClassName: 'LogEntry.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.logging.v2')) + ..aOS(12, _omitFieldNames ? '' : 'logName') + ..aOM(15, _omitFieldNames ? '' : 'operation', + subBuilder: LogEntryOperation.create) + ..aOS(22, _omitFieldNames ? '' : 'trace') + ..aOM(23, _omitFieldNames ? '' : 'sourceLocation', + subBuilder: LogEntrySourceLocation.create) + ..aOM<$50.Timestamp>(24, _omitFieldNames ? '' : 'receiveTimestamp', + subBuilder: $50.Timestamp.create) + ..aOS(27, _omitFieldNames ? '' : 'spanId') + ..aOB(30, _omitFieldNames ? '' : 'traceSampled') + ..aOM(35, _omitFieldNames ? '' : 'split', + subBuilder: LogSplit.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogEntry clone() => LogEntry()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogEntry copyWith(void Function(LogEntry) updates) => + super.copyWith((message) => updates(message as LogEntry)) as LogEntry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogEntry create() => LogEntry._(); + LogEntry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogEntry getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogEntry? _defaultInstance; + + LogEntry_Payload whichPayload() => _LogEntry_PayloadByTag[$_whichOneof(0)]!; + void clearPayload() => clearField($_whichOneof(0)); + + /// The log entry payload, represented as a protocol buffer. Some Google + /// Cloud Platform services use this field for their log entry payloads. + /// + /// The following protocol buffer types are supported; user-defined types + /// are not supported: + /// + /// "type.googleapis.com/google.cloud.audit.AuditLog" + /// "type.googleapis.com/google.appengine.logging.v1.RequestLog" + @$pb.TagNumber(2) + $49.Any get protoPayload => $_getN(0); + @$pb.TagNumber(2) + set protoPayload($49.Any v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasProtoPayload() => $_has(0); + @$pb.TagNumber(2) + void clearProtoPayload() => clearField(2); + @$pb.TagNumber(2) + $49.Any ensureProtoPayload() => $_ensure(0); + + /// The log entry payload, represented as a Unicode string (UTF-8). + @$pb.TagNumber(3) + $core.String get textPayload => $_getSZ(1); + @$pb.TagNumber(3) + set textPayload($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasTextPayload() => $_has(1); + @$pb.TagNumber(3) + void clearTextPayload() => clearField(3); + + /// Optional. A unique identifier for the log entry. If you provide a value, + /// then Logging considers other log entries in the same project, with the same + /// `timestamp`, and with the same `insert_id` to be duplicates which are + /// removed in a single query result. However, there are no guarantees of + /// de-duplication in the export of logs. + /// + /// If the `insert_id` is omitted when writing a log entry, the Logging API + /// assigns its own unique identifier in this field. + /// + /// In queries, the `insert_id` is also used to order log entries that have + /// the same `log_name` and `timestamp` values. + @$pb.TagNumber(4) + $core.String get insertId => $_getSZ(2); + @$pb.TagNumber(4) + set insertId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasInsertId() => $_has(2); + @$pb.TagNumber(4) + void clearInsertId() => clearField(4); + + /// The log entry payload, represented as a structure that is + /// expressed as a JSON object. + @$pb.TagNumber(6) + $48.Struct get jsonPayload => $_getN(3); + @$pb.TagNumber(6) + set jsonPayload($48.Struct v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasJsonPayload() => $_has(3); + @$pb.TagNumber(6) + void clearJsonPayload() => clearField(6); + @$pb.TagNumber(6) + $48.Struct ensureJsonPayload() => $_ensure(3); + + /// Optional. Information about the HTTP request associated with this log + /// entry, if applicable. + @$pb.TagNumber(7) + $66.HttpRequest get httpRequest => $_getN(4); + @$pb.TagNumber(7) + set httpRequest($66.HttpRequest v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasHttpRequest() => $_has(4); + @$pb.TagNumber(7) + void clearHttpRequest() => clearField(7); + @$pb.TagNumber(7) + $66.HttpRequest ensureHttpRequest() => $_ensure(4); + + /// Required. The monitored resource that produced this log entry. + /// + /// Example: a log entry that reports a database error would be associated with + /// the monitored resource designating the particular database that reported + /// the error. + @$pb.TagNumber(8) + $67.MonitoredResource get resource => $_getN(5); + @$pb.TagNumber(8) + set resource($67.MonitoredResource v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasResource() => $_has(5); + @$pb.TagNumber(8) + void clearResource() => clearField(8); + @$pb.TagNumber(8) + $67.MonitoredResource ensureResource() => $_ensure(5); + + /// Optional. The time the event described by the log entry occurred. This time + /// is used to compute the log entry's age and to enforce the logs retention + /// period. If this field is omitted in a new log entry, then Logging assigns + /// it the current time. Timestamps have nanosecond accuracy, but trailing + /// zeros in the fractional seconds might be omitted when the timestamp is + /// displayed. + /// + /// Incoming log entries must have timestamps that don't exceed the + /// [logs retention + /// period](https://cloud.google.com/logging/quotas#logs_retention_periods) in + /// the past, and that don't exceed 24 hours in the future. Log entries outside + /// those time boundaries aren't ingested by Logging. + @$pb.TagNumber(9) + $50.Timestamp get timestamp => $_getN(6); + @$pb.TagNumber(9) + set timestamp($50.Timestamp v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasTimestamp() => $_has(6); + @$pb.TagNumber(9) + void clearTimestamp() => clearField(9); + @$pb.TagNumber(9) + $50.Timestamp ensureTimestamp() => $_ensure(6); + + /// Optional. The severity of the log entry. The default value is + /// `LogSeverity.DEFAULT`. + @$pb.TagNumber(10) + $64.LogSeverity get severity => $_getN(7); + @$pb.TagNumber(10) + set severity($64.LogSeverity v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasSeverity() => $_has(7); + @$pb.TagNumber(10) + void clearSeverity() => clearField(10); + + /// Optional. A map of key, value pairs that provides additional information + /// about the log entry. The labels can be user-defined or system-defined. + /// + /// User-defined labels are arbitrary key, value pairs that you can use to + /// classify logs. + /// + /// System-defined labels are defined by GCP services for platform logs. + /// They have two components - a service namespace component and the + /// attribute name. For example: `compute.googleapis.com/resource_name`. + /// + /// Cloud Logging truncates label keys that exceed 512 B and label + /// values that exceed 64 KB upon their associated log entry being + /// written. The truncation is indicated by an ellipsis at the + /// end of the character string. + @$pb.TagNumber(11) + $core.Map<$core.String, $core.String> get labels => $_getMap(8); + + /// Required. The resource name of the log to which this log entry belongs: + /// + /// "projects/[PROJECT_ID]/logs/[LOG_ID]" + /// "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + /// "folders/[FOLDER_ID]/logs/[LOG_ID]" + /// + /// A project number may be used in place of PROJECT_ID. The project number is + /// translated to its corresponding PROJECT_ID internally and the `log_name` + /// field will contain PROJECT_ID in queries and exports. + /// + /// `[LOG_ID]` must be URL-encoded within `log_name`. Example: + /// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + /// + /// `[LOG_ID]` must be less than 512 characters long and can only include the + /// following characters: upper and lower case alphanumeric characters, + /// forward-slash, underscore, hyphen, and period. + /// + /// For backward compatibility, if `log_name` begins with a forward-slash, such + /// as `/projects/...`, then the log entry is ingested as usual, but the + /// forward-slash is removed. Listing the log entry will not show the leading + /// slash and filtering for a log name with a leading slash will never return + /// any results. + @$pb.TagNumber(12) + $core.String get logName => $_getSZ(9); + @$pb.TagNumber(12) + set logName($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(12) + $core.bool hasLogName() => $_has(9); + @$pb.TagNumber(12) + void clearLogName() => clearField(12); + + /// Optional. Information about an operation associated with the log entry, if + /// applicable. + @$pb.TagNumber(15) + LogEntryOperation get operation => $_getN(10); + @$pb.TagNumber(15) + set operation(LogEntryOperation v) { + setField(15, v); + } + + @$pb.TagNumber(15) + $core.bool hasOperation() => $_has(10); + @$pb.TagNumber(15) + void clearOperation() => clearField(15); + @$pb.TagNumber(15) + LogEntryOperation ensureOperation() => $_ensure(10); + + /// Optional. The REST resource name of the trace being written to + /// [Cloud Trace](https://cloud.google.com/trace) in + /// association with this log entry. For example, if your trace data is stored + /// in the Cloud project "my-trace-project" and if the service that is creating + /// the log entry receives a trace header that includes the trace ID "12345", + /// then the service should use "projects/my-tracing-project/traces/12345". + /// + /// The `trace` field provides the link between logs and traces. By using + /// this field, you can navigate from a log entry to a trace. + @$pb.TagNumber(22) + $core.String get trace => $_getSZ(11); + @$pb.TagNumber(22) + set trace($core.String v) { + $_setString(11, v); + } + + @$pb.TagNumber(22) + $core.bool hasTrace() => $_has(11); + @$pb.TagNumber(22) + void clearTrace() => clearField(22); + + /// Optional. Source code location information associated with the log entry, + /// if any. + @$pb.TagNumber(23) + LogEntrySourceLocation get sourceLocation => $_getN(12); + @$pb.TagNumber(23) + set sourceLocation(LogEntrySourceLocation v) { + setField(23, v); + } + + @$pb.TagNumber(23) + $core.bool hasSourceLocation() => $_has(12); + @$pb.TagNumber(23) + void clearSourceLocation() => clearField(23); + @$pb.TagNumber(23) + LogEntrySourceLocation ensureSourceLocation() => $_ensure(12); + + /// Output only. The time the log entry was received by Logging. + @$pb.TagNumber(24) + $50.Timestamp get receiveTimestamp => $_getN(13); + @$pb.TagNumber(24) + set receiveTimestamp($50.Timestamp v) { + setField(24, v); + } + + @$pb.TagNumber(24) + $core.bool hasReceiveTimestamp() => $_has(13); + @$pb.TagNumber(24) + void clearReceiveTimestamp() => clearField(24); + @$pb.TagNumber(24) + $50.Timestamp ensureReceiveTimestamp() => $_ensure(13); + + /// Optional. The ID of the [Cloud Trace](https://cloud.google.com/trace) span + /// associated with the current operation in which the log is being written. + /// For example, if a span has the REST resource name of + /// "projects/some-project/traces/some-trace/spans/some-span-id", then the + /// `span_id` field is "some-span-id". + /// + /// A + /// [Span](https://cloud.google.com/trace/docs/reference/v2/rest/v2/projects.traces/batchWrite#Span) + /// represents a single operation within a trace. Whereas a trace may involve + /// multiple different microservices running on multiple different machines, + /// a span generally corresponds to a single logical operation being performed + /// in a single instance of a microservice on one specific machine. Spans + /// are the nodes within the tree that is a trace. + /// + /// Applications that are [instrumented for + /// tracing](https://cloud.google.com/trace/docs/setup) will generally assign a + /// new, unique span ID on each incoming request. It is also common to create + /// and record additional spans corresponding to internal processing elements + /// as well as issuing requests to dependencies. + /// + /// The span ID is expected to be a 16-character, hexadecimal encoding of an + /// 8-byte array and should not be zero. It should be unique within the trace + /// and should, ideally, be generated in a manner that is uniformly random. + /// + /// Example values: + /// + /// - `000000000000004a` + /// - `7a2190356c3fc94b` + /// - `0000f00300090021` + /// - `d39223e101960076` + @$pb.TagNumber(27) + $core.String get spanId => $_getSZ(14); + @$pb.TagNumber(27) + set spanId($core.String v) { + $_setString(14, v); + } + + @$pb.TagNumber(27) + $core.bool hasSpanId() => $_has(14); + @$pb.TagNumber(27) + void clearSpanId() => clearField(27); + + /// Optional. The sampling decision of the trace associated with the log entry. + /// + /// True means that the trace resource name in the `trace` field was sampled + /// for storage in a trace backend. False means that the trace was not sampled + /// for storage when this log entry was written, or the sampling decision was + /// unknown at the time. A non-sampled `trace` value is still useful as a + /// request correlation identifier. The default is False. + @$pb.TagNumber(30) + $core.bool get traceSampled => $_getBF(15); + @$pb.TagNumber(30) + set traceSampled($core.bool v) { + $_setBool(15, v); + } + + @$pb.TagNumber(30) + $core.bool hasTraceSampled() => $_has(15); + @$pb.TagNumber(30) + void clearTraceSampled() => clearField(30); + + /// Optional. Information indicating this LogEntry is part of a sequence of + /// multiple log entries split from a single LogEntry. + @$pb.TagNumber(35) + LogSplit get split => $_getN(16); + @$pb.TagNumber(35) + set split(LogSplit v) { + setField(35, v); + } + + @$pb.TagNumber(35) + $core.bool hasSplit() => $_has(16); + @$pb.TagNumber(35) + void clearSplit() => clearField(35); + @$pb.TagNumber(35) + LogSplit ensureSplit() => $_ensure(16); +} + +/// Additional information about a potentially long-running operation with which +/// a log entry is associated. +class LogEntryOperation extends $pb.GeneratedMessage { + factory LogEntryOperation({ + $core.String? id, + $core.String? producer, + $core.bool? first, + $core.bool? last, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (producer != null) { + $result.producer = producer; + } + if (first != null) { + $result.first = first; + } + if (last != null) { + $result.last = last; + } + return $result; + } + LogEntryOperation._() : super(); + factory LogEntryOperation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogEntryOperation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogEntryOperation', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'id') + ..aOS(2, _omitFieldNames ? '' : 'producer') + ..aOB(3, _omitFieldNames ? '' : 'first') + ..aOB(4, _omitFieldNames ? '' : 'last') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogEntryOperation clone() => LogEntryOperation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogEntryOperation copyWith(void Function(LogEntryOperation) updates) => + super.copyWith((message) => updates(message as LogEntryOperation)) + as LogEntryOperation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogEntryOperation create() => LogEntryOperation._(); + LogEntryOperation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogEntryOperation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LogEntryOperation? _defaultInstance; + + /// Optional. An arbitrary operation identifier. Log entries with the same + /// identifier are assumed to be part of the same operation. + @$pb.TagNumber(1) + $core.String get id => $_getSZ(0); + @$pb.TagNumber(1) + set id($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(1) + void clearId() => clearField(1); + + /// Optional. An arbitrary producer identifier. The combination of `id` and + /// `producer` must be globally unique. Examples for `producer`: + /// `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. + @$pb.TagNumber(2) + $core.String get producer => $_getSZ(1); + @$pb.TagNumber(2) + set producer($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasProducer() => $_has(1); + @$pb.TagNumber(2) + void clearProducer() => clearField(2); + + /// Optional. Set this to True if this is the first log entry in the operation. + @$pb.TagNumber(3) + $core.bool get first => $_getBF(2); + @$pb.TagNumber(3) + set first($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFirst() => $_has(2); + @$pb.TagNumber(3) + void clearFirst() => clearField(3); + + /// Optional. Set this to True if this is the last log entry in the operation. + @$pb.TagNumber(4) + $core.bool get last => $_getBF(3); + @$pb.TagNumber(4) + set last($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasLast() => $_has(3); + @$pb.TagNumber(4) + void clearLast() => clearField(4); +} + +/// Additional information about the source code location that produced the log +/// entry. +class LogEntrySourceLocation extends $pb.GeneratedMessage { + factory LogEntrySourceLocation({ + $core.String? file, + $fixnum.Int64? line, + $core.String? function, + }) { + final $result = create(); + if (file != null) { + $result.file = file; + } + if (line != null) { + $result.line = line; + } + if (function != null) { + $result.function = function; + } + return $result; + } + LogEntrySourceLocation._() : super(); + factory LogEntrySourceLocation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogEntrySourceLocation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogEntrySourceLocation', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'file') + ..aInt64(2, _omitFieldNames ? '' : 'line') + ..aOS(3, _omitFieldNames ? '' : 'function') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogEntrySourceLocation clone() => + LogEntrySourceLocation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogEntrySourceLocation copyWith( + void Function(LogEntrySourceLocation) updates) => + super.copyWith((message) => updates(message as LogEntrySourceLocation)) + as LogEntrySourceLocation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogEntrySourceLocation create() => LogEntrySourceLocation._(); + LogEntrySourceLocation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogEntrySourceLocation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LogEntrySourceLocation? _defaultInstance; + + /// Optional. Source file name. Depending on the runtime environment, this + /// might be a simple name or a fully-qualified name. + @$pb.TagNumber(1) + $core.String get file => $_getSZ(0); + @$pb.TagNumber(1) + set file($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFile() => $_has(0); + @$pb.TagNumber(1) + void clearFile() => clearField(1); + + /// Optional. Line within the source file. 1-based; 0 indicates no line number + /// available. + @$pb.TagNumber(2) + $fixnum.Int64 get line => $_getI64(1); + @$pb.TagNumber(2) + set line($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasLine() => $_has(1); + @$pb.TagNumber(2) + void clearLine() => clearField(2); + + /// Optional. Human-readable name of the function or method being invoked, with + /// optional context such as the class or package name. This information may be + /// used in contexts such as the logs viewer, where a file and line number are + /// less meaningful. The format can vary by language. For example: + /// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + /// (Python). + @$pb.TagNumber(3) + $core.String get function => $_getSZ(2); + @$pb.TagNumber(3) + set function($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFunction() => $_has(2); + @$pb.TagNumber(3) + void clearFunction() => clearField(3); +} + +/// Additional information used to correlate multiple log entries. Used when a +/// single LogEntry would exceed the Google Cloud Logging size limit and is +/// split across multiple log entries. +class LogSplit extends $pb.GeneratedMessage { + factory LogSplit({ + $core.String? uid, + $core.int? index, + $core.int? totalSplits, + }) { + final $result = create(); + if (uid != null) { + $result.uid = uid; + } + if (index != null) { + $result.index = index; + } + if (totalSplits != null) { + $result.totalSplits = totalSplits; + } + return $result; + } + LogSplit._() : super(); + factory LogSplit.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogSplit.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogSplit', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'uid') + ..a<$core.int>(2, _omitFieldNames ? '' : 'index', $pb.PbFieldType.O3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'totalSplits', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogSplit clone() => LogSplit()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogSplit copyWith(void Function(LogSplit) updates) => + super.copyWith((message) => updates(message as LogSplit)) as LogSplit; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogSplit create() => LogSplit._(); + LogSplit createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogSplit getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogSplit? _defaultInstance; + + /// A globally unique identifier for all log entries in a sequence of split log + /// entries. All log entries with the same |LogSplit.uid| are assumed to be + /// part of the same sequence of split log entries. + @$pb.TagNumber(1) + $core.String get uid => $_getSZ(0); + @$pb.TagNumber(1) + set uid($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasUid() => $_has(0); + @$pb.TagNumber(1) + void clearUid() => clearField(1); + + /// The index of this LogEntry in the sequence of split log entries. Log + /// entries are given |index| values 0, 1, ..., n-1 for a sequence of n log + /// entries. + @$pb.TagNumber(2) + $core.int get index => $_getIZ(1); + @$pb.TagNumber(2) + set index($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasIndex() => $_has(1); + @$pb.TagNumber(2) + void clearIndex() => clearField(2); + + /// The total number of log entries that the original LogEntry was split into. + @$pb.TagNumber(3) + $core.int get totalSplits => $_getIZ(2); + @$pb.TagNumber(3) + set totalSplits($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasTotalSplits() => $_has(2); + @$pb.TagNumber(3) + void clearTotalSplits() => clearField(3); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pbenum.dart new file mode 100644 index 00000000..0219522a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/log_entry.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pbjson.dart new file mode 100644 index 00000000..4a54b3dc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/log_entry.pbjson.dart @@ -0,0 +1,221 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/log_entry.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use logEntryDescriptor instead') +const LogEntry$json = { + '1': 'LogEntry', + '2': [ + {'1': 'log_name', '3': 12, '4': 1, '5': 9, '8': {}, '10': 'logName'}, + { + '1': 'resource', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.MonitoredResource', + '8': {}, + '10': 'resource' + }, + { + '1': 'proto_payload', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '9': 0, + '10': 'protoPayload' + }, + {'1': 'text_payload', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'textPayload'}, + { + '1': 'json_payload', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Struct', + '9': 0, + '10': 'jsonPayload' + }, + { + '1': 'timestamp', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'timestamp' + }, + { + '1': 'receive_timestamp', + '3': 24, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'receiveTimestamp' + }, + { + '1': 'severity', + '3': 10, + '4': 1, + '5': 14, + '6': '.google.logging.type.LogSeverity', + '8': {}, + '10': 'severity' + }, + {'1': 'insert_id', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'insertId'}, + { + '1': 'http_request', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.logging.type.HttpRequest', + '8': {}, + '10': 'httpRequest' + }, + { + '1': 'labels', + '3': 11, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogEntry.LabelsEntry', + '8': {}, + '10': 'labels' + }, + { + '1': 'operation', + '3': 15, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogEntryOperation', + '8': {}, + '10': 'operation' + }, + {'1': 'trace', '3': 22, '4': 1, '5': 9, '8': {}, '10': 'trace'}, + {'1': 'span_id', '3': 27, '4': 1, '5': 9, '8': {}, '10': 'spanId'}, + { + '1': 'trace_sampled', + '3': 30, + '4': 1, + '5': 8, + '8': {}, + '10': 'traceSampled' + }, + { + '1': 'source_location', + '3': 23, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogEntrySourceLocation', + '8': {}, + '10': 'sourceLocation' + }, + { + '1': 'split', + '3': 35, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogSplit', + '8': {}, + '10': 'split' + }, + ], + '3': [LogEntry_LabelsEntry$json], + '7': {}, + '8': [ + {'1': 'payload'}, + ], +}; + +@$core.Deprecated('Use logEntryDescriptor instead') +const LogEntry_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `LogEntry`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logEntryDescriptor = $convert.base64Decode( + 'CghMb2dFbnRyeRIeCghsb2dfbmFtZRgMIAEoCUID4EECUgdsb2dOYW1lEj4KCHJlc291cmNlGA' + 'ggASgLMh0uZ29vZ2xlLmFwaS5Nb25pdG9yZWRSZXNvdXJjZUID4EECUghyZXNvdXJjZRI7Cg1w' + 'cm90b19wYXlsb2FkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUgAUgxwcm90b1BheWxvYW' + 'QSIwoMdGV4dF9wYXlsb2FkGAMgASgJSABSC3RleHRQYXlsb2FkEjwKDGpzb25fcGF5bG9hZBgG' + 'IAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAFILanNvblBheWxvYWQSPQoJdGltZXN0YW' + '1wGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEBUgl0aW1lc3RhbXASTAoR' + 'cmVjZWl2ZV90aW1lc3RhbXAYGCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQ' + 'NSEHJlY2VpdmVUaW1lc3RhbXASQQoIc2V2ZXJpdHkYCiABKA4yIC5nb29nbGUubG9nZ2luZy50' + 'eXBlLkxvZ1NldmVyaXR5QgPgQQFSCHNldmVyaXR5EiAKCWluc2VydF9pZBgEIAEoCUID4EEBUg' + 'hpbnNlcnRJZBJICgxodHRwX3JlcXVlc3QYByABKAsyIC5nb29nbGUubG9nZ2luZy50eXBlLkh0' + 'dHBSZXF1ZXN0QgPgQQFSC2h0dHBSZXF1ZXN0EkQKBmxhYmVscxgLIAMoCzInLmdvb2dsZS5sb2' + 'dnaW5nLnYyLkxvZ0VudHJ5LkxhYmVsc0VudHJ5QgPgQQFSBmxhYmVscxJHCglvcGVyYXRpb24Y' + 'DyABKAsyJC5nb29nbGUubG9nZ2luZy52Mi5Mb2dFbnRyeU9wZXJhdGlvbkID4EEBUglvcGVyYX' + 'Rpb24SGQoFdHJhY2UYFiABKAlCA+BBAVIFdHJhY2USHAoHc3Bhbl9pZBgbIAEoCUID4EEBUgZz' + 'cGFuSWQSKAoNdHJhY2Vfc2FtcGxlZBgeIAEoCEID4EEBUgx0cmFjZVNhbXBsZWQSVwoPc291cm' + 'NlX2xvY2F0aW9uGBcgASgLMikuZ29vZ2xlLmxvZ2dpbmcudjIuTG9nRW50cnlTb3VyY2VMb2Nh' + 'dGlvbkID4EEBUg5zb3VyY2VMb2NhdGlvbhI2CgVzcGxpdBgjIAEoCzIbLmdvb2dsZS5sb2dnaW' + '5nLnYyLkxvZ1NwbGl0QgPgQQFSBXNwbGl0GjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVID' + 'a2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAE6vQHqQbkBChpsb2dnaW5nLmdvb2dsZWFwaX' + 'MuY29tL0xvZxIdcHJvamVjdHMve3Byb2plY3R9L2xvZ3Mve2xvZ30SJ29yZ2FuaXphdGlvbnMv' + 'e29yZ2FuaXphdGlvbn0vbG9ncy97bG9nfRIbZm9sZGVycy97Zm9sZGVyfS9sb2dzL3tsb2d9Ei' + 'xiaWxsaW5nQWNjb3VudHMve2JpbGxpbmdfYWNjb3VudH0vbG9ncy97bG9nfRoIbG9nX25hbWVC' + 'CQoHcGF5bG9hZA=='); + +@$core.Deprecated('Use logEntryOperationDescriptor instead') +const LogEntryOperation$json = { + '1': 'LogEntryOperation', + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'id'}, + {'1': 'producer', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'producer'}, + {'1': 'first', '3': 3, '4': 1, '5': 8, '8': {}, '10': 'first'}, + {'1': 'last', '3': 4, '4': 1, '5': 8, '8': {}, '10': 'last'}, + ], +}; + +/// Descriptor for `LogEntryOperation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logEntryOperationDescriptor = $convert.base64Decode( + 'ChFMb2dFbnRyeU9wZXJhdGlvbhITCgJpZBgBIAEoCUID4EEBUgJpZBIfCghwcm9kdWNlchgCIA' + 'EoCUID4EEBUghwcm9kdWNlchIZCgVmaXJzdBgDIAEoCEID4EEBUgVmaXJzdBIXCgRsYXN0GAQg' + 'ASgIQgPgQQFSBGxhc3Q='); + +@$core.Deprecated('Use logEntrySourceLocationDescriptor instead') +const LogEntrySourceLocation$json = { + '1': 'LogEntrySourceLocation', + '2': [ + {'1': 'file', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'file'}, + {'1': 'line', '3': 2, '4': 1, '5': 3, '8': {}, '10': 'line'}, + {'1': 'function', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'function'}, + ], +}; + +/// Descriptor for `LogEntrySourceLocation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logEntrySourceLocationDescriptor = $convert.base64Decode( + 'ChZMb2dFbnRyeVNvdXJjZUxvY2F0aW9uEhcKBGZpbGUYASABKAlCA+BBAVIEZmlsZRIXCgRsaW' + '5lGAIgASgDQgPgQQFSBGxpbmUSHwoIZnVuY3Rpb24YAyABKAlCA+BBAVIIZnVuY3Rpb24='); + +@$core.Deprecated('Use logSplitDescriptor instead') +const LogSplit$json = { + '1': 'LogSplit', + '2': [ + {'1': 'uid', '3': 1, '4': 1, '5': 9, '10': 'uid'}, + {'1': 'index', '3': 2, '4': 1, '5': 5, '10': 'index'}, + {'1': 'total_splits', '3': 3, '4': 1, '5': 5, '10': 'totalSplits'}, + ], +}; + +/// Descriptor for `LogSplit`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logSplitDescriptor = $convert.base64Decode( + 'CghMb2dTcGxpdBIQCgN1aWQYASABKAlSA3VpZBIUCgVpbmRleBgCIAEoBVIFaW5kZXgSIQoMdG' + '90YWxfc3BsaXRzGAMgASgFUgt0b3RhbFNwbGl0cw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pb.dart new file mode 100644 index 00000000..0c1c1f68 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pb.dart @@ -0,0 +1,1339 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../api/monitored_resource.pb.dart' as $67; +import '../../protobuf/duration.pb.dart' as $51; +import '../../rpc/status.pb.dart' as $57; +import 'log_entry.pb.dart' as $68; +import 'logging.pbenum.dart'; + +export 'logging.pbenum.dart'; + +/// The parameters to DeleteLog. +class DeleteLogRequest extends $pb.GeneratedMessage { + factory DeleteLogRequest({ + $core.String? logName, + }) { + final $result = create(); + if (logName != null) { + $result.logName = logName; + } + return $result; + } + DeleteLogRequest._() : super(); + factory DeleteLogRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteLogRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteLogRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'logName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteLogRequest clone() => DeleteLogRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteLogRequest copyWith(void Function(DeleteLogRequest) updates) => + super.copyWith((message) => updates(message as DeleteLogRequest)) + as DeleteLogRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteLogRequest create() => DeleteLogRequest._(); + DeleteLogRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteLogRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteLogRequest? _defaultInstance; + + /// Required. The resource name of the log to delete: + /// + /// * `projects/[PROJECT_ID]/logs/[LOG_ID]` + /// * `organizations/[ORGANIZATION_ID]/logs/[LOG_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]` + /// * `folders/[FOLDER_ID]/logs/[LOG_ID]` + /// + /// `[LOG_ID]` must be URL-encoded. For example, + /// `"projects/my-project-id/logs/syslog"`, + /// `"organizations/123/logs/cloudaudit.googleapis.com%2Factivity"`. + /// + /// For more information about log names, see + /// [LogEntry][google.logging.v2.LogEntry]. + @$pb.TagNumber(1) + $core.String get logName => $_getSZ(0); + @$pb.TagNumber(1) + set logName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLogName() => $_has(0); + @$pb.TagNumber(1) + void clearLogName() => clearField(1); +} + +/// The parameters to WriteLogEntries. +class WriteLogEntriesRequest extends $pb.GeneratedMessage { + factory WriteLogEntriesRequest({ + $core.String? logName, + $67.MonitoredResource? resource, + $core.Map<$core.String, $core.String>? labels, + $core.Iterable<$68.LogEntry>? entries, + $core.bool? partialSuccess, + $core.bool? dryRun, + }) { + final $result = create(); + if (logName != null) { + $result.logName = logName; + } + if (resource != null) { + $result.resource = resource; + } + if (labels != null) { + $result.labels.addAll(labels); + } + if (entries != null) { + $result.entries.addAll(entries); + } + if (partialSuccess != null) { + $result.partialSuccess = partialSuccess; + } + if (dryRun != null) { + $result.dryRun = dryRun; + } + return $result; + } + WriteLogEntriesRequest._() : super(); + factory WriteLogEntriesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WriteLogEntriesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WriteLogEntriesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'logName') + ..aOM<$67.MonitoredResource>(2, _omitFieldNames ? '' : 'resource', + subBuilder: $67.MonitoredResource.create) + ..m<$core.String, $core.String>(3, _omitFieldNames ? '' : 'labels', + entryClassName: 'WriteLogEntriesRequest.LabelsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.logging.v2')) + ..pc<$68.LogEntry>(4, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: $68.LogEntry.create) + ..aOB(5, _omitFieldNames ? '' : 'partialSuccess') + ..aOB(6, _omitFieldNames ? '' : 'dryRun') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WriteLogEntriesRequest clone() => + WriteLogEntriesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WriteLogEntriesRequest copyWith( + void Function(WriteLogEntriesRequest) updates) => + super.copyWith((message) => updates(message as WriteLogEntriesRequest)) + as WriteLogEntriesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WriteLogEntriesRequest create() => WriteLogEntriesRequest._(); + WriteLogEntriesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WriteLogEntriesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static WriteLogEntriesRequest? _defaultInstance; + + /// Optional. A default log resource name that is assigned to all log entries + /// in `entries` that do not specify a value for `log_name`: + /// + /// * `projects/[PROJECT_ID]/logs/[LOG_ID]` + /// * `organizations/[ORGANIZATION_ID]/logs/[LOG_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]` + /// * `folders/[FOLDER_ID]/logs/[LOG_ID]` + /// + /// `[LOG_ID]` must be URL-encoded. For example: + /// + /// "projects/my-project-id/logs/syslog" + /// "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" + /// + /// The permission `logging.logEntries.create` is needed on each project, + /// organization, billing account, or folder that is receiving new log + /// entries, whether the resource is specified in `logName` or in an + /// individual log entry. + @$pb.TagNumber(1) + $core.String get logName => $_getSZ(0); + @$pb.TagNumber(1) + set logName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLogName() => $_has(0); + @$pb.TagNumber(1) + void clearLogName() => clearField(1); + + /// Optional. A default monitored resource object that is assigned to all log + /// entries in `entries` that do not specify a value for `resource`. Example: + /// + /// { "type": "gce_instance", + /// "labels": { + /// "zone": "us-central1-a", "instance_id": "00000000000000000000" }} + /// + /// See [LogEntry][google.logging.v2.LogEntry]. + @$pb.TagNumber(2) + $67.MonitoredResource get resource => $_getN(1); + @$pb.TagNumber(2) + set resource($67.MonitoredResource v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasResource() => $_has(1); + @$pb.TagNumber(2) + void clearResource() => clearField(2); + @$pb.TagNumber(2) + $67.MonitoredResource ensureResource() => $_ensure(1); + + /// Optional. Default labels that are added to the `labels` field of all log + /// entries in `entries`. If a log entry already has a label with the same key + /// as a label in this parameter, then the log entry's label is not changed. + /// See [LogEntry][google.logging.v2.LogEntry]. + @$pb.TagNumber(3) + $core.Map<$core.String, $core.String> get labels => $_getMap(2); + + /// Required. The log entries to send to Logging. The order of log + /// entries in this list does not matter. Values supplied in this method's + /// `log_name`, `resource`, and `labels` fields are copied into those log + /// entries in this list that do not include values for their corresponding + /// fields. For more information, see the + /// [LogEntry][google.logging.v2.LogEntry] type. + /// + /// If the `timestamp` or `insert_id` fields are missing in log entries, then + /// this method supplies the current time or a unique identifier, respectively. + /// The supplied values are chosen so that, among the log entries that did not + /// supply their own values, the entries earlier in the list will sort before + /// the entries later in the list. See the `entries.list` method. + /// + /// Log entries with timestamps that are more than the + /// [logs retention period](https://cloud.google.com/logging/quotas) in + /// the past or more than 24 hours in the future will not be available when + /// calling `entries.list`. However, those log entries can still be [exported + /// with + /// LogSinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs). + /// + /// To improve throughput and to avoid exceeding the + /// [quota limit](https://cloud.google.com/logging/quotas) for calls to + /// `entries.write`, you should try to include several log entries in this + /// list, rather than calling this method for each individual log entry. + @$pb.TagNumber(4) + $core.List<$68.LogEntry> get entries => $_getList(3); + + /// Optional. Whether a batch's valid entries should be written even if some + /// other entry failed due to a permanent error such as INVALID_ARGUMENT or + /// PERMISSION_DENIED. If any entry failed, then the response status is the + /// response status of one of the failed entries. The response will include + /// error details in `WriteLogEntriesPartialErrors.log_entry_errors` keyed by + /// the entries' zero-based index in the `entries`. Failed requests for which + /// no entries are written will not include per-entry errors. + @$pb.TagNumber(5) + $core.bool get partialSuccess => $_getBF(4); + @$pb.TagNumber(5) + set partialSuccess($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasPartialSuccess() => $_has(4); + @$pb.TagNumber(5) + void clearPartialSuccess() => clearField(5); + + /// Optional. If true, the request should expect normal response, but the + /// entries won't be persisted nor exported. Useful for checking whether the + /// logging API endpoints are working properly before sending valuable data. + @$pb.TagNumber(6) + $core.bool get dryRun => $_getBF(5); + @$pb.TagNumber(6) + set dryRun($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasDryRun() => $_has(5); + @$pb.TagNumber(6) + void clearDryRun() => clearField(6); +} + +/// Result returned from WriteLogEntries. +class WriteLogEntriesResponse extends $pb.GeneratedMessage { + factory WriteLogEntriesResponse() => create(); + WriteLogEntriesResponse._() : super(); + factory WriteLogEntriesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WriteLogEntriesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WriteLogEntriesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WriteLogEntriesResponse clone() => + WriteLogEntriesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WriteLogEntriesResponse copyWith( + void Function(WriteLogEntriesResponse) updates) => + super.copyWith((message) => updates(message as WriteLogEntriesResponse)) + as WriteLogEntriesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WriteLogEntriesResponse create() => WriteLogEntriesResponse._(); + WriteLogEntriesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WriteLogEntriesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static WriteLogEntriesResponse? _defaultInstance; +} + +/// Error details for WriteLogEntries with partial success. +class WriteLogEntriesPartialErrors extends $pb.GeneratedMessage { + factory WriteLogEntriesPartialErrors({ + $core.Map<$core.int, $57.Status>? logEntryErrors, + }) { + final $result = create(); + if (logEntryErrors != null) { + $result.logEntryErrors.addAll(logEntryErrors); + } + return $result; + } + WriteLogEntriesPartialErrors._() : super(); + factory WriteLogEntriesPartialErrors.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WriteLogEntriesPartialErrors.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WriteLogEntriesPartialErrors', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..m<$core.int, $57.Status>(1, _omitFieldNames ? '' : 'logEntryErrors', + entryClassName: 'WriteLogEntriesPartialErrors.LogEntryErrorsEntry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: $57.Status.create, + valueDefaultOrMaker: $57.Status.getDefault, + packageName: const $pb.PackageName('google.logging.v2')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WriteLogEntriesPartialErrors clone() => + WriteLogEntriesPartialErrors()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WriteLogEntriesPartialErrors copyWith( + void Function(WriteLogEntriesPartialErrors) updates) => + super.copyWith( + (message) => updates(message as WriteLogEntriesPartialErrors)) + as WriteLogEntriesPartialErrors; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WriteLogEntriesPartialErrors create() => + WriteLogEntriesPartialErrors._(); + WriteLogEntriesPartialErrors createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WriteLogEntriesPartialErrors getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static WriteLogEntriesPartialErrors? _defaultInstance; + + /// When `WriteLogEntriesRequest.partial_success` is true, records the error + /// status for entries that were not written due to a permanent error, keyed + /// by the entry's zero-based index in `WriteLogEntriesRequest.entries`. + /// + /// Failed requests for which no entries are written will not include + /// per-entry errors. + @$pb.TagNumber(1) + $core.Map<$core.int, $57.Status> get logEntryErrors => $_getMap(0); +} + +/// The parameters to `ListLogEntries`. +class ListLogEntriesRequest extends $pb.GeneratedMessage { + factory ListLogEntriesRequest({ + $core.String? filter, + $core.String? orderBy, + $core.int? pageSize, + $core.String? pageToken, + $core.Iterable<$core.String>? resourceNames, + }) { + final $result = create(); + if (filter != null) { + $result.filter = filter; + } + if (orderBy != null) { + $result.orderBy = orderBy; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (resourceNames != null) { + $result.resourceNames.addAll(resourceNames); + } + return $result; + } + ListLogEntriesRequest._() : super(); + factory ListLogEntriesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLogEntriesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLogEntriesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'filter') + ..aOS(3, _omitFieldNames ? '' : 'orderBy') + ..a<$core.int>(4, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(5, _omitFieldNames ? '' : 'pageToken') + ..pPS(8, _omitFieldNames ? '' : 'resourceNames') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLogEntriesRequest clone() => + ListLogEntriesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLogEntriesRequest copyWith( + void Function(ListLogEntriesRequest) updates) => + super.copyWith((message) => updates(message as ListLogEntriesRequest)) + as ListLogEntriesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLogEntriesRequest create() => ListLogEntriesRequest._(); + ListLogEntriesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLogEntriesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLogEntriesRequest? _defaultInstance; + + /// Optional. Only log entries that match the filter are returned. An empty + /// filter matches all log entries in the resources listed in `resource_names`. + /// Referencing a parent resource that is not listed in `resource_names` will + /// cause the filter to return no results. The maximum length of a filter is + /// 20,000 characters. + @$pb.TagNumber(2) + $core.String get filter => $_getSZ(0); + @$pb.TagNumber(2) + set filter($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasFilter() => $_has(0); + @$pb.TagNumber(2) + void clearFilter() => clearField(2); + + /// Optional. How the results should be sorted. Presently, the only permitted + /// values are `"timestamp asc"` (default) and `"timestamp desc"`. The first + /// option returns entries in order of increasing values of + /// `LogEntry.timestamp` (oldest first), and the second option returns entries + /// in order of decreasing timestamps (newest first). Entries with equal + /// timestamps are returned in order of their `insert_id` values. + @$pb.TagNumber(3) + $core.String get orderBy => $_getSZ(1); + @$pb.TagNumber(3) + set orderBy($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasOrderBy() => $_has(1); + @$pb.TagNumber(3) + void clearOrderBy() => clearField(3); + + /// Optional. The maximum number of results to return from this request. + /// Default is 50. If the value is negative or exceeds 1000, the request is + /// rejected. The presence of `next_page_token` in the response indicates that + /// more results might be available. + @$pb.TagNumber(4) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(4) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(4) + void clearPageSize() => clearField(4); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `page_token` must be the value of + /// `next_page_token` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(5) + $core.String get pageToken => $_getSZ(3); + @$pb.TagNumber(5) + set pageToken($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasPageToken() => $_has(3); + @$pb.TagNumber(5) + void clearPageToken() => clearField(5); + + /// Required. Names of one or more parent resources from which to + /// retrieve log entries: + /// + /// * `projects/[PROJECT_ID]` + /// * `organizations/[ORGANIZATION_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]` + /// * `folders/[FOLDER_ID]` + /// + /// May alternatively be one or more views: + /// + /// * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// + /// Projects listed in the `project_ids` field are added to this list. + /// A maximum of 100 resources may be specified in a single request. + @$pb.TagNumber(8) + $core.List<$core.String> get resourceNames => $_getList(4); +} + +/// Result returned from `ListLogEntries`. +class ListLogEntriesResponse extends $pb.GeneratedMessage { + factory ListLogEntriesResponse({ + $core.Iterable<$68.LogEntry>? entries, + $core.String? nextPageToken, + }) { + final $result = create(); + if (entries != null) { + $result.entries.addAll(entries); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListLogEntriesResponse._() : super(); + factory ListLogEntriesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLogEntriesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLogEntriesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc<$68.LogEntry>(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: $68.LogEntry.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLogEntriesResponse clone() => + ListLogEntriesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLogEntriesResponse copyWith( + void Function(ListLogEntriesResponse) updates) => + super.copyWith((message) => updates(message as ListLogEntriesResponse)) + as ListLogEntriesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLogEntriesResponse create() => ListLogEntriesResponse._(); + ListLogEntriesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLogEntriesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLogEntriesResponse? _defaultInstance; + + /// A list of log entries. If `entries` is empty, `nextPageToken` may still be + /// returned, indicating that more entries may exist. See `nextPageToken` for + /// more information. + @$pb.TagNumber(1) + $core.List<$68.LogEntry> get entries => $_getList(0); + + /// If there might be more results than those appearing in this response, then + /// `nextPageToken` is included. To get the next set of results, call this + /// method again using the value of `nextPageToken` as `pageToken`. + /// + /// If a value for `next_page_token` appears and the `entries` field is empty, + /// it means that the search found no log entries so far but it did not have + /// time to search all the possible log entries. Retry the method with this + /// value for `page_token` to continue the search. Alternatively, consider + /// speeding up the search by changing your filter to specify a single log name + /// or resource type, or to narrow the time range of the search. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to ListMonitoredResourceDescriptors +class ListMonitoredResourceDescriptorsRequest extends $pb.GeneratedMessage { + factory ListMonitoredResourceDescriptorsRequest({ + $core.int? pageSize, + $core.String? pageToken, + }) { + final $result = create(); + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + return $result; + } + ListMonitoredResourceDescriptorsRequest._() : super(); + factory ListMonitoredResourceDescriptorsRequest.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListMonitoredResourceDescriptorsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListMonitoredResourceDescriptorsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListMonitoredResourceDescriptorsRequest clone() => + ListMonitoredResourceDescriptorsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListMonitoredResourceDescriptorsRequest copyWith( + void Function(ListMonitoredResourceDescriptorsRequest) updates) => + super.copyWith((message) => + updates(message as ListMonitoredResourceDescriptorsRequest)) + as ListMonitoredResourceDescriptorsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListMonitoredResourceDescriptorsRequest create() => + ListMonitoredResourceDescriptorsRequest._(); + ListMonitoredResourceDescriptorsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListMonitoredResourceDescriptorsRequest getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + ListMonitoredResourceDescriptorsRequest>(create); + static ListMonitoredResourceDescriptorsRequest? _defaultInstance; + + /// Optional. The maximum number of results to return from this request. + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(1) + $core.int get pageSize => $_getIZ(0); + @$pb.TagNumber(1) + set pageSize($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasPageSize() => $_has(0); + @$pb.TagNumber(1) + void clearPageSize() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); +} + +/// Result returned from ListMonitoredResourceDescriptors. +class ListMonitoredResourceDescriptorsResponse extends $pb.GeneratedMessage { + factory ListMonitoredResourceDescriptorsResponse({ + $core.Iterable<$67.MonitoredResourceDescriptor>? resourceDescriptors, + $core.String? nextPageToken, + }) { + final $result = create(); + if (resourceDescriptors != null) { + $result.resourceDescriptors.addAll(resourceDescriptors); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListMonitoredResourceDescriptorsResponse._() : super(); + factory ListMonitoredResourceDescriptorsResponse.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListMonitoredResourceDescriptorsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListMonitoredResourceDescriptorsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc<$67.MonitoredResourceDescriptor>( + 1, _omitFieldNames ? '' : 'resourceDescriptors', $pb.PbFieldType.PM, + subBuilder: $67.MonitoredResourceDescriptor.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListMonitoredResourceDescriptorsResponse clone() => + ListMonitoredResourceDescriptorsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListMonitoredResourceDescriptorsResponse copyWith( + void Function(ListMonitoredResourceDescriptorsResponse) updates) => + super.copyWith((message) => + updates(message as ListMonitoredResourceDescriptorsResponse)) + as ListMonitoredResourceDescriptorsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListMonitoredResourceDescriptorsResponse create() => + ListMonitoredResourceDescriptorsResponse._(); + ListMonitoredResourceDescriptorsResponse createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListMonitoredResourceDescriptorsResponse getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + ListMonitoredResourceDescriptorsResponse>(create); + static ListMonitoredResourceDescriptorsResponse? _defaultInstance; + + /// A list of resource descriptors. + @$pb.TagNumber(1) + $core.List<$67.MonitoredResourceDescriptor> get resourceDescriptors => + $_getList(0); + + /// If there might be more results than those appearing in this response, then + /// `nextPageToken` is included. To get the next set of results, call this + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to ListLogs. +class ListLogsRequest extends $pb.GeneratedMessage { + factory ListLogsRequest({ + $core.String? parent, + $core.int? pageSize, + $core.String? pageToken, + $core.Iterable<$core.String>? resourceNames, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (resourceNames != null) { + $result.resourceNames.addAll(resourceNames); + } + return $result; + } + ListLogsRequest._() : super(); + factory ListLogsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLogsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLogsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..pPS(8, _omitFieldNames ? '' : 'resourceNames') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLogsRequest clone() => ListLogsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLogsRequest copyWith(void Function(ListLogsRequest) updates) => + super.copyWith((message) => updates(message as ListLogsRequest)) + as ListLogsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLogsRequest create() => ListLogsRequest._(); + ListLogsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLogsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLogsRequest? _defaultInstance; + + /// Required. The resource name to list logs for: + /// + /// * `projects/[PROJECT_ID]` + /// * `organizations/[ORGANIZATION_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]` + /// * `folders/[FOLDER_ID]` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. The maximum number of results to return from this request. + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// Optional. List of resource names to list logs for: + /// + /// * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// + /// To support legacy queries, it could also be: + /// + /// * `projects/[PROJECT_ID]` + /// * `organizations/[ORGANIZATION_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]` + /// * `folders/[FOLDER_ID]` + /// + /// The resource name in the `parent` field is added to this list. + @$pb.TagNumber(8) + $core.List<$core.String> get resourceNames => $_getList(3); +} + +/// Result returned from ListLogs. +class ListLogsResponse extends $pb.GeneratedMessage { + factory ListLogsResponse({ + $core.String? nextPageToken, + $core.Iterable<$core.String>? logNames, + }) { + final $result = create(); + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + if (logNames != null) { + $result.logNames.addAll(logNames); + } + return $result; + } + ListLogsResponse._() : super(); + factory ListLogsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLogsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLogsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..pPS(3, _omitFieldNames ? '' : 'logNames') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLogsResponse clone() => ListLogsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLogsResponse copyWith(void Function(ListLogsResponse) updates) => + super.copyWith((message) => updates(message as ListLogsResponse)) + as ListLogsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLogsResponse create() => ListLogsResponse._(); + ListLogsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLogsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLogsResponse? _defaultInstance; + + /// If there might be more results than those appearing in this response, then + /// `nextPageToken` is included. To get the next set of results, call this + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(0); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(0); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); + + /// A list of log names. For example, + /// `"projects/my-project/logs/syslog"` or + /// `"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + @$pb.TagNumber(3) + $core.List<$core.String> get logNames => $_getList(1); +} + +/// The parameters to `TailLogEntries`. +class TailLogEntriesRequest extends $pb.GeneratedMessage { + factory TailLogEntriesRequest({ + $core.Iterable<$core.String>? resourceNames, + $core.String? filter, + $51.Duration? bufferWindow, + }) { + final $result = create(); + if (resourceNames != null) { + $result.resourceNames.addAll(resourceNames); + } + if (filter != null) { + $result.filter = filter; + } + if (bufferWindow != null) { + $result.bufferWindow = bufferWindow; + } + return $result; + } + TailLogEntriesRequest._() : super(); + factory TailLogEntriesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TailLogEntriesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TailLogEntriesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'resourceNames') + ..aOS(2, _omitFieldNames ? '' : 'filter') + ..aOM<$51.Duration>(3, _omitFieldNames ? '' : 'bufferWindow', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TailLogEntriesRequest clone() => + TailLogEntriesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TailLogEntriesRequest copyWith( + void Function(TailLogEntriesRequest) updates) => + super.copyWith((message) => updates(message as TailLogEntriesRequest)) + as TailLogEntriesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TailLogEntriesRequest create() => TailLogEntriesRequest._(); + TailLogEntriesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TailLogEntriesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TailLogEntriesRequest? _defaultInstance; + + /// Required. Name of a parent resource from which to retrieve log entries: + /// + /// * `projects/[PROJECT_ID]` + /// * `organizations/[ORGANIZATION_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]` + /// * `folders/[FOLDER_ID]` + /// + /// May alternatively be one or more views: + /// + /// * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + /// * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + @$pb.TagNumber(1) + $core.List<$core.String> get resourceNames => $_getList(0); + + /// Optional. Only log entries that match the filter are returned. An empty + /// filter matches all log entries in the resources listed in `resource_names`. + /// Referencing a parent resource that is not listed in `resource_names` will + /// cause the filter to return no results. The maximum length of a filter is + /// 20,000 characters. + @$pb.TagNumber(2) + $core.String get filter => $_getSZ(1); + @$pb.TagNumber(2) + set filter($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFilter() => $_has(1); + @$pb.TagNumber(2) + void clearFilter() => clearField(2); + + /// Optional. The amount of time to buffer log entries at the server before + /// being returned to prevent out of order results due to late arriving log + /// entries. Valid values are between 0-60000 milliseconds. Defaults to 2000 + /// milliseconds. + @$pb.TagNumber(3) + $51.Duration get bufferWindow => $_getN(2); + @$pb.TagNumber(3) + set bufferWindow($51.Duration v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasBufferWindow() => $_has(2); + @$pb.TagNumber(3) + void clearBufferWindow() => clearField(3); + @$pb.TagNumber(3) + $51.Duration ensureBufferWindow() => $_ensure(2); +} + +/// Information about entries that were omitted from the session. +class TailLogEntriesResponse_SuppressionInfo extends $pb.GeneratedMessage { + factory TailLogEntriesResponse_SuppressionInfo({ + TailLogEntriesResponse_SuppressionInfo_Reason? reason, + $core.int? suppressedCount, + }) { + final $result = create(); + if (reason != null) { + $result.reason = reason; + } + if (suppressedCount != null) { + $result.suppressedCount = suppressedCount; + } + return $result; + } + TailLogEntriesResponse_SuppressionInfo._() : super(); + factory TailLogEntriesResponse_SuppressionInfo.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TailLogEntriesResponse_SuppressionInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TailLogEntriesResponse.SuppressionInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'reason', $pb.PbFieldType.OE, + defaultOrMaker: + TailLogEntriesResponse_SuppressionInfo_Reason.REASON_UNSPECIFIED, + valueOf: TailLogEntriesResponse_SuppressionInfo_Reason.valueOf, + enumValues: TailLogEntriesResponse_SuppressionInfo_Reason.values) + ..a<$core.int>( + 2, _omitFieldNames ? '' : 'suppressedCount', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TailLogEntriesResponse_SuppressionInfo clone() => + TailLogEntriesResponse_SuppressionInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TailLogEntriesResponse_SuppressionInfo copyWith( + void Function(TailLogEntriesResponse_SuppressionInfo) updates) => + super.copyWith((message) => + updates(message as TailLogEntriesResponse_SuppressionInfo)) + as TailLogEntriesResponse_SuppressionInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TailLogEntriesResponse_SuppressionInfo create() => + TailLogEntriesResponse_SuppressionInfo._(); + TailLogEntriesResponse_SuppressionInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TailLogEntriesResponse_SuppressionInfo getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TailLogEntriesResponse_SuppressionInfo>(create); + static TailLogEntriesResponse_SuppressionInfo? _defaultInstance; + + /// The reason that entries were omitted from the session. + @$pb.TagNumber(1) + TailLogEntriesResponse_SuppressionInfo_Reason get reason => $_getN(0); + @$pb.TagNumber(1) + set reason(TailLogEntriesResponse_SuppressionInfo_Reason v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasReason() => $_has(0); + @$pb.TagNumber(1) + void clearReason() => clearField(1); + + /// A lower bound on the count of entries omitted due to `reason`. + @$pb.TagNumber(2) + $core.int get suppressedCount => $_getIZ(1); + @$pb.TagNumber(2) + set suppressedCount($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSuppressedCount() => $_has(1); + @$pb.TagNumber(2) + void clearSuppressedCount() => clearField(2); +} + +/// Result returned from `TailLogEntries`. +class TailLogEntriesResponse extends $pb.GeneratedMessage { + factory TailLogEntriesResponse({ + $core.Iterable<$68.LogEntry>? entries, + $core.Iterable? suppressionInfo, + }) { + final $result = create(); + if (entries != null) { + $result.entries.addAll(entries); + } + if (suppressionInfo != null) { + $result.suppressionInfo.addAll(suppressionInfo); + } + return $result; + } + TailLogEntriesResponse._() : super(); + factory TailLogEntriesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TailLogEntriesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TailLogEntriesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc<$68.LogEntry>(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, + subBuilder: $68.LogEntry.create) + ..pc( + 2, _omitFieldNames ? '' : 'suppressionInfo', $pb.PbFieldType.PM, + subBuilder: TailLogEntriesResponse_SuppressionInfo.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TailLogEntriesResponse clone() => + TailLogEntriesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TailLogEntriesResponse copyWith( + void Function(TailLogEntriesResponse) updates) => + super.copyWith((message) => updates(message as TailLogEntriesResponse)) + as TailLogEntriesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TailLogEntriesResponse create() => TailLogEntriesResponse._(); + TailLogEntriesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TailLogEntriesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TailLogEntriesResponse? _defaultInstance; + + /// A list of log entries. Each response in the stream will order entries with + /// increasing values of `LogEntry.timestamp`. Ordering is not guaranteed + /// between separate responses. + @$pb.TagNumber(1) + $core.List<$68.LogEntry> get entries => $_getList(0); + + /// If entries that otherwise would have been included in the session were not + /// sent back to the client, counts of relevant entries omitted from the + /// session with the reason that they were not included. There will be at most + /// one of each reason per response. The counts represent the number of + /// suppressed entries since the last streamed response. + @$pb.TagNumber(2) + $core.List get suppressionInfo => + $_getList(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbenum.dart new file mode 100644 index 00000000..fbdb18e4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbenum.dart @@ -0,0 +1,47 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// An indicator of why entries were omitted. +class TailLogEntriesResponse_SuppressionInfo_Reason extends $pb.ProtobufEnum { + static const TailLogEntriesResponse_SuppressionInfo_Reason + REASON_UNSPECIFIED = TailLogEntriesResponse_SuppressionInfo_Reason._( + 0, _omitEnumNames ? '' : 'REASON_UNSPECIFIED'); + static const TailLogEntriesResponse_SuppressionInfo_Reason RATE_LIMIT = + TailLogEntriesResponse_SuppressionInfo_Reason._( + 1, _omitEnumNames ? '' : 'RATE_LIMIT'); + static const TailLogEntriesResponse_SuppressionInfo_Reason NOT_CONSUMED = + TailLogEntriesResponse_SuppressionInfo_Reason._( + 2, _omitEnumNames ? '' : 'NOT_CONSUMED'); + + static const $core.List + values = [ + REASON_UNSPECIFIED, + RATE_LIMIT, + NOT_CONSUMED, + ]; + + static final $core + .Map<$core.int, TailLogEntriesResponse_SuppressionInfo_Reason> _byValue = + $pb.ProtobufEnum.initByValue(values); + static TailLogEntriesResponse_SuppressionInfo_Reason? valueOf( + $core.int value) => + _byValue[value]; + + const TailLogEntriesResponse_SuppressionInfo_Reason._( + $core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbgrpc.dart new file mode 100644 index 00000000..93b5c033 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbgrpc.dart @@ -0,0 +1,206 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/empty.pb.dart' as $1; +import 'logging.pb.dart' as $18; + +export 'logging.pb.dart'; + +@$pb.GrpcServiceName('google.logging.v2.LoggingServiceV2') +class LoggingServiceV2Client extends $grpc.Client { + static final _$deleteLog = $grpc.ClientMethod<$18.DeleteLogRequest, $1.Empty>( + '/google.logging.v2.LoggingServiceV2/DeleteLog', + ($18.DeleteLogRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$writeLogEntries = $grpc.ClientMethod< + $18.WriteLogEntriesRequest, $18.WriteLogEntriesResponse>( + '/google.logging.v2.LoggingServiceV2/WriteLogEntries', + ($18.WriteLogEntriesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $18.WriteLogEntriesResponse.fromBuffer(value)); + static final _$listLogEntries = + $grpc.ClientMethod<$18.ListLogEntriesRequest, $18.ListLogEntriesResponse>( + '/google.logging.v2.LoggingServiceV2/ListLogEntries', + ($18.ListLogEntriesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $18.ListLogEntriesResponse.fromBuffer(value)); + static final _$listMonitoredResourceDescriptors = $grpc.ClientMethod< + $18.ListMonitoredResourceDescriptorsRequest, + $18.ListMonitoredResourceDescriptorsResponse>( + '/google.logging.v2.LoggingServiceV2/ListMonitoredResourceDescriptors', + ($18.ListMonitoredResourceDescriptorsRequest value) => + value.writeToBuffer(), + ($core.List<$core.int> value) => + $18.ListMonitoredResourceDescriptorsResponse.fromBuffer(value)); + static final _$listLogs = + $grpc.ClientMethod<$18.ListLogsRequest, $18.ListLogsResponse>( + '/google.logging.v2.LoggingServiceV2/ListLogs', + ($18.ListLogsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $18.ListLogsResponse.fromBuffer(value)); + static final _$tailLogEntries = + $grpc.ClientMethod<$18.TailLogEntriesRequest, $18.TailLogEntriesResponse>( + '/google.logging.v2.LoggingServiceV2/TailLogEntries', + ($18.TailLogEntriesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $18.TailLogEntriesResponse.fromBuffer(value)); + + LoggingServiceV2Client($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$1.Empty> deleteLog($18.DeleteLogRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteLog, request, options: options); + } + + $grpc.ResponseFuture<$18.WriteLogEntriesResponse> writeLogEntries( + $18.WriteLogEntriesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$writeLogEntries, request, options: options); + } + + $grpc.ResponseFuture<$18.ListLogEntriesResponse> listLogEntries( + $18.ListLogEntriesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listLogEntries, request, options: options); + } + + $grpc.ResponseFuture<$18.ListMonitoredResourceDescriptorsResponse> + listMonitoredResourceDescriptors( + $18.ListMonitoredResourceDescriptorsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listMonitoredResourceDescriptors, request, + options: options); + } + + $grpc.ResponseFuture<$18.ListLogsResponse> listLogs( + $18.ListLogsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listLogs, request, options: options); + } + + $grpc.ResponseStream<$18.TailLogEntriesResponse> tailLogEntries( + $async.Stream<$18.TailLogEntriesRequest> request, + {$grpc.CallOptions? options}) { + return $createStreamingCall(_$tailLogEntries, request, options: options); + } +} + +@$pb.GrpcServiceName('google.logging.v2.LoggingServiceV2') +abstract class LoggingServiceV2ServiceBase extends $grpc.Service { + $core.String get $name => 'google.logging.v2.LoggingServiceV2'; + + LoggingServiceV2ServiceBase() { + $addMethod($grpc.ServiceMethod<$18.DeleteLogRequest, $1.Empty>( + 'DeleteLog', + deleteLog_Pre, + false, + false, + ($core.List<$core.int> value) => $18.DeleteLogRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$18.WriteLogEntriesRequest, + $18.WriteLogEntriesResponse>( + 'WriteLogEntries', + writeLogEntries_Pre, + false, + false, + ($core.List<$core.int> value) => + $18.WriteLogEntriesRequest.fromBuffer(value), + ($18.WriteLogEntriesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$18.ListLogEntriesRequest, + $18.ListLogEntriesResponse>( + 'ListLogEntries', + listLogEntries_Pre, + false, + false, + ($core.List<$core.int> value) => + $18.ListLogEntriesRequest.fromBuffer(value), + ($18.ListLogEntriesResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$18.ListMonitoredResourceDescriptorsRequest, + $18.ListMonitoredResourceDescriptorsResponse>( + 'ListMonitoredResourceDescriptors', + listMonitoredResourceDescriptors_Pre, + false, + false, + ($core.List<$core.int> value) => + $18.ListMonitoredResourceDescriptorsRequest.fromBuffer(value), + ($18.ListMonitoredResourceDescriptorsResponse value) => + value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$18.ListLogsRequest, $18.ListLogsResponse>( + 'ListLogs', + listLogs_Pre, + false, + false, + ($core.List<$core.int> value) => $18.ListLogsRequest.fromBuffer(value), + ($18.ListLogsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$18.TailLogEntriesRequest, + $18.TailLogEntriesResponse>( + 'TailLogEntries', + tailLogEntries, + true, + true, + ($core.List<$core.int> value) => + $18.TailLogEntriesRequest.fromBuffer(value), + ($18.TailLogEntriesResponse value) => value.writeToBuffer())); + } + + $async.Future<$1.Empty> deleteLog_Pre($grpc.ServiceCall call, + $async.Future<$18.DeleteLogRequest> request) async { + return deleteLog(call, await request); + } + + $async.Future<$18.WriteLogEntriesResponse> writeLogEntries_Pre( + $grpc.ServiceCall call, + $async.Future<$18.WriteLogEntriesRequest> request) async { + return writeLogEntries(call, await request); + } + + $async.Future<$18.ListLogEntriesResponse> listLogEntries_Pre( + $grpc.ServiceCall call, + $async.Future<$18.ListLogEntriesRequest> request) async { + return listLogEntries(call, await request); + } + + $async.Future<$18.ListMonitoredResourceDescriptorsResponse> + listMonitoredResourceDescriptors_Pre( + $grpc.ServiceCall call, + $async.Future<$18.ListMonitoredResourceDescriptorsRequest> + request) async { + return listMonitoredResourceDescriptors(call, await request); + } + + $async.Future<$18.ListLogsResponse> listLogs_Pre($grpc.ServiceCall call, + $async.Future<$18.ListLogsRequest> request) async { + return listLogs(call, await request); + } + + $async.Future<$1.Empty> deleteLog( + $grpc.ServiceCall call, $18.DeleteLogRequest request); + $async.Future<$18.WriteLogEntriesResponse> writeLogEntries( + $grpc.ServiceCall call, $18.WriteLogEntriesRequest request); + $async.Future<$18.ListLogEntriesResponse> listLogEntries( + $grpc.ServiceCall call, $18.ListLogEntriesRequest request); + $async.Future<$18.ListMonitoredResourceDescriptorsResponse> + listMonitoredResourceDescriptors($grpc.ServiceCall call, + $18.ListMonitoredResourceDescriptorsRequest request); + $async.Future<$18.ListLogsResponse> listLogs( + $grpc.ServiceCall call, $18.ListLogsRequest request); + $async.Stream<$18.TailLogEntriesResponse> tailLogEntries( + $grpc.ServiceCall call, $async.Stream<$18.TailLogEntriesRequest> request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbjson.dart new file mode 100644 index 00000000..df191dbd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging.pbjson.dart @@ -0,0 +1,366 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use deleteLogRequestDescriptor instead') +const DeleteLogRequest$json = { + '1': 'DeleteLogRequest', + '2': [ + {'1': 'log_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'logName'}, + ], +}; + +/// Descriptor for `DeleteLogRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteLogRequestDescriptor = $convert.base64Decode( + 'ChBEZWxldGVMb2dSZXF1ZXN0Ej0KCGxvZ19uYW1lGAEgASgJQiLgQQL6QRwKGmxvZ2dpbmcuZ2' + '9vZ2xlYXBpcy5jb20vTG9nUgdsb2dOYW1l'); + +@$core.Deprecated('Use writeLogEntriesRequestDescriptor instead') +const WriteLogEntriesRequest$json = { + '1': 'WriteLogEntriesRequest', + '2': [ + {'1': 'log_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'logName'}, + { + '1': 'resource', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.api.MonitoredResource', + '8': {}, + '10': 'resource' + }, + { + '1': 'labels', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.logging.v2.WriteLogEntriesRequest.LabelsEntry', + '8': {}, + '10': 'labels' + }, + { + '1': 'entries', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogEntry', + '8': {}, + '10': 'entries' + }, + { + '1': 'partial_success', + '3': 5, + '4': 1, + '5': 8, + '8': {}, + '10': 'partialSuccess' + }, + {'1': 'dry_run', '3': 6, '4': 1, '5': 8, '8': {}, '10': 'dryRun'}, + ], + '3': [WriteLogEntriesRequest_LabelsEntry$json], +}; + +@$core.Deprecated('Use writeLogEntriesRequestDescriptor instead') +const WriteLogEntriesRequest_LabelsEntry$json = { + '1': 'LabelsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +/// Descriptor for `WriteLogEntriesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List writeLogEntriesRequestDescriptor = $convert.base64Decode( + 'ChZXcml0ZUxvZ0VudHJpZXNSZXF1ZXN0Ej0KCGxvZ19uYW1lGAEgASgJQiLgQQH6QRwKGmxvZ2' + 'dpbmcuZ29vZ2xlYXBpcy5jb20vTG9nUgdsb2dOYW1lEj4KCHJlc291cmNlGAIgASgLMh0uZ29v' + 'Z2xlLmFwaS5Nb25pdG9yZWRSZXNvdXJjZUID4EEBUghyZXNvdXJjZRJSCgZsYWJlbHMYAyADKA' + 'syNS5nb29nbGUubG9nZ2luZy52Mi5Xcml0ZUxvZ0VudHJpZXNSZXF1ZXN0LkxhYmVsc0VudHJ5' + 'QgPgQQFSBmxhYmVscxI6CgdlbnRyaWVzGAQgAygLMhsuZ29vZ2xlLmxvZ2dpbmcudjIuTG9nRW' + '50cnlCA+BBAlIHZW50cmllcxIsCg9wYXJ0aWFsX3N1Y2Nlc3MYBSABKAhCA+BBAVIOcGFydGlh' + 'bFN1Y2Nlc3MSHAoHZHJ5X3J1bhgGIAEoCEID4EEBUgZkcnlSdW4aOQoLTGFiZWxzRW50cnkSEA' + 'oDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AQ=='); + +@$core.Deprecated('Use writeLogEntriesResponseDescriptor instead') +const WriteLogEntriesResponse$json = { + '1': 'WriteLogEntriesResponse', +}; + +/// Descriptor for `WriteLogEntriesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List writeLogEntriesResponseDescriptor = + $convert.base64Decode('ChdXcml0ZUxvZ0VudHJpZXNSZXNwb25zZQ=='); + +@$core.Deprecated('Use writeLogEntriesPartialErrorsDescriptor instead') +const WriteLogEntriesPartialErrors$json = { + '1': 'WriteLogEntriesPartialErrors', + '2': [ + { + '1': 'log_entry_errors', + '3': 1, + '4': 3, + '5': 11, + '6': + '.google.logging.v2.WriteLogEntriesPartialErrors.LogEntryErrorsEntry', + '10': 'logEntryErrors' + }, + ], + '3': [WriteLogEntriesPartialErrors_LogEntryErrorsEntry$json], +}; + +@$core.Deprecated('Use writeLogEntriesPartialErrorsDescriptor instead') +const WriteLogEntriesPartialErrors_LogEntryErrorsEntry$json = { + '1': 'LogEntryErrorsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.rpc.Status', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `WriteLogEntriesPartialErrors`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List writeLogEntriesPartialErrorsDescriptor = $convert.base64Decode( + 'ChxXcml0ZUxvZ0VudHJpZXNQYXJ0aWFsRXJyb3JzEm0KEGxvZ19lbnRyeV9lcnJvcnMYASADKA' + 'syQy5nb29nbGUubG9nZ2luZy52Mi5Xcml0ZUxvZ0VudHJpZXNQYXJ0aWFsRXJyb3JzLkxvZ0Vu' + 'dHJ5RXJyb3JzRW50cnlSDmxvZ0VudHJ5RXJyb3JzGlUKE0xvZ0VudHJ5RXJyb3JzRW50cnkSEA' + 'oDa2V5GAEgASgFUgNrZXkSKAoFdmFsdWUYAiABKAsyEi5nb29nbGUucnBjLlN0YXR1c1IFdmFs' + 'dWU6AjgB'); + +@$core.Deprecated('Use listLogEntriesRequestDescriptor instead') +const ListLogEntriesRequest$json = { + '1': 'ListLogEntriesRequest', + '2': [ + { + '1': 'resource_names', + '3': 8, + '4': 3, + '5': 9, + '8': {}, + '10': 'resourceNames' + }, + {'1': 'filter', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + {'1': 'order_by', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'orderBy'}, + {'1': 'page_size', '3': 4, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + {'1': 'page_token', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListLogEntriesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLogEntriesRequestDescriptor = $convert.base64Decode( + 'ChVMaXN0TG9nRW50cmllc1JlcXVlc3QSSQoOcmVzb3VyY2VfbmFtZXMYCCADKAlCIuBBAvpBHB' + 'IabG9nZ2luZy5nb29nbGVhcGlzLmNvbS9Mb2dSDXJlc291cmNlTmFtZXMSGwoGZmlsdGVyGAIg' + 'ASgJQgPgQQFSBmZpbHRlchIeCghvcmRlcl9ieRgDIAEoCUID4EEBUgdvcmRlckJ5EiAKCXBhZ2' + 'Vfc2l6ZRgEIAEoBUID4EEBUghwYWdlU2l6ZRIiCgpwYWdlX3Rva2VuGAUgASgJQgPgQQFSCXBh' + 'Z2VUb2tlbg=='); + +@$core.Deprecated('Use listLogEntriesResponseDescriptor instead') +const ListLogEntriesResponse$json = { + '1': 'ListLogEntriesResponse', + '2': [ + { + '1': 'entries', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogEntry', + '10': 'entries' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListLogEntriesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLogEntriesResponseDescriptor = $convert.base64Decode( + 'ChZMaXN0TG9nRW50cmllc1Jlc3BvbnNlEjUKB2VudHJpZXMYASADKAsyGy5nb29nbGUubG9nZ2' + 'luZy52Mi5Mb2dFbnRyeVIHZW50cmllcxImCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlSDW5leHRQ' + 'YWdlVG9rZW4='); + +@$core + .Deprecated('Use listMonitoredResourceDescriptorsRequestDescriptor instead') +const ListMonitoredResourceDescriptorsRequest$json = { + '1': 'ListMonitoredResourceDescriptorsRequest', + '2': [ + {'1': 'page_size', '3': 1, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListMonitoredResourceDescriptorsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listMonitoredResourceDescriptorsRequestDescriptor = + $convert.base64Decode( + 'CidMaXN0TW9uaXRvcmVkUmVzb3VyY2VEZXNjcmlwdG9yc1JlcXVlc3QSIAoJcGFnZV9zaXplGA' + 'EgASgFQgPgQQFSCHBhZ2VTaXplEiIKCnBhZ2VfdG9rZW4YAiABKAlCA+BBAVIJcGFnZVRva2Vu'); + +@$core.Deprecated( + 'Use listMonitoredResourceDescriptorsResponseDescriptor instead') +const ListMonitoredResourceDescriptorsResponse$json = { + '1': 'ListMonitoredResourceDescriptorsResponse', + '2': [ + { + '1': 'resource_descriptors', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.api.MonitoredResourceDescriptor', + '10': 'resourceDescriptors' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListMonitoredResourceDescriptorsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listMonitoredResourceDescriptorsResponseDescriptor = + $convert.base64Decode( + 'CihMaXN0TW9uaXRvcmVkUmVzb3VyY2VEZXNjcmlwdG9yc1Jlc3BvbnNlEloKFHJlc291cmNlX2' + 'Rlc2NyaXB0b3JzGAEgAygLMicuZ29vZ2xlLmFwaS5Nb25pdG9yZWRSZXNvdXJjZURlc2NyaXB0' + 'b3JSE3Jlc291cmNlRGVzY3JpcHRvcnMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UG' + 'FnZVRva2Vu'); + +@$core.Deprecated('Use listLogsRequestDescriptor instead') +const ListLogsRequest$json = { + '1': 'ListLogsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'resource_names', + '3': 8, + '4': 3, + '5': 9, + '8': {}, + '10': 'resourceNames' + }, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListLogsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLogsRequestDescriptor = $convert.base64Decode( + 'Cg9MaXN0TG9nc1JlcXVlc3QSOgoGcGFyZW50GAEgASgJQiLgQQL6QRwSGmxvZ2dpbmcuZ29vZ2' + 'xlYXBpcy5jb20vTG9nUgZwYXJlbnQSSQoOcmVzb3VyY2VfbmFtZXMYCCADKAlCIuBBAfpBHBIa' + 'bG9nZ2luZy5nb29nbGVhcGlzLmNvbS9Mb2dSDXJlc291cmNlTmFtZXMSIAoJcGFnZV9zaXplGA' + 'IgASgFQgPgQQFSCHBhZ2VTaXplEiIKCnBhZ2VfdG9rZW4YAyABKAlCA+BBAVIJcGFnZVRva2Vu'); + +@$core.Deprecated('Use listLogsResponseDescriptor instead') +const ListLogsResponse$json = { + '1': 'ListLogsResponse', + '2': [ + {'1': 'log_names', '3': 3, '4': 3, '5': 9, '10': 'logNames'}, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListLogsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLogsResponseDescriptor = $convert.base64Decode( + 'ChBMaXN0TG9nc1Jlc3BvbnNlEhsKCWxvZ19uYW1lcxgDIAMoCVIIbG9nTmFtZXMSJgoPbmV4dF' + '9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use tailLogEntriesRequestDescriptor instead') +const TailLogEntriesRequest$json = { + '1': 'TailLogEntriesRequest', + '2': [ + { + '1': 'resource_names', + '3': 1, + '4': 3, + '5': 9, + '8': {}, + '10': 'resourceNames' + }, + {'1': 'filter', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + { + '1': 'buffer_window', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '8': {}, + '10': 'bufferWindow' + }, + ], +}; + +/// Descriptor for `TailLogEntriesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List tailLogEntriesRequestDescriptor = $convert.base64Decode( + 'ChVUYWlsTG9nRW50cmllc1JlcXVlc3QSKgoOcmVzb3VyY2VfbmFtZXMYASADKAlCA+BBAlINcm' + 'Vzb3VyY2VOYW1lcxIbCgZmaWx0ZXIYAiABKAlCA+BBAVIGZmlsdGVyEkMKDWJ1ZmZlcl93aW5k' + 'b3cYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CA+BBAVIMYnVmZmVyV2luZG93'); + +@$core.Deprecated('Use tailLogEntriesResponseDescriptor instead') +const TailLogEntriesResponse$json = { + '1': 'TailLogEntriesResponse', + '2': [ + { + '1': 'entries', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogEntry', + '10': 'entries' + }, + { + '1': 'suppression_info', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.logging.v2.TailLogEntriesResponse.SuppressionInfo', + '10': 'suppressionInfo' + }, + ], + '3': [TailLogEntriesResponse_SuppressionInfo$json], +}; + +@$core.Deprecated('Use tailLogEntriesResponseDescriptor instead') +const TailLogEntriesResponse_SuppressionInfo$json = { + '1': 'SuppressionInfo', + '2': [ + { + '1': 'reason', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.logging.v2.TailLogEntriesResponse.SuppressionInfo.Reason', + '10': 'reason' + }, + {'1': 'suppressed_count', '3': 2, '4': 1, '5': 5, '10': 'suppressedCount'}, + ], + '4': [TailLogEntriesResponse_SuppressionInfo_Reason$json], +}; + +@$core.Deprecated('Use tailLogEntriesResponseDescriptor instead') +const TailLogEntriesResponse_SuppressionInfo_Reason$json = { + '1': 'Reason', + '2': [ + {'1': 'REASON_UNSPECIFIED', '2': 0}, + {'1': 'RATE_LIMIT', '2': 1}, + {'1': 'NOT_CONSUMED', '2': 2}, + ], +}; + +/// Descriptor for `TailLogEntriesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List tailLogEntriesResponseDescriptor = $convert.base64Decode( + 'ChZUYWlsTG9nRW50cmllc1Jlc3BvbnNlEjUKB2VudHJpZXMYASADKAsyGy5nb29nbGUubG9nZ2' + 'luZy52Mi5Mb2dFbnRyeVIHZW50cmllcxJkChBzdXBwcmVzc2lvbl9pbmZvGAIgAygLMjkuZ29v' + 'Z2xlLmxvZ2dpbmcudjIuVGFpbExvZ0VudHJpZXNSZXNwb25zZS5TdXBwcmVzc2lvbkluZm9SD3' + 'N1cHByZXNzaW9uSW5mbxraAQoPU3VwcHJlc3Npb25JbmZvElgKBnJlYXNvbhgBIAEoDjJALmdv' + 'b2dsZS5sb2dnaW5nLnYyLlRhaWxMb2dFbnRyaWVzUmVzcG9uc2UuU3VwcHJlc3Npb25JbmZvLl' + 'JlYXNvblIGcmVhc29uEikKEHN1cHByZXNzZWRfY291bnQYAiABKAVSD3N1cHByZXNzZWRDb3Vu' + 'dCJCCgZSZWFzb24SFgoSUkVBU09OX1VOU1BFQ0lGSUVEEAASDgoKUkFURV9MSU1JVBABEhAKDE' + '5PVF9DT05TVU1FRBAC'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pb.dart new file mode 100644 index 00000000..503d3623 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pb.dart @@ -0,0 +1,5787 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_config.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/field_mask.pb.dart' as $58; +import '../../protobuf/timestamp.pb.dart' as $50; +import 'logging_config.pbenum.dart'; + +export 'logging_config.pbenum.dart'; + +/// Configuration for an indexed field. +class IndexConfig extends $pb.GeneratedMessage { + factory IndexConfig({ + $core.String? fieldPath, + IndexType? type, + $50.Timestamp? createTime, + }) { + final $result = create(); + if (fieldPath != null) { + $result.fieldPath = fieldPath; + } + if (type != null) { + $result.type = type; + } + if (createTime != null) { + $result.createTime = createTime; + } + return $result; + } + IndexConfig._() : super(); + factory IndexConfig.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory IndexConfig.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'IndexConfig', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fieldPath') + ..e(2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, + defaultOrMaker: IndexType.INDEX_TYPE_UNSPECIFIED, + valueOf: IndexType.valueOf, + enumValues: IndexType.values) + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IndexConfig clone() => IndexConfig()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IndexConfig copyWith(void Function(IndexConfig) updates) => + super.copyWith((message) => updates(message as IndexConfig)) + as IndexConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IndexConfig create() => IndexConfig._(); + IndexConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IndexConfig getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static IndexConfig? _defaultInstance; + + /// Required. The LogEntry field path to index. + /// + /// Note that some paths are automatically indexed, and other paths are not + /// eligible for indexing. See [indexing documentation]( + /// https://cloud.google.com/logging/docs/view/advanced-queries#indexed-fields) + /// for details. + /// + /// For example: `jsonPayload.request.status` + @$pb.TagNumber(1) + $core.String get fieldPath => $_getSZ(0); + @$pb.TagNumber(1) + set fieldPath($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFieldPath() => $_has(0); + @$pb.TagNumber(1) + void clearFieldPath() => clearField(1); + + /// Required. The type of data in this index. + @$pb.TagNumber(2) + IndexType get type => $_getN(1); + @$pb.TagNumber(2) + set type(IndexType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + /// Output only. The timestamp when the index was last modified. + /// + /// This is used to return the timestamp, and will be ignored if supplied + /// during update. + @$pb.TagNumber(3) + $50.Timestamp get createTime => $_getN(2); + @$pb.TagNumber(3) + set createTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasCreateTime() => $_has(2); + @$pb.TagNumber(3) + void clearCreateTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureCreateTime() => $_ensure(2); +} + +/// Describes a repository in which log entries are stored. +class LogBucket extends $pb.GeneratedMessage { + factory LogBucket({ + $core.String? name, + $core.String? description, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $core.bool? locked, + $core.int? retentionDays, + LifecycleState? lifecycleState, + $core.bool? analyticsEnabled, + $core.Iterable<$core.String>? restrictedFields, + $core.Iterable? indexConfigs, + CmekSettings? cmekSettings, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (description != null) { + $result.description = description; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (locked != null) { + $result.locked = locked; + } + if (retentionDays != null) { + $result.retentionDays = retentionDays; + } + if (lifecycleState != null) { + $result.lifecycleState = lifecycleState; + } + if (analyticsEnabled != null) { + $result.analyticsEnabled = analyticsEnabled; + } + if (restrictedFields != null) { + $result.restrictedFields.addAll(restrictedFields); + } + if (indexConfigs != null) { + $result.indexConfigs.addAll(indexConfigs); + } + if (cmekSettings != null) { + $result.cmekSettings = cmekSettings; + } + return $result; + } + LogBucket._() : super(); + factory LogBucket.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogBucket.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogBucket', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOB(9, _omitFieldNames ? '' : 'locked') + ..a<$core.int>( + 11, _omitFieldNames ? '' : 'retentionDays', $pb.PbFieldType.O3) + ..e( + 12, _omitFieldNames ? '' : 'lifecycleState', $pb.PbFieldType.OE, + defaultOrMaker: LifecycleState.LIFECYCLE_STATE_UNSPECIFIED, + valueOf: LifecycleState.valueOf, + enumValues: LifecycleState.values) + ..aOB(14, _omitFieldNames ? '' : 'analyticsEnabled') + ..pPS(15, _omitFieldNames ? '' : 'restrictedFields') + ..pc( + 17, _omitFieldNames ? '' : 'indexConfigs', $pb.PbFieldType.PM, + subBuilder: IndexConfig.create) + ..aOM(19, _omitFieldNames ? '' : 'cmekSettings', + subBuilder: CmekSettings.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogBucket clone() => LogBucket()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogBucket copyWith(void Function(LogBucket) updates) => + super.copyWith((message) => updates(message as LogBucket)) as LogBucket; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogBucket create() => LogBucket._(); + LogBucket createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogBucket getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogBucket? _defaultInstance; + + /// Output only. The resource name of the bucket. + /// + /// For example: + /// + /// `projects/my-project/locations/global/buckets/my-bucket` + /// + /// For a list of supported locations, see [Supported + /// Regions](https://cloud.google.com/logging/docs/region-support) + /// + /// For the location of `global` it is unspecified where log entries are + /// actually stored. + /// + /// After a bucket has been created, the location cannot be changed. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Describes this bucket. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(1); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(1); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// Output only. The creation timestamp of the bucket. This is not set for any + /// of the default buckets. + @$pb.TagNumber(4) + $50.Timestamp get createTime => $_getN(2); + @$pb.TagNumber(4) + set createTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasCreateTime() => $_has(2); + @$pb.TagNumber(4) + void clearCreateTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureCreateTime() => $_ensure(2); + + /// Output only. The last update timestamp of the bucket. + @$pb.TagNumber(5) + $50.Timestamp get updateTime => $_getN(3); + @$pb.TagNumber(5) + set updateTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasUpdateTime() => $_has(3); + @$pb.TagNumber(5) + void clearUpdateTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureUpdateTime() => $_ensure(3); + + /// Whether the bucket is locked. + /// + /// The retention period on a locked bucket cannot be changed. Locked buckets + /// may only be deleted if they are empty. + @$pb.TagNumber(9) + $core.bool get locked => $_getBF(4); + @$pb.TagNumber(9) + set locked($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(9) + $core.bool hasLocked() => $_has(4); + @$pb.TagNumber(9) + void clearLocked() => clearField(9); + + /// Logs will be retained by default for this amount of time, after which they + /// will automatically be deleted. The minimum retention period is 1 day. If + /// this value is set to zero at bucket creation time, the default time of 30 + /// days will be used. + @$pb.TagNumber(11) + $core.int get retentionDays => $_getIZ(5); + @$pb.TagNumber(11) + set retentionDays($core.int v) { + $_setSignedInt32(5, v); + } + + @$pb.TagNumber(11) + $core.bool hasRetentionDays() => $_has(5); + @$pb.TagNumber(11) + void clearRetentionDays() => clearField(11); + + /// Output only. The bucket lifecycle state. + @$pb.TagNumber(12) + LifecycleState get lifecycleState => $_getN(6); + @$pb.TagNumber(12) + set lifecycleState(LifecycleState v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasLifecycleState() => $_has(6); + @$pb.TagNumber(12) + void clearLifecycleState() => clearField(12); + + /// Whether log analytics is enabled for this bucket. + /// + /// Once enabled, log analytics features cannot be disabled. + @$pb.TagNumber(14) + $core.bool get analyticsEnabled => $_getBF(7); + @$pb.TagNumber(14) + set analyticsEnabled($core.bool v) { + $_setBool(7, v); + } + + @$pb.TagNumber(14) + $core.bool hasAnalyticsEnabled() => $_has(7); + @$pb.TagNumber(14) + void clearAnalyticsEnabled() => clearField(14); + + /// Log entry field paths that are denied access in this bucket. + /// + /// The following fields and their children are eligible: `textPayload`, + /// `jsonPayload`, `protoPayload`, `httpRequest`, `labels`, `sourceLocation`. + /// + /// Restricting a repeated field will restrict all values. Adding a parent will + /// block all child fields. (e.g. `foo.bar` will block `foo.bar.baz`) + @$pb.TagNumber(15) + $core.List<$core.String> get restrictedFields => $_getList(8); + + /// A list of indexed fields and related configuration data. + @$pb.TagNumber(17) + $core.List get indexConfigs => $_getList(9); + + /// The CMEK settings of the log bucket. If present, new log entries written to + /// this log bucket are encrypted using the CMEK key provided in this + /// configuration. If a log bucket has CMEK settings, the CMEK settings cannot + /// be disabled later by updating the log bucket. Changing the KMS key is + /// allowed. + @$pb.TagNumber(19) + CmekSettings get cmekSettings => $_getN(10); + @$pb.TagNumber(19) + set cmekSettings(CmekSettings v) { + setField(19, v); + } + + @$pb.TagNumber(19) + $core.bool hasCmekSettings() => $_has(10); + @$pb.TagNumber(19) + void clearCmekSettings() => clearField(19); + @$pb.TagNumber(19) + CmekSettings ensureCmekSettings() => $_ensure(10); +} + +/// Describes a view over log entries in a bucket. +class LogView extends $pb.GeneratedMessage { + factory LogView({ + $core.String? name, + $core.String? description, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $core.String? filter, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (description != null) { + $result.description = description; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (filter != null) { + $result.filter = filter; + } + return $result; + } + LogView._() : super(); + factory LogView.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogView.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogView', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(3, _omitFieldNames ? '' : 'description') + ..aOM<$50.Timestamp>(4, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOS(7, _omitFieldNames ? '' : 'filter') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogView clone() => LogView()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogView copyWith(void Function(LogView) updates) => + super.copyWith((message) => updates(message as LogView)) as LogView; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogView create() => LogView._(); + LogView createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogView getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogView? _defaultInstance; + + /// The resource name of the view. + /// + /// For example: + /// + /// `projects/my-project/locations/global/buckets/my-bucket/views/my-view` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Describes this view. + @$pb.TagNumber(3) + $core.String get description => $_getSZ(1); + @$pb.TagNumber(3) + set description($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasDescription() => $_has(1); + @$pb.TagNumber(3) + void clearDescription() => clearField(3); + + /// Output only. The creation timestamp of the view. + @$pb.TagNumber(4) + $50.Timestamp get createTime => $_getN(2); + @$pb.TagNumber(4) + set createTime($50.Timestamp v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasCreateTime() => $_has(2); + @$pb.TagNumber(4) + void clearCreateTime() => clearField(4); + @$pb.TagNumber(4) + $50.Timestamp ensureCreateTime() => $_ensure(2); + + /// Output only. The last update timestamp of the view. + @$pb.TagNumber(5) + $50.Timestamp get updateTime => $_getN(3); + @$pb.TagNumber(5) + set updateTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasUpdateTime() => $_has(3); + @$pb.TagNumber(5) + void clearUpdateTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureUpdateTime() => $_ensure(3); + + /// Filter that restricts which log entries in a bucket are visible in this + /// view. + /// + /// Filters are restricted to be a logical AND of ==/!= of any of the + /// following: + /// + /// - originating project/folder/organization/billing account. + /// - resource type + /// - log id + /// + /// For example: + /// + /// SOURCE("projects/myproject") AND resource.type = "gce_instance" + /// AND LOG_ID("stdout") + @$pb.TagNumber(7) + $core.String get filter => $_getSZ(4); + @$pb.TagNumber(7) + set filter($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(7) + $core.bool hasFilter() => $_has(4); + @$pb.TagNumber(7) + void clearFilter() => clearField(7); +} + +enum LogSink_Options { bigqueryOptions, notSet } + +/// Describes a sink used to export log entries to one of the following +/// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a +/// Pub/Sub topic or a Cloud Logging log bucket. A logs filter controls which log +/// entries are exported. The sink must be created within a project, +/// organization, billing account, or folder. +class LogSink extends $pb.GeneratedMessage { + factory LogSink({ + $core.String? name, + $core.String? destination, + $core.String? filter, + @$core.Deprecated('This field is deprecated.') + LogSink_VersionFormat? outputVersionFormat, + $core.String? writerIdentity, + $core.bool? includeChildren, + BigQueryOptions? bigqueryOptions, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $core.Iterable? exclusions, + $core.String? description, + $core.bool? disabled, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (destination != null) { + $result.destination = destination; + } + if (filter != null) { + $result.filter = filter; + } + if (outputVersionFormat != null) { + // ignore: deprecated_member_use_from_same_package + $result.outputVersionFormat = outputVersionFormat; + } + if (writerIdentity != null) { + $result.writerIdentity = writerIdentity; + } + if (includeChildren != null) { + $result.includeChildren = includeChildren; + } + if (bigqueryOptions != null) { + $result.bigqueryOptions = bigqueryOptions; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (exclusions != null) { + $result.exclusions.addAll(exclusions); + } + if (description != null) { + $result.description = description; + } + if (disabled != null) { + $result.disabled = disabled; + } + return $result; + } + LogSink._() : super(); + factory LogSink.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogSink.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, LogSink_Options> _LogSink_OptionsByTag = { + 12: LogSink_Options.bigqueryOptions, + 0: LogSink_Options.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogSink', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..oo(0, [12]) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(3, _omitFieldNames ? '' : 'destination') + ..aOS(5, _omitFieldNames ? '' : 'filter') + ..e( + 6, _omitFieldNames ? '' : 'outputVersionFormat', $pb.PbFieldType.OE, + defaultOrMaker: LogSink_VersionFormat.VERSION_FORMAT_UNSPECIFIED, + valueOf: LogSink_VersionFormat.valueOf, + enumValues: LogSink_VersionFormat.values) + ..aOS(8, _omitFieldNames ? '' : 'writerIdentity') + ..aOB(9, _omitFieldNames ? '' : 'includeChildren') + ..aOM(12, _omitFieldNames ? '' : 'bigqueryOptions', + subBuilder: BigQueryOptions.create) + ..aOM<$50.Timestamp>(13, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(14, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..pc( + 16, _omitFieldNames ? '' : 'exclusions', $pb.PbFieldType.PM, + subBuilder: LogExclusion.create) + ..aOS(18, _omitFieldNames ? '' : 'description') + ..aOB(19, _omitFieldNames ? '' : 'disabled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogSink clone() => LogSink()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogSink copyWith(void Function(LogSink) updates) => + super.copyWith((message) => updates(message as LogSink)) as LogSink; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogSink create() => LogSink._(); + LogSink createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogSink getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogSink? _defaultInstance; + + LogSink_Options whichOptions() => _LogSink_OptionsByTag[$_whichOneof(0)]!; + void clearOptions() => clearField($_whichOneof(0)); + + /// Required. The client-assigned sink identifier, unique within the project. + /// + /// For example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited + /// to 100 characters and can include only the following characters: upper and + /// lower-case alphanumeric characters, underscores, hyphens, and periods. + /// First character has to be alphanumeric. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The export destination: + /// + /// "storage.googleapis.com/[GCS_BUCKET]" + /// "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + /// "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + /// + /// The sink's `writer_identity`, set when the sink is created, must have + /// permission to write to the destination or else the log entries are not + /// exported. For more information, see + /// [Exporting Logs with + /// Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs). + @$pb.TagNumber(3) + $core.String get destination => $_getSZ(1); + @$pb.TagNumber(3) + set destination($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasDestination() => $_has(1); + @$pb.TagNumber(3) + void clearDestination() => clearField(3); + + /// Optional. An [advanced logs + /// filter](https://cloud.google.com/logging/docs/view/advanced-queries). The + /// only exported log entries are those that are in the resource owning the + /// sink and that match the filter. + /// + /// For example: + /// + /// `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR` + @$pb.TagNumber(5) + $core.String get filter => $_getSZ(2); + @$pb.TagNumber(5) + set filter($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(5) + $core.bool hasFilter() => $_has(2); + @$pb.TagNumber(5) + void clearFilter() => clearField(5); + + /// Deprecated. This field is unused. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + LogSink_VersionFormat get outputVersionFormat => $_getN(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + set outputVersionFormat(LogSink_VersionFormat v) { + setField(6, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + $core.bool hasOutputVersionFormat() => $_has(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + void clearOutputVersionFormat() => clearField(6); + + /// Output only. An IAM identity—a service account or group—under + /// which Cloud Logging writes the exported log entries to the sink's + /// destination. This field is either set by specifying + /// `custom_writer_identity` or set automatically by + /// [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and + /// [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the + /// value of `unique_writer_identity` in those methods. + /// + /// Until you grant this identity write-access to the destination, log entry + /// exports from this sink will fail. For more information, see [Granting + /// Access for a + /// Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). + /// Consult the destination service's documentation to determine the + /// appropriate IAM roles to assign to the identity. + /// + /// Sinks that have a destination that is a log bucket in the same project as + /// the sink cannot have a writer_identity and no additional permissions are + /// required. + @$pb.TagNumber(8) + $core.String get writerIdentity => $_getSZ(4); + @$pb.TagNumber(8) + set writerIdentity($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(8) + $core.bool hasWriterIdentity() => $_has(4); + @$pb.TagNumber(8) + void clearWriterIdentity() => clearField(8); + + /// Optional. This field applies only to sinks owned by organizations and + /// folders. If the field is false, the default, only the logs owned by the + /// sink's parent resource are available for export. If the field is true, then + /// log entries from all the projects, folders, and billing accounts contained + /// in the sink's parent resource are also available for export. Whether a + /// particular log entry from the children is exported depends on the sink's + /// filter expression. + /// + /// For example, if this field is true, then the filter + /// `resource.type=gce_instance` would export all Compute Engine VM instance + /// log entries from all projects in the sink's parent. + /// + /// To only export entries from certain child projects, filter on the project + /// part of the log name: + /// + /// logName:("projects/test-project1/" OR "projects/test-project2/") AND + /// resource.type=gce_instance + @$pb.TagNumber(9) + $core.bool get includeChildren => $_getBF(5); + @$pb.TagNumber(9) + set includeChildren($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(9) + $core.bool hasIncludeChildren() => $_has(5); + @$pb.TagNumber(9) + void clearIncludeChildren() => clearField(9); + + /// Optional. Options that affect sinks exporting data to BigQuery. + @$pb.TagNumber(12) + BigQueryOptions get bigqueryOptions => $_getN(6); + @$pb.TagNumber(12) + set bigqueryOptions(BigQueryOptions v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasBigqueryOptions() => $_has(6); + @$pb.TagNumber(12) + void clearBigqueryOptions() => clearField(12); + @$pb.TagNumber(12) + BigQueryOptions ensureBigqueryOptions() => $_ensure(6); + + /// Output only. The creation timestamp of the sink. + /// + /// This field may not be present for older sinks. + @$pb.TagNumber(13) + $50.Timestamp get createTime => $_getN(7); + @$pb.TagNumber(13) + set createTime($50.Timestamp v) { + setField(13, v); + } + + @$pb.TagNumber(13) + $core.bool hasCreateTime() => $_has(7); + @$pb.TagNumber(13) + void clearCreateTime() => clearField(13); + @$pb.TagNumber(13) + $50.Timestamp ensureCreateTime() => $_ensure(7); + + /// Output only. The last update timestamp of the sink. + /// + /// This field may not be present for older sinks. + @$pb.TagNumber(14) + $50.Timestamp get updateTime => $_getN(8); + @$pb.TagNumber(14) + set updateTime($50.Timestamp v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasUpdateTime() => $_has(8); + @$pb.TagNumber(14) + void clearUpdateTime() => clearField(14); + @$pb.TagNumber(14) + $50.Timestamp ensureUpdateTime() => $_ensure(8); + + /// Optional. Log entries that match any of these exclusion filters will not be + /// exported. + /// + /// If a log entry is matched by both `filter` and one of `exclusion_filters` + /// it will not be exported. + @$pb.TagNumber(16) + $core.List get exclusions => $_getList(9); + + /// Optional. A description of this sink. + /// + /// The maximum length of the description is 8000 characters. + @$pb.TagNumber(18) + $core.String get description => $_getSZ(10); + @$pb.TagNumber(18) + set description($core.String v) { + $_setString(10, v); + } + + @$pb.TagNumber(18) + $core.bool hasDescription() => $_has(10); + @$pb.TagNumber(18) + void clearDescription() => clearField(18); + + /// Optional. If set to true, then this sink is disabled and it does not export + /// any log entries. + @$pb.TagNumber(19) + $core.bool get disabled => $_getBF(11); + @$pb.TagNumber(19) + set disabled($core.bool v) { + $_setBool(11, v); + } + + @$pb.TagNumber(19) + $core.bool hasDisabled() => $_has(11); + @$pb.TagNumber(19) + void clearDisabled() => clearField(19); +} + +/// Describes a BigQuery dataset that was created by a link. +class BigQueryDataset extends $pb.GeneratedMessage { + factory BigQueryDataset({ + $core.String? datasetId, + }) { + final $result = create(); + if (datasetId != null) { + $result.datasetId = datasetId; + } + return $result; + } + BigQueryDataset._() : super(); + factory BigQueryDataset.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BigQueryDataset.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BigQueryDataset', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'datasetId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BigQueryDataset clone() => BigQueryDataset()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BigQueryDataset copyWith(void Function(BigQueryDataset) updates) => + super.copyWith((message) => updates(message as BigQueryDataset)) + as BigQueryDataset; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BigQueryDataset create() => BigQueryDataset._(); + BigQueryDataset createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BigQueryDataset getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BigQueryDataset? _defaultInstance; + + /// Output only. The full resource name of the BigQuery dataset. The DATASET_ID + /// will match the ID of the link, so the link must match the naming + /// restrictions of BigQuery datasets (alphanumeric characters and underscores + /// only). + /// + /// The dataset will have a resource path of + /// "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]" + @$pb.TagNumber(1) + $core.String get datasetId => $_getSZ(0); + @$pb.TagNumber(1) + set datasetId($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDatasetId() => $_has(0); + @$pb.TagNumber(1) + void clearDatasetId() => clearField(1); +} + +/// Describes a link connected to an analytics enabled bucket. +class Link extends $pb.GeneratedMessage { + factory Link({ + $core.String? name, + $core.String? description, + $50.Timestamp? createTime, + LifecycleState? lifecycleState, + BigQueryDataset? bigqueryDataset, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (description != null) { + $result.description = description; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (lifecycleState != null) { + $result.lifecycleState = lifecycleState; + } + if (bigqueryDataset != null) { + $result.bigqueryDataset = bigqueryDataset; + } + return $result; + } + Link._() : super(); + factory Link.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Link.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Link', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'description') + ..aOM<$50.Timestamp>(3, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..e( + 4, _omitFieldNames ? '' : 'lifecycleState', $pb.PbFieldType.OE, + defaultOrMaker: LifecycleState.LIFECYCLE_STATE_UNSPECIFIED, + valueOf: LifecycleState.valueOf, + enumValues: LifecycleState.values) + ..aOM(5, _omitFieldNames ? '' : 'bigqueryDataset', + subBuilder: BigQueryDataset.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Link clone() => Link()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Link copyWith(void Function(Link) updates) => + super.copyWith((message) => updates(message as Link)) as Link; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Link create() => Link._(); + Link createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Link getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Link? _defaultInstance; + + /// The resource name of the link. The name can have up to 100 characters. + /// A valid link id (at the end of the link name) must only have alphanumeric + /// characters and underscores within it. + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// + /// For example: + /// + /// `projects/my-project/locations/global/buckets/my-bucket/links/my_link + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Describes this link. + /// + /// The maximum length of the description is 8000 characters. + @$pb.TagNumber(2) + $core.String get description => $_getSZ(1); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(1); + @$pb.TagNumber(2) + void clearDescription() => clearField(2); + + /// Output only. The creation timestamp of the link. + @$pb.TagNumber(3) + $50.Timestamp get createTime => $_getN(2); + @$pb.TagNumber(3) + set createTime($50.Timestamp v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasCreateTime() => $_has(2); + @$pb.TagNumber(3) + void clearCreateTime() => clearField(3); + @$pb.TagNumber(3) + $50.Timestamp ensureCreateTime() => $_ensure(2); + + /// Output only. The resource lifecycle state. + @$pb.TagNumber(4) + LifecycleState get lifecycleState => $_getN(3); + @$pb.TagNumber(4) + set lifecycleState(LifecycleState v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasLifecycleState() => $_has(3); + @$pb.TagNumber(4) + void clearLifecycleState() => clearField(4); + + /// The information of a BigQuery Dataset. When a link is created, a BigQuery + /// dataset is created along with it, in the same project as the LogBucket it's + /// linked to. This dataset will also have BigQuery Views corresponding to the + /// LogViews in the bucket. + @$pb.TagNumber(5) + BigQueryDataset get bigqueryDataset => $_getN(4); + @$pb.TagNumber(5) + set bigqueryDataset(BigQueryDataset v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasBigqueryDataset() => $_has(4); + @$pb.TagNumber(5) + void clearBigqueryDataset() => clearField(5); + @$pb.TagNumber(5) + BigQueryDataset ensureBigqueryDataset() => $_ensure(4); +} + +/// Options that change functionality of a sink exporting data to BigQuery. +class BigQueryOptions extends $pb.GeneratedMessage { + factory BigQueryOptions({ + $core.bool? usePartitionedTables, + $core.bool? usesTimestampColumnPartitioning, + }) { + final $result = create(); + if (usePartitionedTables != null) { + $result.usePartitionedTables = usePartitionedTables; + } + if (usesTimestampColumnPartitioning != null) { + $result.usesTimestampColumnPartitioning = usesTimestampColumnPartitioning; + } + return $result; + } + BigQueryOptions._() : super(); + factory BigQueryOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BigQueryOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BigQueryOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'usePartitionedTables') + ..aOB(3, _omitFieldNames ? '' : 'usesTimestampColumnPartitioning') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BigQueryOptions clone() => BigQueryOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BigQueryOptions copyWith(void Function(BigQueryOptions) updates) => + super.copyWith((message) => updates(message as BigQueryOptions)) + as BigQueryOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BigQueryOptions create() => BigQueryOptions._(); + BigQueryOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BigQueryOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BigQueryOptions? _defaultInstance; + + /// Optional. Whether to use [BigQuery's partition + /// tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By + /// default, Cloud Logging creates dated tables based on the log entries' + /// timestamps, e.g. syslog_20170523. With partitioned tables the date suffix + /// is no longer present and [special query + /// syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables) + /// has to be used instead. In both cases, tables are sharded based on UTC + /// timezone. + @$pb.TagNumber(1) + $core.bool get usePartitionedTables => $_getBF(0); + @$pb.TagNumber(1) + set usePartitionedTables($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasUsePartitionedTables() => $_has(0); + @$pb.TagNumber(1) + void clearUsePartitionedTables() => clearField(1); + + /// Output only. True if new timestamp column based partitioning is in use, + /// false if legacy ingestion-time partitioning is in use. + /// + /// All new sinks will have this field set true and will use timestamp column + /// based partitioning. If use_partitioned_tables is false, this value has no + /// meaning and will be false. Legacy sinks using partitioned tables will have + /// this field set to false. + @$pb.TagNumber(3) + $core.bool get usesTimestampColumnPartitioning => $_getBF(1); + @$pb.TagNumber(3) + set usesTimestampColumnPartitioning($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasUsesTimestampColumnPartitioning() => $_has(1); + @$pb.TagNumber(3) + void clearUsesTimestampColumnPartitioning() => clearField(3); +} + +/// The parameters to `ListBuckets`. +class ListBucketsRequest extends $pb.GeneratedMessage { + factory ListBucketsRequest({ + $core.String? parent, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListBucketsRequest._() : super(); + factory ListBucketsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListBucketsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListBucketsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListBucketsRequest clone() => ListBucketsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListBucketsRequest copyWith(void Function(ListBucketsRequest) updates) => + super.copyWith((message) => updates(message as ListBucketsRequest)) + as ListBucketsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListBucketsRequest create() => ListBucketsRequest._(); + ListBucketsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListBucketsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListBucketsRequest? _defaultInstance; + + /// Required. The parent resource whose buckets are to be listed: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]" + /// + /// Note: The locations portion of the resource must be specified, but + /// supplying the character `-` in place of [LOCATION_ID] will return all + /// buckets. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// Optional. The maximum number of results to return from this request. + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// The response from ListBuckets. +class ListBucketsResponse extends $pb.GeneratedMessage { + factory ListBucketsResponse({ + $core.Iterable? buckets, + $core.String? nextPageToken, + }) { + final $result = create(); + if (buckets != null) { + $result.buckets.addAll(buckets); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListBucketsResponse._() : super(); + factory ListBucketsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListBucketsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListBucketsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'buckets', $pb.PbFieldType.PM, + subBuilder: LogBucket.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListBucketsResponse clone() => ListBucketsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListBucketsResponse copyWith(void Function(ListBucketsResponse) updates) => + super.copyWith((message) => updates(message as ListBucketsResponse)) + as ListBucketsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListBucketsResponse create() => ListBucketsResponse._(); + ListBucketsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListBucketsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListBucketsResponse? _defaultInstance; + + /// A list of buckets. + @$pb.TagNumber(1) + $core.List get buckets => $_getList(0); + + /// If there might be more results than appear in this response, then + /// `nextPageToken` is included. To get the next set of results, call the same + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to `CreateBucket`. +class CreateBucketRequest extends $pb.GeneratedMessage { + factory CreateBucketRequest({ + $core.String? parent, + $core.String? bucketId, + LogBucket? bucket, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (bucketId != null) { + $result.bucketId = bucketId; + } + if (bucket != null) { + $result.bucket = bucket; + } + return $result; + } + CreateBucketRequest._() : super(); + factory CreateBucketRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateBucketRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateBucketRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'bucketId') + ..aOM(3, _omitFieldNames ? '' : 'bucket', + subBuilder: LogBucket.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateBucketRequest clone() => CreateBucketRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateBucketRequest copyWith(void Function(CreateBucketRequest) updates) => + super.copyWith((message) => updates(message as CreateBucketRequest)) + as CreateBucketRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateBucketRequest create() => CreateBucketRequest._(); + CreateBucketRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateBucketRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateBucketRequest? _defaultInstance; + + /// Required. The resource in which to create the log bucket: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global"` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. A client-assigned identifier such as `"my-bucket"`. Identifiers + /// are limited to 100 characters and can include only letters, digits, + /// underscores, hyphens, and periods. + @$pb.TagNumber(2) + $core.String get bucketId => $_getSZ(1); + @$pb.TagNumber(2) + set bucketId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasBucketId() => $_has(1); + @$pb.TagNumber(2) + void clearBucketId() => clearField(2); + + /// Required. The new bucket. The region specified in the new bucket must be + /// compliant with any Location Restriction Org Policy. The name field in the + /// bucket is ignored. + @$pb.TagNumber(3) + LogBucket get bucket => $_getN(2); + @$pb.TagNumber(3) + set bucket(LogBucket v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasBucket() => $_has(2); + @$pb.TagNumber(3) + void clearBucket() => clearField(3); + @$pb.TagNumber(3) + LogBucket ensureBucket() => $_ensure(2); +} + +/// The parameters to `UpdateBucket`. +class UpdateBucketRequest extends $pb.GeneratedMessage { + factory UpdateBucketRequest({ + $core.String? name, + LogBucket? bucket, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (bucket != null) { + $result.bucket = bucket; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateBucketRequest._() : super(); + factory UpdateBucketRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateBucketRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateBucketRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'bucket', + subBuilder: LogBucket.create) + ..aOM<$58.FieldMask>(4, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateBucketRequest clone() => UpdateBucketRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateBucketRequest copyWith(void Function(UpdateBucketRequest) updates) => + super.copyWith((message) => updates(message as UpdateBucketRequest)) + as UpdateBucketRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateBucketRequest create() => UpdateBucketRequest._(); + UpdateBucketRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateBucketRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateBucketRequest? _defaultInstance; + + /// Required. The full resource name of the bucket to update. + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The updated bucket. + @$pb.TagNumber(2) + LogBucket get bucket => $_getN(1); + @$pb.TagNumber(2) + set bucket(LogBucket v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasBucket() => $_has(1); + @$pb.TagNumber(2) + void clearBucket() => clearField(2); + @$pb.TagNumber(2) + LogBucket ensureBucket() => $_ensure(1); + + /// Required. Field mask that specifies the fields in `bucket` that need an + /// update. A bucket field will be overwritten if, and only if, it is in the + /// update mask. `name` and output only fields cannot be updated. + /// + /// For a detailed `FieldMask` definition, see: + /// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + /// + /// For example: `updateMask=retention_days` + @$pb.TagNumber(4) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(4) + set updateMask($58.FieldMask v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(4) + void clearUpdateMask() => clearField(4); + @$pb.TagNumber(4) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// The parameters to `GetBucket`. +class GetBucketRequest extends $pb.GeneratedMessage { + factory GetBucketRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetBucketRequest._() : super(); + factory GetBucketRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetBucketRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetBucketRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBucketRequest clone() => GetBucketRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBucketRequest copyWith(void Function(GetBucketRequest) updates) => + super.copyWith((message) => updates(message as GetBucketRequest)) + as GetBucketRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBucketRequest create() => GetBucketRequest._(); + GetBucketRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetBucketRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetBucketRequest? _defaultInstance; + + /// Required. The resource name of the bucket: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to `DeleteBucket`. +class DeleteBucketRequest extends $pb.GeneratedMessage { + factory DeleteBucketRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteBucketRequest._() : super(); + factory DeleteBucketRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteBucketRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteBucketRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteBucketRequest clone() => DeleteBucketRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteBucketRequest copyWith(void Function(DeleteBucketRequest) updates) => + super.copyWith((message) => updates(message as DeleteBucketRequest)) + as DeleteBucketRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteBucketRequest create() => DeleteBucketRequest._(); + DeleteBucketRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteBucketRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteBucketRequest? _defaultInstance; + + /// Required. The full resource name of the bucket to delete. + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to `UndeleteBucket`. +class UndeleteBucketRequest extends $pb.GeneratedMessage { + factory UndeleteBucketRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + UndeleteBucketRequest._() : super(); + factory UndeleteBucketRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UndeleteBucketRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UndeleteBucketRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UndeleteBucketRequest clone() => + UndeleteBucketRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UndeleteBucketRequest copyWith( + void Function(UndeleteBucketRequest) updates) => + super.copyWith((message) => updates(message as UndeleteBucketRequest)) + as UndeleteBucketRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UndeleteBucketRequest create() => UndeleteBucketRequest._(); + UndeleteBucketRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UndeleteBucketRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UndeleteBucketRequest? _defaultInstance; + + /// Required. The full resource name of the bucket to undelete. + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to `ListViews`. +class ListViewsRequest extends $pb.GeneratedMessage { + factory ListViewsRequest({ + $core.String? parent, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListViewsRequest._() : super(); + factory ListViewsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListViewsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListViewsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListViewsRequest clone() => ListViewsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListViewsRequest copyWith(void Function(ListViewsRequest) updates) => + super.copyWith((message) => updates(message as ListViewsRequest)) + as ListViewsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListViewsRequest create() => ListViewsRequest._(); + ListViewsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListViewsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListViewsRequest? _defaultInstance; + + /// Required. The bucket whose views are to be listed: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// Optional. The maximum number of results to return from this request. + /// + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// The response from ListViews. +class ListViewsResponse extends $pb.GeneratedMessage { + factory ListViewsResponse({ + $core.Iterable? views, + $core.String? nextPageToken, + }) { + final $result = create(); + if (views != null) { + $result.views.addAll(views); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListViewsResponse._() : super(); + factory ListViewsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListViewsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListViewsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'views', $pb.PbFieldType.PM, + subBuilder: LogView.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListViewsResponse clone() => ListViewsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListViewsResponse copyWith(void Function(ListViewsResponse) updates) => + super.copyWith((message) => updates(message as ListViewsResponse)) + as ListViewsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListViewsResponse create() => ListViewsResponse._(); + ListViewsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListViewsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListViewsResponse? _defaultInstance; + + /// A list of views. + @$pb.TagNumber(1) + $core.List get views => $_getList(0); + + /// If there might be more results than appear in this response, then + /// `nextPageToken` is included. To get the next set of results, call the same + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to `CreateView`. +class CreateViewRequest extends $pb.GeneratedMessage { + factory CreateViewRequest({ + $core.String? parent, + $core.String? viewId, + LogView? view, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (viewId != null) { + $result.viewId = viewId; + } + if (view != null) { + $result.view = view; + } + return $result; + } + CreateViewRequest._() : super(); + factory CreateViewRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateViewRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateViewRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'viewId') + ..aOM(3, _omitFieldNames ? '' : 'view', subBuilder: LogView.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateViewRequest clone() => CreateViewRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateViewRequest copyWith(void Function(CreateViewRequest) updates) => + super.copyWith((message) => updates(message as CreateViewRequest)) + as CreateViewRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateViewRequest create() => CreateViewRequest._(); + CreateViewRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateViewRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateViewRequest? _defaultInstance; + + /// Required. The bucket in which to create the view + /// + /// `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"` + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket"` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. A client-assigned identifier such as `"my-view"`. Identifiers are + /// limited to 100 characters and can include only letters, digits, + /// underscores, hyphens, and periods. + @$pb.TagNumber(2) + $core.String get viewId => $_getSZ(1); + @$pb.TagNumber(2) + set viewId($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasViewId() => $_has(1); + @$pb.TagNumber(2) + void clearViewId() => clearField(2); + + /// Required. The new view. + @$pb.TagNumber(3) + LogView get view => $_getN(2); + @$pb.TagNumber(3) + set view(LogView v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasView() => $_has(2); + @$pb.TagNumber(3) + void clearView() => clearField(3); + @$pb.TagNumber(3) + LogView ensureView() => $_ensure(2); +} + +/// The parameters to `UpdateView`. +class UpdateViewRequest extends $pb.GeneratedMessage { + factory UpdateViewRequest({ + $core.String? name, + LogView? view, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (view != null) { + $result.view = view; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateViewRequest._() : super(); + factory UpdateViewRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateViewRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateViewRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'view', subBuilder: LogView.create) + ..aOM<$58.FieldMask>(4, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateViewRequest clone() => UpdateViewRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateViewRequest copyWith(void Function(UpdateViewRequest) updates) => + super.copyWith((message) => updates(message as UpdateViewRequest)) + as UpdateViewRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateViewRequest create() => UpdateViewRequest._(); + UpdateViewRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateViewRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateViewRequest? _defaultInstance; + + /// Required. The full resource name of the view to update + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The updated view. + @$pb.TagNumber(2) + LogView get view => $_getN(1); + @$pb.TagNumber(2) + set view(LogView v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasView() => $_has(1); + @$pb.TagNumber(2) + void clearView() => clearField(2); + @$pb.TagNumber(2) + LogView ensureView() => $_ensure(1); + + /// Optional. Field mask that specifies the fields in `view` that need + /// an update. A field will be overwritten if, and only if, it is + /// in the update mask. `name` and output only fields cannot be updated. + /// + /// For a detailed `FieldMask` definition, see + /// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + /// + /// For example: `updateMask=filter` + @$pb.TagNumber(4) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(4) + set updateMask($58.FieldMask v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(4) + void clearUpdateMask() => clearField(4); + @$pb.TagNumber(4) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// The parameters to `GetView`. +class GetViewRequest extends $pb.GeneratedMessage { + factory GetViewRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetViewRequest._() : super(); + factory GetViewRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetViewRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetViewRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetViewRequest clone() => GetViewRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetViewRequest copyWith(void Function(GetViewRequest) updates) => + super.copyWith((message) => updates(message as GetViewRequest)) + as GetViewRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetViewRequest create() => GetViewRequest._(); + GetViewRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetViewRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetViewRequest? _defaultInstance; + + /// Required. The resource name of the policy: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to `DeleteView`. +class DeleteViewRequest extends $pb.GeneratedMessage { + factory DeleteViewRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteViewRequest._() : super(); + factory DeleteViewRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteViewRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteViewRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteViewRequest clone() => DeleteViewRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteViewRequest copyWith(void Function(DeleteViewRequest) updates) => + super.copyWith((message) => updates(message as DeleteViewRequest)) + as DeleteViewRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteViewRequest create() => DeleteViewRequest._(); + DeleteViewRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteViewRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteViewRequest? _defaultInstance; + + /// Required. The full resource name of the view to delete: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to `ListSinks`. +class ListSinksRequest extends $pb.GeneratedMessage { + factory ListSinksRequest({ + $core.String? parent, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListSinksRequest._() : super(); + factory ListSinksRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListSinksRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListSinksRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListSinksRequest clone() => ListSinksRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListSinksRequest copyWith(void Function(ListSinksRequest) updates) => + super.copyWith((message) => updates(message as ListSinksRequest)) + as ListSinksRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListSinksRequest create() => ListSinksRequest._(); + ListSinksRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListSinksRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListSinksRequest? _defaultInstance; + + /// Required. The parent resource whose sinks are to be listed: + /// + /// "projects/[PROJECT_ID]" + /// "organizations/[ORGANIZATION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]" + /// "folders/[FOLDER_ID]" + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// Optional. The maximum number of results to return from this request. + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// Result returned from `ListSinks`. +class ListSinksResponse extends $pb.GeneratedMessage { + factory ListSinksResponse({ + $core.Iterable? sinks, + $core.String? nextPageToken, + }) { + final $result = create(); + if (sinks != null) { + $result.sinks.addAll(sinks); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListSinksResponse._() : super(); + factory ListSinksResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListSinksResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListSinksResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'sinks', $pb.PbFieldType.PM, + subBuilder: LogSink.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListSinksResponse clone() => ListSinksResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListSinksResponse copyWith(void Function(ListSinksResponse) updates) => + super.copyWith((message) => updates(message as ListSinksResponse)) + as ListSinksResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListSinksResponse create() => ListSinksResponse._(); + ListSinksResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListSinksResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListSinksResponse? _defaultInstance; + + /// A list of sinks. + @$pb.TagNumber(1) + $core.List get sinks => $_getList(0); + + /// If there might be more results than appear in this response, then + /// `nextPageToken` is included. To get the next set of results, call the same + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to `GetSink`. +class GetSinkRequest extends $pb.GeneratedMessage { + factory GetSinkRequest({ + $core.String? sinkName, + }) { + final $result = create(); + if (sinkName != null) { + $result.sinkName = sinkName; + } + return $result; + } + GetSinkRequest._() : super(); + factory GetSinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetSinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetSinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sinkName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSinkRequest clone() => GetSinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSinkRequest copyWith(void Function(GetSinkRequest) updates) => + super.copyWith((message) => updates(message as GetSinkRequest)) + as GetSinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSinkRequest create() => GetSinkRequest._(); + GetSinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetSinkRequest? _defaultInstance; + + /// Required. The resource name of the sink: + /// + /// "projects/[PROJECT_ID]/sinks/[SINK_ID]" + /// "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + /// "folders/[FOLDER_ID]/sinks/[SINK_ID]" + /// + /// For example: + /// + /// `"projects/my-project/sinks/my-sink"` + @$pb.TagNumber(1) + $core.String get sinkName => $_getSZ(0); + @$pb.TagNumber(1) + set sinkName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSinkName() => $_has(0); + @$pb.TagNumber(1) + void clearSinkName() => clearField(1); +} + +/// The parameters to `CreateSink`. +class CreateSinkRequest extends $pb.GeneratedMessage { + factory CreateSinkRequest({ + $core.String? parent, + LogSink? sink, + $core.bool? uniqueWriterIdentity, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (sink != null) { + $result.sink = sink; + } + if (uniqueWriterIdentity != null) { + $result.uniqueWriterIdentity = uniqueWriterIdentity; + } + return $result; + } + CreateSinkRequest._() : super(); + factory CreateSinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateSinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateSinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM(2, _omitFieldNames ? '' : 'sink', subBuilder: LogSink.create) + ..aOB(3, _omitFieldNames ? '' : 'uniqueWriterIdentity') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateSinkRequest clone() => CreateSinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateSinkRequest copyWith(void Function(CreateSinkRequest) updates) => + super.copyWith((message) => updates(message as CreateSinkRequest)) + as CreateSinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateSinkRequest create() => CreateSinkRequest._(); + CreateSinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateSinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateSinkRequest? _defaultInstance; + + /// Required. The resource in which to create the sink: + /// + /// "projects/[PROJECT_ID]" + /// "organizations/[ORGANIZATION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]" + /// "folders/[FOLDER_ID]" + /// + /// For examples: + /// + /// `"projects/my-project"` + /// `"organizations/123456789"` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The new sink, whose `name` parameter is a sink identifier that + /// is not already in use. + @$pb.TagNumber(2) + LogSink get sink => $_getN(1); + @$pb.TagNumber(2) + set sink(LogSink v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasSink() => $_has(1); + @$pb.TagNumber(2) + void clearSink() => clearField(2); + @$pb.TagNumber(2) + LogSink ensureSink() => $_ensure(1); + + /// Optional. Determines the kind of IAM identity returned as `writer_identity` + /// in the new sink. If this value is omitted or set to false, and if the + /// sink's parent is a project, then the value returned as `writer_identity` is + /// the same group or service account used by Cloud Logging before the addition + /// of writer identities to this API. The sink's destination must be in the + /// same project as the sink itself. + /// + /// If this field is set to true, or if the sink is owned by a non-project + /// resource such as an organization, then the value of `writer_identity` will + /// be a unique service account used only for exports from the new sink. For + /// more information, see `writer_identity` in + /// [LogSink][google.logging.v2.LogSink]. + @$pb.TagNumber(3) + $core.bool get uniqueWriterIdentity => $_getBF(2); + @$pb.TagNumber(3) + set uniqueWriterIdentity($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasUniqueWriterIdentity() => $_has(2); + @$pb.TagNumber(3) + void clearUniqueWriterIdentity() => clearField(3); +} + +/// The parameters to `UpdateSink`. +class UpdateSinkRequest extends $pb.GeneratedMessage { + factory UpdateSinkRequest({ + $core.String? sinkName, + LogSink? sink, + $core.bool? uniqueWriterIdentity, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (sinkName != null) { + $result.sinkName = sinkName; + } + if (sink != null) { + $result.sink = sink; + } + if (uniqueWriterIdentity != null) { + $result.uniqueWriterIdentity = uniqueWriterIdentity; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateSinkRequest._() : super(); + factory UpdateSinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateSinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateSinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sinkName') + ..aOM(2, _omitFieldNames ? '' : 'sink', subBuilder: LogSink.create) + ..aOB(3, _omitFieldNames ? '' : 'uniqueWriterIdentity') + ..aOM<$58.FieldMask>(4, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateSinkRequest clone() => UpdateSinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateSinkRequest copyWith(void Function(UpdateSinkRequest) updates) => + super.copyWith((message) => updates(message as UpdateSinkRequest)) + as UpdateSinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateSinkRequest create() => UpdateSinkRequest._(); + UpdateSinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateSinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateSinkRequest? _defaultInstance; + + /// Required. The full resource name of the sink to update, including the + /// parent resource and the sink identifier: + /// + /// "projects/[PROJECT_ID]/sinks/[SINK_ID]" + /// "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + /// "folders/[FOLDER_ID]/sinks/[SINK_ID]" + /// + /// For example: + /// + /// `"projects/my-project/sinks/my-sink"` + @$pb.TagNumber(1) + $core.String get sinkName => $_getSZ(0); + @$pb.TagNumber(1) + set sinkName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSinkName() => $_has(0); + @$pb.TagNumber(1) + void clearSinkName() => clearField(1); + + /// Required. The updated sink, whose name is the same identifier that appears + /// as part of `sink_name`. + @$pb.TagNumber(2) + LogSink get sink => $_getN(1); + @$pb.TagNumber(2) + set sink(LogSink v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasSink() => $_has(1); + @$pb.TagNumber(2) + void clearSink() => clearField(2); + @$pb.TagNumber(2) + LogSink ensureSink() => $_ensure(1); + + /// Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] + /// for a description of this field. When updating a sink, the effect of this + /// field on the value of `writer_identity` in the updated sink depends on both + /// the old and new values of this field: + /// + /// + If the old and new values of this field are both false or both true, + /// then there is no change to the sink's `writer_identity`. + /// + If the old value is false and the new value is true, then + /// `writer_identity` is changed to a unique service account. + /// + It is an error if the old value is true and the new value is + /// set to false or defaulted to false. + @$pb.TagNumber(3) + $core.bool get uniqueWriterIdentity => $_getBF(2); + @$pb.TagNumber(3) + set uniqueWriterIdentity($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasUniqueWriterIdentity() => $_has(2); + @$pb.TagNumber(3) + void clearUniqueWriterIdentity() => clearField(3); + + /// Optional. Field mask that specifies the fields in `sink` that need + /// an update. A sink field will be overwritten if, and only if, it is + /// in the update mask. `name` and output only fields cannot be updated. + /// + /// An empty `updateMask` is temporarily treated as using the following mask + /// for backwards compatibility purposes: + /// + /// `destination,filter,includeChildren` + /// + /// At some point in the future, behavior will be removed and specifying an + /// empty `updateMask` will be an error. + /// + /// For a detailed `FieldMask` definition, see + /// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + /// + /// For example: `updateMask=filter` + @$pb.TagNumber(4) + $58.FieldMask get updateMask => $_getN(3); + @$pb.TagNumber(4) + set updateMask($58.FieldMask v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasUpdateMask() => $_has(3); + @$pb.TagNumber(4) + void clearUpdateMask() => clearField(4); + @$pb.TagNumber(4) + $58.FieldMask ensureUpdateMask() => $_ensure(3); +} + +/// The parameters to `DeleteSink`. +class DeleteSinkRequest extends $pb.GeneratedMessage { + factory DeleteSinkRequest({ + $core.String? sinkName, + }) { + final $result = create(); + if (sinkName != null) { + $result.sinkName = sinkName; + } + return $result; + } + DeleteSinkRequest._() : super(); + factory DeleteSinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteSinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteSinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sinkName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteSinkRequest clone() => DeleteSinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteSinkRequest copyWith(void Function(DeleteSinkRequest) updates) => + super.copyWith((message) => updates(message as DeleteSinkRequest)) + as DeleteSinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteSinkRequest create() => DeleteSinkRequest._(); + DeleteSinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteSinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteSinkRequest? _defaultInstance; + + /// Required. The full resource name of the sink to delete, including the + /// parent resource and the sink identifier: + /// + /// "projects/[PROJECT_ID]/sinks/[SINK_ID]" + /// "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + /// "folders/[FOLDER_ID]/sinks/[SINK_ID]" + /// + /// For example: + /// + /// `"projects/my-project/sinks/my-sink"` + @$pb.TagNumber(1) + $core.String get sinkName => $_getSZ(0); + @$pb.TagNumber(1) + set sinkName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSinkName() => $_has(0); + @$pb.TagNumber(1) + void clearSinkName() => clearField(1); +} + +/// The parameters to CreateLink. +class CreateLinkRequest extends $pb.GeneratedMessage { + factory CreateLinkRequest({ + $core.String? parent, + Link? link, + $core.String? linkId, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (link != null) { + $result.link = link; + } + if (linkId != null) { + $result.linkId = linkId; + } + return $result; + } + CreateLinkRequest._() : super(); + factory CreateLinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateLinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateLinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM(2, _omitFieldNames ? '' : 'link', subBuilder: Link.create) + ..aOS(3, _omitFieldNames ? '' : 'linkId') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateLinkRequest clone() => CreateLinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateLinkRequest copyWith(void Function(CreateLinkRequest) updates) => + super.copyWith((message) => updates(message as CreateLinkRequest)) + as CreateLinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateLinkRequest create() => CreateLinkRequest._(); + CreateLinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateLinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateLinkRequest? _defaultInstance; + + /// Required. The full resource name of the bucket to create a link for. + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The new link. + @$pb.TagNumber(2) + Link get link => $_getN(1); + @$pb.TagNumber(2) + set link(Link v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasLink() => $_has(1); + @$pb.TagNumber(2) + void clearLink() => clearField(2); + @$pb.TagNumber(2) + Link ensureLink() => $_ensure(1); + + /// Required. The ID to use for the link. The link_id can have up to 100 + /// characters. A valid link_id must only have alphanumeric characters and + /// underscores within it. + @$pb.TagNumber(3) + $core.String get linkId => $_getSZ(2); + @$pb.TagNumber(3) + set linkId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLinkId() => $_has(2); + @$pb.TagNumber(3) + void clearLinkId() => clearField(3); +} + +/// The parameters to DeleteLink. +class DeleteLinkRequest extends $pb.GeneratedMessage { + factory DeleteLinkRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteLinkRequest._() : super(); + factory DeleteLinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteLinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteLinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteLinkRequest clone() => DeleteLinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteLinkRequest copyWith(void Function(DeleteLinkRequest) updates) => + super.copyWith((message) => updates(message as DeleteLinkRequest)) + as DeleteLinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteLinkRequest create() => DeleteLinkRequest._(); + DeleteLinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteLinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteLinkRequest? _defaultInstance; + + /// Required. The full resource name of the link to delete. + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to ListLinks. +class ListLinksRequest extends $pb.GeneratedMessage { + factory ListLinksRequest({ + $core.String? parent, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListLinksRequest._() : super(); + factory ListLinksRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLinksRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLinksRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLinksRequest clone() => ListLinksRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLinksRequest copyWith(void Function(ListLinksRequest) updates) => + super.copyWith((message) => updates(message as ListLinksRequest)) + as ListLinksRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLinksRequest create() => ListLinksRequest._(); + ListLinksRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLinksRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLinksRequest? _defaultInstance; + + /// Required. The parent resource whose links are to be listed: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/ + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// Optional. The maximum number of results to return from this request. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// The response from ListLinks. +class ListLinksResponse extends $pb.GeneratedMessage { + factory ListLinksResponse({ + $core.Iterable? links, + $core.String? nextPageToken, + }) { + final $result = create(); + if (links != null) { + $result.links.addAll(links); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListLinksResponse._() : super(); + factory ListLinksResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLinksResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLinksResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'links', $pb.PbFieldType.PM, + subBuilder: Link.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLinksResponse clone() => ListLinksResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLinksResponse copyWith(void Function(ListLinksResponse) updates) => + super.copyWith((message) => updates(message as ListLinksResponse)) + as ListLinksResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLinksResponse create() => ListLinksResponse._(); + ListLinksResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLinksResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLinksResponse? _defaultInstance; + + /// A list of links. + @$pb.TagNumber(1) + $core.List get links => $_getList(0); + + /// If there might be more results than those appearing in this response, then + /// `nextPageToken` is included. To get the next set of results, call the same + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to GetLink. +class GetLinkRequest extends $pb.GeneratedMessage { + factory GetLinkRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetLinkRequest._() : super(); + factory GetLinkRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetLinkRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetLinkRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetLinkRequest clone() => GetLinkRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetLinkRequest copyWith(void Function(GetLinkRequest) updates) => + super.copyWith((message) => updates(message as GetLinkRequest)) + as GetLinkRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetLinkRequest create() => GetLinkRequest._(); + GetLinkRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetLinkRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetLinkRequest? _defaultInstance; + + /// Required. The resource name of the link: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + /// "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID] + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// Specifies a set of log entries that are filtered out by a sink. If +/// your Google Cloud resource receives a large volume of log entries, you can +/// use exclusions to reduce your chargeable logs. Note that exclusions on +/// organization-level and folder-level sinks don't apply to child resources. +/// Note also that you cannot modify the _Required sink or exclude logs from it. +class LogExclusion extends $pb.GeneratedMessage { + factory LogExclusion({ + $core.String? name, + $core.String? description, + $core.String? filter, + $core.bool? disabled, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (description != null) { + $result.description = description; + } + if (filter != null) { + $result.filter = filter; + } + if (disabled != null) { + $result.disabled = disabled; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + return $result; + } + LogExclusion._() : super(); + factory LogExclusion.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogExclusion.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogExclusion', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'description') + ..aOS(3, _omitFieldNames ? '' : 'filter') + ..aOB(4, _omitFieldNames ? '' : 'disabled') + ..aOM<$50.Timestamp>(5, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(6, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogExclusion clone() => LogExclusion()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogExclusion copyWith(void Function(LogExclusion) updates) => + super.copyWith((message) => updates(message as LogExclusion)) + as LogExclusion; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogExclusion create() => LogExclusion._(); + LogExclusion createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogExclusion getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LogExclusion? _defaultInstance; + + /// Required. A client-assigned identifier, such as + /// `"load-balancer-exclusion"`. Identifiers are limited to 100 characters and + /// can include only letters, digits, underscores, hyphens, and periods. First + /// character has to be alphanumeric. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. A description of this exclusion. + @$pb.TagNumber(2) + $core.String get description => $_getSZ(1); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(1); + @$pb.TagNumber(2) + void clearDescription() => clearField(2); + + /// Required. An [advanced logs + /// filter](https://cloud.google.com/logging/docs/view/advanced-queries) that + /// matches the log entries to be excluded. By using the [sample + /// function](https://cloud.google.com/logging/docs/view/advanced-queries#sample), + /// you can exclude less than 100% of the matching log entries. + /// + /// For example, the following query matches 99% of low-severity log entries + /// from Google Cloud Storage buckets: + /// + /// `resource.type=gcs_bucket severity $_getSZ(2); + @$pb.TagNumber(3) + set filter($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFilter() => $_has(2); + @$pb.TagNumber(3) + void clearFilter() => clearField(3); + + /// Optional. If set to True, then this exclusion is disabled and it does not + /// exclude any log entries. You can [update an + /// exclusion][google.logging.v2.ConfigServiceV2.UpdateExclusion] to change the + /// value of this field. + @$pb.TagNumber(4) + $core.bool get disabled => $_getBF(3); + @$pb.TagNumber(4) + set disabled($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasDisabled() => $_has(3); + @$pb.TagNumber(4) + void clearDisabled() => clearField(4); + + /// Output only. The creation timestamp of the exclusion. + /// + /// This field may not be present for older exclusions. + @$pb.TagNumber(5) + $50.Timestamp get createTime => $_getN(4); + @$pb.TagNumber(5) + set createTime($50.Timestamp v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasCreateTime() => $_has(4); + @$pb.TagNumber(5) + void clearCreateTime() => clearField(5); + @$pb.TagNumber(5) + $50.Timestamp ensureCreateTime() => $_ensure(4); + + /// Output only. The last update timestamp of the exclusion. + /// + /// This field may not be present for older exclusions. + @$pb.TagNumber(6) + $50.Timestamp get updateTime => $_getN(5); + @$pb.TagNumber(6) + set updateTime($50.Timestamp v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasUpdateTime() => $_has(5); + @$pb.TagNumber(6) + void clearUpdateTime() => clearField(6); + @$pb.TagNumber(6) + $50.Timestamp ensureUpdateTime() => $_ensure(5); +} + +/// The parameters to `ListExclusions`. +class ListExclusionsRequest extends $pb.GeneratedMessage { + factory ListExclusionsRequest({ + $core.String? parent, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListExclusionsRequest._() : super(); + factory ListExclusionsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListExclusionsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListExclusionsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListExclusionsRequest clone() => + ListExclusionsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListExclusionsRequest copyWith( + void Function(ListExclusionsRequest) updates) => + super.copyWith((message) => updates(message as ListExclusionsRequest)) + as ListExclusionsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListExclusionsRequest create() => ListExclusionsRequest._(); + ListExclusionsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListExclusionsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListExclusionsRequest? _defaultInstance; + + /// Required. The parent resource whose exclusions are to be listed. + /// + /// "projects/[PROJECT_ID]" + /// "organizations/[ORGANIZATION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]" + /// "folders/[FOLDER_ID]" + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// Optional. The maximum number of results to return from this request. + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// Result returned from `ListExclusions`. +class ListExclusionsResponse extends $pb.GeneratedMessage { + factory ListExclusionsResponse({ + $core.Iterable? exclusions, + $core.String? nextPageToken, + }) { + final $result = create(); + if (exclusions != null) { + $result.exclusions.addAll(exclusions); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListExclusionsResponse._() : super(); + factory ListExclusionsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListExclusionsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListExclusionsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'exclusions', $pb.PbFieldType.PM, + subBuilder: LogExclusion.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListExclusionsResponse clone() => + ListExclusionsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListExclusionsResponse copyWith( + void Function(ListExclusionsResponse) updates) => + super.copyWith((message) => updates(message as ListExclusionsResponse)) + as ListExclusionsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListExclusionsResponse create() => ListExclusionsResponse._(); + ListExclusionsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListExclusionsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListExclusionsResponse? _defaultInstance; + + /// A list of exclusions. + @$pb.TagNumber(1) + $core.List get exclusions => $_getList(0); + + /// If there might be more results than appear in this response, then + /// `nextPageToken` is included. To get the next set of results, call the same + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to `GetExclusion`. +class GetExclusionRequest extends $pb.GeneratedMessage { + factory GetExclusionRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetExclusionRequest._() : super(); + factory GetExclusionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetExclusionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetExclusionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetExclusionRequest clone() => GetExclusionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetExclusionRequest copyWith(void Function(GetExclusionRequest) updates) => + super.copyWith((message) => updates(message as GetExclusionRequest)) + as GetExclusionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetExclusionRequest create() => GetExclusionRequest._(); + GetExclusionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetExclusionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetExclusionRequest? _defaultInstance; + + /// Required. The resource name of an existing exclusion: + /// + /// "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + /// "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + /// "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + /// + /// For example: + /// + /// `"projects/my-project/exclusions/my-exclusion"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to `CreateExclusion`. +class CreateExclusionRequest extends $pb.GeneratedMessage { + factory CreateExclusionRequest({ + $core.String? parent, + LogExclusion? exclusion, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (exclusion != null) { + $result.exclusion = exclusion; + } + return $result; + } + CreateExclusionRequest._() : super(); + factory CreateExclusionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateExclusionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateExclusionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM(2, _omitFieldNames ? '' : 'exclusion', + subBuilder: LogExclusion.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateExclusionRequest clone() => + CreateExclusionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateExclusionRequest copyWith( + void Function(CreateExclusionRequest) updates) => + super.copyWith((message) => updates(message as CreateExclusionRequest)) + as CreateExclusionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateExclusionRequest create() => CreateExclusionRequest._(); + CreateExclusionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateExclusionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateExclusionRequest? _defaultInstance; + + /// Required. The parent resource in which to create the exclusion: + /// + /// "projects/[PROJECT_ID]" + /// "organizations/[ORGANIZATION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]" + /// "folders/[FOLDER_ID]" + /// + /// For examples: + /// + /// `"projects/my-logging-project"` + /// `"organizations/123456789"` + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The new exclusion, whose `name` parameter is an exclusion name + /// that is not already used in the parent resource. + @$pb.TagNumber(2) + LogExclusion get exclusion => $_getN(1); + @$pb.TagNumber(2) + set exclusion(LogExclusion v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExclusion() => $_has(1); + @$pb.TagNumber(2) + void clearExclusion() => clearField(2); + @$pb.TagNumber(2) + LogExclusion ensureExclusion() => $_ensure(1); +} + +/// The parameters to `UpdateExclusion`. +class UpdateExclusionRequest extends $pb.GeneratedMessage { + factory UpdateExclusionRequest({ + $core.String? name, + LogExclusion? exclusion, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (exclusion != null) { + $result.exclusion = exclusion; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateExclusionRequest._() : super(); + factory UpdateExclusionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateExclusionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateExclusionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'exclusion', + subBuilder: LogExclusion.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateExclusionRequest clone() => + UpdateExclusionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateExclusionRequest copyWith( + void Function(UpdateExclusionRequest) updates) => + super.copyWith((message) => updates(message as UpdateExclusionRequest)) + as UpdateExclusionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateExclusionRequest create() => UpdateExclusionRequest._(); + UpdateExclusionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateExclusionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateExclusionRequest? _defaultInstance; + + /// Required. The resource name of the exclusion to update: + /// + /// "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + /// "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + /// "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + /// + /// For example: + /// + /// `"projects/my-project/exclusions/my-exclusion"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. New values for the existing exclusion. Only the fields specified + /// in `update_mask` are relevant. + @$pb.TagNumber(2) + LogExclusion get exclusion => $_getN(1); + @$pb.TagNumber(2) + set exclusion(LogExclusion v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasExclusion() => $_has(1); + @$pb.TagNumber(2) + void clearExclusion() => clearField(2); + @$pb.TagNumber(2) + LogExclusion ensureExclusion() => $_ensure(1); + + /// Required. A non-empty list of fields to change in the existing exclusion. + /// New values for the fields are taken from the corresponding fields in the + /// [LogExclusion][google.logging.v2.LogExclusion] included in this request. + /// Fields not mentioned in `update_mask` are not changed and are ignored in + /// the request. + /// + /// For example, to change the filter and description of an exclusion, + /// specify an `update_mask` of `"filter,description"`. + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// The parameters to `DeleteExclusion`. +class DeleteExclusionRequest extends $pb.GeneratedMessage { + factory DeleteExclusionRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteExclusionRequest._() : super(); + factory DeleteExclusionRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteExclusionRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteExclusionRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteExclusionRequest clone() => + DeleteExclusionRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteExclusionRequest copyWith( + void Function(DeleteExclusionRequest) updates) => + super.copyWith((message) => updates(message as DeleteExclusionRequest)) + as DeleteExclusionRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteExclusionRequest create() => DeleteExclusionRequest._(); + DeleteExclusionRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteExclusionRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteExclusionRequest? _defaultInstance; + + /// Required. The resource name of an existing exclusion to delete: + /// + /// "projects/[PROJECT_ID]/exclusions/[EXCLUSION_ID]" + /// "organizations/[ORGANIZATION_ID]/exclusions/[EXCLUSION_ID]" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/exclusions/[EXCLUSION_ID]" + /// "folders/[FOLDER_ID]/exclusions/[EXCLUSION_ID]" + /// + /// For example: + /// + /// `"projects/my-project/exclusions/my-exclusion"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to +/// [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings]. +/// +/// See [Enabling CMEK for Log +/// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for +/// more information. +class GetCmekSettingsRequest extends $pb.GeneratedMessage { + factory GetCmekSettingsRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetCmekSettingsRequest._() : super(); + factory GetCmekSettingsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetCmekSettingsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetCmekSettingsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCmekSettingsRequest clone() => + GetCmekSettingsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCmekSettingsRequest copyWith( + void Function(GetCmekSettingsRequest) updates) => + super.copyWith((message) => updates(message as GetCmekSettingsRequest)) + as GetCmekSettingsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCmekSettingsRequest create() => GetCmekSettingsRequest._(); + GetCmekSettingsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetCmekSettingsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetCmekSettingsRequest? _defaultInstance; + + /// Required. The resource for which to retrieve CMEK settings. + /// + /// "projects/[PROJECT_ID]/cmekSettings" + /// "organizations/[ORGANIZATION_ID]/cmekSettings" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings" + /// "folders/[FOLDER_ID]/cmekSettings" + /// + /// For example: + /// + /// `"organizations/12345/cmekSettings"` + /// + /// Note: CMEK for the Log Router can be configured for Google Cloud projects, + /// folders, organizations and billing accounts. Once configured for an + /// organization, it applies to all projects and folders in the Google Cloud + /// organization. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to +/// [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings]. +/// +/// See [Enabling CMEK for Log +/// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for +/// more information. +class UpdateCmekSettingsRequest extends $pb.GeneratedMessage { + factory UpdateCmekSettingsRequest({ + $core.String? name, + CmekSettings? cmekSettings, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (cmekSettings != null) { + $result.cmekSettings = cmekSettings; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateCmekSettingsRequest._() : super(); + factory UpdateCmekSettingsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateCmekSettingsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateCmekSettingsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'cmekSettings', + subBuilder: CmekSettings.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateCmekSettingsRequest clone() => + UpdateCmekSettingsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateCmekSettingsRequest copyWith( + void Function(UpdateCmekSettingsRequest) updates) => + super.copyWith((message) => updates(message as UpdateCmekSettingsRequest)) + as UpdateCmekSettingsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateCmekSettingsRequest create() => UpdateCmekSettingsRequest._(); + UpdateCmekSettingsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateCmekSettingsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateCmekSettingsRequest? _defaultInstance; + + /// Required. The resource name for the CMEK settings to update. + /// + /// "projects/[PROJECT_ID]/cmekSettings" + /// "organizations/[ORGANIZATION_ID]/cmekSettings" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/cmekSettings" + /// "folders/[FOLDER_ID]/cmekSettings" + /// + /// For example: + /// + /// `"organizations/12345/cmekSettings"` + /// + /// Note: CMEK for the Log Router can currently only be configured for Google + /// Cloud organizations. Once configured, it applies to all projects and + /// folders in the Google Cloud organization. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The CMEK settings to update. + /// + /// See [Enabling CMEK for Log + /// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + /// for more information. + @$pb.TagNumber(2) + CmekSettings get cmekSettings => $_getN(1); + @$pb.TagNumber(2) + set cmekSettings(CmekSettings v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCmekSettings() => $_has(1); + @$pb.TagNumber(2) + void clearCmekSettings() => clearField(2); + @$pb.TagNumber(2) + CmekSettings ensureCmekSettings() => $_ensure(1); + + /// Optional. Field mask identifying which fields from `cmek_settings` should + /// be updated. A field will be overwritten if and only if it is in the update + /// mask. Output only fields cannot be updated. + /// + /// See [FieldMask][google.protobuf.FieldMask] for more information. + /// + /// For example: `"updateMask=kmsKeyName"` + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Describes the customer-managed encryption key (CMEK) settings associated with +/// a project, folder, organization, billing account, or flexible resource. +/// +/// Note: CMEK for the Log Router can currently only be configured for Google +/// Cloud organizations. Once configured, it applies to all projects and folders +/// in the Google Cloud organization. +/// +/// See [Enabling CMEK for Log +/// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for +/// more information. +class CmekSettings extends $pb.GeneratedMessage { + factory CmekSettings({ + $core.String? name, + $core.String? kmsKeyName, + $core.String? serviceAccountId, + $core.String? kmsKeyVersionName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (kmsKeyName != null) { + $result.kmsKeyName = kmsKeyName; + } + if (serviceAccountId != null) { + $result.serviceAccountId = serviceAccountId; + } + if (kmsKeyVersionName != null) { + $result.kmsKeyVersionName = kmsKeyVersionName; + } + return $result; + } + CmekSettings._() : super(); + factory CmekSettings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CmekSettings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CmekSettings', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'kmsKeyName') + ..aOS(3, _omitFieldNames ? '' : 'serviceAccountId') + ..aOS(4, _omitFieldNames ? '' : 'kmsKeyVersionName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CmekSettings clone() => CmekSettings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CmekSettings copyWith(void Function(CmekSettings) updates) => + super.copyWith((message) => updates(message as CmekSettings)) + as CmekSettings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CmekSettings create() => CmekSettings._(); + CmekSettings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CmekSettings getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CmekSettings? _defaultInstance; + + /// Output only. The resource name of the CMEK settings. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The resource name for the configured Cloud KMS key. + /// + /// KMS key name format: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" + /// + /// For example: + /// + /// `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"` + /// + /// + /// + /// To enable CMEK for the Log Router, set this field to a valid + /// `kms_key_name` for which the associated service account has the required + /// cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key. + /// + /// The Cloud KMS key used by the Log Router can be updated by changing the + /// `kms_key_name` to a new valid key name or disabled by setting the key name + /// to an empty string. Encryption operations that are in progress will be + /// completed with the key that was in use when they started. Decryption + /// operations will be completed using the key that was used at the time of + /// encryption unless access to that key has been revoked. + /// + /// To disable CMEK for the Log Router, set this field to an empty string. + /// + /// See [Enabling CMEK for Log + /// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + /// for more information. + @$pb.TagNumber(2) + $core.String get kmsKeyName => $_getSZ(1); + @$pb.TagNumber(2) + set kmsKeyName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasKmsKeyName() => $_has(1); + @$pb.TagNumber(2) + void clearKmsKeyName() => clearField(2); + + /// Output only. The service account that will be used by the Log Router to + /// access your Cloud KMS key. + /// + /// Before enabling CMEK for Log Router, you must first assign the + /// cloudkms.cryptoKeyEncrypterDecrypter role to the service account that + /// the Log Router will use to access your Cloud KMS key. Use + /// [GetCmekSettings][google.logging.v2.ConfigServiceV2.GetCmekSettings] to + /// obtain the service account ID. + /// + /// See [Enabling CMEK for Log + /// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + /// for more information. + @$pb.TagNumber(3) + $core.String get serviceAccountId => $_getSZ(2); + @$pb.TagNumber(3) + set serviceAccountId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasServiceAccountId() => $_has(2); + @$pb.TagNumber(3) + void clearServiceAccountId() => clearField(3); + + /// The CryptoKeyVersion resource name for the configured Cloud KMS key. + /// + /// KMS key name format: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]" + /// + /// For example: + /// + /// `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"` + /// + /// This is a read-only field used to convey the specific configured + /// CryptoKeyVersion of `kms_key` that has been configured. It will be + /// populated in cases where the CMEK settings are bound to a single key + /// version. + /// + /// If this field is populated, the `kms_key` is tied to a specific + /// CryptoKeyVersion. + @$pb.TagNumber(4) + $core.String get kmsKeyVersionName => $_getSZ(3); + @$pb.TagNumber(4) + set kmsKeyVersionName($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasKmsKeyVersionName() => $_has(3); + @$pb.TagNumber(4) + void clearKmsKeyVersionName() => clearField(4); +} + +/// The parameters to +/// [GetSettings][google.logging.v2.ConfigServiceV2.GetSettings]. +/// +/// See [Enabling CMEK for Log +/// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for +/// more information. +class GetSettingsRequest extends $pb.GeneratedMessage { + factory GetSettingsRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetSettingsRequest._() : super(); + factory GetSettingsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetSettingsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetSettingsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSettingsRequest clone() => GetSettingsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSettingsRequest copyWith(void Function(GetSettingsRequest) updates) => + super.copyWith((message) => updates(message as GetSettingsRequest)) + as GetSettingsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSettingsRequest create() => GetSettingsRequest._(); + GetSettingsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSettingsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetSettingsRequest? _defaultInstance; + + /// Required. The resource for which to retrieve settings. + /// + /// "projects/[PROJECT_ID]/settings" + /// "organizations/[ORGANIZATION_ID]/settings" + /// "billingAccounts/[BILLING_ACCOUNT_ID]/settings" + /// "folders/[FOLDER_ID]/settings" + /// + /// For example: + /// + /// `"organizations/12345/settings"` + /// + /// Note: Settings for the Log Router can be get for Google Cloud projects, + /// folders, organizations and billing accounts. Currently it can only be + /// configured for organizations. Once configured for an organization, it + /// applies to all projects and folders in the Google Cloud organization. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The parameters to +/// [UpdateSettings][google.logging.v2.ConfigServiceV2.UpdateSettings]. +/// +/// See [Enabling CMEK for Log +/// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) for +/// more information. +class UpdateSettingsRequest extends $pb.GeneratedMessage { + factory UpdateSettingsRequest({ + $core.String? name, + Settings? settings, + $58.FieldMask? updateMask, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (settings != null) { + $result.settings = settings; + } + if (updateMask != null) { + $result.updateMask = updateMask; + } + return $result; + } + UpdateSettingsRequest._() : super(); + factory UpdateSettingsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateSettingsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateSettingsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'settings', + subBuilder: Settings.create) + ..aOM<$58.FieldMask>(3, _omitFieldNames ? '' : 'updateMask', + subBuilder: $58.FieldMask.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateSettingsRequest clone() => + UpdateSettingsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateSettingsRequest copyWith( + void Function(UpdateSettingsRequest) updates) => + super.copyWith((message) => updates(message as UpdateSettingsRequest)) + as UpdateSettingsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateSettingsRequest create() => UpdateSettingsRequest._(); + UpdateSettingsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateSettingsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateSettingsRequest? _defaultInstance; + + /// Required. The resource name for the settings to update. + /// + /// "organizations/[ORGANIZATION_ID]/settings" + /// + /// For example: + /// + /// `"organizations/12345/settings"` + /// + /// Note: Settings for the Log Router can currently only be configured for + /// Google Cloud organizations. Once configured, it applies to all projects and + /// folders in the Google Cloud organization. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Required. The settings to update. + /// + /// See [Enabling CMEK for Log + /// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + /// for more information. + @$pb.TagNumber(2) + Settings get settings => $_getN(1); + @$pb.TagNumber(2) + set settings(Settings v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasSettings() => $_has(1); + @$pb.TagNumber(2) + void clearSettings() => clearField(2); + @$pb.TagNumber(2) + Settings ensureSettings() => $_ensure(1); + + /// Optional. Field mask identifying which fields from `settings` should + /// be updated. A field will be overwritten if and only if it is in the update + /// mask. Output only fields cannot be updated. + /// + /// See [FieldMask][google.protobuf.FieldMask] for more information. + /// + /// For example: `"updateMask=kmsKeyName"` + @$pb.TagNumber(3) + $58.FieldMask get updateMask => $_getN(2); + @$pb.TagNumber(3) + set updateMask($58.FieldMask v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasUpdateMask() => $_has(2); + @$pb.TagNumber(3) + void clearUpdateMask() => clearField(3); + @$pb.TagNumber(3) + $58.FieldMask ensureUpdateMask() => $_ensure(2); +} + +/// Describes the settings associated with a project, folder, organization, +/// billing account, or flexible resource. +class Settings extends $pb.GeneratedMessage { + factory Settings({ + $core.String? name, + $core.String? kmsKeyName, + $core.String? kmsServiceAccountId, + $core.String? storageLocation, + $core.bool? disableDefaultSink, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (kmsKeyName != null) { + $result.kmsKeyName = kmsKeyName; + } + if (kmsServiceAccountId != null) { + $result.kmsServiceAccountId = kmsServiceAccountId; + } + if (storageLocation != null) { + $result.storageLocation = storageLocation; + } + if (disableDefaultSink != null) { + $result.disableDefaultSink = disableDefaultSink; + } + return $result; + } + Settings._() : super(); + factory Settings.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Settings.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Settings', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'kmsKeyName') + ..aOS(3, _omitFieldNames ? '' : 'kmsServiceAccountId') + ..aOS(4, _omitFieldNames ? '' : 'storageLocation') + ..aOB(5, _omitFieldNames ? '' : 'disableDefaultSink') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Settings clone() => Settings()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Settings copyWith(void Function(Settings) updates) => + super.copyWith((message) => updates(message as Settings)) as Settings; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Settings create() => Settings._(); + Settings createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Settings getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Settings? _defaultInstance; + + /// Output only. The resource name of the settings. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. The resource name for the configured Cloud KMS key. + /// + /// KMS key name format: + /// + /// "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]" + /// + /// For example: + /// + /// `"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"` + /// + /// + /// + /// To enable CMEK for the Log Router, set this field to a valid + /// `kms_key_name` for which the associated service account has the required + /// `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key. + /// + /// The Cloud KMS key used by the Log Router can be updated by changing the + /// `kms_key_name` to a new valid key name. Encryption operations that are in + /// progress will be completed with the key that was in use when they started. + /// Decryption operations will be completed using the key that was used at the + /// time of encryption unless access to that key has been revoked. + /// + /// To disable CMEK for the Log Router, set this field to an empty string. + /// + /// See [Enabling CMEK for Log + /// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + /// for more information. + @$pb.TagNumber(2) + $core.String get kmsKeyName => $_getSZ(1); + @$pb.TagNumber(2) + set kmsKeyName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasKmsKeyName() => $_has(1); + @$pb.TagNumber(2) + void clearKmsKeyName() => clearField(2); + + /// Output only. The service account that will be used by the Log Router to + /// access your Cloud KMS key. + /// + /// Before enabling CMEK for Log Router, you must first assign the role + /// `roles/cloudkms.cryptoKeyEncrypterDecrypter` to the service account that + /// the Log Router will use to access your Cloud KMS key. Use + /// [GetSettings][google.logging.v2.ConfigServiceV2.GetSettings] to + /// obtain the service account ID. + /// + /// See [Enabling CMEK for Log + /// Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + /// for more information. + @$pb.TagNumber(3) + $core.String get kmsServiceAccountId => $_getSZ(2); + @$pb.TagNumber(3) + set kmsServiceAccountId($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasKmsServiceAccountId() => $_has(2); + @$pb.TagNumber(3) + void clearKmsServiceAccountId() => clearField(3); + + /// Optional. The Cloud region that will be used for _Default and _Required log + /// buckets for newly created projects and folders. For example `europe-west1`. + /// This setting does not affect the location of custom log buckets. + @$pb.TagNumber(4) + $core.String get storageLocation => $_getSZ(3); + @$pb.TagNumber(4) + set storageLocation($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasStorageLocation() => $_has(3); + @$pb.TagNumber(4) + void clearStorageLocation() => clearField(4); + + /// Optional. If set to true, the _Default sink in newly created projects and + /// folders will created in a disabled state. This can be used to automatically + /// disable log ingestion if there is already an aggregated sink configured in + /// the hierarchy. The _Default sink can be re-enabled manually if needed. + @$pb.TagNumber(5) + $core.bool get disableDefaultSink => $_getBF(4); + @$pb.TagNumber(5) + set disableDefaultSink($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasDisableDefaultSink() => $_has(4); + @$pb.TagNumber(5) + void clearDisableDefaultSink() => clearField(5); +} + +/// The parameters to CopyLogEntries. +class CopyLogEntriesRequest extends $pb.GeneratedMessage { + factory CopyLogEntriesRequest({ + $core.String? name, + $core.String? filter, + $core.String? destination, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (filter != null) { + $result.filter = filter; + } + if (destination != null) { + $result.destination = destination; + } + return $result; + } + CopyLogEntriesRequest._() : super(); + factory CopyLogEntriesRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CopyLogEntriesRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CopyLogEntriesRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(3, _omitFieldNames ? '' : 'filter') + ..aOS(4, _omitFieldNames ? '' : 'destination') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CopyLogEntriesRequest clone() => + CopyLogEntriesRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CopyLogEntriesRequest copyWith( + void Function(CopyLogEntriesRequest) updates) => + super.copyWith((message) => updates(message as CopyLogEntriesRequest)) + as CopyLogEntriesRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CopyLogEntriesRequest create() => CopyLogEntriesRequest._(); + CopyLogEntriesRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CopyLogEntriesRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CopyLogEntriesRequest? _defaultInstance; + + /// Required. Log bucket from which to copy log entries. + /// + /// For example: + /// + /// `"projects/my-project/locations/global/buckets/my-source-bucket"` + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. A filter specifying which log entries to copy. The filter must be + /// no more than 20k characters. An empty filter matches all log entries. + @$pb.TagNumber(3) + $core.String get filter => $_getSZ(1); + @$pb.TagNumber(3) + set filter($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasFilter() => $_has(1); + @$pb.TagNumber(3) + void clearFilter() => clearField(3); + + /// Required. Destination to which to copy log entries. + @$pb.TagNumber(4) + $core.String get destination => $_getSZ(2); + @$pb.TagNumber(4) + set destination($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasDestination() => $_has(2); + @$pb.TagNumber(4) + void clearDestination() => clearField(4); +} + +/// Metadata for CopyLogEntries long running operations. +class CopyLogEntriesMetadata extends $pb.GeneratedMessage { + factory CopyLogEntriesMetadata({ + $50.Timestamp? startTime, + $50.Timestamp? endTime, + OperationState? state, + $core.bool? cancellationRequested, + CopyLogEntriesRequest? request, + $core.int? progress, + $core.String? writerIdentity, + }) { + final $result = create(); + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (state != null) { + $result.state = state; + } + if (cancellationRequested != null) { + $result.cancellationRequested = cancellationRequested; + } + if (request != null) { + $result.request = request; + } + if (progress != null) { + $result.progress = progress; + } + if (writerIdentity != null) { + $result.writerIdentity = writerIdentity; + } + return $result; + } + CopyLogEntriesMetadata._() : super(); + factory CopyLogEntriesMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CopyLogEntriesMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CopyLogEntriesMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..e(3, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: OperationState.OPERATION_STATE_UNSPECIFIED, + valueOf: OperationState.valueOf, + enumValues: OperationState.values) + ..aOB(4, _omitFieldNames ? '' : 'cancellationRequested') + ..aOM(5, _omitFieldNames ? '' : 'request', + subBuilder: CopyLogEntriesRequest.create) + ..a<$core.int>(6, _omitFieldNames ? '' : 'progress', $pb.PbFieldType.O3) + ..aOS(7, _omitFieldNames ? '' : 'writerIdentity') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CopyLogEntriesMetadata clone() => + CopyLogEntriesMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CopyLogEntriesMetadata copyWith( + void Function(CopyLogEntriesMetadata) updates) => + super.copyWith((message) => updates(message as CopyLogEntriesMetadata)) + as CopyLogEntriesMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CopyLogEntriesMetadata create() => CopyLogEntriesMetadata._(); + CopyLogEntriesMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CopyLogEntriesMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CopyLogEntriesMetadata? _defaultInstance; + + /// The create time of an operation. + @$pb.TagNumber(1) + $50.Timestamp get startTime => $_getN(0); + @$pb.TagNumber(1) + set startTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStartTime() => $_has(0); + @$pb.TagNumber(1) + void clearStartTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureStartTime() => $_ensure(0); + + /// The end time of an operation. + @$pb.TagNumber(2) + $50.Timestamp get endTime => $_getN(1); + @$pb.TagNumber(2) + set endTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEndTime() => $_has(1); + @$pb.TagNumber(2) + void clearEndTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureEndTime() => $_ensure(1); + + /// State of an operation. + @$pb.TagNumber(3) + OperationState get state => $_getN(2); + @$pb.TagNumber(3) + set state(OperationState v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasState() => $_has(2); + @$pb.TagNumber(3) + void clearState() => clearField(3); + + /// Identifies whether the user has requested cancellation of the operation. + @$pb.TagNumber(4) + $core.bool get cancellationRequested => $_getBF(3); + @$pb.TagNumber(4) + set cancellationRequested($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasCancellationRequested() => $_has(3); + @$pb.TagNumber(4) + void clearCancellationRequested() => clearField(4); + + /// CopyLogEntries RPC request. + @$pb.TagNumber(5) + CopyLogEntriesRequest get request => $_getN(4); + @$pb.TagNumber(5) + set request(CopyLogEntriesRequest v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasRequest() => $_has(4); + @$pb.TagNumber(5) + void clearRequest() => clearField(5); + @$pb.TagNumber(5) + CopyLogEntriesRequest ensureRequest() => $_ensure(4); + + /// Estimated progress of the operation (0 - 100%). + @$pb.TagNumber(6) + $core.int get progress => $_getIZ(5); + @$pb.TagNumber(6) + set progress($core.int v) { + $_setSignedInt32(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasProgress() => $_has(5); + @$pb.TagNumber(6) + void clearProgress() => clearField(6); + + /// The IAM identity of a service account that must be granted access to the + /// destination. + /// + /// If the service account is not granted permission to the destination within + /// an hour, the operation will be cancelled. + /// + /// For example: `"serviceAccount:foo@bar.com"` + @$pb.TagNumber(7) + $core.String get writerIdentity => $_getSZ(6); + @$pb.TagNumber(7) + set writerIdentity($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasWriterIdentity() => $_has(6); + @$pb.TagNumber(7) + void clearWriterIdentity() => clearField(7); +} + +/// Response type for CopyLogEntries long running operations. +class CopyLogEntriesResponse extends $pb.GeneratedMessage { + factory CopyLogEntriesResponse({ + $fixnum.Int64? logEntriesCopiedCount, + }) { + final $result = create(); + if (logEntriesCopiedCount != null) { + $result.logEntriesCopiedCount = logEntriesCopiedCount; + } + return $result; + } + CopyLogEntriesResponse._() : super(); + factory CopyLogEntriesResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CopyLogEntriesResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CopyLogEntriesResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aInt64(1, _omitFieldNames ? '' : 'logEntriesCopiedCount') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CopyLogEntriesResponse clone() => + CopyLogEntriesResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CopyLogEntriesResponse copyWith( + void Function(CopyLogEntriesResponse) updates) => + super.copyWith((message) => updates(message as CopyLogEntriesResponse)) + as CopyLogEntriesResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CopyLogEntriesResponse create() => CopyLogEntriesResponse._(); + CopyLogEntriesResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CopyLogEntriesResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CopyLogEntriesResponse? _defaultInstance; + + /// Number of log entries copied. + @$pb.TagNumber(1) + $fixnum.Int64 get logEntriesCopiedCount => $_getI64(0); + @$pb.TagNumber(1) + set logEntriesCopiedCount($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLogEntriesCopiedCount() => $_has(0); + @$pb.TagNumber(1) + void clearLogEntriesCopiedCount() => clearField(1); +} + +enum BucketMetadata_Request { createBucketRequest, updateBucketRequest, notSet } + +/// Metadata for LongRunningUpdateBucket Operations. +class BucketMetadata extends $pb.GeneratedMessage { + factory BucketMetadata({ + $50.Timestamp? startTime, + $50.Timestamp? endTime, + OperationState? state, + CreateBucketRequest? createBucketRequest, + UpdateBucketRequest? updateBucketRequest, + }) { + final $result = create(); + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (state != null) { + $result.state = state; + } + if (createBucketRequest != null) { + $result.createBucketRequest = createBucketRequest; + } + if (updateBucketRequest != null) { + $result.updateBucketRequest = updateBucketRequest; + } + return $result; + } + BucketMetadata._() : super(); + factory BucketMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory BucketMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, BucketMetadata_Request> + _BucketMetadata_RequestByTag = { + 4: BucketMetadata_Request.createBucketRequest, + 5: BucketMetadata_Request.updateBucketRequest, + 0: BucketMetadata_Request.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'BucketMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..oo(0, [4, 5]) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..e(3, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: OperationState.OPERATION_STATE_UNSPECIFIED, + valueOf: OperationState.valueOf, + enumValues: OperationState.values) + ..aOM(4, _omitFieldNames ? '' : 'createBucketRequest', + subBuilder: CreateBucketRequest.create) + ..aOM(5, _omitFieldNames ? '' : 'updateBucketRequest', + subBuilder: UpdateBucketRequest.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BucketMetadata clone() => BucketMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BucketMetadata copyWith(void Function(BucketMetadata) updates) => + super.copyWith((message) => updates(message as BucketMetadata)) + as BucketMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BucketMetadata create() => BucketMetadata._(); + BucketMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BucketMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static BucketMetadata? _defaultInstance; + + BucketMetadata_Request whichRequest() => + _BucketMetadata_RequestByTag[$_whichOneof(0)]!; + void clearRequest() => clearField($_whichOneof(0)); + + /// The create time of an operation. + @$pb.TagNumber(1) + $50.Timestamp get startTime => $_getN(0); + @$pb.TagNumber(1) + set startTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStartTime() => $_has(0); + @$pb.TagNumber(1) + void clearStartTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureStartTime() => $_ensure(0); + + /// The end time of an operation. + @$pb.TagNumber(2) + $50.Timestamp get endTime => $_getN(1); + @$pb.TagNumber(2) + set endTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEndTime() => $_has(1); + @$pb.TagNumber(2) + void clearEndTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureEndTime() => $_ensure(1); + + /// State of an operation. + @$pb.TagNumber(3) + OperationState get state => $_getN(2); + @$pb.TagNumber(3) + set state(OperationState v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasState() => $_has(2); + @$pb.TagNumber(3) + void clearState() => clearField(3); + + /// LongRunningCreateBucket RPC request. + @$pb.TagNumber(4) + CreateBucketRequest get createBucketRequest => $_getN(3); + @$pb.TagNumber(4) + set createBucketRequest(CreateBucketRequest v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasCreateBucketRequest() => $_has(3); + @$pb.TagNumber(4) + void clearCreateBucketRequest() => clearField(4); + @$pb.TagNumber(4) + CreateBucketRequest ensureCreateBucketRequest() => $_ensure(3); + + /// LongRunningUpdateBucket RPC request. + @$pb.TagNumber(5) + UpdateBucketRequest get updateBucketRequest => $_getN(4); + @$pb.TagNumber(5) + set updateBucketRequest(UpdateBucketRequest v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasUpdateBucketRequest() => $_has(4); + @$pb.TagNumber(5) + void clearUpdateBucketRequest() => clearField(5); + @$pb.TagNumber(5) + UpdateBucketRequest ensureUpdateBucketRequest() => $_ensure(4); +} + +enum LinkMetadata_Request { createLinkRequest, deleteLinkRequest, notSet } + +/// Metadata for long running Link operations. +class LinkMetadata extends $pb.GeneratedMessage { + factory LinkMetadata({ + $50.Timestamp? startTime, + $50.Timestamp? endTime, + OperationState? state, + CreateLinkRequest? createLinkRequest, + DeleteLinkRequest? deleteLinkRequest, + }) { + final $result = create(); + if (startTime != null) { + $result.startTime = startTime; + } + if (endTime != null) { + $result.endTime = endTime; + } + if (state != null) { + $result.state = state; + } + if (createLinkRequest != null) { + $result.createLinkRequest = createLinkRequest; + } + if (deleteLinkRequest != null) { + $result.deleteLinkRequest = deleteLinkRequest; + } + return $result; + } + LinkMetadata._() : super(); + factory LinkMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LinkMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, LinkMetadata_Request> + _LinkMetadata_RequestByTag = { + 4: LinkMetadata_Request.createLinkRequest, + 5: LinkMetadata_Request.deleteLinkRequest, + 0: LinkMetadata_Request.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LinkMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..oo(0, [4, 5]) + ..aOM<$50.Timestamp>(1, _omitFieldNames ? '' : 'startTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(2, _omitFieldNames ? '' : 'endTime', + subBuilder: $50.Timestamp.create) + ..e(3, _omitFieldNames ? '' : 'state', $pb.PbFieldType.OE, + defaultOrMaker: OperationState.OPERATION_STATE_UNSPECIFIED, + valueOf: OperationState.valueOf, + enumValues: OperationState.values) + ..aOM(4, _omitFieldNames ? '' : 'createLinkRequest', + subBuilder: CreateLinkRequest.create) + ..aOM(5, _omitFieldNames ? '' : 'deleteLinkRequest', + subBuilder: DeleteLinkRequest.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LinkMetadata clone() => LinkMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LinkMetadata copyWith(void Function(LinkMetadata) updates) => + super.copyWith((message) => updates(message as LinkMetadata)) + as LinkMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LinkMetadata create() => LinkMetadata._(); + LinkMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LinkMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LinkMetadata? _defaultInstance; + + LinkMetadata_Request whichRequest() => + _LinkMetadata_RequestByTag[$_whichOneof(0)]!; + void clearRequest() => clearField($_whichOneof(0)); + + /// The start time of an operation. + @$pb.TagNumber(1) + $50.Timestamp get startTime => $_getN(0); + @$pb.TagNumber(1) + set startTime($50.Timestamp v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasStartTime() => $_has(0); + @$pb.TagNumber(1) + void clearStartTime() => clearField(1); + @$pb.TagNumber(1) + $50.Timestamp ensureStartTime() => $_ensure(0); + + /// The end time of an operation. + @$pb.TagNumber(2) + $50.Timestamp get endTime => $_getN(1); + @$pb.TagNumber(2) + set endTime($50.Timestamp v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEndTime() => $_has(1); + @$pb.TagNumber(2) + void clearEndTime() => clearField(2); + @$pb.TagNumber(2) + $50.Timestamp ensureEndTime() => $_ensure(1); + + /// State of an operation. + @$pb.TagNumber(3) + OperationState get state => $_getN(2); + @$pb.TagNumber(3) + set state(OperationState v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasState() => $_has(2); + @$pb.TagNumber(3) + void clearState() => clearField(3); + + /// CreateLink RPC request. + @$pb.TagNumber(4) + CreateLinkRequest get createLinkRequest => $_getN(3); + @$pb.TagNumber(4) + set createLinkRequest(CreateLinkRequest v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasCreateLinkRequest() => $_has(3); + @$pb.TagNumber(4) + void clearCreateLinkRequest() => clearField(4); + @$pb.TagNumber(4) + CreateLinkRequest ensureCreateLinkRequest() => $_ensure(3); + + /// DeleteLink RPC request. + @$pb.TagNumber(5) + DeleteLinkRequest get deleteLinkRequest => $_getN(4); + @$pb.TagNumber(5) + set deleteLinkRequest(DeleteLinkRequest v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasDeleteLinkRequest() => $_has(4); + @$pb.TagNumber(5) + void clearDeleteLinkRequest() => clearField(5); + @$pb.TagNumber(5) + DeleteLinkRequest ensureDeleteLinkRequest() => $_ensure(4); +} + +/// Cloud Logging specific location metadata. +class LocationMetadata extends $pb.GeneratedMessage { + factory LocationMetadata({ + $core.bool? logAnalyticsEnabled, + }) { + final $result = create(); + if (logAnalyticsEnabled != null) { + $result.logAnalyticsEnabled = logAnalyticsEnabled; + } + return $result; + } + LocationMetadata._() : super(); + factory LocationMetadata.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LocationMetadata.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LocationMetadata', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'logAnalyticsEnabled') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LocationMetadata clone() => LocationMetadata()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LocationMetadata copyWith(void Function(LocationMetadata) updates) => + super.copyWith((message) => updates(message as LocationMetadata)) + as LocationMetadata; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LocationMetadata create() => LocationMetadata._(); + LocationMetadata createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LocationMetadata getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static LocationMetadata? _defaultInstance; + + /// Indicates whether or not Log Analytics features are supported in the given + /// location. + @$pb.TagNumber(1) + $core.bool get logAnalyticsEnabled => $_getBF(0); + @$pb.TagNumber(1) + set logAnalyticsEnabled($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLogAnalyticsEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearLogAnalyticsEnabled() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbenum.dart new file mode 100644 index 00000000..38e4dc94 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbenum.dart @@ -0,0 +1,133 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_config.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// List of different operation states. +/// High level state of the operation. This is used to report the job's +/// current state to the user. Once a long running operation is created, +/// the current state of the operation can be queried even before the +/// operation is finished and the final result is available. +class OperationState extends $pb.ProtobufEnum { + static const OperationState OPERATION_STATE_UNSPECIFIED = + OperationState._(0, _omitEnumNames ? '' : 'OPERATION_STATE_UNSPECIFIED'); + static const OperationState OPERATION_STATE_SCHEDULED = + OperationState._(1, _omitEnumNames ? '' : 'OPERATION_STATE_SCHEDULED'); + static const OperationState OPERATION_STATE_WAITING_FOR_PERMISSIONS = + OperationState._( + 2, _omitEnumNames ? '' : 'OPERATION_STATE_WAITING_FOR_PERMISSIONS'); + static const OperationState OPERATION_STATE_RUNNING = + OperationState._(3, _omitEnumNames ? '' : 'OPERATION_STATE_RUNNING'); + static const OperationState OPERATION_STATE_SUCCEEDED = + OperationState._(4, _omitEnumNames ? '' : 'OPERATION_STATE_SUCCEEDED'); + static const OperationState OPERATION_STATE_FAILED = + OperationState._(5, _omitEnumNames ? '' : 'OPERATION_STATE_FAILED'); + static const OperationState OPERATION_STATE_CANCELLED = + OperationState._(6, _omitEnumNames ? '' : 'OPERATION_STATE_CANCELLED'); + + static const $core.List values = [ + OPERATION_STATE_UNSPECIFIED, + OPERATION_STATE_SCHEDULED, + OPERATION_STATE_WAITING_FOR_PERMISSIONS, + OPERATION_STATE_RUNNING, + OPERATION_STATE_SUCCEEDED, + OPERATION_STATE_FAILED, + OPERATION_STATE_CANCELLED, + ]; + + static final $core.Map<$core.int, OperationState> _byValue = + $pb.ProtobufEnum.initByValue(values); + static OperationState? valueOf($core.int value) => _byValue[value]; + + const OperationState._($core.int v, $core.String n) : super(v, n); +} + +/// LogBucket lifecycle states. +class LifecycleState extends $pb.ProtobufEnum { + static const LifecycleState LIFECYCLE_STATE_UNSPECIFIED = + LifecycleState._(0, _omitEnumNames ? '' : 'LIFECYCLE_STATE_UNSPECIFIED'); + static const LifecycleState ACTIVE = + LifecycleState._(1, _omitEnumNames ? '' : 'ACTIVE'); + static const LifecycleState DELETE_REQUESTED = + LifecycleState._(2, _omitEnumNames ? '' : 'DELETE_REQUESTED'); + static const LifecycleState UPDATING = + LifecycleState._(3, _omitEnumNames ? '' : 'UPDATING'); + static const LifecycleState CREATING = + LifecycleState._(4, _omitEnumNames ? '' : 'CREATING'); + static const LifecycleState FAILED = + LifecycleState._(5, _omitEnumNames ? '' : 'FAILED'); + + static const $core.List values = [ + LIFECYCLE_STATE_UNSPECIFIED, + ACTIVE, + DELETE_REQUESTED, + UPDATING, + CREATING, + FAILED, + ]; + + static final $core.Map<$core.int, LifecycleState> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LifecycleState? valueOf($core.int value) => _byValue[value]; + + const LifecycleState._($core.int v, $core.String n) : super(v, n); +} + +/// IndexType is used for custom indexing. It describes the type of an indexed +/// field. +class IndexType extends $pb.ProtobufEnum { + static const IndexType INDEX_TYPE_UNSPECIFIED = + IndexType._(0, _omitEnumNames ? '' : 'INDEX_TYPE_UNSPECIFIED'); + static const IndexType INDEX_TYPE_STRING = + IndexType._(1, _omitEnumNames ? '' : 'INDEX_TYPE_STRING'); + static const IndexType INDEX_TYPE_INTEGER = + IndexType._(2, _omitEnumNames ? '' : 'INDEX_TYPE_INTEGER'); + + static const $core.List values = [ + INDEX_TYPE_UNSPECIFIED, + INDEX_TYPE_STRING, + INDEX_TYPE_INTEGER, + ]; + + static final $core.Map<$core.int, IndexType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static IndexType? valueOf($core.int value) => _byValue[value]; + + const IndexType._($core.int v, $core.String n) : super(v, n); +} + +/// Deprecated. This is unused. +class LogSink_VersionFormat extends $pb.ProtobufEnum { + static const LogSink_VersionFormat VERSION_FORMAT_UNSPECIFIED = + LogSink_VersionFormat._( + 0, _omitEnumNames ? '' : 'VERSION_FORMAT_UNSPECIFIED'); + static const LogSink_VersionFormat V2 = + LogSink_VersionFormat._(1, _omitEnumNames ? '' : 'V2'); + static const LogSink_VersionFormat V1 = + LogSink_VersionFormat._(2, _omitEnumNames ? '' : 'V1'); + + static const $core.List values = + [ + VERSION_FORMAT_UNSPECIFIED, + V2, + V1, + ]; + + static final $core.Map<$core.int, LogSink_VersionFormat> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LogSink_VersionFormat? valueOf($core.int value) => _byValue[value]; + + const LogSink_VersionFormat._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbgrpc.dart new file mode 100644 index 00000000..16df52e8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbgrpc.dart @@ -0,0 +1,860 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_config.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../longrunning/operations.pb.dart' as $0; +import '../../protobuf/empty.pb.dart' as $1; +import 'logging_config.pb.dart' as $19; + +export 'logging_config.pb.dart'; + +@$pb.GrpcServiceName('google.logging.v2.ConfigServiceV2') +class ConfigServiceV2Client extends $grpc.Client { + static final _$listBuckets = + $grpc.ClientMethod<$19.ListBucketsRequest, $19.ListBucketsResponse>( + '/google.logging.v2.ConfigServiceV2/ListBuckets', + ($19.ListBucketsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $19.ListBucketsResponse.fromBuffer(value)); + static final _$getBucket = + $grpc.ClientMethod<$19.GetBucketRequest, $19.LogBucket>( + '/google.logging.v2.ConfigServiceV2/GetBucket', + ($19.GetBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogBucket.fromBuffer(value)); + static final _$createBucketAsync = + $grpc.ClientMethod<$19.CreateBucketRequest, $0.Operation>( + '/google.logging.v2.ConfigServiceV2/CreateBucketAsync', + ($19.CreateBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$updateBucketAsync = + $grpc.ClientMethod<$19.UpdateBucketRequest, $0.Operation>( + '/google.logging.v2.ConfigServiceV2/UpdateBucketAsync', + ($19.UpdateBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$createBucket = + $grpc.ClientMethod<$19.CreateBucketRequest, $19.LogBucket>( + '/google.logging.v2.ConfigServiceV2/CreateBucket', + ($19.CreateBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogBucket.fromBuffer(value)); + static final _$updateBucket = + $grpc.ClientMethod<$19.UpdateBucketRequest, $19.LogBucket>( + '/google.logging.v2.ConfigServiceV2/UpdateBucket', + ($19.UpdateBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogBucket.fromBuffer(value)); + static final _$deleteBucket = + $grpc.ClientMethod<$19.DeleteBucketRequest, $1.Empty>( + '/google.logging.v2.ConfigServiceV2/DeleteBucket', + ($19.DeleteBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$undeleteBucket = + $grpc.ClientMethod<$19.UndeleteBucketRequest, $1.Empty>( + '/google.logging.v2.ConfigServiceV2/UndeleteBucket', + ($19.UndeleteBucketRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$listViews = + $grpc.ClientMethod<$19.ListViewsRequest, $19.ListViewsResponse>( + '/google.logging.v2.ConfigServiceV2/ListViews', + ($19.ListViewsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $19.ListViewsResponse.fromBuffer(value)); + static final _$getView = $grpc.ClientMethod<$19.GetViewRequest, $19.LogView>( + '/google.logging.v2.ConfigServiceV2/GetView', + ($19.GetViewRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogView.fromBuffer(value)); + static final _$createView = + $grpc.ClientMethod<$19.CreateViewRequest, $19.LogView>( + '/google.logging.v2.ConfigServiceV2/CreateView', + ($19.CreateViewRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogView.fromBuffer(value)); + static final _$updateView = + $grpc.ClientMethod<$19.UpdateViewRequest, $19.LogView>( + '/google.logging.v2.ConfigServiceV2/UpdateView', + ($19.UpdateViewRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogView.fromBuffer(value)); + static final _$deleteView = + $grpc.ClientMethod<$19.DeleteViewRequest, $1.Empty>( + '/google.logging.v2.ConfigServiceV2/DeleteView', + ($19.DeleteViewRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$listSinks = + $grpc.ClientMethod<$19.ListSinksRequest, $19.ListSinksResponse>( + '/google.logging.v2.ConfigServiceV2/ListSinks', + ($19.ListSinksRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $19.ListSinksResponse.fromBuffer(value)); + static final _$getSink = $grpc.ClientMethod<$19.GetSinkRequest, $19.LogSink>( + '/google.logging.v2.ConfigServiceV2/GetSink', + ($19.GetSinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogSink.fromBuffer(value)); + static final _$createSink = + $grpc.ClientMethod<$19.CreateSinkRequest, $19.LogSink>( + '/google.logging.v2.ConfigServiceV2/CreateSink', + ($19.CreateSinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogSink.fromBuffer(value)); + static final _$updateSink = + $grpc.ClientMethod<$19.UpdateSinkRequest, $19.LogSink>( + '/google.logging.v2.ConfigServiceV2/UpdateSink', + ($19.UpdateSinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogSink.fromBuffer(value)); + static final _$deleteSink = + $grpc.ClientMethod<$19.DeleteSinkRequest, $1.Empty>( + '/google.logging.v2.ConfigServiceV2/DeleteSink', + ($19.DeleteSinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$createLink = + $grpc.ClientMethod<$19.CreateLinkRequest, $0.Operation>( + '/google.logging.v2.ConfigServiceV2/CreateLink', + ($19.CreateLinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteLink = + $grpc.ClientMethod<$19.DeleteLinkRequest, $0.Operation>( + '/google.logging.v2.ConfigServiceV2/DeleteLink', + ($19.DeleteLinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$listLinks = + $grpc.ClientMethod<$19.ListLinksRequest, $19.ListLinksResponse>( + '/google.logging.v2.ConfigServiceV2/ListLinks', + ($19.ListLinksRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $19.ListLinksResponse.fromBuffer(value)); + static final _$getLink = $grpc.ClientMethod<$19.GetLinkRequest, $19.Link>( + '/google.logging.v2.ConfigServiceV2/GetLink', + ($19.GetLinkRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.Link.fromBuffer(value)); + static final _$listExclusions = + $grpc.ClientMethod<$19.ListExclusionsRequest, $19.ListExclusionsResponse>( + '/google.logging.v2.ConfigServiceV2/ListExclusions', + ($19.ListExclusionsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $19.ListExclusionsResponse.fromBuffer(value)); + static final _$getExclusion = + $grpc.ClientMethod<$19.GetExclusionRequest, $19.LogExclusion>( + '/google.logging.v2.ConfigServiceV2/GetExclusion', + ($19.GetExclusionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogExclusion.fromBuffer(value)); + static final _$createExclusion = + $grpc.ClientMethod<$19.CreateExclusionRequest, $19.LogExclusion>( + '/google.logging.v2.ConfigServiceV2/CreateExclusion', + ($19.CreateExclusionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogExclusion.fromBuffer(value)); + static final _$updateExclusion = + $grpc.ClientMethod<$19.UpdateExclusionRequest, $19.LogExclusion>( + '/google.logging.v2.ConfigServiceV2/UpdateExclusion', + ($19.UpdateExclusionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.LogExclusion.fromBuffer(value)); + static final _$deleteExclusion = + $grpc.ClientMethod<$19.DeleteExclusionRequest, $1.Empty>( + '/google.logging.v2.ConfigServiceV2/DeleteExclusion', + ($19.DeleteExclusionRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$getCmekSettings = + $grpc.ClientMethod<$19.GetCmekSettingsRequest, $19.CmekSettings>( + '/google.logging.v2.ConfigServiceV2/GetCmekSettings', + ($19.GetCmekSettingsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.CmekSettings.fromBuffer(value)); + static final _$updateCmekSettings = + $grpc.ClientMethod<$19.UpdateCmekSettingsRequest, $19.CmekSettings>( + '/google.logging.v2.ConfigServiceV2/UpdateCmekSettings', + ($19.UpdateCmekSettingsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.CmekSettings.fromBuffer(value)); + static final _$getSettings = + $grpc.ClientMethod<$19.GetSettingsRequest, $19.Settings>( + '/google.logging.v2.ConfigServiceV2/GetSettings', + ($19.GetSettingsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.Settings.fromBuffer(value)); + static final _$updateSettings = + $grpc.ClientMethod<$19.UpdateSettingsRequest, $19.Settings>( + '/google.logging.v2.ConfigServiceV2/UpdateSettings', + ($19.UpdateSettingsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $19.Settings.fromBuffer(value)); + static final _$copyLogEntries = + $grpc.ClientMethod<$19.CopyLogEntriesRequest, $0.Operation>( + '/google.logging.v2.ConfigServiceV2/CopyLogEntries', + ($19.CopyLogEntriesRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + ConfigServiceV2Client($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$19.ListBucketsResponse> listBuckets( + $19.ListBucketsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listBuckets, request, options: options); + } + + $grpc.ResponseFuture<$19.LogBucket> getBucket($19.GetBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getBucket, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createBucketAsync( + $19.CreateBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createBucketAsync, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> updateBucketAsync( + $19.UpdateBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateBucketAsync, request, options: options); + } + + $grpc.ResponseFuture<$19.LogBucket> createBucket( + $19.CreateBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createBucket, request, options: options); + } + + $grpc.ResponseFuture<$19.LogBucket> updateBucket( + $19.UpdateBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateBucket, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteBucket($19.DeleteBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteBucket, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> undeleteBucket( + $19.UndeleteBucketRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$undeleteBucket, request, options: options); + } + + $grpc.ResponseFuture<$19.ListViewsResponse> listViews( + $19.ListViewsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listViews, request, options: options); + } + + $grpc.ResponseFuture<$19.LogView> getView($19.GetViewRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getView, request, options: options); + } + + $grpc.ResponseFuture<$19.LogView> createView($19.CreateViewRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createView, request, options: options); + } + + $grpc.ResponseFuture<$19.LogView> updateView($19.UpdateViewRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateView, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteView($19.DeleteViewRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteView, request, options: options); + } + + $grpc.ResponseFuture<$19.ListSinksResponse> listSinks( + $19.ListSinksRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listSinks, request, options: options); + } + + $grpc.ResponseFuture<$19.LogSink> getSink($19.GetSinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getSink, request, options: options); + } + + $grpc.ResponseFuture<$19.LogSink> createSink($19.CreateSinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createSink, request, options: options); + } + + $grpc.ResponseFuture<$19.LogSink> updateSink($19.UpdateSinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateSink, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteSink($19.DeleteSinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteSink, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> createLink($19.CreateLinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createLink, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> deleteLink($19.DeleteLinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteLink, request, options: options); + } + + $grpc.ResponseFuture<$19.ListLinksResponse> listLinks( + $19.ListLinksRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listLinks, request, options: options); + } + + $grpc.ResponseFuture<$19.Link> getLink($19.GetLinkRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getLink, request, options: options); + } + + $grpc.ResponseFuture<$19.ListExclusionsResponse> listExclusions( + $19.ListExclusionsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listExclusions, request, options: options); + } + + $grpc.ResponseFuture<$19.LogExclusion> getExclusion( + $19.GetExclusionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getExclusion, request, options: options); + } + + $grpc.ResponseFuture<$19.LogExclusion> createExclusion( + $19.CreateExclusionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createExclusion, request, options: options); + } + + $grpc.ResponseFuture<$19.LogExclusion> updateExclusion( + $19.UpdateExclusionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateExclusion, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteExclusion( + $19.DeleteExclusionRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteExclusion, request, options: options); + } + + $grpc.ResponseFuture<$19.CmekSettings> getCmekSettings( + $19.GetCmekSettingsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getCmekSettings, request, options: options); + } + + $grpc.ResponseFuture<$19.CmekSettings> updateCmekSettings( + $19.UpdateCmekSettingsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateCmekSettings, request, options: options); + } + + $grpc.ResponseFuture<$19.Settings> getSettings($19.GetSettingsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getSettings, request, options: options); + } + + $grpc.ResponseFuture<$19.Settings> updateSettings( + $19.UpdateSettingsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateSettings, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> copyLogEntries( + $19.CopyLogEntriesRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$copyLogEntries, request, options: options); + } +} + +@$pb.GrpcServiceName('google.logging.v2.ConfigServiceV2') +abstract class ConfigServiceV2ServiceBase extends $grpc.Service { + $core.String get $name => 'google.logging.v2.ConfigServiceV2'; + + ConfigServiceV2ServiceBase() { + $addMethod( + $grpc.ServiceMethod<$19.ListBucketsRequest, $19.ListBucketsResponse>( + 'ListBuckets', + listBuckets_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.ListBucketsRequest.fromBuffer(value), + ($19.ListBucketsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.GetBucketRequest, $19.LogBucket>( + 'GetBucket', + getBucket_Pre, + false, + false, + ($core.List<$core.int> value) => $19.GetBucketRequest.fromBuffer(value), + ($19.LogBucket value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.CreateBucketRequest, $0.Operation>( + 'CreateBucketAsync', + createBucketAsync_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CreateBucketRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.UpdateBucketRequest, $0.Operation>( + 'UpdateBucketAsync', + updateBucketAsync_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateBucketRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.CreateBucketRequest, $19.LogBucket>( + 'CreateBucket', + createBucket_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CreateBucketRequest.fromBuffer(value), + ($19.LogBucket value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.UpdateBucketRequest, $19.LogBucket>( + 'UpdateBucket', + updateBucket_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateBucketRequest.fromBuffer(value), + ($19.LogBucket value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.DeleteBucketRequest, $1.Empty>( + 'DeleteBucket', + deleteBucket_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.DeleteBucketRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.UndeleteBucketRequest, $1.Empty>( + 'UndeleteBucket', + undeleteBucket_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UndeleteBucketRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.ListViewsRequest, $19.ListViewsResponse>( + 'ListViews', + listViews_Pre, + false, + false, + ($core.List<$core.int> value) => $19.ListViewsRequest.fromBuffer(value), + ($19.ListViewsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.GetViewRequest, $19.LogView>( + 'GetView', + getView_Pre, + false, + false, + ($core.List<$core.int> value) => $19.GetViewRequest.fromBuffer(value), + ($19.LogView value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.CreateViewRequest, $19.LogView>( + 'CreateView', + createView_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CreateViewRequest.fromBuffer(value), + ($19.LogView value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.UpdateViewRequest, $19.LogView>( + 'UpdateView', + updateView_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateViewRequest.fromBuffer(value), + ($19.LogView value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.DeleteViewRequest, $1.Empty>( + 'DeleteView', + deleteView_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.DeleteViewRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.ListSinksRequest, $19.ListSinksResponse>( + 'ListSinks', + listSinks_Pre, + false, + false, + ($core.List<$core.int> value) => $19.ListSinksRequest.fromBuffer(value), + ($19.ListSinksResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.GetSinkRequest, $19.LogSink>( + 'GetSink', + getSink_Pre, + false, + false, + ($core.List<$core.int> value) => $19.GetSinkRequest.fromBuffer(value), + ($19.LogSink value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.CreateSinkRequest, $19.LogSink>( + 'CreateSink', + createSink_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CreateSinkRequest.fromBuffer(value), + ($19.LogSink value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.UpdateSinkRequest, $19.LogSink>( + 'UpdateSink', + updateSink_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateSinkRequest.fromBuffer(value), + ($19.LogSink value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.DeleteSinkRequest, $1.Empty>( + 'DeleteSink', + deleteSink_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.DeleteSinkRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.CreateLinkRequest, $0.Operation>( + 'CreateLink', + createLink_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CreateLinkRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.DeleteLinkRequest, $0.Operation>( + 'DeleteLink', + deleteLink_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.DeleteLinkRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.ListLinksRequest, $19.ListLinksResponse>( + 'ListLinks', + listLinks_Pre, + false, + false, + ($core.List<$core.int> value) => $19.ListLinksRequest.fromBuffer(value), + ($19.ListLinksResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.GetLinkRequest, $19.Link>( + 'GetLink', + getLink_Pre, + false, + false, + ($core.List<$core.int> value) => $19.GetLinkRequest.fromBuffer(value), + ($19.Link value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.ListExclusionsRequest, + $19.ListExclusionsResponse>( + 'ListExclusions', + listExclusions_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.ListExclusionsRequest.fromBuffer(value), + ($19.ListExclusionsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.GetExclusionRequest, $19.LogExclusion>( + 'GetExclusion', + getExclusion_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.GetExclusionRequest.fromBuffer(value), + ($19.LogExclusion value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$19.CreateExclusionRequest, $19.LogExclusion>( + 'CreateExclusion', + createExclusion_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CreateExclusionRequest.fromBuffer(value), + ($19.LogExclusion value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$19.UpdateExclusionRequest, $19.LogExclusion>( + 'UpdateExclusion', + updateExclusion_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateExclusionRequest.fromBuffer(value), + ($19.LogExclusion value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.DeleteExclusionRequest, $1.Empty>( + 'DeleteExclusion', + deleteExclusion_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.DeleteExclusionRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$19.GetCmekSettingsRequest, $19.CmekSettings>( + 'GetCmekSettings', + getCmekSettings_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.GetCmekSettingsRequest.fromBuffer(value), + ($19.CmekSettings value) => value.writeToBuffer())); + $addMethod( + $grpc.ServiceMethod<$19.UpdateCmekSettingsRequest, $19.CmekSettings>( + 'UpdateCmekSettings', + updateCmekSettings_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateCmekSettingsRequest.fromBuffer(value), + ($19.CmekSettings value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.GetSettingsRequest, $19.Settings>( + 'GetSettings', + getSettings_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.GetSettingsRequest.fromBuffer(value), + ($19.Settings value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.UpdateSettingsRequest, $19.Settings>( + 'UpdateSettings', + updateSettings_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.UpdateSettingsRequest.fromBuffer(value), + ($19.Settings value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$19.CopyLogEntriesRequest, $0.Operation>( + 'CopyLogEntries', + copyLogEntries_Pre, + false, + false, + ($core.List<$core.int> value) => + $19.CopyLogEntriesRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$19.ListBucketsResponse> listBuckets_Pre($grpc.ServiceCall call, + $async.Future<$19.ListBucketsRequest> request) async { + return listBuckets(call, await request); + } + + $async.Future<$19.LogBucket> getBucket_Pre($grpc.ServiceCall call, + $async.Future<$19.GetBucketRequest> request) async { + return getBucket(call, await request); + } + + $async.Future<$0.Operation> createBucketAsync_Pre($grpc.ServiceCall call, + $async.Future<$19.CreateBucketRequest> request) async { + return createBucketAsync(call, await request); + } + + $async.Future<$0.Operation> updateBucketAsync_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateBucketRequest> request) async { + return updateBucketAsync(call, await request); + } + + $async.Future<$19.LogBucket> createBucket_Pre($grpc.ServiceCall call, + $async.Future<$19.CreateBucketRequest> request) async { + return createBucket(call, await request); + } + + $async.Future<$19.LogBucket> updateBucket_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateBucketRequest> request) async { + return updateBucket(call, await request); + } + + $async.Future<$1.Empty> deleteBucket_Pre($grpc.ServiceCall call, + $async.Future<$19.DeleteBucketRequest> request) async { + return deleteBucket(call, await request); + } + + $async.Future<$1.Empty> undeleteBucket_Pre($grpc.ServiceCall call, + $async.Future<$19.UndeleteBucketRequest> request) async { + return undeleteBucket(call, await request); + } + + $async.Future<$19.ListViewsResponse> listViews_Pre($grpc.ServiceCall call, + $async.Future<$19.ListViewsRequest> request) async { + return listViews(call, await request); + } + + $async.Future<$19.LogView> getView_Pre( + $grpc.ServiceCall call, $async.Future<$19.GetViewRequest> request) async { + return getView(call, await request); + } + + $async.Future<$19.LogView> createView_Pre($grpc.ServiceCall call, + $async.Future<$19.CreateViewRequest> request) async { + return createView(call, await request); + } + + $async.Future<$19.LogView> updateView_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateViewRequest> request) async { + return updateView(call, await request); + } + + $async.Future<$1.Empty> deleteView_Pre($grpc.ServiceCall call, + $async.Future<$19.DeleteViewRequest> request) async { + return deleteView(call, await request); + } + + $async.Future<$19.ListSinksResponse> listSinks_Pre($grpc.ServiceCall call, + $async.Future<$19.ListSinksRequest> request) async { + return listSinks(call, await request); + } + + $async.Future<$19.LogSink> getSink_Pre( + $grpc.ServiceCall call, $async.Future<$19.GetSinkRequest> request) async { + return getSink(call, await request); + } + + $async.Future<$19.LogSink> createSink_Pre($grpc.ServiceCall call, + $async.Future<$19.CreateSinkRequest> request) async { + return createSink(call, await request); + } + + $async.Future<$19.LogSink> updateSink_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateSinkRequest> request) async { + return updateSink(call, await request); + } + + $async.Future<$1.Empty> deleteSink_Pre($grpc.ServiceCall call, + $async.Future<$19.DeleteSinkRequest> request) async { + return deleteSink(call, await request); + } + + $async.Future<$0.Operation> createLink_Pre($grpc.ServiceCall call, + $async.Future<$19.CreateLinkRequest> request) async { + return createLink(call, await request); + } + + $async.Future<$0.Operation> deleteLink_Pre($grpc.ServiceCall call, + $async.Future<$19.DeleteLinkRequest> request) async { + return deleteLink(call, await request); + } + + $async.Future<$19.ListLinksResponse> listLinks_Pre($grpc.ServiceCall call, + $async.Future<$19.ListLinksRequest> request) async { + return listLinks(call, await request); + } + + $async.Future<$19.Link> getLink_Pre( + $grpc.ServiceCall call, $async.Future<$19.GetLinkRequest> request) async { + return getLink(call, await request); + } + + $async.Future<$19.ListExclusionsResponse> listExclusions_Pre( + $grpc.ServiceCall call, + $async.Future<$19.ListExclusionsRequest> request) async { + return listExclusions(call, await request); + } + + $async.Future<$19.LogExclusion> getExclusion_Pre($grpc.ServiceCall call, + $async.Future<$19.GetExclusionRequest> request) async { + return getExclusion(call, await request); + } + + $async.Future<$19.LogExclusion> createExclusion_Pre($grpc.ServiceCall call, + $async.Future<$19.CreateExclusionRequest> request) async { + return createExclusion(call, await request); + } + + $async.Future<$19.LogExclusion> updateExclusion_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateExclusionRequest> request) async { + return updateExclusion(call, await request); + } + + $async.Future<$1.Empty> deleteExclusion_Pre($grpc.ServiceCall call, + $async.Future<$19.DeleteExclusionRequest> request) async { + return deleteExclusion(call, await request); + } + + $async.Future<$19.CmekSettings> getCmekSettings_Pre($grpc.ServiceCall call, + $async.Future<$19.GetCmekSettingsRequest> request) async { + return getCmekSettings(call, await request); + } + + $async.Future<$19.CmekSettings> updateCmekSettings_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateCmekSettingsRequest> request) async { + return updateCmekSettings(call, await request); + } + + $async.Future<$19.Settings> getSettings_Pre($grpc.ServiceCall call, + $async.Future<$19.GetSettingsRequest> request) async { + return getSettings(call, await request); + } + + $async.Future<$19.Settings> updateSettings_Pre($grpc.ServiceCall call, + $async.Future<$19.UpdateSettingsRequest> request) async { + return updateSettings(call, await request); + } + + $async.Future<$0.Operation> copyLogEntries_Pre($grpc.ServiceCall call, + $async.Future<$19.CopyLogEntriesRequest> request) async { + return copyLogEntries(call, await request); + } + + $async.Future<$19.ListBucketsResponse> listBuckets( + $grpc.ServiceCall call, $19.ListBucketsRequest request); + $async.Future<$19.LogBucket> getBucket( + $grpc.ServiceCall call, $19.GetBucketRequest request); + $async.Future<$0.Operation> createBucketAsync( + $grpc.ServiceCall call, $19.CreateBucketRequest request); + $async.Future<$0.Operation> updateBucketAsync( + $grpc.ServiceCall call, $19.UpdateBucketRequest request); + $async.Future<$19.LogBucket> createBucket( + $grpc.ServiceCall call, $19.CreateBucketRequest request); + $async.Future<$19.LogBucket> updateBucket( + $grpc.ServiceCall call, $19.UpdateBucketRequest request); + $async.Future<$1.Empty> deleteBucket( + $grpc.ServiceCall call, $19.DeleteBucketRequest request); + $async.Future<$1.Empty> undeleteBucket( + $grpc.ServiceCall call, $19.UndeleteBucketRequest request); + $async.Future<$19.ListViewsResponse> listViews( + $grpc.ServiceCall call, $19.ListViewsRequest request); + $async.Future<$19.LogView> getView( + $grpc.ServiceCall call, $19.GetViewRequest request); + $async.Future<$19.LogView> createView( + $grpc.ServiceCall call, $19.CreateViewRequest request); + $async.Future<$19.LogView> updateView( + $grpc.ServiceCall call, $19.UpdateViewRequest request); + $async.Future<$1.Empty> deleteView( + $grpc.ServiceCall call, $19.DeleteViewRequest request); + $async.Future<$19.ListSinksResponse> listSinks( + $grpc.ServiceCall call, $19.ListSinksRequest request); + $async.Future<$19.LogSink> getSink( + $grpc.ServiceCall call, $19.GetSinkRequest request); + $async.Future<$19.LogSink> createSink( + $grpc.ServiceCall call, $19.CreateSinkRequest request); + $async.Future<$19.LogSink> updateSink( + $grpc.ServiceCall call, $19.UpdateSinkRequest request); + $async.Future<$1.Empty> deleteSink( + $grpc.ServiceCall call, $19.DeleteSinkRequest request); + $async.Future<$0.Operation> createLink( + $grpc.ServiceCall call, $19.CreateLinkRequest request); + $async.Future<$0.Operation> deleteLink( + $grpc.ServiceCall call, $19.DeleteLinkRequest request); + $async.Future<$19.ListLinksResponse> listLinks( + $grpc.ServiceCall call, $19.ListLinksRequest request); + $async.Future<$19.Link> getLink( + $grpc.ServiceCall call, $19.GetLinkRequest request); + $async.Future<$19.ListExclusionsResponse> listExclusions( + $grpc.ServiceCall call, $19.ListExclusionsRequest request); + $async.Future<$19.LogExclusion> getExclusion( + $grpc.ServiceCall call, $19.GetExclusionRequest request); + $async.Future<$19.LogExclusion> createExclusion( + $grpc.ServiceCall call, $19.CreateExclusionRequest request); + $async.Future<$19.LogExclusion> updateExclusion( + $grpc.ServiceCall call, $19.UpdateExclusionRequest request); + $async.Future<$1.Empty> deleteExclusion( + $grpc.ServiceCall call, $19.DeleteExclusionRequest request); + $async.Future<$19.CmekSettings> getCmekSettings( + $grpc.ServiceCall call, $19.GetCmekSettingsRequest request); + $async.Future<$19.CmekSettings> updateCmekSettings( + $grpc.ServiceCall call, $19.UpdateCmekSettingsRequest request); + $async.Future<$19.Settings> getSettings( + $grpc.ServiceCall call, $19.GetSettingsRequest request); + $async.Future<$19.Settings> updateSettings( + $grpc.ServiceCall call, $19.UpdateSettingsRequest request); + $async.Future<$0.Operation> copyLogEntries( + $grpc.ServiceCall call, $19.CopyLogEntriesRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbjson.dart new file mode 100644 index 00000000..10915848 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_config.pbjson.dart @@ -0,0 +1,1488 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_config.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationStateDescriptor instead') +const OperationState$json = { + '1': 'OperationState', + '2': [ + {'1': 'OPERATION_STATE_UNSPECIFIED', '2': 0}, + {'1': 'OPERATION_STATE_SCHEDULED', '2': 1}, + {'1': 'OPERATION_STATE_WAITING_FOR_PERMISSIONS', '2': 2}, + {'1': 'OPERATION_STATE_RUNNING', '2': 3}, + {'1': 'OPERATION_STATE_SUCCEEDED', '2': 4}, + {'1': 'OPERATION_STATE_FAILED', '2': 5}, + {'1': 'OPERATION_STATE_CANCELLED', '2': 6}, + ], +}; + +/// Descriptor for `OperationState`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List operationStateDescriptor = $convert.base64Decode( + 'Cg5PcGVyYXRpb25TdGF0ZRIfChtPUEVSQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIdChlPUE' + 'VSQVRJT05fU1RBVEVfU0NIRURVTEVEEAESKwonT1BFUkFUSU9OX1NUQVRFX1dBSVRJTkdfRk9S' + 'X1BFUk1JU1NJT05TEAISGwoXT1BFUkFUSU9OX1NUQVRFX1JVTk5JTkcQAxIdChlPUEVSQVRJT0' + '5fU1RBVEVfU1VDQ0VFREVEEAQSGgoWT1BFUkFUSU9OX1NUQVRFX0ZBSUxFRBAFEh0KGU9QRVJB' + 'VElPTl9TVEFURV9DQU5DRUxMRUQQBg=='); + +@$core.Deprecated('Use lifecycleStateDescriptor instead') +const LifecycleState$json = { + '1': 'LifecycleState', + '2': [ + {'1': 'LIFECYCLE_STATE_UNSPECIFIED', '2': 0}, + {'1': 'ACTIVE', '2': 1}, + {'1': 'DELETE_REQUESTED', '2': 2}, + {'1': 'UPDATING', '2': 3}, + {'1': 'CREATING', '2': 4}, + {'1': 'FAILED', '2': 5}, + ], +}; + +/// Descriptor for `LifecycleState`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List lifecycleStateDescriptor = $convert.base64Decode( + 'Cg5MaWZlY3ljbGVTdGF0ZRIfChtMSUZFQ1lDTEVfU1RBVEVfVU5TUEVDSUZJRUQQABIKCgZBQ1' + 'RJVkUQARIUChBERUxFVEVfUkVRVUVTVEVEEAISDAoIVVBEQVRJTkcQAxIMCghDUkVBVElORxAE' + 'EgoKBkZBSUxFRBAF'); + +@$core.Deprecated('Use indexTypeDescriptor instead') +const IndexType$json = { + '1': 'IndexType', + '2': [ + {'1': 'INDEX_TYPE_UNSPECIFIED', '2': 0}, + {'1': 'INDEX_TYPE_STRING', '2': 1}, + {'1': 'INDEX_TYPE_INTEGER', '2': 2}, + ], +}; + +/// Descriptor for `IndexType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List indexTypeDescriptor = $convert.base64Decode( + 'CglJbmRleFR5cGUSGgoWSU5ERVhfVFlQRV9VTlNQRUNJRklFRBAAEhUKEUlOREVYX1RZUEVfU1' + 'RSSU5HEAESFgoSSU5ERVhfVFlQRV9JTlRFR0VSEAI='); + +@$core.Deprecated('Use indexConfigDescriptor instead') +const IndexConfig$json = { + '1': 'IndexConfig', + '2': [ + {'1': 'field_path', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'fieldPath'}, + { + '1': 'type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.logging.v2.IndexType', + '8': {}, + '10': 'type' + }, + { + '1': 'create_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + ], +}; + +/// Descriptor for `IndexConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List indexConfigDescriptor = $convert.base64Decode( + 'CgtJbmRleENvbmZpZxIiCgpmaWVsZF9wYXRoGAEgASgJQgPgQQJSCWZpZWxkUGF0aBI1CgR0eX' + 'BlGAIgASgOMhwuZ29vZ2xlLmxvZ2dpbmcudjIuSW5kZXhUeXBlQgPgQQJSBHR5cGUSQAoLY3Jl' + 'YXRlX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQNSCmNyZWF0ZV' + 'RpbWU='); + +@$core.Deprecated('Use logBucketDescriptor instead') +const LogBucket$json = { + '1': 'LogBucket', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'create_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + {'1': 'retention_days', '3': 11, '4': 1, '5': 5, '10': 'retentionDays'}, + {'1': 'locked', '3': 9, '4': 1, '5': 8, '10': 'locked'}, + { + '1': 'lifecycle_state', + '3': 12, + '4': 1, + '5': 14, + '6': '.google.logging.v2.LifecycleState', + '8': {}, + '10': 'lifecycleState' + }, + { + '1': 'analytics_enabled', + '3': 14, + '4': 1, + '5': 8, + '10': 'analyticsEnabled' + }, + { + '1': 'restricted_fields', + '3': 15, + '4': 3, + '5': 9, + '10': 'restrictedFields' + }, + { + '1': 'index_configs', + '3': 17, + '4': 3, + '5': 11, + '6': '.google.logging.v2.IndexConfig', + '10': 'indexConfigs' + }, + { + '1': 'cmek_settings', + '3': 19, + '4': 1, + '5': 11, + '6': '.google.logging.v2.CmekSettings', + '10': 'cmekSettings' + }, + ], + '7': {}, +}; + +/// Descriptor for `LogBucket`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logBucketDescriptor = $convert.base64Decode( + 'CglMb2dCdWNrZXQSFwoEbmFtZRgBIAEoCUID4EEDUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgAS' + 'gJUgtkZXNjcmlwdGlvbhJACgtjcmVhdGVfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5U' + 'aW1lc3RhbXBCA+BBA1IKY3JlYXRlVGltZRJACgt1cGRhdGVfdGltZRgFIAEoCzIaLmdvb2dsZS' + '5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBA1IKdXBkYXRlVGltZRIlCg5yZXRlbnRpb25fZGF5cxgL' + 'IAEoBVINcmV0ZW50aW9uRGF5cxIWCgZsb2NrZWQYCSABKAhSBmxvY2tlZBJPCg9saWZlY3ljbG' + 'Vfc3RhdGUYDCABKA4yIS5nb29nbGUubG9nZ2luZy52Mi5MaWZlY3ljbGVTdGF0ZUID4EEDUg5s' + 'aWZlY3ljbGVTdGF0ZRIrChFhbmFseXRpY3NfZW5hYmxlZBgOIAEoCFIQYW5hbHl0aWNzRW5hYm' + 'xlZBIrChFyZXN0cmljdGVkX2ZpZWxkcxgPIAMoCVIQcmVzdHJpY3RlZEZpZWxkcxJDCg1pbmRl' + 'eF9jb25maWdzGBEgAygLMh4uZ29vZ2xlLmxvZ2dpbmcudjIuSW5kZXhDb25maWdSDGluZGV4Q2' + '9uZmlncxJECg1jbWVrX3NldHRpbmdzGBMgASgLMh8uZ29vZ2xlLmxvZ2dpbmcudjIuQ21la1Nl' + 'dHRpbmdzUgxjbWVrU2V0dGluZ3M6pQLqQaECCiBsb2dnaW5nLmdvb2dsZWFwaXMuY29tL0xvZ0' + 'J1Y2tldBI4cHJvamVjdHMve3Byb2plY3R9L2xvY2F0aW9ucy97bG9jYXRpb259L2J1Y2tldHMv' + 'e2J1Y2tldH0SQm9yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbn0vbG9jYXRpb25zL3tsb2NhdG' + 'lvbn0vYnVja2V0cy97YnVja2V0fRI2Zm9sZGVycy97Zm9sZGVyfS9sb2NhdGlvbnMve2xvY2F0' + 'aW9ufS9idWNrZXRzL3tidWNrZXR9EkdiaWxsaW5nQWNjb3VudHMve2JpbGxpbmdfYWNjb3VudH' + '0vbG9jYXRpb25zL3tsb2NhdGlvbn0vYnVja2V0cy97YnVja2V0fQ=='); + +@$core.Deprecated('Use logViewDescriptor instead') +const LogView$json = { + '1': 'LogView', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'description', '3': 3, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'create_time', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + {'1': 'filter', '3': 7, '4': 1, '5': 9, '10': 'filter'}, + ], + '7': {}, +}; + +/// Descriptor for `LogView`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logViewDescriptor = $convert.base64Decode( + 'CgdMb2dWaWV3EhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2' + 'NyaXB0aW9uEkAKC2NyZWF0ZV90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt' + 'cEID4EEDUgpjcmVhdGVUaW1lEkAKC3VwZGF0ZV90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYn' + 'VmLlRpbWVzdGFtcEID4EEDUgp1cGRhdGVUaW1lEhYKBmZpbHRlchgHIAEoCVIGZmlsdGVyOtcC' + '6kHTAgoebG9nZ2luZy5nb29nbGVhcGlzLmNvbS9Mb2dWaWV3EkVwcm9qZWN0cy97cHJvamVjdH' + '0vbG9jYXRpb25zL3tsb2NhdGlvbn0vYnVja2V0cy97YnVja2V0fS92aWV3cy97dmlld30ST29y' + 'Z2FuaXphdGlvbnMve29yZ2FuaXphdGlvbn0vbG9jYXRpb25zL3tsb2NhdGlvbn0vYnVja2V0cy' + '97YnVja2V0fS92aWV3cy97dmlld30SQ2ZvbGRlcnMve2ZvbGRlcn0vbG9jYXRpb25zL3tsb2Nh' + 'dGlvbn0vYnVja2V0cy97YnVja2V0fS92aWV3cy97dmlld30SVGJpbGxpbmdBY2NvdW50cy97Ym' + 'lsbGluZ19hY2NvdW50fS9sb2NhdGlvbnMve2xvY2F0aW9ufS9idWNrZXRzL3tidWNrZXR9L3Zp' + 'ZXdzL3t2aWV3fQ=='); + +@$core.Deprecated('Use logSinkDescriptor instead') +const LogSink$json = { + '1': 'LogSink', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'destination', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'destination'}, + {'1': 'filter', '3': 5, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + {'1': 'description', '3': 18, '4': 1, '5': 9, '8': {}, '10': 'description'}, + {'1': 'disabled', '3': 19, '4': 1, '5': 8, '8': {}, '10': 'disabled'}, + { + '1': 'exclusions', + '3': 16, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogExclusion', + '8': {}, + '10': 'exclusions' + }, + { + '1': 'output_version_format', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.logging.v2.LogSink.VersionFormat', + '8': {'3': true}, + '10': 'outputVersionFormat', + }, + { + '1': 'writer_identity', + '3': 8, + '4': 1, + '5': 9, + '8': {}, + '10': 'writerIdentity' + }, + { + '1': 'include_children', + '3': 9, + '4': 1, + '5': 8, + '8': {}, + '10': 'includeChildren' + }, + { + '1': 'bigquery_options', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.logging.v2.BigQueryOptions', + '8': {}, + '9': 0, + '10': 'bigqueryOptions' + }, + { + '1': 'create_time', + '3': 13, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 14, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + ], + '4': [LogSink_VersionFormat$json], + '7': {}, + '8': [ + {'1': 'options'}, + ], +}; + +@$core.Deprecated('Use logSinkDescriptor instead') +const LogSink_VersionFormat$json = { + '1': 'VersionFormat', + '2': [ + {'1': 'VERSION_FORMAT_UNSPECIFIED', '2': 0}, + {'1': 'V2', '2': 1}, + {'1': 'V1', '2': 2}, + ], +}; + +/// Descriptor for `LogSink`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logSinkDescriptor = $convert.base64Decode( + 'CgdMb2dTaW5rEhcKBG5hbWUYASABKAlCA+BBAlIEbmFtZRIrCgtkZXN0aW5hdGlvbhgDIAEoCU' + 'IJ4EEC+kEDCgEqUgtkZXN0aW5hdGlvbhIbCgZmaWx0ZXIYBSABKAlCA+BBAVIGZmlsdGVyEiUK' + 'C2Rlc2NyaXB0aW9uGBIgASgJQgPgQQFSC2Rlc2NyaXB0aW9uEh8KCGRpc2FibGVkGBMgASgIQg' + 'PgQQFSCGRpc2FibGVkEkQKCmV4Y2x1c2lvbnMYECADKAsyHy5nb29nbGUubG9nZ2luZy52Mi5M' + 'b2dFeGNsdXNpb25CA+BBAVIKZXhjbHVzaW9ucxJgChVvdXRwdXRfdmVyc2lvbl9mb3JtYXQYBi' + 'ABKA4yKC5nb29nbGUubG9nZ2luZy52Mi5Mb2dTaW5rLlZlcnNpb25Gb3JtYXRCAhgBUhNvdXRw' + 'dXRWZXJzaW9uRm9ybWF0EiwKD3dyaXRlcl9pZGVudGl0eRgIIAEoCUID4EEDUg53cml0ZXJJZG' + 'VudGl0eRIuChBpbmNsdWRlX2NoaWxkcmVuGAkgASgIQgPgQQFSD2luY2x1ZGVDaGlsZHJlbhJU' + 'ChBiaWdxdWVyeV9vcHRpb25zGAwgASgLMiIuZ29vZ2xlLmxvZ2dpbmcudjIuQmlnUXVlcnlPcH' + 'Rpb25zQgPgQQFIAFIPYmlncXVlcnlPcHRpb25zEkAKC2NyZWF0ZV90aW1lGA0gASgLMhouZ29v' + 'Z2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDUgpjcmVhdGVUaW1lEkAKC3VwZGF0ZV90aW1lGA' + '4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDUgp1cGRhdGVUaW1lIj8KDVZl' + 'cnNpb25Gb3JtYXQSHgoaVkVSU0lPTl9GT1JNQVRfVU5TUEVDSUZJRUQQABIGCgJWMhABEgYKAl' + 'YxEAI6vwHqQbsBCh5sb2dnaW5nLmdvb2dsZWFwaXMuY29tL0xvZ1NpbmsSH3Byb2plY3RzL3tw' + 'cm9qZWN0fS9zaW5rcy97c2lua30SKW9yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbn0vc2lua3' + 'Mve3Npbmt9Eh1mb2xkZXJzL3tmb2xkZXJ9L3NpbmtzL3tzaW5rfRIuYmlsbGluZ0FjY291bnRz' + 'L3tiaWxsaW5nX2FjY291bnR9L3NpbmtzL3tzaW5rfUIJCgdvcHRpb25z'); + +@$core.Deprecated('Use bigQueryDatasetDescriptor instead') +const BigQueryDataset$json = { + '1': 'BigQueryDataset', + '2': [ + {'1': 'dataset_id', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'datasetId'}, + ], +}; + +/// Descriptor for `BigQueryDataset`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bigQueryDatasetDescriptor = $convert.base64Decode( + 'Cg9CaWdRdWVyeURhdGFzZXQSIgoKZGF0YXNldF9pZBgBIAEoCUID4EEDUglkYXRhc2V0SWQ='); + +@$core.Deprecated('Use linkDescriptor instead') +const Link$json = { + '1': 'Link', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'description', '3': 2, '4': 1, '5': 9, '10': 'description'}, + { + '1': 'create_time', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'lifecycle_state', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.logging.v2.LifecycleState', + '8': {}, + '10': 'lifecycleState' + }, + { + '1': 'bigquery_dataset', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.logging.v2.BigQueryDataset', + '10': 'bigqueryDataset' + }, + ], + '7': {}, +}; + +/// Descriptor for `Link`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List linkDescriptor = $convert.base64Decode( + 'CgRMaW5rEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaX' + 'B0aW9uEkAKC2NyZWF0ZV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID' + '4EEDUgpjcmVhdGVUaW1lEk8KD2xpZmVjeWNsZV9zdGF0ZRgEIAEoDjIhLmdvb2dsZS5sb2dnaW' + '5nLnYyLkxpZmVjeWNsZVN0YXRlQgPgQQNSDmxpZmVjeWNsZVN0YXRlEk0KEGJpZ3F1ZXJ5X2Rh' + 'dGFzZXQYBSABKAsyIi5nb29nbGUubG9nZ2luZy52Mi5CaWdRdWVyeURhdGFzZXRSD2JpZ3F1ZX' + 'J5RGF0YXNldDrUAupB0AIKG2xvZ2dpbmcuZ29vZ2xlYXBpcy5jb20vTGluaxJFcHJvamVjdHMv' + 'e3Byb2plY3R9L2xvY2F0aW9ucy97bG9jYXRpb259L2J1Y2tldHMve2J1Y2tldH0vbGlua3Mve2' + 'xpbmt9Ek9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb259L2xvY2F0aW9ucy97bG9jYXRpb259' + 'L2J1Y2tldHMve2J1Y2tldH0vbGlua3Mve2xpbmt9EkNmb2xkZXJzL3tmb2xkZXJ9L2xvY2F0aW' + '9ucy97bG9jYXRpb259L2J1Y2tldHMve2J1Y2tldH0vbGlua3Mve2xpbmt9ElRiaWxsaW5nQWNj' + 'b3VudHMve2JpbGxpbmdfYWNjb3VudH0vbG9jYXRpb25zL3tsb2NhdGlvbn0vYnVja2V0cy97Yn' + 'Vja2V0fS9saW5rcy97bGlua30='); + +@$core.Deprecated('Use bigQueryOptionsDescriptor instead') +const BigQueryOptions$json = { + '1': 'BigQueryOptions', + '2': [ + { + '1': 'use_partitioned_tables', + '3': 1, + '4': 1, + '5': 8, + '8': {}, + '10': 'usePartitionedTables' + }, + { + '1': 'uses_timestamp_column_partitioning', + '3': 3, + '4': 1, + '5': 8, + '8': {}, + '10': 'usesTimestampColumnPartitioning' + }, + ], +}; + +/// Descriptor for `BigQueryOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bigQueryOptionsDescriptor = $convert.base64Decode( + 'Cg9CaWdRdWVyeU9wdGlvbnMSOQoWdXNlX3BhcnRpdGlvbmVkX3RhYmxlcxgBIAEoCEID4EEBUh' + 'R1c2VQYXJ0aXRpb25lZFRhYmxlcxJQCiJ1c2VzX3RpbWVzdGFtcF9jb2x1bW5fcGFydGl0aW9u' + 'aW5nGAMgASgIQgPgQQNSH3VzZXNUaW1lc3RhbXBDb2x1bW5QYXJ0aXRpb25pbmc='); + +@$core.Deprecated('Use listBucketsRequestDescriptor instead') +const ListBucketsRequest$json = { + '1': 'ListBucketsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListBucketsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listBucketsRequestDescriptor = $convert.base64Decode( + 'ChJMaXN0QnVja2V0c1JlcXVlc3QSQAoGcGFyZW50GAEgASgJQijgQQL6QSISIGxvZ2dpbmcuZ2' + '9vZ2xlYXBpcy5jb20vTG9nQnVja2V0UgZwYXJlbnQSIgoKcGFnZV90b2tlbhgCIAEoCUID4EEB' + 'UglwYWdlVG9rZW4SIAoJcGFnZV9zaXplGAMgASgFQgPgQQFSCHBhZ2VTaXpl'); + +@$core.Deprecated('Use listBucketsResponseDescriptor instead') +const ListBucketsResponse$json = { + '1': 'ListBucketsResponse', + '2': [ + { + '1': 'buckets', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogBucket', + '10': 'buckets' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListBucketsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listBucketsResponseDescriptor = $convert.base64Decode( + 'ChNMaXN0QnVja2V0c1Jlc3BvbnNlEjYKB2J1Y2tldHMYASADKAsyHC5nb29nbGUubG9nZ2luZy' + '52Mi5Mb2dCdWNrZXRSB2J1Y2tldHMSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0UGFn' + 'ZVRva2Vu'); + +@$core.Deprecated('Use createBucketRequestDescriptor instead') +const CreateBucketRequest$json = { + '1': 'CreateBucketRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'bucket_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'bucketId'}, + { + '1': 'bucket', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogBucket', + '8': {}, + '10': 'bucket' + }, + ], +}; + +/// Descriptor for `CreateBucketRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createBucketRequestDescriptor = $convert.base64Decode( + 'ChNDcmVhdGVCdWNrZXRSZXF1ZXN0EkAKBnBhcmVudBgBIAEoCUIo4EEC+kEiEiBsb2dnaW5nLm' + 'dvb2dsZWFwaXMuY29tL0xvZ0J1Y2tldFIGcGFyZW50EiAKCWJ1Y2tldF9pZBgCIAEoCUID4EEC' + 'UghidWNrZXRJZBI5CgZidWNrZXQYAyABKAsyHC5nb29nbGUubG9nZ2luZy52Mi5Mb2dCdWNrZX' + 'RCA+BBAlIGYnVja2V0'); + +@$core.Deprecated('Use updateBucketRequestDescriptor instead') +const UpdateBucketRequest$json = { + '1': 'UpdateBucketRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'bucket', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogBucket', + '8': {}, + '10': 'bucket' + }, + { + '1': 'update_mask', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateBucketRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateBucketRequestDescriptor = $convert.base64Decode( + 'ChNVcGRhdGVCdWNrZXRSZXF1ZXN0EjwKBG5hbWUYASABKAlCKOBBAvpBIgogbG9nZ2luZy5nb2' + '9nbGVhcGlzLmNvbS9Mb2dCdWNrZXRSBG5hbWUSOQoGYnVja2V0GAIgASgLMhwuZ29vZ2xlLmxv' + 'Z2dpbmcudjIuTG9nQnVja2V0QgPgQQJSBmJ1Y2tldBJACgt1cGRhdGVfbWFzaxgEIAEoCzIaLm' + 'dvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCA+BBAlIKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use getBucketRequestDescriptor instead') +const GetBucketRequest$json = { + '1': 'GetBucketRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetBucketRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getBucketRequestDescriptor = $convert.base64Decode( + 'ChBHZXRCdWNrZXRSZXF1ZXN0EjwKBG5hbWUYASABKAlCKOBBAvpBIgogbG9nZ2luZy5nb29nbG' + 'VhcGlzLmNvbS9Mb2dCdWNrZXRSBG5hbWU='); + +@$core.Deprecated('Use deleteBucketRequestDescriptor instead') +const DeleteBucketRequest$json = { + '1': 'DeleteBucketRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteBucketRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteBucketRequestDescriptor = $convert.base64Decode( + 'ChNEZWxldGVCdWNrZXRSZXF1ZXN0EjwKBG5hbWUYASABKAlCKOBBAvpBIgogbG9nZ2luZy5nb2' + '9nbGVhcGlzLmNvbS9Mb2dCdWNrZXRSBG5hbWU='); + +@$core.Deprecated('Use undeleteBucketRequestDescriptor instead') +const UndeleteBucketRequest$json = { + '1': 'UndeleteBucketRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `UndeleteBucketRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List undeleteBucketRequestDescriptor = $convert.base64Decode( + 'ChVVbmRlbGV0ZUJ1Y2tldFJlcXVlc3QSPAoEbmFtZRgBIAEoCUIo4EEC+kEiCiBsb2dnaW5nLm' + 'dvb2dsZWFwaXMuY29tL0xvZ0J1Y2tldFIEbmFtZQ=='); + +@$core.Deprecated('Use listViewsRequestDescriptor instead') +const ListViewsRequest$json = { + '1': 'ListViewsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListViewsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listViewsRequestDescriptor = $convert.base64Decode( + 'ChBMaXN0Vmlld3NSZXF1ZXN0EhsKBnBhcmVudBgBIAEoCUID4EECUgZwYXJlbnQSIgoKcGFnZV' + '90b2tlbhgCIAEoCUID4EEBUglwYWdlVG9rZW4SIAoJcGFnZV9zaXplGAMgASgFQgPgQQFSCHBh' + 'Z2VTaXpl'); + +@$core.Deprecated('Use listViewsResponseDescriptor instead') +const ListViewsResponse$json = { + '1': 'ListViewsResponse', + '2': [ + { + '1': 'views', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogView', + '10': 'views' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListViewsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listViewsResponseDescriptor = $convert.base64Decode( + 'ChFMaXN0Vmlld3NSZXNwb25zZRIwCgV2aWV3cxgBIAMoCzIaLmdvb2dsZS5sb2dnaW5nLnYyLk' + 'xvZ1ZpZXdSBXZpZXdzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use createViewRequestDescriptor instead') +const CreateViewRequest$json = { + '1': 'CreateViewRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'view_id', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'viewId'}, + { + '1': 'view', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogView', + '8': {}, + '10': 'view' + }, + ], +}; + +/// Descriptor for `CreateViewRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createViewRequestDescriptor = $convert.base64Decode( + 'ChFDcmVhdGVWaWV3UmVxdWVzdBIbCgZwYXJlbnQYASABKAlCA+BBAlIGcGFyZW50EhwKB3ZpZX' + 'dfaWQYAiABKAlCA+BBAlIGdmlld0lkEjMKBHZpZXcYAyABKAsyGi5nb29nbGUubG9nZ2luZy52' + 'Mi5Mb2dWaWV3QgPgQQJSBHZpZXc='); + +@$core.Deprecated('Use updateViewRequestDescriptor instead') +const UpdateViewRequest$json = { + '1': 'UpdateViewRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'view', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogView', + '8': {}, + '10': 'view' + }, + { + '1': 'update_mask', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateViewRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateViewRequestDescriptor = $convert.base64Decode( + 'ChFVcGRhdGVWaWV3UmVxdWVzdBIXCgRuYW1lGAEgASgJQgPgQQJSBG5hbWUSMwoEdmlldxgCIA' + 'EoCzIaLmdvb2dsZS5sb2dnaW5nLnYyLkxvZ1ZpZXdCA+BBAlIEdmlldxJACgt1cGRhdGVfbWFz' + 'axgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCA+BBAVIKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use getViewRequestDescriptor instead') +const GetViewRequest$json = { + '1': 'GetViewRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetViewRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getViewRequestDescriptor = $convert.base64Decode( + 'Cg5HZXRWaWV3UmVxdWVzdBI6CgRuYW1lGAEgASgJQibgQQL6QSAKHmxvZ2dpbmcuZ29vZ2xlYX' + 'Bpcy5jb20vTG9nVmlld1IEbmFtZQ=='); + +@$core.Deprecated('Use deleteViewRequestDescriptor instead') +const DeleteViewRequest$json = { + '1': 'DeleteViewRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteViewRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteViewRequestDescriptor = $convert.base64Decode( + 'ChFEZWxldGVWaWV3UmVxdWVzdBI6CgRuYW1lGAEgASgJQibgQQL6QSAKHmxvZ2dpbmcuZ29vZ2' + 'xlYXBpcy5jb20vTG9nVmlld1IEbmFtZQ=='); + +@$core.Deprecated('Use listSinksRequestDescriptor instead') +const ListSinksRequest$json = { + '1': 'ListSinksRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListSinksRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listSinksRequestDescriptor = $convert.base64Decode( + 'ChBMaXN0U2lua3NSZXF1ZXN0Ej4KBnBhcmVudBgBIAEoCUIm4EEC+kEgEh5sb2dnaW5nLmdvb2' + 'dsZWFwaXMuY29tL0xvZ1NpbmtSBnBhcmVudBIiCgpwYWdlX3Rva2VuGAIgASgJQgPgQQFSCXBh' + 'Z2VUb2tlbhIgCglwYWdlX3NpemUYAyABKAVCA+BBAVIIcGFnZVNpemU='); + +@$core.Deprecated('Use listSinksResponseDescriptor instead') +const ListSinksResponse$json = { + '1': 'ListSinksResponse', + '2': [ + { + '1': 'sinks', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogSink', + '10': 'sinks' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListSinksResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listSinksResponseDescriptor = $convert.base64Decode( + 'ChFMaXN0U2lua3NSZXNwb25zZRIwCgVzaW5rcxgBIAMoCzIaLmdvb2dsZS5sb2dnaW5nLnYyLk' + 'xvZ1NpbmtSBXNpbmtzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getSinkRequestDescriptor instead') +const GetSinkRequest$json = { + '1': 'GetSinkRequest', + '2': [ + {'1': 'sink_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'sinkName'}, + ], +}; + +/// Descriptor for `GetSinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSinkRequestDescriptor = $convert.base64Decode( + 'Cg5HZXRTaW5rUmVxdWVzdBJDCglzaW5rX25hbWUYASABKAlCJuBBAvpBIAoebG9nZ2luZy5nb2' + '9nbGVhcGlzLmNvbS9Mb2dTaW5rUghzaW5rTmFtZQ=='); + +@$core.Deprecated('Use createSinkRequestDescriptor instead') +const CreateSinkRequest$json = { + '1': 'CreateSinkRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'sink', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogSink', + '8': {}, + '10': 'sink' + }, + { + '1': 'unique_writer_identity', + '3': 3, + '4': 1, + '5': 8, + '8': {}, + '10': 'uniqueWriterIdentity' + }, + ], +}; + +/// Descriptor for `CreateSinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createSinkRequestDescriptor = $convert.base64Decode( + 'ChFDcmVhdGVTaW5rUmVxdWVzdBI+CgZwYXJlbnQYASABKAlCJuBBAvpBIBIebG9nZ2luZy5nb2' + '9nbGVhcGlzLmNvbS9Mb2dTaW5rUgZwYXJlbnQSMwoEc2luaxgCIAEoCzIaLmdvb2dsZS5sb2dn' + 'aW5nLnYyLkxvZ1NpbmtCA+BBAlIEc2luaxI5ChZ1bmlxdWVfd3JpdGVyX2lkZW50aXR5GAMgAS' + 'gIQgPgQQFSFHVuaXF1ZVdyaXRlcklkZW50aXR5'); + +@$core.Deprecated('Use updateSinkRequestDescriptor instead') +const UpdateSinkRequest$json = { + '1': 'UpdateSinkRequest', + '2': [ + {'1': 'sink_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'sinkName'}, + { + '1': 'sink', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogSink', + '8': {}, + '10': 'sink' + }, + { + '1': 'unique_writer_identity', + '3': 3, + '4': 1, + '5': 8, + '8': {}, + '10': 'uniqueWriterIdentity' + }, + { + '1': 'update_mask', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateSinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateSinkRequestDescriptor = $convert.base64Decode( + 'ChFVcGRhdGVTaW5rUmVxdWVzdBJDCglzaW5rX25hbWUYASABKAlCJuBBAvpBIAoebG9nZ2luZy' + '5nb29nbGVhcGlzLmNvbS9Mb2dTaW5rUghzaW5rTmFtZRIzCgRzaW5rGAIgASgLMhouZ29vZ2xl' + 'LmxvZ2dpbmcudjIuTG9nU2lua0ID4EECUgRzaW5rEjkKFnVuaXF1ZV93cml0ZXJfaWRlbnRpdH' + 'kYAyABKAhCA+BBAVIUdW5pcXVlV3JpdGVySWRlbnRpdHkSQAoLdXBkYXRlX21hc2sYBCABKAsy' + 'Gi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgPgQQFSCnVwZGF0ZU1hc2s='); + +@$core.Deprecated('Use deleteSinkRequestDescriptor instead') +const DeleteSinkRequest$json = { + '1': 'DeleteSinkRequest', + '2': [ + {'1': 'sink_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'sinkName'}, + ], +}; + +/// Descriptor for `DeleteSinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteSinkRequestDescriptor = $convert.base64Decode( + 'ChFEZWxldGVTaW5rUmVxdWVzdBJDCglzaW5rX25hbWUYASABKAlCJuBBAvpBIAoebG9nZ2luZy' + '5nb29nbGVhcGlzLmNvbS9Mb2dTaW5rUghzaW5rTmFtZQ=='); + +@$core.Deprecated('Use createLinkRequestDescriptor instead') +const CreateLinkRequest$json = { + '1': 'CreateLinkRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'link', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.Link', + '8': {}, + '10': 'link' + }, + {'1': 'link_id', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'linkId'}, + ], +}; + +/// Descriptor for `CreateLinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createLinkRequestDescriptor = $convert.base64Decode( + 'ChFDcmVhdGVMaW5rUmVxdWVzdBI7CgZwYXJlbnQYASABKAlCI+BBAvpBHRIbbG9nZ2luZy5nb2' + '9nbGVhcGlzLmNvbS9MaW5rUgZwYXJlbnQSMAoEbGluaxgCIAEoCzIXLmdvb2dsZS5sb2dnaW5n' + 'LnYyLkxpbmtCA+BBAlIEbGluaxIcCgdsaW5rX2lkGAMgASgJQgPgQQJSBmxpbmtJZA=='); + +@$core.Deprecated('Use deleteLinkRequestDescriptor instead') +const DeleteLinkRequest$json = { + '1': 'DeleteLinkRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteLinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteLinkRequestDescriptor = $convert.base64Decode( + 'ChFEZWxldGVMaW5rUmVxdWVzdBI3CgRuYW1lGAEgASgJQiPgQQL6QR0KG2xvZ2dpbmcuZ29vZ2' + 'xlYXBpcy5jb20vTGlua1IEbmFtZQ=='); + +@$core.Deprecated('Use listLinksRequestDescriptor instead') +const ListLinksRequest$json = { + '1': 'ListLinksRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListLinksRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLinksRequestDescriptor = $convert.base64Decode( + 'ChBMaXN0TGlua3NSZXF1ZXN0EjsKBnBhcmVudBgBIAEoCUIj4EEC+kEdEhtsb2dnaW5nLmdvb2' + 'dsZWFwaXMuY29tL0xpbmtSBnBhcmVudBIiCgpwYWdlX3Rva2VuGAIgASgJQgPgQQFSCXBhZ2VU' + 'b2tlbhIgCglwYWdlX3NpemUYAyABKAVCA+BBAVIIcGFnZVNpemU='); + +@$core.Deprecated('Use listLinksResponseDescriptor instead') +const ListLinksResponse$json = { + '1': 'ListLinksResponse', + '2': [ + { + '1': 'links', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.Link', + '10': 'links' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListLinksResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLinksResponseDescriptor = $convert.base64Decode( + 'ChFMaXN0TGlua3NSZXNwb25zZRItCgVsaW5rcxgBIAMoCzIXLmdvb2dsZS5sb2dnaW5nLnYyLk' + 'xpbmtSBWxpbmtzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use getLinkRequestDescriptor instead') +const GetLinkRequest$json = { + '1': 'GetLinkRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetLinkRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getLinkRequestDescriptor = $convert.base64Decode( + 'Cg5HZXRMaW5rUmVxdWVzdBI3CgRuYW1lGAEgASgJQiPgQQL6QR0KG2xvZ2dpbmcuZ29vZ2xlYX' + 'Bpcy5jb20vTGlua1IEbmFtZQ=='); + +@$core.Deprecated('Use logExclusionDescriptor instead') +const LogExclusion$json = { + '1': 'LogExclusion', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'description', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'description'}, + {'1': 'filter', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + {'1': 'disabled', '3': 4, '4': 1, '5': 8, '8': {}, '10': 'disabled'}, + { + '1': 'create_time', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + ], + '7': {}, +}; + +/// Descriptor for `LogExclusion`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logExclusionDescriptor = $convert.base64Decode( + 'CgxMb2dFeGNsdXNpb24SFwoEbmFtZRgBIAEoCUID4EECUgRuYW1lEiUKC2Rlc2NyaXB0aW9uGA' + 'IgASgJQgPgQQFSC2Rlc2NyaXB0aW9uEhsKBmZpbHRlchgDIAEoCUID4EECUgZmaWx0ZXISHwoI' + 'ZGlzYWJsZWQYBCABKAhCA+BBAVIIZGlzYWJsZWQSQAoLY3JlYXRlX3RpbWUYBSABKAsyGi5nb2' + '9nbGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQNSCmNyZWF0ZVRpbWUSQAoLdXBkYXRlX3RpbWUY' + 'BiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQNSCnVwZGF0ZVRpbWU67AHqQe' + 'gBCiNsb2dnaW5nLmdvb2dsZWFwaXMuY29tL0xvZ0V4Y2x1c2lvbhIpcHJvamVjdHMve3Byb2pl' + 'Y3R9L2V4Y2x1c2lvbnMve2V4Y2x1c2lvbn0SM29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbn' + '0vZXhjbHVzaW9ucy97ZXhjbHVzaW9ufRInZm9sZGVycy97Zm9sZGVyfS9leGNsdXNpb25zL3tl' + 'eGNsdXNpb259EjhiaWxsaW5nQWNjb3VudHMve2JpbGxpbmdfYWNjb3VudH0vZXhjbHVzaW9ucy' + '97ZXhjbHVzaW9ufQ=='); + +@$core.Deprecated('Use listExclusionsRequestDescriptor instead') +const ListExclusionsRequest$json = { + '1': 'ListExclusionsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListExclusionsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listExclusionsRequestDescriptor = $convert.base64Decode( + 'ChVMaXN0RXhjbHVzaW9uc1JlcXVlc3QSQwoGcGFyZW50GAEgASgJQivgQQL6QSUSI2xvZ2dpbm' + 'cuZ29vZ2xlYXBpcy5jb20vTG9nRXhjbHVzaW9uUgZwYXJlbnQSIgoKcGFnZV90b2tlbhgCIAEo' + 'CUID4EEBUglwYWdlVG9rZW4SIAoJcGFnZV9zaXplGAMgASgFQgPgQQFSCHBhZ2VTaXpl'); + +@$core.Deprecated('Use listExclusionsResponseDescriptor instead') +const ListExclusionsResponse$json = { + '1': 'ListExclusionsResponse', + '2': [ + { + '1': 'exclusions', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogExclusion', + '10': 'exclusions' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListExclusionsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listExclusionsResponseDescriptor = $convert.base64Decode( + 'ChZMaXN0RXhjbHVzaW9uc1Jlc3BvbnNlEj8KCmV4Y2x1c2lvbnMYASADKAsyHy5nb29nbGUubG' + '9nZ2luZy52Mi5Mb2dFeGNsdXNpb25SCmV4Y2x1c2lvbnMSJgoPbmV4dF9wYWdlX3Rva2VuGAIg' + 'ASgJUg1uZXh0UGFnZVRva2Vu'); + +@$core.Deprecated('Use getExclusionRequestDescriptor instead') +const GetExclusionRequest$json = { + '1': 'GetExclusionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetExclusionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getExclusionRequestDescriptor = $convert.base64Decode( + 'ChNHZXRFeGNsdXNpb25SZXF1ZXN0Ej8KBG5hbWUYASABKAlCK+BBAvpBJQojbG9nZ2luZy5nb2' + '9nbGVhcGlzLmNvbS9Mb2dFeGNsdXNpb25SBG5hbWU='); + +@$core.Deprecated('Use createExclusionRequestDescriptor instead') +const CreateExclusionRequest$json = { + '1': 'CreateExclusionRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'exclusion', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogExclusion', + '8': {}, + '10': 'exclusion' + }, + ], +}; + +/// Descriptor for `CreateExclusionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createExclusionRequestDescriptor = $convert.base64Decode( + 'ChZDcmVhdGVFeGNsdXNpb25SZXF1ZXN0EkMKBnBhcmVudBgBIAEoCUIr4EEC+kElEiNsb2dnaW' + '5nLmdvb2dsZWFwaXMuY29tL0xvZ0V4Y2x1c2lvblIGcGFyZW50EkIKCWV4Y2x1c2lvbhgCIAEo' + 'CzIfLmdvb2dsZS5sb2dnaW5nLnYyLkxvZ0V4Y2x1c2lvbkID4EECUglleGNsdXNpb24='); + +@$core.Deprecated('Use updateExclusionRequestDescriptor instead') +const UpdateExclusionRequest$json = { + '1': 'UpdateExclusionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'exclusion', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogExclusion', + '8': {}, + '10': 'exclusion' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateExclusionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateExclusionRequestDescriptor = $convert.base64Decode( + 'ChZVcGRhdGVFeGNsdXNpb25SZXF1ZXN0Ej8KBG5hbWUYASABKAlCK+BBAvpBJQojbG9nZ2luZy' + '5nb29nbGVhcGlzLmNvbS9Mb2dFeGNsdXNpb25SBG5hbWUSQgoJZXhjbHVzaW9uGAIgASgLMh8u' + 'Z29vZ2xlLmxvZ2dpbmcudjIuTG9nRXhjbHVzaW9uQgPgQQJSCWV4Y2x1c2lvbhJACgt1cGRhdG' + 'VfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCA+BBAlIKdXBkYXRlTWFz' + 'aw=='); + +@$core.Deprecated('Use deleteExclusionRequestDescriptor instead') +const DeleteExclusionRequest$json = { + '1': 'DeleteExclusionRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteExclusionRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteExclusionRequestDescriptor = + $convert.base64Decode( + 'ChZEZWxldGVFeGNsdXNpb25SZXF1ZXN0Ej8KBG5hbWUYASABKAlCK+BBAvpBJQojbG9nZ2luZy' + '5nb29nbGVhcGlzLmNvbS9Mb2dFeGNsdXNpb25SBG5hbWU='); + +@$core.Deprecated('Use getCmekSettingsRequestDescriptor instead') +const GetCmekSettingsRequest$json = { + '1': 'GetCmekSettingsRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetCmekSettingsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getCmekSettingsRequestDescriptor = + $convert.base64Decode( + 'ChZHZXRDbWVrU2V0dGluZ3NSZXF1ZXN0Ej8KBG5hbWUYASABKAlCK+BBAvpBJQojbG9nZ2luZy' + '5nb29nbGVhcGlzLmNvbS9DbWVrU2V0dGluZ3NSBG5hbWU='); + +@$core.Deprecated('Use updateCmekSettingsRequestDescriptor instead') +const UpdateCmekSettingsRequest$json = { + '1': 'UpdateCmekSettingsRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'cmek_settings', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.CmekSettings', + '8': {}, + '10': 'cmekSettings' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateCmekSettingsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateCmekSettingsRequestDescriptor = $convert.base64Decode( + 'ChlVcGRhdGVDbWVrU2V0dGluZ3NSZXF1ZXN0EhcKBG5hbWUYASABKAlCA+BBAlIEbmFtZRJJCg' + '1jbWVrX3NldHRpbmdzGAIgASgLMh8uZ29vZ2xlLmxvZ2dpbmcudjIuQ21la1NldHRpbmdzQgPg' + 'QQJSDGNtZWtTZXR0aW5ncxJACgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi' + '5GaWVsZE1hc2tCA+BBAVIKdXBkYXRlTWFzaw=='); + +@$core.Deprecated('Use cmekSettingsDescriptor instead') +const CmekSettings$json = { + '1': 'CmekSettings', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'kms_key_name', '3': 2, '4': 1, '5': 9, '10': 'kmsKeyName'}, + { + '1': 'kms_key_version_name', + '3': 4, + '4': 1, + '5': 9, + '10': 'kmsKeyVersionName' + }, + { + '1': 'service_account_id', + '3': 3, + '4': 1, + '5': 9, + '8': {}, + '10': 'serviceAccountId' + }, + ], + '7': {}, +}; + +/// Descriptor for `CmekSettings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cmekSettingsDescriptor = $convert.base64Decode( + 'CgxDbWVrU2V0dGluZ3MSFwoEbmFtZRgBIAEoCUID4EEDUgRuYW1lEiAKDGttc19rZXlfbmFtZR' + 'gCIAEoCVIKa21zS2V5TmFtZRIvChRrbXNfa2V5X3ZlcnNpb25fbmFtZRgEIAEoCVIRa21zS2V5' + 'VmVyc2lvbk5hbWUSMQoSc2VydmljZV9hY2NvdW50X2lkGAMgASgJQgPgQQNSEHNlcnZpY2VBY2' + 'NvdW50SWQ6xAHqQcABCiNsb2dnaW5nLmdvb2dsZWFwaXMuY29tL0NtZWtTZXR0aW5ncxIfcHJv' + 'amVjdHMve3Byb2plY3R9L2NtZWtTZXR0aW5ncxIpb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW' + '9ufS9jbWVrU2V0dGluZ3MSHWZvbGRlcnMve2ZvbGRlcn0vY21la1NldHRpbmdzEi5iaWxsaW5n' + 'QWNjb3VudHMve2JpbGxpbmdfYWNjb3VudH0vY21la1NldHRpbmdz'); + +@$core.Deprecated('Use getSettingsRequestDescriptor instead') +const GetSettingsRequest$json = { + '1': 'GetSettingsRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + ], +}; + +/// Descriptor for `GetSettingsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSettingsRequestDescriptor = $convert.base64Decode( + 'ChJHZXRTZXR0aW5nc1JlcXVlc3QSOwoEbmFtZRgBIAEoCUIn4EEC+kEhCh9sb2dnaW5nLmdvb2' + 'dsZWFwaXMuY29tL1NldHRpbmdzUgRuYW1l'); + +@$core.Deprecated('Use updateSettingsRequestDescriptor instead') +const UpdateSettingsRequest$json = { + '1': 'UpdateSettingsRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + { + '1': 'settings', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.Settings', + '8': {}, + '10': 'settings' + }, + { + '1': 'update_mask', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '8': {}, + '10': 'updateMask' + }, + ], +}; + +/// Descriptor for `UpdateSettingsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateSettingsRequestDescriptor = $convert.base64Decode( + 'ChVVcGRhdGVTZXR0aW5nc1JlcXVlc3QSFwoEbmFtZRgBIAEoCUID4EECUgRuYW1lEjwKCHNldH' + 'RpbmdzGAIgASgLMhsuZ29vZ2xlLmxvZ2dpbmcudjIuU2V0dGluZ3NCA+BBAlIIc2V0dGluZ3MS' + 'QAoLdXBkYXRlX21hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgPgQQFSCn' + 'VwZGF0ZU1hc2s='); + +@$core.Deprecated('Use settingsDescriptor instead') +const Settings$json = { + '1': 'Settings', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'kms_key_name', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'kmsKeyName'}, + { + '1': 'kms_service_account_id', + '3': 3, + '4': 1, + '5': 9, + '8': {}, + '10': 'kmsServiceAccountId' + }, + { + '1': 'storage_location', + '3': 4, + '4': 1, + '5': 9, + '8': {}, + '10': 'storageLocation' + }, + { + '1': 'disable_default_sink', + '3': 5, + '4': 1, + '5': 8, + '8': {}, + '10': 'disableDefaultSink' + }, + ], + '7': {}, +}; + +/// Descriptor for `Settings`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List settingsDescriptor = $convert.base64Decode( + 'CghTZXR0aW5ncxIXCgRuYW1lGAEgASgJQgPgQQNSBG5hbWUSJQoMa21zX2tleV9uYW1lGAIgAS' + 'gJQgPgQQFSCmttc0tleU5hbWUSOAoWa21zX3NlcnZpY2VfYWNjb3VudF9pZBgDIAEoCUID4EED' + 'UhNrbXNTZXJ2aWNlQWNjb3VudElkEi4KEHN0b3JhZ2VfbG9jYXRpb24YBCABKAlCA+BBAVIPc3' + 'RvcmFnZUxvY2F0aW9uEjUKFGRpc2FibGVfZGVmYXVsdF9zaW5rGAUgASgIQgPgQQFSEmRpc2Fi' + 'bGVEZWZhdWx0U2luazqwAepBrAEKH2xvZ2dpbmcuZ29vZ2xlYXBpcy5jb20vU2V0dGluZ3MSG3' + 'Byb2plY3RzL3twcm9qZWN0fS9zZXR0aW5ncxIlb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9u' + 'fS9zZXR0aW5ncxIZZm9sZGVycy97Zm9sZGVyfS9zZXR0aW5ncxIqYmlsbGluZ0FjY291bnRzL3' + 'tiaWxsaW5nX2FjY291bnR9L3NldHRpbmdz'); + +@$core.Deprecated('Use copyLogEntriesRequestDescriptor instead') +const CopyLogEntriesRequest$json = { + '1': 'CopyLogEntriesRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'filter', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + {'1': 'destination', '3': 4, '4': 1, '5': 9, '8': {}, '10': 'destination'}, + ], +}; + +/// Descriptor for `CopyLogEntriesRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List copyLogEntriesRequestDescriptor = $convert.base64Decode( + 'ChVDb3B5TG9nRW50cmllc1JlcXVlc3QSFwoEbmFtZRgBIAEoCUID4EECUgRuYW1lEhsKBmZpbH' + 'RlchgDIAEoCUID4EEBUgZmaWx0ZXISJQoLZGVzdGluYXRpb24YBCABKAlCA+BBAlILZGVzdGlu' + 'YXRpb24='); + +@$core.Deprecated('Use copyLogEntriesMetadataDescriptor instead') +const CopyLogEntriesMetadata$json = { + '1': 'CopyLogEntriesMetadata', + '2': [ + { + '1': 'start_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'state', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.logging.v2.OperationState', + '10': 'state' + }, + { + '1': 'cancellation_requested', + '3': 4, + '4': 1, + '5': 8, + '10': 'cancellationRequested' + }, + { + '1': 'request', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.logging.v2.CopyLogEntriesRequest', + '10': 'request' + }, + {'1': 'progress', '3': 6, '4': 1, '5': 5, '10': 'progress'}, + {'1': 'writer_identity', '3': 7, '4': 1, '5': 9, '10': 'writerIdentity'}, + ], +}; + +/// Descriptor for `CopyLogEntriesMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List copyLogEntriesMetadataDescriptor = $convert.base64Decode( + 'ChZDb3B5TG9nRW50cmllc01ldGFkYXRhEjkKCnN0YXJ0X3RpbWUYASABKAsyGi5nb29nbGUucH' + 'JvdG9idWYuVGltZXN0YW1wUglzdGFydFRpbWUSNQoIZW5kX3RpbWUYAiABKAsyGi5nb29nbGUu' + 'cHJvdG9idWYuVGltZXN0YW1wUgdlbmRUaW1lEjcKBXN0YXRlGAMgASgOMiEuZ29vZ2xlLmxvZ2' + 'dpbmcudjIuT3BlcmF0aW9uU3RhdGVSBXN0YXRlEjUKFmNhbmNlbGxhdGlvbl9yZXF1ZXN0ZWQY' + 'BCABKAhSFWNhbmNlbGxhdGlvblJlcXVlc3RlZBJCCgdyZXF1ZXN0GAUgASgLMiguZ29vZ2xlLm' + 'xvZ2dpbmcudjIuQ29weUxvZ0VudHJpZXNSZXF1ZXN0UgdyZXF1ZXN0EhoKCHByb2dyZXNzGAYg' + 'ASgFUghwcm9ncmVzcxInCg93cml0ZXJfaWRlbnRpdHkYByABKAlSDndyaXRlcklkZW50aXR5'); + +@$core.Deprecated('Use copyLogEntriesResponseDescriptor instead') +const CopyLogEntriesResponse$json = { + '1': 'CopyLogEntriesResponse', + '2': [ + { + '1': 'log_entries_copied_count', + '3': 1, + '4': 1, + '5': 3, + '10': 'logEntriesCopiedCount' + }, + ], +}; + +/// Descriptor for `CopyLogEntriesResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List copyLogEntriesResponseDescriptor = + $convert.base64Decode( + 'ChZDb3B5TG9nRW50cmllc1Jlc3BvbnNlEjcKGGxvZ19lbnRyaWVzX2NvcGllZF9jb3VudBgBIA' + 'EoA1IVbG9nRW50cmllc0NvcGllZENvdW50'); + +@$core.Deprecated('Use bucketMetadataDescriptor instead') +const BucketMetadata$json = { + '1': 'BucketMetadata', + '2': [ + { + '1': 'start_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'state', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.logging.v2.OperationState', + '10': 'state' + }, + { + '1': 'create_bucket_request', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.logging.v2.CreateBucketRequest', + '9': 0, + '10': 'createBucketRequest' + }, + { + '1': 'update_bucket_request', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.logging.v2.UpdateBucketRequest', + '9': 0, + '10': 'updateBucketRequest' + }, + ], + '8': [ + {'1': 'request'}, + ], +}; + +/// Descriptor for `BucketMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bucketMetadataDescriptor = $convert.base64Decode( + 'Cg5CdWNrZXRNZXRhZGF0YRI5CgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLl' + 'RpbWVzdGFtcFIJc3RhcnRUaW1lEjUKCGVuZF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVm' + 'LlRpbWVzdGFtcFIHZW5kVGltZRI3CgVzdGF0ZRgDIAEoDjIhLmdvb2dsZS5sb2dnaW5nLnYyLk' + '9wZXJhdGlvblN0YXRlUgVzdGF0ZRJcChVjcmVhdGVfYnVja2V0X3JlcXVlc3QYBCABKAsyJi5n' + 'b29nbGUubG9nZ2luZy52Mi5DcmVhdGVCdWNrZXRSZXF1ZXN0SABSE2NyZWF0ZUJ1Y2tldFJlcX' + 'Vlc3QSXAoVdXBkYXRlX2J1Y2tldF9yZXF1ZXN0GAUgASgLMiYuZ29vZ2xlLmxvZ2dpbmcudjIu' + 'VXBkYXRlQnVja2V0UmVxdWVzdEgAUhN1cGRhdGVCdWNrZXRSZXF1ZXN0QgkKB3JlcXVlc3Q='); + +@$core.Deprecated('Use linkMetadataDescriptor instead') +const LinkMetadata$json = { + '1': 'LinkMetadata', + '2': [ + { + '1': 'start_time', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'startTime' + }, + { + '1': 'end_time', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'endTime' + }, + { + '1': 'state', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.logging.v2.OperationState', + '10': 'state' + }, + { + '1': 'create_link_request', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.logging.v2.CreateLinkRequest', + '9': 0, + '10': 'createLinkRequest' + }, + { + '1': 'delete_link_request', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.logging.v2.DeleteLinkRequest', + '9': 0, + '10': 'deleteLinkRequest' + }, + ], + '8': [ + {'1': 'request'}, + ], +}; + +/// Descriptor for `LinkMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List linkMetadataDescriptor = $convert.base64Decode( + 'CgxMaW5rTWV0YWRhdGESOQoKc3RhcnRfdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW' + '1lc3RhbXBSCXN0YXJ0VGltZRI1CghlbmRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5U' + 'aW1lc3RhbXBSB2VuZFRpbWUSNwoFc3RhdGUYAyABKA4yIS5nb29nbGUubG9nZ2luZy52Mi5PcG' + 'VyYXRpb25TdGF0ZVIFc3RhdGUSVgoTY3JlYXRlX2xpbmtfcmVxdWVzdBgEIAEoCzIkLmdvb2ds' + 'ZS5sb2dnaW5nLnYyLkNyZWF0ZUxpbmtSZXF1ZXN0SABSEWNyZWF0ZUxpbmtSZXF1ZXN0ElYKE2' + 'RlbGV0ZV9saW5rX3JlcXVlc3QYBSABKAsyJC5nb29nbGUubG9nZ2luZy52Mi5EZWxldGVMaW5r' + 'UmVxdWVzdEgAUhFkZWxldGVMaW5rUmVxdWVzdEIJCgdyZXF1ZXN0'); + +@$core.Deprecated('Use locationMetadataDescriptor instead') +const LocationMetadata$json = { + '1': 'LocationMetadata', + '2': [ + { + '1': 'log_analytics_enabled', + '3': 1, + '4': 1, + '5': 8, + '10': 'logAnalyticsEnabled' + }, + ], +}; + +/// Descriptor for `LocationMetadata`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List locationMetadataDescriptor = $convert.base64Decode( + 'ChBMb2NhdGlvbk1ldGFkYXRhEjIKFWxvZ19hbmFseXRpY3NfZW5hYmxlZBgBIAEoCFITbG9nQW' + '5hbHl0aWNzRW5hYmxlZA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pb.dart new file mode 100644 index 00000000..97d46234 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pb.dart @@ -0,0 +1,902 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_metrics.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../api/distribution.pb.dart' as $70; +import '../../api/metric.pb.dart' as $69; +import '../../protobuf/timestamp.pb.dart' as $50; +import 'logging_metrics.pbenum.dart'; + +export 'logging_metrics.pbenum.dart'; + +/// Describes a logs-based metric. The value of the metric is the number of log +/// entries that match a logs filter in a given time interval. +/// +/// Logs-based metrics can also be used to extract values from logs and create a +/// distribution of the values. The distribution records the statistics of the +/// extracted values along with an optional histogram of the values as specified +/// by the bucket options. +class LogMetric extends $pb.GeneratedMessage { + factory LogMetric({ + $core.String? name, + $core.String? description, + $core.String? filter, + @$core.Deprecated('This field is deprecated.') + LogMetric_ApiVersion? version, + $69.MetricDescriptor? metricDescriptor, + $core.String? valueExtractor, + $core.Map<$core.String, $core.String>? labelExtractors, + $70.Distribution_BucketOptions? bucketOptions, + $50.Timestamp? createTime, + $50.Timestamp? updateTime, + $core.bool? disabled, + $core.String? bucketName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (description != null) { + $result.description = description; + } + if (filter != null) { + $result.filter = filter; + } + if (version != null) { + // ignore: deprecated_member_use_from_same_package + $result.version = version; + } + if (metricDescriptor != null) { + $result.metricDescriptor = metricDescriptor; + } + if (valueExtractor != null) { + $result.valueExtractor = valueExtractor; + } + if (labelExtractors != null) { + $result.labelExtractors.addAll(labelExtractors); + } + if (bucketOptions != null) { + $result.bucketOptions = bucketOptions; + } + if (createTime != null) { + $result.createTime = createTime; + } + if (updateTime != null) { + $result.updateTime = updateTime; + } + if (disabled != null) { + $result.disabled = disabled; + } + if (bucketName != null) { + $result.bucketName = bucketName; + } + return $result; + } + LogMetric._() : super(); + factory LogMetric.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory LogMetric.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'LogMetric', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'description') + ..aOS(3, _omitFieldNames ? '' : 'filter') + ..e( + 4, _omitFieldNames ? '' : 'version', $pb.PbFieldType.OE, + defaultOrMaker: LogMetric_ApiVersion.V2, + valueOf: LogMetric_ApiVersion.valueOf, + enumValues: LogMetric_ApiVersion.values) + ..aOM<$69.MetricDescriptor>(5, _omitFieldNames ? '' : 'metricDescriptor', + subBuilder: $69.MetricDescriptor.create) + ..aOS(6, _omitFieldNames ? '' : 'valueExtractor') + ..m<$core.String, $core.String>(7, _omitFieldNames ? '' : 'labelExtractors', + entryClassName: 'LogMetric.LabelExtractorsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('google.logging.v2')) + ..aOM<$70.Distribution_BucketOptions>( + 8, _omitFieldNames ? '' : 'bucketOptions', + subBuilder: $70.Distribution_BucketOptions.create) + ..aOM<$50.Timestamp>(9, _omitFieldNames ? '' : 'createTime', + subBuilder: $50.Timestamp.create) + ..aOM<$50.Timestamp>(10, _omitFieldNames ? '' : 'updateTime', + subBuilder: $50.Timestamp.create) + ..aOB(12, _omitFieldNames ? '' : 'disabled') + ..aOS(13, _omitFieldNames ? '' : 'bucketName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogMetric clone() => LogMetric()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogMetric copyWith(void Function(LogMetric) updates) => + super.copyWith((message) => updates(message as LogMetric)) as LogMetric; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogMetric create() => LogMetric._(); + LogMetric createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogMetric getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogMetric? _defaultInstance; + + /// Required. The client-assigned metric identifier. + /// Examples: `"error_count"`, `"nginx/requests"`. + /// + /// Metric identifiers are limited to 100 characters and can include only the + /// following characters: `A-Z`, `a-z`, `0-9`, and the special characters + /// `_-.,+!*',()%/`. The forward-slash character (`/`) denotes a hierarchy of + /// name pieces, and it cannot be the first character of the name. + /// + /// This field is the `[METRIC_ID]` part of a metric resource name in the + /// format "projects/[PROJECT_ID]/metrics/[METRIC_ID]". Example: If the + /// resource name of a metric is + /// `"projects/my-project/metrics/nginx%2Frequests"`, this field's value is + /// `"nginx/requests"`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Optional. A description of this metric, which is used in documentation. + /// The maximum length of the description is 8000 characters. + @$pb.TagNumber(2) + $core.String get description => $_getSZ(1); + @$pb.TagNumber(2) + set description($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasDescription() => $_has(1); + @$pb.TagNumber(2) + void clearDescription() => clearField(2); + + /// Required. An [advanced logs + /// filter](https://cloud.google.com/logging/docs/view/advanced_filters) which + /// is used to match log entries. Example: + /// + /// "resource.type=gae_app AND severity>=ERROR" + /// + /// The maximum length of the filter is 20000 characters. + @$pb.TagNumber(3) + $core.String get filter => $_getSZ(2); + @$pb.TagNumber(3) + set filter($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasFilter() => $_has(2); + @$pb.TagNumber(3) + void clearFilter() => clearField(3); + + /// Deprecated. The API version that created or updated this metric. + /// The v2 format is used by default and cannot be changed. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + LogMetric_ApiVersion get version => $_getN(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + set version(LogMetric_ApiVersion v) { + setField(4, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + $core.bool hasVersion() => $_has(3); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(4) + void clearVersion() => clearField(4); + + /// Optional. The metric descriptor associated with the logs-based metric. + /// If unspecified, it uses a default metric descriptor with a DELTA metric + /// kind, INT64 value type, with no labels and a unit of "1". Such a metric + /// counts the number of log entries matching the `filter` expression. + /// + /// The `name`, `type`, and `description` fields in the `metric_descriptor` + /// are output only, and is constructed using the `name` and `description` + /// field in the LogMetric. + /// + /// To create a logs-based metric that records a distribution of log values, a + /// DELTA metric kind with a DISTRIBUTION value type must be used along with + /// a `value_extractor` expression in the LogMetric. + /// + /// Each label in the metric descriptor must have a matching label + /// name as the key and an extractor expression as the value in the + /// `label_extractors` map. + /// + /// The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot + /// be updated once initially configured. New labels can be added in the + /// `metric_descriptor`, but existing labels cannot be modified except for + /// their description. + @$pb.TagNumber(5) + $69.MetricDescriptor get metricDescriptor => $_getN(4); + @$pb.TagNumber(5) + set metricDescriptor($69.MetricDescriptor v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMetricDescriptor() => $_has(4); + @$pb.TagNumber(5) + void clearMetricDescriptor() => clearField(5); + @$pb.TagNumber(5) + $69.MetricDescriptor ensureMetricDescriptor() => $_ensure(4); + + /// Optional. A `value_extractor` is required when using a distribution + /// logs-based metric to extract the values to record from a log entry. + /// Two functions are supported for value extraction: `EXTRACT(field)` or + /// `REGEXP_EXTRACT(field, regex)`. The arguments are: + /// + /// 1. field: The name of the log entry field from which the value is to be + /// extracted. + /// 2. regex: A regular expression using the Google RE2 syntax + /// (https://github.com/google/re2/wiki/Syntax) with a single capture + /// group to extract data from the specified log entry field. The value + /// of the field is converted to a string before applying the regex. + /// It is an error to specify a regex that does not include exactly one + /// capture group. + /// + /// The result of the extraction must be convertible to a double type, as the + /// distribution always records double values. If either the extraction or + /// the conversion to double fails, then those values are not recorded in the + /// distribution. + /// + /// Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")` + @$pb.TagNumber(6) + $core.String get valueExtractor => $_getSZ(5); + @$pb.TagNumber(6) + set valueExtractor($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasValueExtractor() => $_has(5); + @$pb.TagNumber(6) + void clearValueExtractor() => clearField(6); + + /// Optional. A map from a label key string to an extractor expression which is + /// used to extract data from a log entry field and assign as the label value. + /// Each label key specified in the LabelDescriptor must have an associated + /// extractor expression in this map. The syntax of the extractor expression + /// is the same as for the `value_extractor` field. + /// + /// The extracted value is converted to the type defined in the label + /// descriptor. If either the extraction or the type conversion fails, + /// the label will have a default value. The default value for a string + /// label is an empty string, for an integer label its 0, and for a boolean + /// label its `false`. + /// + /// Note that there are upper bounds on the maximum number of labels and the + /// number of active time series that are allowed in a project. + @$pb.TagNumber(7) + $core.Map<$core.String, $core.String> get labelExtractors => $_getMap(6); + + /// Optional. The `bucket_options` are required when the logs-based metric is + /// using a DISTRIBUTION value type and it describes the bucket boundaries + /// used to create a histogram of the extracted values. + @$pb.TagNumber(8) + $70.Distribution_BucketOptions get bucketOptions => $_getN(7); + @$pb.TagNumber(8) + set bucketOptions($70.Distribution_BucketOptions v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasBucketOptions() => $_has(7); + @$pb.TagNumber(8) + void clearBucketOptions() => clearField(8); + @$pb.TagNumber(8) + $70.Distribution_BucketOptions ensureBucketOptions() => $_ensure(7); + + /// Output only. The creation timestamp of the metric. + /// + /// This field may not be present for older metrics. + @$pb.TagNumber(9) + $50.Timestamp get createTime => $_getN(8); + @$pb.TagNumber(9) + set createTime($50.Timestamp v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasCreateTime() => $_has(8); + @$pb.TagNumber(9) + void clearCreateTime() => clearField(9); + @$pb.TagNumber(9) + $50.Timestamp ensureCreateTime() => $_ensure(8); + + /// Output only. The last update timestamp of the metric. + /// + /// This field may not be present for older metrics. + @$pb.TagNumber(10) + $50.Timestamp get updateTime => $_getN(9); + @$pb.TagNumber(10) + set updateTime($50.Timestamp v) { + setField(10, v); + } + + @$pb.TagNumber(10) + $core.bool hasUpdateTime() => $_has(9); + @$pb.TagNumber(10) + void clearUpdateTime() => clearField(10); + @$pb.TagNumber(10) + $50.Timestamp ensureUpdateTime() => $_ensure(9); + + /// Optional. If set to True, then this metric is disabled and it does not + /// generate any points. + @$pb.TagNumber(12) + $core.bool get disabled => $_getBF(10); + @$pb.TagNumber(12) + set disabled($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(12) + $core.bool hasDisabled() => $_has(10); + @$pb.TagNumber(12) + void clearDisabled() => clearField(12); + + /// Optional. The resource name of the Log Bucket that owns the Log Metric. + /// Only Log Buckets in projects are supported. The bucket has to be in the + /// same project as the metric. + /// + /// For example: + /// + /// `projects/my-project/locations/global/buckets/my-bucket` + /// + /// If empty, then the Log Metric is considered a non-Bucket Log Metric. + @$pb.TagNumber(13) + $core.String get bucketName => $_getSZ(11); + @$pb.TagNumber(13) + set bucketName($core.String v) { + $_setString(11, v); + } + + @$pb.TagNumber(13) + $core.bool hasBucketName() => $_has(11); + @$pb.TagNumber(13) + void clearBucketName() => clearField(13); +} + +/// The parameters to ListLogMetrics. +class ListLogMetricsRequest extends $pb.GeneratedMessage { + factory ListLogMetricsRequest({ + $core.String? parent, + $core.String? pageToken, + $core.int? pageSize, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + return $result; + } + ListLogMetricsRequest._() : super(); + factory ListLogMetricsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLogMetricsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLogMetricsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOS(2, _omitFieldNames ? '' : 'pageToken') + ..a<$core.int>(3, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLogMetricsRequest clone() => + ListLogMetricsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLogMetricsRequest copyWith( + void Function(ListLogMetricsRequest) updates) => + super.copyWith((message) => updates(message as ListLogMetricsRequest)) + as ListLogMetricsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLogMetricsRequest create() => ListLogMetricsRequest._(); + ListLogMetricsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLogMetricsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLogMetricsRequest? _defaultInstance; + + /// Required. The name of the project containing the metrics: + /// + /// "projects/[PROJECT_ID]" + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Optional. If present, then retrieve the next batch of results from the + /// preceding call to this method. `pageToken` must be the value of + /// `nextPageToken` from the previous response. The values of other method + /// parameters should be identical to those in the previous call. + @$pb.TagNumber(2) + $core.String get pageToken => $_getSZ(1); + @$pb.TagNumber(2) + set pageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearPageToken() => clearField(2); + + /// Optional. The maximum number of results to return from this request. + /// Non-positive values are ignored. The presence of `nextPageToken` in the + /// response indicates that more results might be available. + @$pb.TagNumber(3) + $core.int get pageSize => $_getIZ(2); + @$pb.TagNumber(3) + set pageSize($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageSize() => $_has(2); + @$pb.TagNumber(3) + void clearPageSize() => clearField(3); +} + +/// Result returned from ListLogMetrics. +class ListLogMetricsResponse extends $pb.GeneratedMessage { + factory ListLogMetricsResponse({ + $core.Iterable? metrics, + $core.String? nextPageToken, + }) { + final $result = create(); + if (metrics != null) { + $result.metrics.addAll(metrics); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListLogMetricsResponse._() : super(); + factory ListLogMetricsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListLogMetricsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListLogMetricsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'metrics', $pb.PbFieldType.PM, + subBuilder: LogMetric.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListLogMetricsResponse clone() => + ListLogMetricsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListLogMetricsResponse copyWith( + void Function(ListLogMetricsResponse) updates) => + super.copyWith((message) => updates(message as ListLogMetricsResponse)) + as ListLogMetricsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListLogMetricsResponse create() => ListLogMetricsResponse._(); + ListLogMetricsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListLogMetricsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListLogMetricsResponse? _defaultInstance; + + /// A list of logs-based metrics. + @$pb.TagNumber(1) + $core.List get metrics => $_getList(0); + + /// If there might be more results than appear in this response, then + /// `nextPageToken` is included. To get the next set of results, call this + /// method again using the value of `nextPageToken` as `pageToken`. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The parameters to GetLogMetric. +class GetLogMetricRequest extends $pb.GeneratedMessage { + factory GetLogMetricRequest({ + $core.String? metricName, + }) { + final $result = create(); + if (metricName != null) { + $result.metricName = metricName; + } + return $result; + } + GetLogMetricRequest._() : super(); + factory GetLogMetricRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetLogMetricRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetLogMetricRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'metricName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetLogMetricRequest clone() => GetLogMetricRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetLogMetricRequest copyWith(void Function(GetLogMetricRequest) updates) => + super.copyWith((message) => updates(message as GetLogMetricRequest)) + as GetLogMetricRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetLogMetricRequest create() => GetLogMetricRequest._(); + GetLogMetricRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetLogMetricRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetLogMetricRequest? _defaultInstance; + + /// Required. The resource name of the desired metric: + /// + /// "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + @$pb.TagNumber(1) + $core.String get metricName => $_getSZ(0); + @$pb.TagNumber(1) + set metricName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMetricName() => $_has(0); + @$pb.TagNumber(1) + void clearMetricName() => clearField(1); +} + +/// The parameters to CreateLogMetric. +class CreateLogMetricRequest extends $pb.GeneratedMessage { + factory CreateLogMetricRequest({ + $core.String? parent, + LogMetric? metric, + }) { + final $result = create(); + if (parent != null) { + $result.parent = parent; + } + if (metric != null) { + $result.metric = metric; + } + return $result; + } + CreateLogMetricRequest._() : super(); + factory CreateLogMetricRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CreateLogMetricRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CreateLogMetricRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'parent') + ..aOM(2, _omitFieldNames ? '' : 'metric', + subBuilder: LogMetric.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CreateLogMetricRequest clone() => + CreateLogMetricRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CreateLogMetricRequest copyWith( + void Function(CreateLogMetricRequest) updates) => + super.copyWith((message) => updates(message as CreateLogMetricRequest)) + as CreateLogMetricRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CreateLogMetricRequest create() => CreateLogMetricRequest._(); + CreateLogMetricRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CreateLogMetricRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CreateLogMetricRequest? _defaultInstance; + + /// Required. The resource name of the project in which to create the metric: + /// + /// "projects/[PROJECT_ID]" + /// + /// The new metric must be provided in the request. + @$pb.TagNumber(1) + $core.String get parent => $_getSZ(0); + @$pb.TagNumber(1) + set parent($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasParent() => $_has(0); + @$pb.TagNumber(1) + void clearParent() => clearField(1); + + /// Required. The new logs-based metric, which must not have an identifier that + /// already exists. + @$pb.TagNumber(2) + LogMetric get metric => $_getN(1); + @$pb.TagNumber(2) + set metric(LogMetric v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasMetric() => $_has(1); + @$pb.TagNumber(2) + void clearMetric() => clearField(2); + @$pb.TagNumber(2) + LogMetric ensureMetric() => $_ensure(1); +} + +/// The parameters to UpdateLogMetric. +class UpdateLogMetricRequest extends $pb.GeneratedMessage { + factory UpdateLogMetricRequest({ + $core.String? metricName, + LogMetric? metric, + }) { + final $result = create(); + if (metricName != null) { + $result.metricName = metricName; + } + if (metric != null) { + $result.metric = metric; + } + return $result; + } + UpdateLogMetricRequest._() : super(); + factory UpdateLogMetricRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UpdateLogMetricRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UpdateLogMetricRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'metricName') + ..aOM(2, _omitFieldNames ? '' : 'metric', + subBuilder: LogMetric.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UpdateLogMetricRequest clone() => + UpdateLogMetricRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UpdateLogMetricRequest copyWith( + void Function(UpdateLogMetricRequest) updates) => + super.copyWith((message) => updates(message as UpdateLogMetricRequest)) + as UpdateLogMetricRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UpdateLogMetricRequest create() => UpdateLogMetricRequest._(); + UpdateLogMetricRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UpdateLogMetricRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UpdateLogMetricRequest? _defaultInstance; + + /// Required. The resource name of the metric to update: + /// + /// "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + /// + /// The updated metric must be provided in the request and it's + /// `name` field must be the same as `[METRIC_ID]` If the metric + /// does not exist in `[PROJECT_ID]`, then a new metric is created. + @$pb.TagNumber(1) + $core.String get metricName => $_getSZ(0); + @$pb.TagNumber(1) + set metricName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMetricName() => $_has(0); + @$pb.TagNumber(1) + void clearMetricName() => clearField(1); + + /// Required. The updated metric. + @$pb.TagNumber(2) + LogMetric get metric => $_getN(1); + @$pb.TagNumber(2) + set metric(LogMetric v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasMetric() => $_has(1); + @$pb.TagNumber(2) + void clearMetric() => clearField(2); + @$pb.TagNumber(2) + LogMetric ensureMetric() => $_ensure(1); +} + +/// The parameters to DeleteLogMetric. +class DeleteLogMetricRequest extends $pb.GeneratedMessage { + factory DeleteLogMetricRequest({ + $core.String? metricName, + }) { + final $result = create(); + if (metricName != null) { + $result.metricName = metricName; + } + return $result; + } + DeleteLogMetricRequest._() : super(); + factory DeleteLogMetricRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteLogMetricRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteLogMetricRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.logging.v2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'metricName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteLogMetricRequest clone() => + DeleteLogMetricRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteLogMetricRequest copyWith( + void Function(DeleteLogMetricRequest) updates) => + super.copyWith((message) => updates(message as DeleteLogMetricRequest)) + as DeleteLogMetricRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteLogMetricRequest create() => DeleteLogMetricRequest._(); + DeleteLogMetricRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteLogMetricRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteLogMetricRequest? _defaultInstance; + + /// Required. The resource name of the metric to delete: + /// + /// "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + @$pb.TagNumber(1) + $core.String get metricName => $_getSZ(0); + @$pb.TagNumber(1) + set metricName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMetricName() => $_has(0); + @$pb.TagNumber(1) + void clearMetricName() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbenum.dart new file mode 100644 index 00000000..a5f69363 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbenum.dart @@ -0,0 +1,35 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_metrics.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// Logging API version. +class LogMetric_ApiVersion extends $pb.ProtobufEnum { + static const LogMetric_ApiVersion V2 = + LogMetric_ApiVersion._(0, _omitEnumNames ? '' : 'V2'); + static const LogMetric_ApiVersion V1 = + LogMetric_ApiVersion._(1, _omitEnumNames ? '' : 'V1'); + + static const $core.List values = [ + V2, + V1, + ]; + + static final $core.Map<$core.int, LogMetric_ApiVersion> _byValue = + $pb.ProtobufEnum.initByValue(values); + static LogMetric_ApiVersion? valueOf($core.int value) => _byValue[value]; + + const LogMetric_ApiVersion._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbgrpc.dart new file mode 100644 index 00000000..fcd9900a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbgrpc.dart @@ -0,0 +1,172 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_metrics.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../../protobuf/empty.pb.dart' as $1; +import 'logging_metrics.pb.dart' as $20; + +export 'logging_metrics.pb.dart'; + +@$pb.GrpcServiceName('google.logging.v2.MetricsServiceV2') +class MetricsServiceV2Client extends $grpc.Client { + static final _$listLogMetrics = + $grpc.ClientMethod<$20.ListLogMetricsRequest, $20.ListLogMetricsResponse>( + '/google.logging.v2.MetricsServiceV2/ListLogMetrics', + ($20.ListLogMetricsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $20.ListLogMetricsResponse.fromBuffer(value)); + static final _$getLogMetric = + $grpc.ClientMethod<$20.GetLogMetricRequest, $20.LogMetric>( + '/google.logging.v2.MetricsServiceV2/GetLogMetric', + ($20.GetLogMetricRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $20.LogMetric.fromBuffer(value)); + static final _$createLogMetric = + $grpc.ClientMethod<$20.CreateLogMetricRequest, $20.LogMetric>( + '/google.logging.v2.MetricsServiceV2/CreateLogMetric', + ($20.CreateLogMetricRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $20.LogMetric.fromBuffer(value)); + static final _$updateLogMetric = + $grpc.ClientMethod<$20.UpdateLogMetricRequest, $20.LogMetric>( + '/google.logging.v2.MetricsServiceV2/UpdateLogMetric', + ($20.UpdateLogMetricRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $20.LogMetric.fromBuffer(value)); + static final _$deleteLogMetric = + $grpc.ClientMethod<$20.DeleteLogMetricRequest, $1.Empty>( + '/google.logging.v2.MetricsServiceV2/DeleteLogMetric', + ($20.DeleteLogMetricRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + + MetricsServiceV2Client($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$20.ListLogMetricsResponse> listLogMetrics( + $20.ListLogMetricsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listLogMetrics, request, options: options); + } + + $grpc.ResponseFuture<$20.LogMetric> getLogMetric( + $20.GetLogMetricRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getLogMetric, request, options: options); + } + + $grpc.ResponseFuture<$20.LogMetric> createLogMetric( + $20.CreateLogMetricRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$createLogMetric, request, options: options); + } + + $grpc.ResponseFuture<$20.LogMetric> updateLogMetric( + $20.UpdateLogMetricRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$updateLogMetric, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteLogMetric( + $20.DeleteLogMetricRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteLogMetric, request, options: options); + } +} + +@$pb.GrpcServiceName('google.logging.v2.MetricsServiceV2') +abstract class MetricsServiceV2ServiceBase extends $grpc.Service { + $core.String get $name => 'google.logging.v2.MetricsServiceV2'; + + MetricsServiceV2ServiceBase() { + $addMethod($grpc.ServiceMethod<$20.ListLogMetricsRequest, + $20.ListLogMetricsResponse>( + 'ListLogMetrics', + listLogMetrics_Pre, + false, + false, + ($core.List<$core.int> value) => + $20.ListLogMetricsRequest.fromBuffer(value), + ($20.ListLogMetricsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$20.GetLogMetricRequest, $20.LogMetric>( + 'GetLogMetric', + getLogMetric_Pre, + false, + false, + ($core.List<$core.int> value) => + $20.GetLogMetricRequest.fromBuffer(value), + ($20.LogMetric value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$20.CreateLogMetricRequest, $20.LogMetric>( + 'CreateLogMetric', + createLogMetric_Pre, + false, + false, + ($core.List<$core.int> value) => + $20.CreateLogMetricRequest.fromBuffer(value), + ($20.LogMetric value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$20.UpdateLogMetricRequest, $20.LogMetric>( + 'UpdateLogMetric', + updateLogMetric_Pre, + false, + false, + ($core.List<$core.int> value) => + $20.UpdateLogMetricRequest.fromBuffer(value), + ($20.LogMetric value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$20.DeleteLogMetricRequest, $1.Empty>( + 'DeleteLogMetric', + deleteLogMetric_Pre, + false, + false, + ($core.List<$core.int> value) => + $20.DeleteLogMetricRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + } + + $async.Future<$20.ListLogMetricsResponse> listLogMetrics_Pre( + $grpc.ServiceCall call, + $async.Future<$20.ListLogMetricsRequest> request) async { + return listLogMetrics(call, await request); + } + + $async.Future<$20.LogMetric> getLogMetric_Pre($grpc.ServiceCall call, + $async.Future<$20.GetLogMetricRequest> request) async { + return getLogMetric(call, await request); + } + + $async.Future<$20.LogMetric> createLogMetric_Pre($grpc.ServiceCall call, + $async.Future<$20.CreateLogMetricRequest> request) async { + return createLogMetric(call, await request); + } + + $async.Future<$20.LogMetric> updateLogMetric_Pre($grpc.ServiceCall call, + $async.Future<$20.UpdateLogMetricRequest> request) async { + return updateLogMetric(call, await request); + } + + $async.Future<$1.Empty> deleteLogMetric_Pre($grpc.ServiceCall call, + $async.Future<$20.DeleteLogMetricRequest> request) async { + return deleteLogMetric(call, await request); + } + + $async.Future<$20.ListLogMetricsResponse> listLogMetrics( + $grpc.ServiceCall call, $20.ListLogMetricsRequest request); + $async.Future<$20.LogMetric> getLogMetric( + $grpc.ServiceCall call, $20.GetLogMetricRequest request); + $async.Future<$20.LogMetric> createLogMetric( + $grpc.ServiceCall call, $20.CreateLogMetricRequest request); + $async.Future<$20.LogMetric> updateLogMetric( + $grpc.ServiceCall call, $20.UpdateLogMetricRequest request); + $async.Future<$1.Empty> deleteLogMetric( + $grpc.ServiceCall call, $20.DeleteLogMetricRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbjson.dart new file mode 100644 index 00000000..c5c3e040 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/logging/v2/logging_metrics.pbjson.dart @@ -0,0 +1,241 @@ +// +// Generated code. Do not modify. +// source: google/logging/v2/logging_metrics.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use logMetricDescriptor instead') +const LogMetric$json = { + '1': 'LogMetric', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'}, + {'1': 'description', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'description'}, + {'1': 'filter', '3': 3, '4': 1, '5': 9, '8': {}, '10': 'filter'}, + {'1': 'bucket_name', '3': 13, '4': 1, '5': 9, '8': {}, '10': 'bucketName'}, + {'1': 'disabled', '3': 12, '4': 1, '5': 8, '8': {}, '10': 'disabled'}, + { + '1': 'metric_descriptor', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.api.MetricDescriptor', + '8': {}, + '10': 'metricDescriptor' + }, + { + '1': 'value_extractor', + '3': 6, + '4': 1, + '5': 9, + '8': {}, + '10': 'valueExtractor' + }, + { + '1': 'label_extractors', + '3': 7, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogMetric.LabelExtractorsEntry', + '8': {}, + '10': 'labelExtractors' + }, + { + '1': 'bucket_options', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.api.Distribution.BucketOptions', + '8': {}, + '10': 'bucketOptions' + }, + { + '1': 'create_time', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'createTime' + }, + { + '1': 'update_time', + '3': 10, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '8': {}, + '10': 'updateTime' + }, + { + '1': 'version', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.logging.v2.LogMetric.ApiVersion', + '8': {'3': true}, + '10': 'version', + }, + ], + '3': [LogMetric_LabelExtractorsEntry$json], + '4': [LogMetric_ApiVersion$json], + '7': {}, +}; + +@$core.Deprecated('Use logMetricDescriptor instead') +const LogMetric_LabelExtractorsEntry$json = { + '1': 'LabelExtractorsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use logMetricDescriptor instead') +const LogMetric_ApiVersion$json = { + '1': 'ApiVersion', + '2': [ + {'1': 'V2', '2': 0}, + {'1': 'V1', '2': 1}, + ], +}; + +/// Descriptor for `LogMetric`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logMetricDescriptor = $convert.base64Decode( + 'CglMb2dNZXRyaWMSFwoEbmFtZRgBIAEoCUID4EECUgRuYW1lEiUKC2Rlc2NyaXB0aW9uGAIgAS' + 'gJQgPgQQFSC2Rlc2NyaXB0aW9uEhsKBmZpbHRlchgDIAEoCUID4EECUgZmaWx0ZXISJAoLYnVj' + 'a2V0X25hbWUYDSABKAlCA+BBAVIKYnVja2V0TmFtZRIfCghkaXNhYmxlZBgMIAEoCEID4EEBUg' + 'hkaXNhYmxlZBJOChFtZXRyaWNfZGVzY3JpcHRvchgFIAEoCzIcLmdvb2dsZS5hcGkuTWV0cmlj' + 'RGVzY3JpcHRvckID4EEBUhBtZXRyaWNEZXNjcmlwdG9yEiwKD3ZhbHVlX2V4dHJhY3RvchgGIA' + 'EoCUID4EEBUg52YWx1ZUV4dHJhY3RvchJhChBsYWJlbF9leHRyYWN0b3JzGAcgAygLMjEuZ29v' + 'Z2xlLmxvZ2dpbmcudjIuTG9nTWV0cmljLkxhYmVsRXh0cmFjdG9yc0VudHJ5QgPgQQFSD2xhYm' + 'VsRXh0cmFjdG9ycxJSCg5idWNrZXRfb3B0aW9ucxgIIAEoCzImLmdvb2dsZS5hcGkuRGlzdHJp' + 'YnV0aW9uLkJ1Y2tldE9wdGlvbnNCA+BBAVINYnVja2V0T3B0aW9ucxJACgtjcmVhdGVfdGltZR' + 'gJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBA1IKY3JlYXRlVGltZRJACgt1' + 'cGRhdGVfdGltZRgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBA1IKdXBkYX' + 'RlVGltZRJFCgd2ZXJzaW9uGAQgASgOMicuZ29vZ2xlLmxvZ2dpbmcudjIuTG9nTWV0cmljLkFw' + 'aVZlcnNpb25CAhgBUgd2ZXJzaW9uGkIKFExhYmVsRXh0cmFjdG9yc0VudHJ5EhAKA2tleRgBIA' + 'EoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEiHAoKQXBpVmVyc2lvbhIGCgJWMhAA' + 'EgYKAlYxEAE6SupBRwogbG9nZ2luZy5nb29nbGVhcGlzLmNvbS9Mb2dNZXRyaWMSI3Byb2plY3' + 'RzL3twcm9qZWN0fS9tZXRyaWNzL3ttZXRyaWN9'); + +@$core.Deprecated('Use listLogMetricsRequestDescriptor instead') +const ListLogMetricsRequest$json = { + '1': 'ListLogMetricsRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + {'1': 'page_token', '3': 2, '4': 1, '5': 9, '8': {}, '10': 'pageToken'}, + {'1': 'page_size', '3': 3, '4': 1, '5': 5, '8': {}, '10': 'pageSize'}, + ], +}; + +/// Descriptor for `ListLogMetricsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLogMetricsRequestDescriptor = $convert.base64Decode( + 'ChVMaXN0TG9nTWV0cmljc1JlcXVlc3QSSwoGcGFyZW50GAEgASgJQjPgQQL6QS0KK2Nsb3Vkcm' + 'Vzb3VyY2VtYW5hZ2VyLmdvb2dsZWFwaXMuY29tL1Byb2plY3RSBnBhcmVudBIiCgpwYWdlX3Rv' + 'a2VuGAIgASgJQgPgQQFSCXBhZ2VUb2tlbhIgCglwYWdlX3NpemUYAyABKAVCA+BBAVIIcGFnZV' + 'NpemU='); + +@$core.Deprecated('Use listLogMetricsResponseDescriptor instead') +const ListLogMetricsResponse$json = { + '1': 'ListLogMetricsResponse', + '2': [ + { + '1': 'metrics', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.logging.v2.LogMetric', + '10': 'metrics' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListLogMetricsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listLogMetricsResponseDescriptor = $convert.base64Decode( + 'ChZMaXN0TG9nTWV0cmljc1Jlc3BvbnNlEjYKB21ldHJpY3MYASADKAsyHC5nb29nbGUubG9nZ2' + 'luZy52Mi5Mb2dNZXRyaWNSB21ldHJpY3MSJgoPbmV4dF9wYWdlX3Rva2VuGAIgASgJUg1uZXh0' + 'UGFnZVRva2Vu'); + +@$core.Deprecated('Use getLogMetricRequestDescriptor instead') +const GetLogMetricRequest$json = { + '1': 'GetLogMetricRequest', + '2': [ + {'1': 'metric_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'metricName'}, + ], +}; + +/// Descriptor for `GetLogMetricRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getLogMetricRequestDescriptor = $convert.base64Decode( + 'ChNHZXRMb2dNZXRyaWNSZXF1ZXN0EkkKC21ldHJpY19uYW1lGAEgASgJQijgQQL6QSIKIGxvZ2' + 'dpbmcuZ29vZ2xlYXBpcy5jb20vTG9nTWV0cmljUgptZXRyaWNOYW1l'); + +@$core.Deprecated('Use createLogMetricRequestDescriptor instead') +const CreateLogMetricRequest$json = { + '1': 'CreateLogMetricRequest', + '2': [ + {'1': 'parent', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'parent'}, + { + '1': 'metric', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogMetric', + '8': {}, + '10': 'metric' + }, + ], +}; + +/// Descriptor for `CreateLogMetricRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List createLogMetricRequestDescriptor = $convert.base64Decode( + 'ChZDcmVhdGVMb2dNZXRyaWNSZXF1ZXN0EkAKBnBhcmVudBgBIAEoCUIo4EEC+kEiEiBsb2dnaW' + '5nLmdvb2dsZWFwaXMuY29tL0xvZ01ldHJpY1IGcGFyZW50EjkKBm1ldHJpYxgCIAEoCzIcLmdv' + 'b2dsZS5sb2dnaW5nLnYyLkxvZ01ldHJpY0ID4EECUgZtZXRyaWM='); + +@$core.Deprecated('Use updateLogMetricRequestDescriptor instead') +const UpdateLogMetricRequest$json = { + '1': 'UpdateLogMetricRequest', + '2': [ + {'1': 'metric_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'metricName'}, + { + '1': 'metric', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.logging.v2.LogMetric', + '8': {}, + '10': 'metric' + }, + ], +}; + +/// Descriptor for `UpdateLogMetricRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List updateLogMetricRequestDescriptor = $convert.base64Decode( + 'ChZVcGRhdGVMb2dNZXRyaWNSZXF1ZXN0EkkKC21ldHJpY19uYW1lGAEgASgJQijgQQL6QSIKIG' + 'xvZ2dpbmcuZ29vZ2xlYXBpcy5jb20vTG9nTWV0cmljUgptZXRyaWNOYW1lEjkKBm1ldHJpYxgC' + 'IAEoCzIcLmdvb2dsZS5sb2dnaW5nLnYyLkxvZ01ldHJpY0ID4EECUgZtZXRyaWM='); + +@$core.Deprecated('Use deleteLogMetricRequestDescriptor instead') +const DeleteLogMetricRequest$json = { + '1': 'DeleteLogMetricRequest', + '2': [ + {'1': 'metric_name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'metricName'}, + ], +}; + +/// Descriptor for `DeleteLogMetricRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteLogMetricRequestDescriptor = + $convert.base64Decode( + 'ChZEZWxldGVMb2dNZXRyaWNSZXF1ZXN0EkkKC21ldHJpY19uYW1lGAEgASgJQijgQQL6QSIKIG' + 'xvZ2dpbmcuZ29vZ2xlYXBpcy5jb20vTG9nTWV0cmljUgptZXRyaWNOYW1l'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pb.dart new file mode 100644 index 00000000..52c9b209 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pb.dart @@ -0,0 +1,789 @@ +// +// Generated code. Do not modify. +// source: google/longrunning/operations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/any.pb.dart' as $49; +import '../protobuf/duration.pb.dart' as $51; +import '../rpc/status.pb.dart' as $57; + +enum Operation_Result { error, response, notSet } + +/// This resource represents a long-running operation that is the result of a +/// network API call. +class Operation extends $pb.GeneratedMessage { + factory Operation({ + $core.String? name, + $49.Any? metadata, + $core.bool? done, + $57.Status? error, + $49.Any? response, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (metadata != null) { + $result.metadata = metadata; + } + if (done != null) { + $result.done = done; + } + if (error != null) { + $result.error = error; + } + if (response != null) { + $result.response = response; + } + return $result; + } + Operation._() : super(); + factory Operation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Operation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Operation_Result> _Operation_ResultByTag = { + 4: Operation_Result.error, + 5: Operation_Result.response, + 0: Operation_Result.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Operation', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..oo(0, [4, 5]) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$49.Any>(2, _omitFieldNames ? '' : 'metadata', + subBuilder: $49.Any.create) + ..aOB(3, _omitFieldNames ? '' : 'done') + ..aOM<$57.Status>(4, _omitFieldNames ? '' : 'error', + subBuilder: $57.Status.create) + ..aOM<$49.Any>(5, _omitFieldNames ? '' : 'response', + subBuilder: $49.Any.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Operation clone() => Operation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Operation copyWith(void Function(Operation) updates) => + super.copyWith((message) => updates(message as Operation)) as Operation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Operation create() => Operation._(); + Operation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Operation getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Operation? _defaultInstance; + + Operation_Result whichResult() => _Operation_ResultByTag[$_whichOneof(0)]!; + void clearResult() => clearField($_whichOneof(0)); + + /// 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}`. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(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. + @$pb.TagNumber(2) + $49.Any get metadata => $_getN(1); + @$pb.TagNumber(2) + set metadata($49.Any v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasMetadata() => $_has(1); + @$pb.TagNumber(2) + void clearMetadata() => clearField(2); + @$pb.TagNumber(2) + $49.Any ensureMetadata() => $_ensure(1); + + /// 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. + @$pb.TagNumber(3) + $core.bool get done => $_getBF(2); + @$pb.TagNumber(3) + set done($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDone() => $_has(2); + @$pb.TagNumber(3) + void clearDone() => clearField(3); + + /// The error result of the operation in case of failure or cancellation. + @$pb.TagNumber(4) + $57.Status get error => $_getN(3); + @$pb.TagNumber(4) + set error($57.Status v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasError() => $_has(3); + @$pb.TagNumber(4) + void clearError() => clearField(4); + @$pb.TagNumber(4) + $57.Status ensureError() => $_ensure(3); + + /// 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`. + @$pb.TagNumber(5) + $49.Any get response => $_getN(4); + @$pb.TagNumber(5) + set response($49.Any v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasResponse() => $_has(4); + @$pb.TagNumber(5) + void clearResponse() => clearField(5); + @$pb.TagNumber(5) + $49.Any ensureResponse() => $_ensure(4); +} + +/// The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation]. +class GetOperationRequest extends $pb.GeneratedMessage { + factory GetOperationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + GetOperationRequest._() : super(); + factory GetOperationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GetOperationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GetOperationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetOperationRequest clone() => GetOperationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetOperationRequest copyWith(void Function(GetOperationRequest) updates) => + super.copyWith((message) => updates(message as GetOperationRequest)) + as GetOperationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetOperationRequest create() => GetOperationRequest._(); + GetOperationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetOperationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GetOperationRequest? _defaultInstance; + + /// The name of the operation resource. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. +class ListOperationsRequest extends $pb.GeneratedMessage { + factory ListOperationsRequest({ + $core.String? filter, + $core.int? pageSize, + $core.String? pageToken, + $core.String? name, + }) { + final $result = create(); + if (filter != null) { + $result.filter = filter; + } + if (pageSize != null) { + $result.pageSize = pageSize; + } + if (pageToken != null) { + $result.pageToken = pageToken; + } + if (name != null) { + $result.name = name; + } + return $result; + } + ListOperationsRequest._() : super(); + factory ListOperationsRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListOperationsRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListOperationsRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'filter') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pageSize', $pb.PbFieldType.O3) + ..aOS(3, _omitFieldNames ? '' : 'pageToken') + ..aOS(4, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListOperationsRequest clone() => + ListOperationsRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListOperationsRequest copyWith( + void Function(ListOperationsRequest) updates) => + super.copyWith((message) => updates(message as ListOperationsRequest)) + as ListOperationsRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListOperationsRequest create() => ListOperationsRequest._(); + ListOperationsRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListOperationsRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListOperationsRequest? _defaultInstance; + + /// The standard list filter. + @$pb.TagNumber(1) + $core.String get filter => $_getSZ(0); + @$pb.TagNumber(1) + set filter($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFilter() => $_has(0); + @$pb.TagNumber(1) + void clearFilter() => clearField(1); + + /// The standard list page size. + @$pb.TagNumber(2) + $core.int get pageSize => $_getIZ(1); + @$pb.TagNumber(2) + set pageSize($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPageSize() => $_has(1); + @$pb.TagNumber(2) + void clearPageSize() => clearField(2); + + /// The standard list page token. + @$pb.TagNumber(3) + $core.String get pageToken => $_getSZ(2); + @$pb.TagNumber(3) + set pageToken($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasPageToken() => $_has(2); + @$pb.TagNumber(3) + void clearPageToken() => clearField(3); + + /// The name of the operation's parent resource. + @$pb.TagNumber(4) + $core.String get name => $_getSZ(3); + @$pb.TagNumber(4) + set name($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasName() => $_has(3); + @$pb.TagNumber(4) + void clearName() => clearField(4); +} + +/// The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations]. +class ListOperationsResponse extends $pb.GeneratedMessage { + factory ListOperationsResponse({ + $core.Iterable? operations, + $core.String? nextPageToken, + }) { + final $result = create(); + if (operations != null) { + $result.operations.addAll(operations); + } + if (nextPageToken != null) { + $result.nextPageToken = nextPageToken; + } + return $result; + } + ListOperationsResponse._() : super(); + factory ListOperationsResponse.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListOperationsResponse.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListOperationsResponse', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'operations', $pb.PbFieldType.PM, + subBuilder: Operation.create) + ..aOS(2, _omitFieldNames ? '' : 'nextPageToken') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListOperationsResponse clone() => + ListOperationsResponse()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListOperationsResponse copyWith( + void Function(ListOperationsResponse) updates) => + super.copyWith((message) => updates(message as ListOperationsResponse)) + as ListOperationsResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListOperationsResponse create() => ListOperationsResponse._(); + ListOperationsResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListOperationsResponse getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ListOperationsResponse? _defaultInstance; + + /// A list of operations that matches the specified filter in the request. + @$pb.TagNumber(1) + $core.List get operations => $_getList(0); + + /// The standard List next-page token. + @$pb.TagNumber(2) + $core.String get nextPageToken => $_getSZ(1); + @$pb.TagNumber(2) + set nextPageToken($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNextPageToken() => $_has(1); + @$pb.TagNumber(2) + void clearNextPageToken() => clearField(2); +} + +/// The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation]. +class CancelOperationRequest extends $pb.GeneratedMessage { + factory CancelOperationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + CancelOperationRequest._() : super(); + factory CancelOperationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CancelOperationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CancelOperationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CancelOperationRequest clone() => + CancelOperationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CancelOperationRequest copyWith( + void Function(CancelOperationRequest) updates) => + super.copyWith((message) => updates(message as CancelOperationRequest)) + as CancelOperationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CancelOperationRequest create() => CancelOperationRequest._(); + CancelOperationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CancelOperationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CancelOperationRequest? _defaultInstance; + + /// The name of the operation resource to be cancelled. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation]. +class DeleteOperationRequest extends $pb.GeneratedMessage { + factory DeleteOperationRequest({ + $core.String? name, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + return $result; + } + DeleteOperationRequest._() : super(); + factory DeleteOperationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DeleteOperationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DeleteOperationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeleteOperationRequest clone() => + DeleteOperationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeleteOperationRequest copyWith( + void Function(DeleteOperationRequest) updates) => + super.copyWith((message) => updates(message as DeleteOperationRequest)) + as DeleteOperationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeleteOperationRequest create() => DeleteOperationRequest._(); + DeleteOperationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeleteOperationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DeleteOperationRequest? _defaultInstance; + + /// The name of the operation resource to be deleted. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); +} + +/// The request message for [Operations.WaitOperation][google.longrunning.Operations.WaitOperation]. +class WaitOperationRequest extends $pb.GeneratedMessage { + factory WaitOperationRequest({ + $core.String? name, + $51.Duration? timeout, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (timeout != null) { + $result.timeout = timeout; + } + return $result; + } + WaitOperationRequest._() : super(); + factory WaitOperationRequest.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory WaitOperationRequest.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'WaitOperationRequest', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM<$51.Duration>(2, _omitFieldNames ? '' : 'timeout', + subBuilder: $51.Duration.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WaitOperationRequest clone() => + WaitOperationRequest()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WaitOperationRequest copyWith(void Function(WaitOperationRequest) updates) => + super.copyWith((message) => updates(message as WaitOperationRequest)) + as WaitOperationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WaitOperationRequest create() => WaitOperationRequest._(); + WaitOperationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WaitOperationRequest getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static WaitOperationRequest? _defaultInstance; + + /// The name of the operation resource to wait on. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(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. + @$pb.TagNumber(2) + $51.Duration get timeout => $_getN(1); + @$pb.TagNumber(2) + set timeout($51.Duration v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasTimeout() => $_has(1); + @$pb.TagNumber(2) + void clearTimeout() => clearField(2); + @$pb.TagNumber(2) + $51.Duration ensureTimeout() => $_ensure(1); +} + +/// 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" +/// }; +/// } +class OperationInfo extends $pb.GeneratedMessage { + factory OperationInfo({ + $core.String? responseType, + $core.String? metadataType, + }) { + final $result = create(); + if (responseType != null) { + $result.responseType = responseType; + } + if (metadataType != null) { + $result.metadataType = metadataType; + } + return $result; + } + OperationInfo._() : super(); + factory OperationInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OperationInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OperationInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.longrunning'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'responseType') + ..aOS(2, _omitFieldNames ? '' : 'metadataType') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OperationInfo clone() => OperationInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OperationInfo copyWith(void Function(OperationInfo) updates) => + super.copyWith((message) => updates(message as OperationInfo)) + as OperationInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OperationInfo create() => OperationInfo._(); + OperationInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OperationInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OperationInfo? _defaultInstance; + + /// 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. + @$pb.TagNumber(1) + $core.String get responseType => $_getSZ(0); + @$pb.TagNumber(1) + set responseType($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasResponseType() => $_has(0); + @$pb.TagNumber(1) + void clearResponseType() => clearField(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. + @$pb.TagNumber(2) + $core.String get metadataType => $_getSZ(1); + @$pb.TagNumber(2) + set metadataType($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasMetadataType() => $_has(1); + @$pb.TagNumber(2) + void clearMetadataType() => clearField(2); +} + +class Operations { + static final operationInfo = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.MethodOptions', + _omitFieldNames ? '' : 'operationInfo', + 1049, + $pb.PbFieldType.OM, + defaultOrMaker: OperationInfo.getDefault, + subBuilder: OperationInfo.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(operationInfo); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbenum.dart new file mode 100644 index 00000000..90c1cd54 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/longrunning/operations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbgrpc.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbgrpc.dart new file mode 100644 index 00000000..a4e6c79d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbgrpc.dart @@ -0,0 +1,172 @@ +// +// Generated code. Do not modify. +// source: google/longrunning/operations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:async' as $async; +import 'dart:core' as $core; + +import 'package:grpc/service_api.dart' as $grpc; +import 'package:protobuf/protobuf.dart' as $pb; + +import '../protobuf/empty.pb.dart' as $1; +import 'operations.pb.dart' as $0; + +export 'operations.pb.dart'; + +@$pb.GrpcServiceName('google.longrunning.Operations') +class OperationsClient extends $grpc.Client { + static final _$listOperations = + $grpc.ClientMethod<$0.ListOperationsRequest, $0.ListOperationsResponse>( + '/google.longrunning.Operations/ListOperations', + ($0.ListOperationsRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => + $0.ListOperationsResponse.fromBuffer(value)); + static final _$getOperation = + $grpc.ClientMethod<$0.GetOperationRequest, $0.Operation>( + '/google.longrunning.Operations/GetOperation', + ($0.GetOperationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + static final _$deleteOperation = + $grpc.ClientMethod<$0.DeleteOperationRequest, $1.Empty>( + '/google.longrunning.Operations/DeleteOperation', + ($0.DeleteOperationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$cancelOperation = + $grpc.ClientMethod<$0.CancelOperationRequest, $1.Empty>( + '/google.longrunning.Operations/CancelOperation', + ($0.CancelOperationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $1.Empty.fromBuffer(value)); + static final _$waitOperation = + $grpc.ClientMethod<$0.WaitOperationRequest, $0.Operation>( + '/google.longrunning.Operations/WaitOperation', + ($0.WaitOperationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.Operation.fromBuffer(value)); + + OperationsClient($grpc.ClientChannel channel, + {$grpc.CallOptions? options, + $core.Iterable<$grpc.ClientInterceptor>? interceptors}) + : super(channel, options: options, interceptors: interceptors); + + $grpc.ResponseFuture<$0.ListOperationsResponse> listOperations( + $0.ListOperationsRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$listOperations, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> getOperation( + $0.GetOperationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$getOperation, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> deleteOperation( + $0.DeleteOperationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$deleteOperation, request, options: options); + } + + $grpc.ResponseFuture<$1.Empty> cancelOperation( + $0.CancelOperationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$cancelOperation, request, options: options); + } + + $grpc.ResponseFuture<$0.Operation> waitOperation( + $0.WaitOperationRequest request, + {$grpc.CallOptions? options}) { + return $createUnaryCall(_$waitOperation, request, options: options); + } +} + +@$pb.GrpcServiceName('google.longrunning.Operations') +abstract class OperationsServiceBase extends $grpc.Service { + $core.String get $name => 'google.longrunning.Operations'; + + OperationsServiceBase() { + $addMethod($grpc.ServiceMethod<$0.ListOperationsRequest, + $0.ListOperationsResponse>( + 'ListOperations', + listOperations_Pre, + false, + false, + ($core.List<$core.int> value) => + $0.ListOperationsRequest.fromBuffer(value), + ($0.ListOperationsResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.GetOperationRequest, $0.Operation>( + 'GetOperation', + getOperation_Pre, + false, + false, + ($core.List<$core.int> value) => + $0.GetOperationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.DeleteOperationRequest, $1.Empty>( + 'DeleteOperation', + deleteOperation_Pre, + false, + false, + ($core.List<$core.int> value) => + $0.DeleteOperationRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.CancelOperationRequest, $1.Empty>( + 'CancelOperation', + cancelOperation_Pre, + false, + false, + ($core.List<$core.int> value) => + $0.CancelOperationRequest.fromBuffer(value), + ($1.Empty value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$0.WaitOperationRequest, $0.Operation>( + 'WaitOperation', + waitOperation_Pre, + false, + false, + ($core.List<$core.int> value) => + $0.WaitOperationRequest.fromBuffer(value), + ($0.Operation value) => value.writeToBuffer())); + } + + $async.Future<$0.ListOperationsResponse> listOperations_Pre( + $grpc.ServiceCall call, + $async.Future<$0.ListOperationsRequest> request) async { + return listOperations(call, await request); + } + + $async.Future<$0.Operation> getOperation_Pre($grpc.ServiceCall call, + $async.Future<$0.GetOperationRequest> request) async { + return getOperation(call, await request); + } + + $async.Future<$1.Empty> deleteOperation_Pre($grpc.ServiceCall call, + $async.Future<$0.DeleteOperationRequest> request) async { + return deleteOperation(call, await request); + } + + $async.Future<$1.Empty> cancelOperation_Pre($grpc.ServiceCall call, + $async.Future<$0.CancelOperationRequest> request) async { + return cancelOperation(call, await request); + } + + $async.Future<$0.Operation> waitOperation_Pre($grpc.ServiceCall call, + $async.Future<$0.WaitOperationRequest> request) async { + return waitOperation(call, await request); + } + + $async.Future<$0.ListOperationsResponse> listOperations( + $grpc.ServiceCall call, $0.ListOperationsRequest request); + $async.Future<$0.Operation> getOperation( + $grpc.ServiceCall call, $0.GetOperationRequest request); + $async.Future<$1.Empty> deleteOperation( + $grpc.ServiceCall call, $0.DeleteOperationRequest request); + $async.Future<$1.Empty> cancelOperation( + $grpc.ServiceCall call, $0.CancelOperationRequest request); + $async.Future<$0.Operation> waitOperation( + $grpc.ServiceCall call, $0.WaitOperationRequest request); +} diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbjson.dart new file mode 100644 index 00000000..5aec5465 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/longrunning/operations.pbjson.dart @@ -0,0 +1,171 @@ +// +// Generated code. Do not modify. +// source: google/longrunning/operations.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use operationDescriptor instead') +const Operation$json = { + '1': 'Operation', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'metadata', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'metadata' + }, + {'1': 'done', '3': 3, '4': 1, '5': 8, '10': 'done'}, + { + '1': 'error', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.rpc.Status', + '9': 0, + '10': 'error' + }, + { + '1': 'response', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '9': 0, + '10': 'response' + }, + ], + '8': [ + {'1': 'result'}, + ], +}; + +/// Descriptor for `Operation`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationDescriptor = $convert.base64Decode( + 'CglPcGVyYXRpb24SEgoEbmFtZRgBIAEoCVIEbmFtZRIwCghtZXRhZGF0YRgCIAEoCzIULmdvb2' + 'dsZS5wcm90b2J1Zi5BbnlSCG1ldGFkYXRhEhIKBGRvbmUYAyABKAhSBGRvbmUSKgoFZXJyb3IY' + 'BCABKAsyEi5nb29nbGUucnBjLlN0YXR1c0gAUgVlcnJvchIyCghyZXNwb25zZRgFIAEoCzIULm' + 'dvb2dsZS5wcm90b2J1Zi5BbnlIAFIIcmVzcG9uc2VCCAoGcmVzdWx0'); + +@$core.Deprecated('Use getOperationRequestDescriptor instead') +const GetOperationRequest$json = { + '1': 'GetOperationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `GetOperationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getOperationRequestDescriptor = $convert + .base64Decode('ChNHZXRPcGVyYXRpb25SZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWU='); + +@$core.Deprecated('Use listOperationsRequestDescriptor instead') +const ListOperationsRequest$json = { + '1': 'ListOperationsRequest', + '2': [ + {'1': 'name', '3': 4, '4': 1, '5': 9, '10': 'name'}, + {'1': 'filter', '3': 1, '4': 1, '5': 9, '10': 'filter'}, + {'1': 'page_size', '3': 2, '4': 1, '5': 5, '10': 'pageSize'}, + {'1': 'page_token', '3': 3, '4': 1, '5': 9, '10': 'pageToken'}, + ], +}; + +/// Descriptor for `ListOperationsRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listOperationsRequestDescriptor = $convert.base64Decode( + 'ChVMaXN0T3BlcmF0aW9uc1JlcXVlc3QSEgoEbmFtZRgEIAEoCVIEbmFtZRIWCgZmaWx0ZXIYAS' + 'ABKAlSBmZpbHRlchIbCglwYWdlX3NpemUYAiABKAVSCHBhZ2VTaXplEh0KCnBhZ2VfdG9rZW4Y' + 'AyABKAlSCXBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use listOperationsResponseDescriptor instead') +const ListOperationsResponse$json = { + '1': 'ListOperationsResponse', + '2': [ + { + '1': 'operations', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.longrunning.Operation', + '10': 'operations' + }, + {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'}, + ], +}; + +/// Descriptor for `ListOperationsResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listOperationsResponseDescriptor = $convert.base64Decode( + 'ChZMaXN0T3BlcmF0aW9uc1Jlc3BvbnNlEj0KCm9wZXJhdGlvbnMYASADKAsyHS5nb29nbGUubG' + '9uZ3J1bm5pbmcuT3BlcmF0aW9uUgpvcGVyYXRpb25zEiYKD25leHRfcGFnZV90b2tlbhgCIAEo' + 'CVINbmV4dFBhZ2VUb2tlbg=='); + +@$core.Deprecated('Use cancelOperationRequestDescriptor instead') +const CancelOperationRequest$json = { + '1': 'CancelOperationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `CancelOperationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cancelOperationRequestDescriptor = + $convert.base64Decode( + 'ChZDYW5jZWxPcGVyYXRpb25SZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWU='); + +@$core.Deprecated('Use deleteOperationRequestDescriptor instead') +const DeleteOperationRequest$json = { + '1': 'DeleteOperationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + ], +}; + +/// Descriptor for `DeleteOperationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deleteOperationRequestDescriptor = + $convert.base64Decode( + 'ChZEZWxldGVPcGVyYXRpb25SZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWU='); + +@$core.Deprecated('Use waitOperationRequestDescriptor instead') +const WaitOperationRequest$json = { + '1': 'WaitOperationRequest', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'timeout', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'timeout' + }, + ], +}; + +/// Descriptor for `WaitOperationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List waitOperationRequestDescriptor = $convert.base64Decode( + 'ChRXYWl0T3BlcmF0aW9uUmVxdWVzdBISCgRuYW1lGAEgASgJUgRuYW1lEjMKB3RpbWVvdXQYAi' + 'ABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25SB3RpbWVvdXQ='); + +@$core.Deprecated('Use operationInfoDescriptor instead') +const OperationInfo$json = { + '1': 'OperationInfo', + '2': [ + {'1': 'response_type', '3': 1, '4': 1, '5': 9, '10': 'responseType'}, + {'1': 'metadata_type', '3': 2, '4': 1, '5': 9, '10': 'metadataType'}, + ], +}; + +/// Descriptor for `OperationInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List operationInfoDescriptor = $convert.base64Decode( + 'Cg1PcGVyYXRpb25JbmZvEiMKDXJlc3BvbnNlX3R5cGUYASABKAlSDHJlc3BvbnNlVHlwZRIjCg' + '1tZXRhZGF0YV90eXBlGAIgASgJUgxtZXRhZGF0YVR5cGU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pb.dart new file mode 100644 index 00000000..9f9d4c72 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pb.dart @@ -0,0 +1,224 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// `Any` contains an arbitrary serialized protocol buffer message along with a +/// URL that describes the type of the serialized message. +/// +/// Protobuf library provides support to pack/unpack Any values in the form +/// of utility functions or additional generated methods of the Any type. +/// +/// Example 1: Pack and unpack a message in C++. +/// +/// Foo foo = ...; +/// Any any; +/// any.PackFrom(foo); +/// ... +/// if (any.UnpackTo(&foo)) { +/// ... +/// } +/// +/// Example 2: Pack and unpack a message in Java. +/// +/// Foo foo = ...; +/// Any any = Any.pack(foo); +/// ... +/// if (any.is(Foo.class)) { +/// foo = any.unpack(Foo.class); +/// } +/// // or ... +/// if (any.isSameTypeAs(Foo.getDefaultInstance())) { +/// foo = any.unpack(Foo.getDefaultInstance()); +/// } +/// +/// Example 3: Pack and unpack a message in Python. +/// +/// foo = Foo(...) +/// any = Any() +/// any.Pack(foo) +/// ... +/// if any.Is(Foo.DESCRIPTOR): +/// any.Unpack(foo) +/// ... +/// +/// Example 4: Pack and unpack a message in Go +/// +/// foo := &pb.Foo{...} +/// any, err := anypb.New(foo) +/// if err != nil { +/// ... +/// } +/// ... +/// foo := &pb.Foo{} +/// if err := any.UnmarshalTo(foo); err != nil { +/// ... +/// } +/// +/// The pack methods provided by protobuf library will by default use +/// 'type.googleapis.com/full.type.name' as the type URL and the unpack +/// methods only use the fully qualified type name after the last '/' +/// in the type URL, for example "foo.bar.com/x/y.z" will yield type +/// name "y.z". +/// +/// JSON +/// ==== +/// The JSON representation of an `Any` value uses the regular +/// representation of the deserialized, embedded message, with an +/// additional field `@type` which contains the type URL. Example: +/// +/// package google.profile; +/// message Person { +/// string first_name = 1; +/// string last_name = 2; +/// } +/// +/// { +/// "@type": "type.googleapis.com/google.profile.Person", +/// "firstName": , +/// "lastName": +/// } +/// +/// If the embedded message type is well-known and has a custom JSON +/// representation, that representation will be embedded adding a field +/// `value` which holds the custom JSON in addition to the `@type` +/// field. Example (for message [google.protobuf.Duration][]): +/// +/// { +/// "@type": "type.googleapis.com/google.protobuf.Duration", +/// "value": "1.212s" +/// } +class Any extends $pb.GeneratedMessage with $mixin.AnyMixin { + factory Any({ + $core.String? typeUrl, + $core.List<$core.int>? value, + }) { + final $result = create(); + if (typeUrl != null) { + $result.typeUrl = typeUrl; + } + if (value != null) { + $result.value = value; + } + return $result; + } + Any._() : super(); + factory Any.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Any.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Any', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.AnyMixin.toProto3JsonHelper, + fromProto3Json: $mixin.AnyMixin.fromProto3JsonHelper) + ..aOS(1, _omitFieldNames ? '' : 'typeUrl') + ..a<$core.List<$core.int>>( + 2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.OY) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Any clone() => Any()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Any copyWith(void Function(Any) updates) => + super.copyWith((message) => updates(message as Any)) as Any; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Any create() => Any._(); + Any createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Any getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Any? _defaultInstance; + + /// A URL/resource name that uniquely identifies the type of the serialized + /// protocol buffer message. This string must contain at least + /// one "/" character. The last segment of the URL's path must represent + /// the fully qualified name of the type (as in + /// `path/google.protobuf.Duration`). The name should be in a canonical form + /// (e.g., leading "." is not accepted). + /// + /// In practice, teams usually precompile into the binary all types that they + /// expect it to use in the context of Any. However, for URLs which use the + /// scheme `http`, `https`, or no scheme, one can optionally set up a type + /// server that maps type URLs to message definitions as follows: + /// + /// * If no scheme is provided, `https` is assumed. + /// * An HTTP GET on the URL must yield a [google.protobuf.Type][] + /// value in binary format, or produce an error. + /// * Applications are allowed to cache lookup results based on the + /// URL, or have them precompiled into a binary to avoid any + /// lookup. Therefore, binary compatibility needs to be preserved + /// on changes to types. (Use versioned type names to manage + /// breaking changes.) + /// + /// Note: this functionality is not currently available in the official + /// protobuf release, and it is not used for type URLs beginning with + /// type.googleapis.com. As of May 2023, there are no widely used type server + /// implementations and no plans to implement one. + /// + /// Schemes other than `http`, `https` (or the empty scheme) might be + /// used with implementation specific semantics. + @$pb.TagNumber(1) + $core.String get typeUrl => $_getSZ(0); + @$pb.TagNumber(1) + set typeUrl($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasTypeUrl() => $_has(0); + @$pb.TagNumber(1) + void clearTypeUrl() => clearField(1); + + /// Must be a valid serialized protocol buffer of the above specified type. + @$pb.TagNumber(2) + $core.List<$core.int> get value => $_getN(1); + @$pb.TagNumber(2) + set value($core.List<$core.int> v) { + $_setBytes(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + + /// Creates a new [Any] encoding [message]. + /// + /// The [typeUrl] will be [typeUrlPrefix]/`fullName` where `fullName` is + /// the fully qualified name of the type of [message]. + static Any pack($pb.GeneratedMessage message, + {$core.String typeUrlPrefix = 'type.googleapis.com'}) { + final result = create(); + $mixin.AnyMixin.packIntoAny(result, message, typeUrlPrefix: typeUrlPrefix); + return result; + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pbenum.dart new file mode 100644 index 00000000..3744f124 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pbjson.dart new file mode 100644 index 00000000..eafbc6bd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any.pbjson.dart @@ -0,0 +1,27 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use anyDescriptor instead') +const Any$json = { + '1': 'Any', + '2': [ + {'1': 'type_url', '3': 1, '4': 1, '5': 9, '10': 'typeUrl'}, + {'1': 'value', '3': 2, '4': 1, '5': 12, '10': 'value'}, + ], +}; + +/// Descriptor for `Any`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List anyDescriptor = $convert.base64Decode( + 'CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVl'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pb.dart new file mode 100644 index 00000000..e74fcf53 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pb.dart @@ -0,0 +1,127 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any_test.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'any.pb.dart' as $49; + +class TestAny extends $pb.GeneratedMessage { + factory TestAny({ + $core.int? int32Value, + $49.Any? anyValue, + $core.Iterable<$49.Any>? repeatedAnyValue, + $core.String? text, + }) { + final $result = create(); + if (int32Value != null) { + $result.int32Value = int32Value; + } + if (anyValue != null) { + $result.anyValue = anyValue; + } + if (repeatedAnyValue != null) { + $result.repeatedAnyValue.addAll(repeatedAnyValue); + } + if (text != null) { + $result.text = text; + } + return $result; + } + TestAny._() : super(); + factory TestAny.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAny.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAny', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'protobuf_unittest'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'int32Value', $pb.PbFieldType.O3) + ..aOM<$49.Any>(2, _omitFieldNames ? '' : 'anyValue', + subBuilder: $49.Any.create) + ..pc<$49.Any>( + 3, _omitFieldNames ? '' : 'repeatedAnyValue', $pb.PbFieldType.PM, + subBuilder: $49.Any.create) + ..aOS(4, _omitFieldNames ? '' : 'text') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAny clone() => TestAny()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAny copyWith(void Function(TestAny) updates) => + super.copyWith((message) => updates(message as TestAny)) as TestAny; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAny create() => TestAny._(); + TestAny createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAny getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestAny? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get int32Value => $_getIZ(0); + @$pb.TagNumber(1) + set int32Value($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInt32Value() => $_has(0); + @$pb.TagNumber(1) + void clearInt32Value() => clearField(1); + + @$pb.TagNumber(2) + $49.Any get anyValue => $_getN(1); + @$pb.TagNumber(2) + set anyValue($49.Any v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasAnyValue() => $_has(1); + @$pb.TagNumber(2) + void clearAnyValue() => clearField(2); + @$pb.TagNumber(2) + $49.Any ensureAnyValue() => $_ensure(1); + + @$pb.TagNumber(3) + $core.List<$49.Any> get repeatedAnyValue => $_getList(2); + + @$pb.TagNumber(4) + $core.String get text => $_getSZ(3); + @$pb.TagNumber(4) + set text($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasText() => $_has(3); + @$pb.TagNumber(4) + void clearText() => clearField(4); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pbenum.dart new file mode 100644 index 00000000..074f93d5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any_test.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pbjson.dart new file mode 100644 index 00000000..a22b4153 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/any_test.pbjson.dart @@ -0,0 +1,46 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/any_test.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use testAnyDescriptor instead') +const TestAny$json = { + '1': 'TestAny', + '2': [ + {'1': 'int32_value', '3': 1, '4': 1, '5': 5, '10': 'int32Value'}, + { + '1': 'any_value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'anyValue' + }, + { + '1': 'repeated_any_value', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'repeatedAnyValue' + }, + {'1': 'text', '3': 4, '4': 1, '5': 9, '10': 'text'}, + ], +}; + +/// Descriptor for `TestAny`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testAnyDescriptor = $convert.base64Decode( + 'CgdUZXN0QW55Eh8KC2ludDMyX3ZhbHVlGAEgASgFUgppbnQzMlZhbHVlEjEKCWFueV92YWx1ZR' + 'gCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSCGFueVZhbHVlEkIKEnJlcGVhdGVkX2FueV92' + 'YWx1ZRgDIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSEHJlcGVhdGVkQW55VmFsdWUSEgoEdG' + 'V4dBgEIAEoCVIEdGV4dA=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pb.dart new file mode 100644 index 00000000..39747632 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pb.dart @@ -0,0 +1,525 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'source_context.pb.dart' as $82; +import 'type.pb.dart' as $83; +import 'type.pbenum.dart' as $83; + +/// Api is a light-weight descriptor for an API Interface. +/// +/// Interfaces are also described as "protocol buffer services" in some contexts, +/// such as by the "service" keyword in a .proto file, but they are different +/// from API Services, which represent a concrete implementation of an interface +/// as opposed to simply a description of methods and bindings. They are also +/// sometimes simply referred to as "APIs" in other contexts, such as the name of +/// this message itself. See https://cloud.google.com/apis/design/glossary for +/// detailed terminology. +class Api extends $pb.GeneratedMessage { + factory Api({ + $core.String? name, + $core.Iterable? methods, + $core.Iterable<$83.Option>? options, + $core.String? version, + $82.SourceContext? sourceContext, + $core.Iterable? mixins, + $83.Syntax? syntax, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (methods != null) { + $result.methods.addAll(methods); + } + if (options != null) { + $result.options.addAll(options); + } + if (version != null) { + $result.version = version; + } + if (sourceContext != null) { + $result.sourceContext = sourceContext; + } + if (mixins != null) { + $result.mixins.addAll(mixins); + } + if (syntax != null) { + $result.syntax = syntax; + } + return $result; + } + Api._() : super(); + factory Api.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Api.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Api', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc(2, _omitFieldNames ? '' : 'methods', $pb.PbFieldType.PM, + subBuilder: Method.create) + ..pc<$83.Option>(3, _omitFieldNames ? '' : 'options', $pb.PbFieldType.PM, + subBuilder: $83.Option.create) + ..aOS(4, _omitFieldNames ? '' : 'version') + ..aOM<$82.SourceContext>(5, _omitFieldNames ? '' : 'sourceContext', + subBuilder: $82.SourceContext.create) + ..pc(6, _omitFieldNames ? '' : 'mixins', $pb.PbFieldType.PM, + subBuilder: Mixin.create) + ..e<$83.Syntax>(7, _omitFieldNames ? '' : 'syntax', $pb.PbFieldType.OE, + defaultOrMaker: $83.Syntax.SYNTAX_PROTO2, + valueOf: $83.Syntax.valueOf, + enumValues: $83.Syntax.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Api clone() => Api()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Api copyWith(void Function(Api) updates) => + super.copyWith((message) => updates(message as Api)) as Api; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Api create() => Api._(); + Api createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Api getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Api? _defaultInstance; + + /// The fully qualified name of this interface, including package name + /// followed by the interface's simple name. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// The methods of this interface, in unspecified order. + @$pb.TagNumber(2) + $core.List get methods => $_getList(1); + + /// Any metadata attached to the interface. + @$pb.TagNumber(3) + $core.List<$83.Option> get options => $_getList(2); + + /// A version string for this interface. If specified, must have the form + /// `major-version.minor-version`, as in `1.10`. If the minor version is + /// omitted, it defaults to zero. If the entire version field is empty, the + /// major version is derived from the package name, as outlined below. If the + /// field is not empty, the version in the package name will be verified to be + /// consistent with what is provided here. + /// + /// The versioning schema uses [semantic + /// versioning](http://semver.org) where the major version number + /// indicates a breaking change and the minor version an additive, + /// non-breaking change. Both version numbers are signals to users + /// what to expect from different versions, and should be carefully + /// chosen based on the product plan. + /// + /// The major version is also reflected in the package name of the + /// interface, which must end in `v`, as in + /// `google.feature.v1`. For major versions 0 and 1, the suffix can + /// be omitted. Zero major versions must only be used for + /// experimental, non-GA interfaces. + @$pb.TagNumber(4) + $core.String get version => $_getSZ(3); + @$pb.TagNumber(4) + set version($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasVersion() => $_has(3); + @$pb.TagNumber(4) + void clearVersion() => clearField(4); + + /// Source context for the protocol buffer service represented by this + /// message. + @$pb.TagNumber(5) + $82.SourceContext get sourceContext => $_getN(4); + @$pb.TagNumber(5) + set sourceContext($82.SourceContext v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSourceContext() => $_has(4); + @$pb.TagNumber(5) + void clearSourceContext() => clearField(5); + @$pb.TagNumber(5) + $82.SourceContext ensureSourceContext() => $_ensure(4); + + /// Included interfaces. See [Mixin][]. + @$pb.TagNumber(6) + $core.List get mixins => $_getList(5); + + /// The source syntax of the service. + @$pb.TagNumber(7) + $83.Syntax get syntax => $_getN(6); + @$pb.TagNumber(7) + set syntax($83.Syntax v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasSyntax() => $_has(6); + @$pb.TagNumber(7) + void clearSyntax() => clearField(7); +} + +/// Method represents a method of an API interface. +class Method extends $pb.GeneratedMessage { + factory Method({ + $core.String? name, + $core.String? requestTypeUrl, + $core.bool? requestStreaming, + $core.String? responseTypeUrl, + $core.bool? responseStreaming, + $core.Iterable<$83.Option>? options, + $83.Syntax? syntax, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (requestTypeUrl != null) { + $result.requestTypeUrl = requestTypeUrl; + } + if (requestStreaming != null) { + $result.requestStreaming = requestStreaming; + } + if (responseTypeUrl != null) { + $result.responseTypeUrl = responseTypeUrl; + } + if (responseStreaming != null) { + $result.responseStreaming = responseStreaming; + } + if (options != null) { + $result.options.addAll(options); + } + if (syntax != null) { + $result.syntax = syntax; + } + return $result; + } + Method._() : super(); + factory Method.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Method.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Method', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'requestTypeUrl') + ..aOB(3, _omitFieldNames ? '' : 'requestStreaming') + ..aOS(4, _omitFieldNames ? '' : 'responseTypeUrl') + ..aOB(5, _omitFieldNames ? '' : 'responseStreaming') + ..pc<$83.Option>(6, _omitFieldNames ? '' : 'options', $pb.PbFieldType.PM, + subBuilder: $83.Option.create) + ..e<$83.Syntax>(7, _omitFieldNames ? '' : 'syntax', $pb.PbFieldType.OE, + defaultOrMaker: $83.Syntax.SYNTAX_PROTO2, + valueOf: $83.Syntax.valueOf, + enumValues: $83.Syntax.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Method clone() => Method()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Method copyWith(void Function(Method) updates) => + super.copyWith((message) => updates(message as Method)) as Method; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Method create() => Method._(); + Method createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Method getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Method? _defaultInstance; + + /// The simple name of this method. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// A URL of the input message type. + @$pb.TagNumber(2) + $core.String get requestTypeUrl => $_getSZ(1); + @$pb.TagNumber(2) + set requestTypeUrl($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRequestTypeUrl() => $_has(1); + @$pb.TagNumber(2) + void clearRequestTypeUrl() => clearField(2); + + /// If true, the request is streamed. + @$pb.TagNumber(3) + $core.bool get requestStreaming => $_getBF(2); + @$pb.TagNumber(3) + set requestStreaming($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasRequestStreaming() => $_has(2); + @$pb.TagNumber(3) + void clearRequestStreaming() => clearField(3); + + /// The URL of the output message type. + @$pb.TagNumber(4) + $core.String get responseTypeUrl => $_getSZ(3); + @$pb.TagNumber(4) + set responseTypeUrl($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasResponseTypeUrl() => $_has(3); + @$pb.TagNumber(4) + void clearResponseTypeUrl() => clearField(4); + + /// If true, the response is streamed. + @$pb.TagNumber(5) + $core.bool get responseStreaming => $_getBF(4); + @$pb.TagNumber(5) + set responseStreaming($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasResponseStreaming() => $_has(4); + @$pb.TagNumber(5) + void clearResponseStreaming() => clearField(5); + + /// Any metadata attached to the method. + @$pb.TagNumber(6) + $core.List<$83.Option> get options => $_getList(5); + + /// The source syntax of this method. + @$pb.TagNumber(7) + $83.Syntax get syntax => $_getN(6); + @$pb.TagNumber(7) + set syntax($83.Syntax v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasSyntax() => $_has(6); + @$pb.TagNumber(7) + void clearSyntax() => clearField(7); +} + +/// Declares an API Interface to be included in this interface. The including +/// interface must redeclare all the methods from the included interface, but +/// documentation and options are inherited as follows: +/// +/// - If after comment and whitespace stripping, the documentation +/// string of the redeclared method is empty, it will be inherited +/// from the original method. +/// +/// - Each annotation belonging to the service config (http, +/// visibility) which is not set in the redeclared method will be +/// inherited. +/// +/// - If an http annotation is inherited, the path pattern will be +/// modified as follows. Any version prefix will be replaced by the +/// version of the including interface plus the [root][] path if +/// specified. +/// +/// Example of a simple mixin: +/// +/// package google.acl.v1; +/// service AccessControl { +/// // Get the underlying ACL object. +/// rpc GetAcl(GetAclRequest) returns (Acl) { +/// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +/// } +/// } +/// +/// package google.storage.v2; +/// service Storage { +/// rpc GetAcl(GetAclRequest) returns (Acl); +/// +/// // Get a data record. +/// rpc GetData(GetDataRequest) returns (Data) { +/// option (google.api.http).get = "/v2/{resource=**}"; +/// } +/// } +/// +/// Example of a mixin configuration: +/// +/// apis: +/// - name: google.storage.v2.Storage +/// mixins: +/// - name: google.acl.v1.AccessControl +/// +/// The mixin construct implies that all methods in `AccessControl` are +/// also declared with same name and request/response types in +/// `Storage`. A documentation generator or annotation processor will +/// see the effective `Storage.GetAcl` method after inherting +/// documentation and annotations as follows: +/// +/// service Storage { +/// // Get the underlying ACL object. +/// rpc GetAcl(GetAclRequest) returns (Acl) { +/// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +/// } +/// ... +/// } +/// +/// Note how the version in the path pattern changed from `v1` to `v2`. +/// +/// If the `root` field in the mixin is specified, it should be a +/// relative path under which inherited HTTP paths are placed. Example: +/// +/// apis: +/// - name: google.storage.v2.Storage +/// mixins: +/// - name: google.acl.v1.AccessControl +/// root: acls +/// +/// This implies the following inherited HTTP annotation: +/// +/// service Storage { +/// // Get the underlying ACL object. +/// rpc GetAcl(GetAclRequest) returns (Acl) { +/// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +/// } +/// ... +/// } +class Mixin extends $pb.GeneratedMessage { + factory Mixin({ + $core.String? name, + $core.String? root, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (root != null) { + $result.root = root; + } + return $result; + } + Mixin._() : super(); + factory Mixin.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Mixin.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Mixin', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'root') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Mixin clone() => Mixin()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Mixin copyWith(void Function(Mixin) updates) => + super.copyWith((message) => updates(message as Mixin)) as Mixin; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Mixin create() => Mixin._(); + Mixin createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Mixin getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Mixin? _defaultInstance; + + /// The fully qualified name of the interface which is included. + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// If non-empty specifies a path under which inherited HTTP paths + /// are rooted. + @$pb.TagNumber(2) + $core.String get root => $_getSZ(1); + @$pb.TagNumber(2) + set root($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRoot() => $_has(1); + @$pb.TagNumber(2) + void clearRoot() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pbenum.dart new file mode 100644 index 00000000..e43cec5c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pbjson.dart new file mode 100644 index 00000000..56ee478e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/api.pbjson.dart @@ -0,0 +1,134 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/api.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use apiDescriptor instead') +const Api$json = { + '1': 'Api', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'methods', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.protobuf.Method', + '10': 'methods' + }, + { + '1': 'options', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.Option', + '10': 'options' + }, + {'1': 'version', '3': 4, '4': 1, '5': 9, '10': 'version'}, + { + '1': 'source_context', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.SourceContext', + '10': 'sourceContext' + }, + { + '1': 'mixins', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.protobuf.Mixin', + '10': 'mixins' + }, + { + '1': 'syntax', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.protobuf.Syntax', + '10': 'syntax' + }, + ], +}; + +/// Descriptor for `Api`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List apiDescriptor = $convert.base64Decode( + 'CgNBcGkSEgoEbmFtZRgBIAEoCVIEbmFtZRIxCgdtZXRob2RzGAIgAygLMhcuZ29vZ2xlLnByb3' + 'RvYnVmLk1ldGhvZFIHbWV0aG9kcxIxCgdvcHRpb25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVm' + 'Lk9wdGlvblIHb3B0aW9ucxIYCgd2ZXJzaW9uGAQgASgJUgd2ZXJzaW9uEkUKDnNvdXJjZV9jb2' + '50ZXh0GAUgASgLMh4uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvbnRleHRSDXNvdXJjZUNvbnRl' + 'eHQSLgoGbWl4aW5zGAYgAygLMhYuZ29vZ2xlLnByb3RvYnVmLk1peGluUgZtaXhpbnMSLwoGc3' + 'ludGF4GAcgASgOMhcuZ29vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4'); + +@$core.Deprecated('Use methodDescriptor instead') +const Method$json = { + '1': 'Method', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'request_type_url', '3': 2, '4': 1, '5': 9, '10': 'requestTypeUrl'}, + { + '1': 'request_streaming', + '3': 3, + '4': 1, + '5': 8, + '10': 'requestStreaming' + }, + {'1': 'response_type_url', '3': 4, '4': 1, '5': 9, '10': 'responseTypeUrl'}, + { + '1': 'response_streaming', + '3': 5, + '4': 1, + '5': 8, + '10': 'responseStreaming' + }, + { + '1': 'options', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.protobuf.Option', + '10': 'options' + }, + { + '1': 'syntax', + '3': 7, + '4': 1, + '5': 14, + '6': '.google.protobuf.Syntax', + '10': 'syntax' + }, + ], +}; + +/// Descriptor for `Method`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodDescriptor = $convert.base64Decode( + 'CgZNZXRob2QSEgoEbmFtZRgBIAEoCVIEbmFtZRIoChByZXF1ZXN0X3R5cGVfdXJsGAIgASgJUg' + '5yZXF1ZXN0VHlwZVVybBIrChFyZXF1ZXN0X3N0cmVhbWluZxgDIAEoCFIQcmVxdWVzdFN0cmVh' + 'bWluZxIqChFyZXNwb25zZV90eXBlX3VybBgEIAEoCVIPcmVzcG9uc2VUeXBlVXJsEi0KEnJlc3' + 'BvbnNlX3N0cmVhbWluZxgFIAEoCFIRcmVzcG9uc2VTdHJlYW1pbmcSMQoHb3B0aW9ucxgGIAMo' + 'CzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSLwoGc3ludGF4GAcgASgOMhcuZ2' + '9vZ2xlLnByb3RvYnVmLlN5bnRheFIGc3ludGF4'); + +@$core.Deprecated('Use mixinDescriptor instead') +const Mixin$json = { + '1': 'Mixin', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'root', '3': 2, '4': 1, '5': 9, '10': 'root'}, + ], +}; + +/// Descriptor for `Mixin`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List mixinDescriptor = $convert.base64Decode( + 'CgVNaXhpbhISCgRuYW1lGAEgASgJUgRuYW1lEhIKBHJvb3QYAiABKAlSBHJvb3Q='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pb.dart new file mode 100644 index 00000000..bc37a3ad --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pb.dart @@ -0,0 +1,137 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/cpp_features.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'cpp_features.pbenum.dart'; + +export 'cpp_features.pbenum.dart'; + +class CppFeatures extends $pb.GeneratedMessage { + factory CppFeatures({ + $core.bool? legacyClosedEnum, + CppFeatures_StringType? stringType, + $core.bool? enumNameUsesStringView, + }) { + final $result = create(); + if (legacyClosedEnum != null) { + $result.legacyClosedEnum = legacyClosedEnum; + } + if (stringType != null) { + $result.stringType = stringType; + } + if (enumNameUsesStringView != null) { + $result.enumNameUsesStringView = enumNameUsesStringView; + } + return $result; + } + CppFeatures._() : super(); + factory CppFeatures.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory CppFeatures.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'CppFeatures', + package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'legacyClosedEnum') + ..e( + 2, _omitFieldNames ? '' : 'stringType', $pb.PbFieldType.OE, + defaultOrMaker: CppFeatures_StringType.STRING_TYPE_UNKNOWN, + valueOf: CppFeatures_StringType.valueOf, + enumValues: CppFeatures_StringType.values) + ..aOB(3, _omitFieldNames ? '' : 'enumNameUsesStringView') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CppFeatures clone() => CppFeatures()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CppFeatures copyWith(void Function(CppFeatures) updates) => + super.copyWith((message) => updates(message as CppFeatures)) + as CppFeatures; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CppFeatures create() => CppFeatures._(); + CppFeatures createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CppFeatures getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static CppFeatures? _defaultInstance; + + /// Whether or not to treat an enum field as closed. This option is only + /// applicable to enum fields, and will be removed in the future. It is + /// consistent with the legacy behavior of using proto3 enum types for proto2 + /// fields. + @$pb.TagNumber(1) + $core.bool get legacyClosedEnum => $_getBF(0); + @$pb.TagNumber(1) + set legacyClosedEnum($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasLegacyClosedEnum() => $_has(0); + @$pb.TagNumber(1) + void clearLegacyClosedEnum() => clearField(1); + + @$pb.TagNumber(2) + CppFeatures_StringType get stringType => $_getN(1); + @$pb.TagNumber(2) + set stringType(CppFeatures_StringType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasStringType() => $_has(1); + @$pb.TagNumber(2) + void clearStringType() => clearField(2); + + @$pb.TagNumber(3) + $core.bool get enumNameUsesStringView => $_getBF(2); + @$pb.TagNumber(3) + set enumNameUsesStringView($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasEnumNameUsesStringView() => $_has(2); + @$pb.TagNumber(3) + void clearEnumNameUsesStringView() => clearField(3); +} + +class Cpp_features { + static final cpp = $pb.Extension( + _omitMessageNames ? '' : 'google.protobuf.FeatureSet', + _omitFieldNames ? '' : 'cpp', + 1000, + $pb.PbFieldType.OM, + defaultOrMaker: CppFeatures.getDefault, + subBuilder: CppFeatures.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(cpp); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pbenum.dart new file mode 100644 index 00000000..b076b366 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pbenum.dart @@ -0,0 +1,41 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/cpp_features.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class CppFeatures_StringType extends $pb.ProtobufEnum { + static const CppFeatures_StringType STRING_TYPE_UNKNOWN = + CppFeatures_StringType._(0, _omitEnumNames ? '' : 'STRING_TYPE_UNKNOWN'); + static const CppFeatures_StringType VIEW = + CppFeatures_StringType._(1, _omitEnumNames ? '' : 'VIEW'); + static const CppFeatures_StringType CORD = + CppFeatures_StringType._(2, _omitEnumNames ? '' : 'CORD'); + static const CppFeatures_StringType STRING = + CppFeatures_StringType._(3, _omitEnumNames ? '' : 'STRING'); + + static const $core.List values = + [ + STRING_TYPE_UNKNOWN, + VIEW, + CORD, + STRING, + ]; + + static final $core.Map<$core.int, CppFeatures_StringType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static CppFeatures_StringType? valueOf($core.int value) => _byValue[value]; + + const CppFeatures_StringType._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pbjson.dart new file mode 100644 index 00000000..d68b8fa9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/cpp_features.pbjson.dart @@ -0,0 +1,72 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/cpp_features.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use cppFeaturesDescriptor instead') +const CppFeatures$json = { + '1': 'CppFeatures', + '2': [ + { + '1': 'legacy_closed_enum', + '3': 1, + '4': 1, + '5': 8, + '8': {}, + '10': 'legacyClosedEnum' + }, + { + '1': 'string_type', + '3': 2, + '4': 1, + '5': 14, + '6': '.pb.CppFeatures.StringType', + '8': {}, + '10': 'stringType' + }, + { + '1': 'enum_name_uses_string_view', + '3': 3, + '4': 1, + '5': 8, + '8': {}, + '10': 'enumNameUsesStringView' + }, + ], + '4': [CppFeatures_StringType$json], +}; + +@$core.Deprecated('Use cppFeaturesDescriptor instead') +const CppFeatures_StringType$json = { + '1': 'StringType', + '2': [ + {'1': 'STRING_TYPE_UNKNOWN', '2': 0}, + {'1': 'VIEW', '2': 1}, + {'1': 'CORD', '2': 2}, + {'1': 'STRING', '2': 3}, + ], +}; + +/// Descriptor for `CppFeatures`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cppFeaturesDescriptor = $convert.base64Decode( + 'CgtDcHBGZWF0dXJlcxKNAgoSbGVnYWN5X2Nsb3NlZF9lbnVtGAEgASgIQt4BiAEBmAEEmAEBsg' + 'G4AQjoBxDoBxqvAVRoZSBsZWdhY3kgY2xvc2VkIGVudW0gYmVoYXZpb3IgaW4gQysrIGlzIGRl' + 'cHJlY2F0ZWQgYW5kIGlzIHNjaGVkdWxlZCB0byBiZSByZW1vdmVkIGluIGVkaXRpb24gMjAyNS' + '4gIFNlZSBodHRwOi8vcHJvdG9idWYuZGV2L3Byb2dyYW1taW5nLWd1aWRlcy9lbnVtLyNjcHAg' + 'Zm9yIG1vcmUgaW5mb3JtYXRpb26iAQkSBHRydWUYhAeiAQoSBWZhbHNlGOcHUhBsZWdhY3lDbG' + '9zZWRFbnVtEmYKC3N0cmluZ190eXBlGAIgASgOMhoucGIuQ3BwRmVhdHVyZXMuU3RyaW5nVHlw' + 'ZUIpiAEBmAEEmAEBsgEDCOgHogELEgZTVFJJTkcYhAeiAQkSBFZJRVcY6QdSCnN0cmluZ1R5cG' + 'USZAoaZW51bV9uYW1lX3VzZXNfc3RyaW5nX3ZpZXcYAyABKAhCKIgBApgBBpgBAbIBAwjpB6IB' + 'ChIFZmFsc2UYhAeiAQkSBHRydWUY6QdSFmVudW1OYW1lVXNlc1N0cmluZ1ZpZXciRQoKU3RyaW' + '5nVHlwZRIXChNTVFJJTkdfVFlQRV9VTktOT1dOEAASCAoEVklFVxABEggKBENPUkQQAhIKCgZT' + 'VFJJTkcQAw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pb.dart new file mode 100644 index 00000000..d0ac2bad --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pb.dart @@ -0,0 +1,4830 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'descriptor.pbenum.dart'; + +export 'descriptor.pbenum.dart'; + +/// The protocol compiler can output a FileDescriptorSet containing the .proto +/// files it parses. +class FileDescriptorSet extends $pb.GeneratedMessage { + factory FileDescriptorSet({ + $core.Iterable? file, + }) { + final $result = create(); + if (file != null) { + $result.file.addAll(file); + } + return $result; + } + FileDescriptorSet._() : super(); + factory FileDescriptorSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FileDescriptorSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FileDescriptorSet', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'file', $pb.PbFieldType.PM, + subBuilder: FileDescriptorProto.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileDescriptorSet clone() => FileDescriptorSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileDescriptorSet copyWith(void Function(FileDescriptorSet) updates) => + super.copyWith((message) => updates(message as FileDescriptorSet)) + as FileDescriptorSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileDescriptorSet create() => FileDescriptorSet._(); + FileDescriptorSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileDescriptorSet getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FileDescriptorSet? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get file => $_getList(0); +} + +/// Describes a complete .proto file. +class FileDescriptorProto extends $pb.GeneratedMessage { + factory FileDescriptorProto({ + $core.String? name, + $core.String? package, + $core.Iterable<$core.String>? dependency, + $core.Iterable? messageType, + $core.Iterable? enumType, + $core.Iterable? service, + $core.Iterable? extension, + FileOptions? options, + SourceCodeInfo? sourceCodeInfo, + $core.Iterable<$core.int>? publicDependency, + $core.Iterable<$core.int>? weakDependency, + $core.String? syntax, + Edition? edition, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (package != null) { + $result.package = package; + } + if (dependency != null) { + $result.dependency.addAll(dependency); + } + if (messageType != null) { + $result.messageType.addAll(messageType); + } + if (enumType != null) { + $result.enumType.addAll(enumType); + } + if (service != null) { + $result.service.addAll(service); + } + if (extension != null) { + $result.extension.addAll(extension); + } + if (options != null) { + $result.options = options; + } + if (sourceCodeInfo != null) { + $result.sourceCodeInfo = sourceCodeInfo; + } + if (publicDependency != null) { + $result.publicDependency.addAll(publicDependency); + } + if (weakDependency != null) { + $result.weakDependency.addAll(weakDependency); + } + if (syntax != null) { + $result.syntax = syntax; + } + if (edition != null) { + $result.edition = edition; + } + return $result; + } + FileDescriptorProto._() : super(); + factory FileDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FileDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FileDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'package') + ..pPS(3, _omitFieldNames ? '' : 'dependency') + ..pc( + 4, _omitFieldNames ? '' : 'messageType', $pb.PbFieldType.PM, + subBuilder: DescriptorProto.create) + ..pc( + 5, _omitFieldNames ? '' : 'enumType', $pb.PbFieldType.PM, + subBuilder: EnumDescriptorProto.create) + ..pc( + 6, _omitFieldNames ? '' : 'service', $pb.PbFieldType.PM, + subBuilder: ServiceDescriptorProto.create) + ..pc( + 7, _omitFieldNames ? '' : 'extension', $pb.PbFieldType.PM, + subBuilder: FieldDescriptorProto.create) + ..aOM(8, _omitFieldNames ? '' : 'options', + subBuilder: FileOptions.create) + ..aOM(9, _omitFieldNames ? '' : 'sourceCodeInfo', + subBuilder: SourceCodeInfo.create) + ..p<$core.int>( + 10, _omitFieldNames ? '' : 'publicDependency', $pb.PbFieldType.P3) + ..p<$core.int>( + 11, _omitFieldNames ? '' : 'weakDependency', $pb.PbFieldType.P3) + ..aOS(12, _omitFieldNames ? '' : 'syntax') + ..e(14, _omitFieldNames ? '' : 'edition', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileDescriptorProto clone() => FileDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileDescriptorProto copyWith(void Function(FileDescriptorProto) updates) => + super.copyWith((message) => updates(message as FileDescriptorProto)) + as FileDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileDescriptorProto create() => FileDescriptorProto._(); + FileDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FileDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.String get package => $_getSZ(1); + @$pb.TagNumber(2) + set package($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPackage() => $_has(1); + @$pb.TagNumber(2) + void clearPackage() => clearField(2); + + /// Names of files imported by this file. + @$pb.TagNumber(3) + $core.List<$core.String> get dependency => $_getList(2); + + /// All top-level definitions in this file. + @$pb.TagNumber(4) + $core.List get messageType => $_getList(3); + + @$pb.TagNumber(5) + $core.List get enumType => $_getList(4); + + @$pb.TagNumber(6) + $core.List get service => $_getList(5); + + @$pb.TagNumber(7) + $core.List get extension => $_getList(6); + + @$pb.TagNumber(8) + FileOptions get options => $_getN(7); + @$pb.TagNumber(8) + set options(FileOptions v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasOptions() => $_has(7); + @$pb.TagNumber(8) + void clearOptions() => clearField(8); + @$pb.TagNumber(8) + FileOptions ensureOptions() => $_ensure(7); + + /// This field contains optional information about the original source code. + /// You may safely remove this entire field without harming runtime + /// functionality of the descriptors -- the information is needed only by + /// development tools. + @$pb.TagNumber(9) + SourceCodeInfo get sourceCodeInfo => $_getN(8); + @$pb.TagNumber(9) + set sourceCodeInfo(SourceCodeInfo v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasSourceCodeInfo() => $_has(8); + @$pb.TagNumber(9) + void clearSourceCodeInfo() => clearField(9); + @$pb.TagNumber(9) + SourceCodeInfo ensureSourceCodeInfo() => $_ensure(8); + + /// Indexes of the public imported files in the dependency list above. + @$pb.TagNumber(10) + $core.List<$core.int> get publicDependency => $_getList(9); + + /// Indexes of the weak imported files in the dependency list. + /// For Google-internal migration only. Do not use. + @$pb.TagNumber(11) + $core.List<$core.int> get weakDependency => $_getList(10); + + /// The syntax of the proto file. + /// The supported values are "proto2", "proto3", and "editions". + /// + /// If `edition` is present, this value must be "editions". + @$pb.TagNumber(12) + $core.String get syntax => $_getSZ(11); + @$pb.TagNumber(12) + set syntax($core.String v) { + $_setString(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasSyntax() => $_has(11); + @$pb.TagNumber(12) + void clearSyntax() => clearField(12); + + /// The edition of the proto file. + @$pb.TagNumber(14) + Edition get edition => $_getN(12); + @$pb.TagNumber(14) + set edition(Edition v) { + setField(14, v); + } + + @$pb.TagNumber(14) + $core.bool hasEdition() => $_has(12); + @$pb.TagNumber(14) + void clearEdition() => clearField(14); +} + +class DescriptorProto_ExtensionRange extends $pb.GeneratedMessage { + factory DescriptorProto_ExtensionRange({ + $core.int? start, + $core.int? end, + ExtensionRangeOptions? options, + }) { + final $result = create(); + if (start != null) { + $result.start = start; + } + if (end != null) { + $result.end = end; + } + if (options != null) { + $result.options = options; + } + return $result; + } + DescriptorProto_ExtensionRange._() : super(); + factory DescriptorProto_ExtensionRange.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DescriptorProto_ExtensionRange.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DescriptorProto.ExtensionRange', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'start', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..aOM(3, _omitFieldNames ? '' : 'options', + subBuilder: ExtensionRangeOptions.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DescriptorProto_ExtensionRange clone() => + DescriptorProto_ExtensionRange()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DescriptorProto_ExtensionRange copyWith( + void Function(DescriptorProto_ExtensionRange) updates) => + super.copyWith( + (message) => updates(message as DescriptorProto_ExtensionRange)) + as DescriptorProto_ExtensionRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DescriptorProto_ExtensionRange create() => + DescriptorProto_ExtensionRange._(); + DescriptorProto_ExtensionRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DescriptorProto_ExtensionRange getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DescriptorProto_ExtensionRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get start => $_getIZ(0); + @$pb.TagNumber(1) + set start($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasStart() => $_has(0); + @$pb.TagNumber(1) + void clearStart() => clearField(1); + + @$pb.TagNumber(2) + $core.int get end => $_getIZ(1); + @$pb.TagNumber(2) + set end($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEnd() => $_has(1); + @$pb.TagNumber(2) + void clearEnd() => clearField(2); + + @$pb.TagNumber(3) + ExtensionRangeOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(ExtensionRangeOptions v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + ExtensionRangeOptions ensureOptions() => $_ensure(2); +} + +/// Range of reserved tag numbers. Reserved tag numbers may not be used by +/// fields or extension ranges in the same message. Reserved ranges may +/// not overlap. +class DescriptorProto_ReservedRange extends $pb.GeneratedMessage { + factory DescriptorProto_ReservedRange({ + $core.int? start, + $core.int? end, + }) { + final $result = create(); + if (start != null) { + $result.start = start; + } + if (end != null) { + $result.end = end; + } + return $result; + } + DescriptorProto_ReservedRange._() : super(); + factory DescriptorProto_ReservedRange.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DescriptorProto_ReservedRange.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DescriptorProto.ReservedRange', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'start', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DescriptorProto_ReservedRange clone() => + DescriptorProto_ReservedRange()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DescriptorProto_ReservedRange copyWith( + void Function(DescriptorProto_ReservedRange) updates) => + super.copyWith( + (message) => updates(message as DescriptorProto_ReservedRange)) + as DescriptorProto_ReservedRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DescriptorProto_ReservedRange create() => + DescriptorProto_ReservedRange._(); + DescriptorProto_ReservedRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DescriptorProto_ReservedRange getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DescriptorProto_ReservedRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get start => $_getIZ(0); + @$pb.TagNumber(1) + set start($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasStart() => $_has(0); + @$pb.TagNumber(1) + void clearStart() => clearField(1); + + @$pb.TagNumber(2) + $core.int get end => $_getIZ(1); + @$pb.TagNumber(2) + set end($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEnd() => $_has(1); + @$pb.TagNumber(2) + void clearEnd() => clearField(2); +} + +/// Describes a message type. +class DescriptorProto extends $pb.GeneratedMessage { + factory DescriptorProto({ + $core.String? name, + $core.Iterable? field, + $core.Iterable? nestedType, + $core.Iterable? enumType, + $core.Iterable? extensionRange, + $core.Iterable? extension, + MessageOptions? options, + $core.Iterable? oneofDecl, + $core.Iterable? reservedRange, + $core.Iterable<$core.String>? reservedName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (field != null) { + $result.field.addAll(field); + } + if (nestedType != null) { + $result.nestedType.addAll(nestedType); + } + if (enumType != null) { + $result.enumType.addAll(enumType); + } + if (extensionRange != null) { + $result.extensionRange.addAll(extensionRange); + } + if (extension != null) { + $result.extension.addAll(extension); + } + if (options != null) { + $result.options = options; + } + if (oneofDecl != null) { + $result.oneofDecl.addAll(oneofDecl); + } + if (reservedRange != null) { + $result.reservedRange.addAll(reservedRange); + } + if (reservedName != null) { + $result.reservedName.addAll(reservedName); + } + return $result; + } + DescriptorProto._() : super(); + factory DescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory DescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'DescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc( + 2, _omitFieldNames ? '' : 'field', $pb.PbFieldType.PM, + subBuilder: FieldDescriptorProto.create) + ..pc( + 3, _omitFieldNames ? '' : 'nestedType', $pb.PbFieldType.PM, + subBuilder: DescriptorProto.create) + ..pc( + 4, _omitFieldNames ? '' : 'enumType', $pb.PbFieldType.PM, + subBuilder: EnumDescriptorProto.create) + ..pc( + 5, _omitFieldNames ? '' : 'extensionRange', $pb.PbFieldType.PM, + subBuilder: DescriptorProto_ExtensionRange.create) + ..pc( + 6, _omitFieldNames ? '' : 'extension', $pb.PbFieldType.PM, + subBuilder: FieldDescriptorProto.create) + ..aOM(7, _omitFieldNames ? '' : 'options', + subBuilder: MessageOptions.create) + ..pc( + 8, _omitFieldNames ? '' : 'oneofDecl', $pb.PbFieldType.PM, + subBuilder: OneofDescriptorProto.create) + ..pc( + 9, _omitFieldNames ? '' : 'reservedRange', $pb.PbFieldType.PM, + subBuilder: DescriptorProto_ReservedRange.create) + ..pPS(10, _omitFieldNames ? '' : 'reservedName'); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DescriptorProto clone() => DescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DescriptorProto copyWith(void Function(DescriptorProto) updates) => + super.copyWith((message) => updates(message as DescriptorProto)) + as DescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DescriptorProto create() => DescriptorProto._(); + DescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static DescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.List get field => $_getList(1); + + @$pb.TagNumber(3) + $core.List get nestedType => $_getList(2); + + @$pb.TagNumber(4) + $core.List get enumType => $_getList(3); + + @$pb.TagNumber(5) + $core.List get extensionRange => $_getList(4); + + @$pb.TagNumber(6) + $core.List get extension => $_getList(5); + + @$pb.TagNumber(7) + MessageOptions get options => $_getN(6); + @$pb.TagNumber(7) + set options(MessageOptions v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasOptions() => $_has(6); + @$pb.TagNumber(7) + void clearOptions() => clearField(7); + @$pb.TagNumber(7) + MessageOptions ensureOptions() => $_ensure(6); + + @$pb.TagNumber(8) + $core.List get oneofDecl => $_getList(7); + + @$pb.TagNumber(9) + $core.List get reservedRange => $_getList(8); + + /// Reserved field names, which may not be used by fields in the same message. + /// A given name may only be reserved once. + @$pb.TagNumber(10) + $core.List<$core.String> get reservedName => $_getList(9); +} + +class ExtensionRangeOptions_Declaration extends $pb.GeneratedMessage { + factory ExtensionRangeOptions_Declaration({ + $core.int? number, + $core.String? fullName, + $core.String? type, + $core.bool? reserved, + $core.bool? repeated, + }) { + final $result = create(); + if (number != null) { + $result.number = number; + } + if (fullName != null) { + $result.fullName = fullName; + } + if (type != null) { + $result.type = type; + } + if (reserved != null) { + $result.reserved = reserved; + } + if (repeated != null) { + $result.repeated = repeated; + } + return $result; + } + ExtensionRangeOptions_Declaration._() : super(); + factory ExtensionRangeOptions_Declaration.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExtensionRangeOptions_Declaration.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExtensionRangeOptions.Declaration', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'fullName') + ..aOS(3, _omitFieldNames ? '' : 'type') + ..aOB(5, _omitFieldNames ? '' : 'reserved') + ..aOB(6, _omitFieldNames ? '' : 'repeated') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions_Declaration clone() => + ExtensionRangeOptions_Declaration()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions_Declaration copyWith( + void Function(ExtensionRangeOptions_Declaration) updates) => + super.copyWith((message) => + updates(message as ExtensionRangeOptions_Declaration)) + as ExtensionRangeOptions_Declaration; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions_Declaration create() => + ExtensionRangeOptions_Declaration._(); + ExtensionRangeOptions_Declaration createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions_Declaration getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static ExtensionRangeOptions_Declaration? _defaultInstance; + + /// The extension number declared within the extension range. + @$pb.TagNumber(1) + $core.int get number => $_getIZ(0); + @$pb.TagNumber(1) + set number($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasNumber() => $_has(0); + @$pb.TagNumber(1) + void clearNumber() => clearField(1); + + /// The fully-qualified name of the extension field. There must be a leading + /// dot in front of the full name. + @$pb.TagNumber(2) + $core.String get fullName => $_getSZ(1); + @$pb.TagNumber(2) + set fullName($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasFullName() => $_has(1); + @$pb.TagNumber(2) + void clearFullName() => clearField(2); + + /// The fully-qualified type name of the extension field. Unlike + /// Metadata.type, Declaration.type must have a leading dot for messages + /// and enums. + @$pb.TagNumber(3) + $core.String get type => $_getSZ(2); + @$pb.TagNumber(3) + set type($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasType() => $_has(2); + @$pb.TagNumber(3) + void clearType() => clearField(3); + + /// If true, indicates that the number is reserved in the extension range, + /// and any extension field with the number will fail to compile. Set this + /// when a declared extension field is deleted. + @$pb.TagNumber(5) + $core.bool get reserved => $_getBF(3); + @$pb.TagNumber(5) + set reserved($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasReserved() => $_has(3); + @$pb.TagNumber(5) + void clearReserved() => clearField(5); + + /// If true, indicates that the extension must be defined as repeated. + /// Otherwise the extension must be defined as optional. + @$pb.TagNumber(6) + $core.bool get repeated => $_getBF(4); + @$pb.TagNumber(6) + set repeated($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasRepeated() => $_has(4); + @$pb.TagNumber(6) + void clearRepeated() => clearField(6); +} + +class ExtensionRangeOptions extends $pb.GeneratedMessage { + factory ExtensionRangeOptions({ + $core.Iterable? declaration, + ExtensionRangeOptions_VerificationState? verification, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (declaration != null) { + $result.declaration.addAll(declaration); + } + if (verification != null) { + $result.verification = verification; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + ExtensionRangeOptions._() : super(); + factory ExtensionRangeOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ExtensionRangeOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ExtensionRangeOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..pc( + 2, _omitFieldNames ? '' : 'declaration', $pb.PbFieldType.PM, + subBuilder: ExtensionRangeOptions_Declaration.create) + ..e( + 3, _omitFieldNames ? '' : 'verification', $pb.PbFieldType.OE, + defaultOrMaker: ExtensionRangeOptions_VerificationState.UNVERIFIED, + valueOf: ExtensionRangeOptions_VerificationState.valueOf, + enumValues: ExtensionRangeOptions_VerificationState.values) + ..aOM(50, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions clone() => + ExtensionRangeOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ExtensionRangeOptions copyWith( + void Function(ExtensionRangeOptions) updates) => + super.copyWith((message) => updates(message as ExtensionRangeOptions)) + as ExtensionRangeOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions create() => ExtensionRangeOptions._(); + ExtensionRangeOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ExtensionRangeOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ExtensionRangeOptions? _defaultInstance; + + /// For external users: DO NOT USE. We are in the process of open sourcing + /// extension declaration and executing internal cleanups before it can be + /// used externally. + @$pb.TagNumber(2) + $core.List get declaration => $_getList(0); + + /// The verification state of the range. + /// TODO: flip the default to DECLARATION once all empty ranges + /// are marked as UNVERIFIED. + @$pb.TagNumber(3) + ExtensionRangeOptions_VerificationState get verification => $_getN(1); + @$pb.TagNumber(3) + set verification(ExtensionRangeOptions_VerificationState v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasVerification() => $_has(1); + @$pb.TagNumber(3) + void clearVerification() => clearField(3); + + /// Any features defined in the specific edition. + @$pb.TagNumber(50) + FeatureSet get features => $_getN(2); + @$pb.TagNumber(50) + set features(FeatureSet v) { + setField(50, v); + } + + @$pb.TagNumber(50) + $core.bool hasFeatures() => $_has(2); + @$pb.TagNumber(50) + void clearFeatures() => clearField(50); + @$pb.TagNumber(50) + FeatureSet ensureFeatures() => $_ensure(2); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(3); +} + +/// Describes a field within a message. +class FieldDescriptorProto extends $pb.GeneratedMessage { + factory FieldDescriptorProto({ + $core.String? name, + $core.String? extendee, + $core.int? number, + FieldDescriptorProto_Label? label, + FieldDescriptorProto_Type? type, + $core.String? typeName, + $core.String? defaultValue, + FieldOptions? options, + $core.int? oneofIndex, + $core.String? jsonName, + $core.bool? proto3Optional, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (extendee != null) { + $result.extendee = extendee; + } + if (number != null) { + $result.number = number; + } + if (label != null) { + $result.label = label; + } + if (type != null) { + $result.type = type; + } + if (typeName != null) { + $result.typeName = typeName; + } + if (defaultValue != null) { + $result.defaultValue = defaultValue; + } + if (options != null) { + $result.options = options; + } + if (oneofIndex != null) { + $result.oneofIndex = oneofIndex; + } + if (jsonName != null) { + $result.jsonName = jsonName; + } + if (proto3Optional != null) { + $result.proto3Optional = proto3Optional; + } + return $result; + } + FieldDescriptorProto._() : super(); + factory FieldDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'extendee') + ..a<$core.int>(3, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3) + ..e( + 4, _omitFieldNames ? '' : 'label', $pb.PbFieldType.OE, + defaultOrMaker: FieldDescriptorProto_Label.LABEL_OPTIONAL, + valueOf: FieldDescriptorProto_Label.valueOf, + enumValues: FieldDescriptorProto_Label.values) + ..e( + 5, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, + defaultOrMaker: FieldDescriptorProto_Type.TYPE_DOUBLE, + valueOf: FieldDescriptorProto_Type.valueOf, + enumValues: FieldDescriptorProto_Type.values) + ..aOS(6, _omitFieldNames ? '' : 'typeName') + ..aOS(7, _omitFieldNames ? '' : 'defaultValue') + ..aOM(8, _omitFieldNames ? '' : 'options', + subBuilder: FieldOptions.create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'oneofIndex', $pb.PbFieldType.O3) + ..aOS(10, _omitFieldNames ? '' : 'jsonName') + ..aOB(17, _omitFieldNames ? '' : 'proto3Optional'); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldDescriptorProto clone() => + FieldDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldDescriptorProto copyWith(void Function(FieldDescriptorProto) updates) => + super.copyWith((message) => updates(message as FieldDescriptorProto)) + as FieldDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldDescriptorProto create() => FieldDescriptorProto._(); + FieldDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FieldDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// For extensions, this is the name of the type being extended. It is + /// resolved in the same manner as type_name. + @$pb.TagNumber(2) + $core.String get extendee => $_getSZ(1); + @$pb.TagNumber(2) + set extendee($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasExtendee() => $_has(1); + @$pb.TagNumber(2) + void clearExtendee() => clearField(2); + + @$pb.TagNumber(3) + $core.int get number => $_getIZ(2); + @$pb.TagNumber(3) + set number($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasNumber() => $_has(2); + @$pb.TagNumber(3) + void clearNumber() => clearField(3); + + @$pb.TagNumber(4) + FieldDescriptorProto_Label get label => $_getN(3); + @$pb.TagNumber(4) + set label(FieldDescriptorProto_Label v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasLabel() => $_has(3); + @$pb.TagNumber(4) + void clearLabel() => clearField(4); + + /// If type_name is set, this need not be set. If both this and type_name + /// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + @$pb.TagNumber(5) + FieldDescriptorProto_Type get type => $_getN(4); + @$pb.TagNumber(5) + set type(FieldDescriptorProto_Type v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasType() => $_has(4); + @$pb.TagNumber(5) + void clearType() => clearField(5); + + /// For message and enum types, this is the name of the type. If the name + /// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + /// rules are used to find the type (i.e. first the nested types within this + /// message are searched, then within the parent, on up to the root + /// namespace). + @$pb.TagNumber(6) + $core.String get typeName => $_getSZ(5); + @$pb.TagNumber(6) + set typeName($core.String v) { + $_setString(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasTypeName() => $_has(5); + @$pb.TagNumber(6) + void clearTypeName() => clearField(6); + + /// For numeric types, contains the original text representation of the value. + /// For booleans, "true" or "false". + /// For strings, contains the default text contents (not escaped in any way). + /// For bytes, contains the C escaped value. All bytes >= 128 are escaped. + @$pb.TagNumber(7) + $core.String get defaultValue => $_getSZ(6); + @$pb.TagNumber(7) + set defaultValue($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasDefaultValue() => $_has(6); + @$pb.TagNumber(7) + void clearDefaultValue() => clearField(7); + + @$pb.TagNumber(8) + FieldOptions get options => $_getN(7); + @$pb.TagNumber(8) + set options(FieldOptions v) { + setField(8, v); + } + + @$pb.TagNumber(8) + $core.bool hasOptions() => $_has(7); + @$pb.TagNumber(8) + void clearOptions() => clearField(8); + @$pb.TagNumber(8) + FieldOptions ensureOptions() => $_ensure(7); + + /// If set, gives the index of a oneof in the containing type's oneof_decl + /// list. This field is a member of that oneof. + @$pb.TagNumber(9) + $core.int get oneofIndex => $_getIZ(8); + @$pb.TagNumber(9) + set oneofIndex($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasOneofIndex() => $_has(8); + @$pb.TagNumber(9) + void clearOneofIndex() => clearField(9); + + /// JSON name of this field. The value is set by protocol compiler. If the + /// user has set a "json_name" option on this field, that option's value + /// will be used. Otherwise, it's deduced from the field's name by converting + /// it to camelCase. + @$pb.TagNumber(10) + $core.String get jsonName => $_getSZ(9); + @$pb.TagNumber(10) + set jsonName($core.String v) { + $_setString(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasJsonName() => $_has(9); + @$pb.TagNumber(10) + void clearJsonName() => clearField(10); + + /// If true, this is a proto3 "optional". When a proto3 field is optional, it + /// tracks presence regardless of field type. + /// + /// When proto3_optional is true, this field must belong to a oneof to signal + /// to old proto3 clients that presence is tracked for this field. This oneof + /// is known as a "synthetic" oneof, and this field must be its sole member + /// (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs + /// exist in the descriptor only, and do not generate any API. Synthetic oneofs + /// must be ordered after all "real" oneofs. + /// + /// For message fields, proto3_optional doesn't create any semantic change, + /// since non-repeated message fields always track presence. However it still + /// indicates the semantic detail of whether the user wrote "optional" or not. + /// This can be useful for round-tripping the .proto file. For consistency we + /// give message fields a synthetic oneof also, even though it is not required + /// to track presence. This is especially important because the parser can't + /// tell if a field is a message or an enum, so it must always create a + /// synthetic oneof. + /// + /// Proto2 optional fields do not set this flag, because they already indicate + /// optional with `LABEL_OPTIONAL`. + @$pb.TagNumber(17) + $core.bool get proto3Optional => $_getBF(10); + @$pb.TagNumber(17) + set proto3Optional($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(17) + $core.bool hasProto3Optional() => $_has(10); + @$pb.TagNumber(17) + void clearProto3Optional() => clearField(17); +} + +/// Describes a oneof. +class OneofDescriptorProto extends $pb.GeneratedMessage { + factory OneofDescriptorProto({ + $core.String? name, + OneofOptions? options, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (options != null) { + $result.options = options; + } + return $result; + } + OneofDescriptorProto._() : super(); + factory OneofDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OneofDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OneofDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOM(2, _omitFieldNames ? '' : 'options', + subBuilder: OneofOptions.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OneofDescriptorProto clone() => + OneofDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OneofDescriptorProto copyWith(void Function(OneofDescriptorProto) updates) => + super.copyWith((message) => updates(message as OneofDescriptorProto)) + as OneofDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OneofDescriptorProto create() => OneofDescriptorProto._(); + OneofDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OneofDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OneofDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + OneofOptions get options => $_getN(1); + @$pb.TagNumber(2) + set options(OneofOptions v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasOptions() => $_has(1); + @$pb.TagNumber(2) + void clearOptions() => clearField(2); + @$pb.TagNumber(2) + OneofOptions ensureOptions() => $_ensure(1); +} + +/// Range of reserved numeric values. Reserved values may not be used by +/// entries in the same enum. Reserved ranges may not overlap. +/// +/// Note that this is distinct from DescriptorProto.ReservedRange in that it +/// is inclusive such that it can appropriately represent the entire int32 +/// domain. +class EnumDescriptorProto_EnumReservedRange extends $pb.GeneratedMessage { + factory EnumDescriptorProto_EnumReservedRange({ + $core.int? start, + $core.int? end, + }) { + final $result = create(); + if (start != null) { + $result.start = start; + } + if (end != null) { + $result.end = end; + } + return $result; + } + EnumDescriptorProto_EnumReservedRange._() : super(); + factory EnumDescriptorProto_EnumReservedRange.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumDescriptorProto_EnumReservedRange.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumDescriptorProto.EnumReservedRange', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'start', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto_EnumReservedRange clone() => + EnumDescriptorProto_EnumReservedRange()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto_EnumReservedRange copyWith( + void Function(EnumDescriptorProto_EnumReservedRange) updates) => + super.copyWith((message) => + updates(message as EnumDescriptorProto_EnumReservedRange)) + as EnumDescriptorProto_EnumReservedRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto_EnumReservedRange create() => + EnumDescriptorProto_EnumReservedRange._(); + EnumDescriptorProto_EnumReservedRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto_EnumReservedRange getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + EnumDescriptorProto_EnumReservedRange>(create); + static EnumDescriptorProto_EnumReservedRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get start => $_getIZ(0); + @$pb.TagNumber(1) + set start($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasStart() => $_has(0); + @$pb.TagNumber(1) + void clearStart() => clearField(1); + + @$pb.TagNumber(2) + $core.int get end => $_getIZ(1); + @$pb.TagNumber(2) + set end($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasEnd() => $_has(1); + @$pb.TagNumber(2) + void clearEnd() => clearField(2); +} + +/// Describes an enum type. +class EnumDescriptorProto extends $pb.GeneratedMessage { + factory EnumDescriptorProto({ + $core.String? name, + $core.Iterable? value, + EnumOptions? options, + $core.Iterable? reservedRange, + $core.Iterable<$core.String>? reservedName, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (value != null) { + $result.value.addAll(value); + } + if (options != null) { + $result.options = options; + } + if (reservedRange != null) { + $result.reservedRange.addAll(reservedRange); + } + if (reservedName != null) { + $result.reservedName.addAll(reservedName); + } + return $result; + } + EnumDescriptorProto._() : super(); + factory EnumDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc( + 2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.PM, + subBuilder: EnumValueDescriptorProto.create) + ..aOM(3, _omitFieldNames ? '' : 'options', + subBuilder: EnumOptions.create) + ..pc( + 4, _omitFieldNames ? '' : 'reservedRange', $pb.PbFieldType.PM, + subBuilder: EnumDescriptorProto_EnumReservedRange.create) + ..pPS(5, _omitFieldNames ? '' : 'reservedName'); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto clone() => EnumDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumDescriptorProto copyWith(void Function(EnumDescriptorProto) updates) => + super.copyWith((message) => updates(message as EnumDescriptorProto)) + as EnumDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto create() => EnumDescriptorProto._(); + EnumDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnumDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.List get value => $_getList(1); + + @$pb.TagNumber(3) + EnumOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(EnumOptions v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + EnumOptions ensureOptions() => $_ensure(2); + + /// Range of reserved numeric values. Reserved numeric values may not be used + /// by enum values in the same enum declaration. Reserved ranges may not + /// overlap. + @$pb.TagNumber(4) + $core.List get reservedRange => + $_getList(3); + + /// Reserved enum value names, which may not be reused. A given name may only + /// be reserved once. + @$pb.TagNumber(5) + $core.List<$core.String> get reservedName => $_getList(4); +} + +/// Describes a value within an enum. +class EnumValueDescriptorProto extends $pb.GeneratedMessage { + factory EnumValueDescriptorProto({ + $core.String? name, + $core.int? number, + EnumValueOptions? options, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (number != null) { + $result.number = number; + } + if (options != null) { + $result.options = options; + } + return $result; + } + EnumValueDescriptorProto._() : super(); + factory EnumValueDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumValueDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumValueDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..a<$core.int>(2, _omitFieldNames ? '' : 'number', $pb.PbFieldType.O3) + ..aOM(3, _omitFieldNames ? '' : 'options', + subBuilder: EnumValueOptions.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumValueDescriptorProto clone() => + EnumValueDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumValueDescriptorProto copyWith( + void Function(EnumValueDescriptorProto) updates) => + super.copyWith((message) => updates(message as EnumValueDescriptorProto)) + as EnumValueDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumValueDescriptorProto create() => EnumValueDescriptorProto._(); + EnumValueDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumValueDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnumValueDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.int get number => $_getIZ(1); + @$pb.TagNumber(2) + set number($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNumber() => $_has(1); + @$pb.TagNumber(2) + void clearNumber() => clearField(2); + + @$pb.TagNumber(3) + EnumValueOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(EnumValueOptions v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + EnumValueOptions ensureOptions() => $_ensure(2); +} + +/// Describes a service. +class ServiceDescriptorProto extends $pb.GeneratedMessage { + factory ServiceDescriptorProto({ + $core.String? name, + $core.Iterable? method, + ServiceOptions? options, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (method != null) { + $result.method.addAll(method); + } + if (options != null) { + $result.options = options; + } + return $result; + } + ServiceDescriptorProto._() : super(); + factory ServiceDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..pc( + 2, _omitFieldNames ? '' : 'method', $pb.PbFieldType.PM, + subBuilder: MethodDescriptorProto.create) + ..aOM(3, _omitFieldNames ? '' : 'options', + subBuilder: ServiceOptions.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceDescriptorProto clone() => + ServiceDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceDescriptorProto copyWith( + void Function(ServiceDescriptorProto) updates) => + super.copyWith((message) => updates(message as ServiceDescriptorProto)) + as ServiceDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceDescriptorProto create() => ServiceDescriptorProto._(); + ServiceDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + @$pb.TagNumber(2) + $core.List get method => $_getList(1); + + @$pb.TagNumber(3) + ServiceOptions get options => $_getN(2); + @$pb.TagNumber(3) + set options(ServiceOptions v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptions() => $_has(2); + @$pb.TagNumber(3) + void clearOptions() => clearField(3); + @$pb.TagNumber(3) + ServiceOptions ensureOptions() => $_ensure(2); +} + +/// Describes a method of a service. +class MethodDescriptorProto extends $pb.GeneratedMessage { + factory MethodDescriptorProto({ + $core.String? name, + $core.String? inputType, + $core.String? outputType, + MethodOptions? options, + $core.bool? clientStreaming, + $core.bool? serverStreaming, + }) { + final $result = create(); + if (name != null) { + $result.name = name; + } + if (inputType != null) { + $result.inputType = inputType; + } + if (outputType != null) { + $result.outputType = outputType; + } + if (options != null) { + $result.options = options; + } + if (clientStreaming != null) { + $result.clientStreaming = clientStreaming; + } + if (serverStreaming != null) { + $result.serverStreaming = serverStreaming; + } + return $result; + } + MethodDescriptorProto._() : super(); + factory MethodDescriptorProto.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MethodDescriptorProto.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MethodDescriptorProto', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'name') + ..aOS(2, _omitFieldNames ? '' : 'inputType') + ..aOS(3, _omitFieldNames ? '' : 'outputType') + ..aOM(4, _omitFieldNames ? '' : 'options', + subBuilder: MethodOptions.create) + ..aOB(5, _omitFieldNames ? '' : 'clientStreaming') + ..aOB(6, _omitFieldNames ? '' : 'serverStreaming'); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodDescriptorProto clone() => + MethodDescriptorProto()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodDescriptorProto copyWith( + void Function(MethodDescriptorProto) updates) => + super.copyWith((message) => updates(message as MethodDescriptorProto)) + as MethodDescriptorProto; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodDescriptorProto create() => MethodDescriptorProto._(); + MethodDescriptorProto createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodDescriptorProto getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MethodDescriptorProto? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get name => $_getSZ(0); + @$pb.TagNumber(1) + set name($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasName() => $_has(0); + @$pb.TagNumber(1) + void clearName() => clearField(1); + + /// Input and output type names. These are resolved in the same way as + /// FieldDescriptorProto.type_name, but must refer to a message type. + @$pb.TagNumber(2) + $core.String get inputType => $_getSZ(1); + @$pb.TagNumber(2) + set inputType($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasInputType() => $_has(1); + @$pb.TagNumber(2) + void clearInputType() => clearField(2); + + @$pb.TagNumber(3) + $core.String get outputType => $_getSZ(2); + @$pb.TagNumber(3) + set outputType($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOutputType() => $_has(2); + @$pb.TagNumber(3) + void clearOutputType() => clearField(3); + + @$pb.TagNumber(4) + MethodOptions get options => $_getN(3); + @$pb.TagNumber(4) + set options(MethodOptions v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasOptions() => $_has(3); + @$pb.TagNumber(4) + void clearOptions() => clearField(4); + @$pb.TagNumber(4) + MethodOptions ensureOptions() => $_ensure(3); + + /// Identifies if client streams multiple client messages + @$pb.TagNumber(5) + $core.bool get clientStreaming => $_getBF(4); + @$pb.TagNumber(5) + set clientStreaming($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasClientStreaming() => $_has(4); + @$pb.TagNumber(5) + void clearClientStreaming() => clearField(5); + + /// Identifies if server streams multiple server messages + @$pb.TagNumber(6) + $core.bool get serverStreaming => $_getBF(5); + @$pb.TagNumber(6) + set serverStreaming($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasServerStreaming() => $_has(5); + @$pb.TagNumber(6) + void clearServerStreaming() => clearField(6); +} + +class FileOptions extends $pb.GeneratedMessage { + factory FileOptions({ + $core.String? javaPackage, + $core.String? javaOuterClassname, + FileOptions_OptimizeMode? optimizeFor, + $core.bool? javaMultipleFiles, + $core.String? goPackage, + $core.bool? ccGenericServices, + $core.bool? javaGenericServices, + $core.bool? pyGenericServices, + @$core.Deprecated('This field is deprecated.') + $core.bool? javaGenerateEqualsAndHash, + $core.bool? deprecated, + $core.bool? javaStringCheckUtf8, + $core.bool? ccEnableArenas, + $core.String? objcClassPrefix, + $core.String? csharpNamespace, + $core.String? swiftPrefix, + $core.String? phpClassPrefix, + $core.String? phpNamespace, + $core.String? phpMetadataNamespace, + $core.String? rubyPackage, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (javaPackage != null) { + $result.javaPackage = javaPackage; + } + if (javaOuterClassname != null) { + $result.javaOuterClassname = javaOuterClassname; + } + if (optimizeFor != null) { + $result.optimizeFor = optimizeFor; + } + if (javaMultipleFiles != null) { + $result.javaMultipleFiles = javaMultipleFiles; + } + if (goPackage != null) { + $result.goPackage = goPackage; + } + if (ccGenericServices != null) { + $result.ccGenericServices = ccGenericServices; + } + if (javaGenericServices != null) { + $result.javaGenericServices = javaGenericServices; + } + if (pyGenericServices != null) { + $result.pyGenericServices = pyGenericServices; + } + if (javaGenerateEqualsAndHash != null) { + // ignore: deprecated_member_use_from_same_package + $result.javaGenerateEqualsAndHash = javaGenerateEqualsAndHash; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (javaStringCheckUtf8 != null) { + $result.javaStringCheckUtf8 = javaStringCheckUtf8; + } + if (ccEnableArenas != null) { + $result.ccEnableArenas = ccEnableArenas; + } + if (objcClassPrefix != null) { + $result.objcClassPrefix = objcClassPrefix; + } + if (csharpNamespace != null) { + $result.csharpNamespace = csharpNamespace; + } + if (swiftPrefix != null) { + $result.swiftPrefix = swiftPrefix; + } + if (phpClassPrefix != null) { + $result.phpClassPrefix = phpClassPrefix; + } + if (phpNamespace != null) { + $result.phpNamespace = phpNamespace; + } + if (phpMetadataNamespace != null) { + $result.phpMetadataNamespace = phpMetadataNamespace; + } + if (rubyPackage != null) { + $result.rubyPackage = rubyPackage; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + FileOptions._() : super(); + factory FileOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FileOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FileOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'javaPackage') + ..aOS(8, _omitFieldNames ? '' : 'javaOuterClassname') + ..e( + 9, _omitFieldNames ? '' : 'optimizeFor', $pb.PbFieldType.OE, + defaultOrMaker: FileOptions_OptimizeMode.SPEED, + valueOf: FileOptions_OptimizeMode.valueOf, + enumValues: FileOptions_OptimizeMode.values) + ..aOB(10, _omitFieldNames ? '' : 'javaMultipleFiles') + ..aOS(11, _omitFieldNames ? '' : 'goPackage') + ..aOB(16, _omitFieldNames ? '' : 'ccGenericServices') + ..aOB(17, _omitFieldNames ? '' : 'javaGenericServices') + ..aOB(18, _omitFieldNames ? '' : 'pyGenericServices') + ..aOB(20, _omitFieldNames ? '' : 'javaGenerateEqualsAndHash') + ..aOB(23, _omitFieldNames ? '' : 'deprecated') + ..aOB(27, _omitFieldNames ? '' : 'javaStringCheckUtf8') + ..a<$core.bool>( + 31, _omitFieldNames ? '' : 'ccEnableArenas', $pb.PbFieldType.OB, + defaultOrMaker: true) + ..aOS(36, _omitFieldNames ? '' : 'objcClassPrefix') + ..aOS(37, _omitFieldNames ? '' : 'csharpNamespace') + ..aOS(39, _omitFieldNames ? '' : 'swiftPrefix') + ..aOS(40, _omitFieldNames ? '' : 'phpClassPrefix') + ..aOS(41, _omitFieldNames ? '' : 'phpNamespace') + ..aOS(44, _omitFieldNames ? '' : 'phpMetadataNamespace') + ..aOS(45, _omitFieldNames ? '' : 'rubyPackage') + ..aOM(50, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FileOptions clone() => FileOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FileOptions copyWith(void Function(FileOptions) updates) => + super.copyWith((message) => updates(message as FileOptions)) + as FileOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FileOptions create() => FileOptions._(); + FileOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FileOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FileOptions? _defaultInstance; + + /// Sets the Java package where classes generated from this .proto will be + /// placed. By default, the proto package is used, but this is often + /// inappropriate because proto packages do not normally start with backwards + /// domain names. + @$pb.TagNumber(1) + $core.String get javaPackage => $_getSZ(0); + @$pb.TagNumber(1) + set javaPackage($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasJavaPackage() => $_has(0); + @$pb.TagNumber(1) + void clearJavaPackage() => clearField(1); + + /// Controls the name of the wrapper Java class generated for the .proto file. + /// That class will always contain the .proto file's getDescriptor() method as + /// well as any top-level extensions defined in the .proto file. + /// If java_multiple_files is disabled, then all the other classes from the + /// .proto file will be nested inside the single wrapper outer class. + @$pb.TagNumber(8) + $core.String get javaOuterClassname => $_getSZ(1); + @$pb.TagNumber(8) + set javaOuterClassname($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(8) + $core.bool hasJavaOuterClassname() => $_has(1); + @$pb.TagNumber(8) + void clearJavaOuterClassname() => clearField(8); + + @$pb.TagNumber(9) + FileOptions_OptimizeMode get optimizeFor => $_getN(2); + @$pb.TagNumber(9) + set optimizeFor(FileOptions_OptimizeMode v) { + setField(9, v); + } + + @$pb.TagNumber(9) + $core.bool hasOptimizeFor() => $_has(2); + @$pb.TagNumber(9) + void clearOptimizeFor() => clearField(9); + + /// If enabled, then the Java code generator will generate a separate .java + /// file for each top-level message, enum, and service defined in the .proto + /// file. Thus, these types will *not* be nested inside the wrapper class + /// named by java_outer_classname. However, the wrapper class will still be + /// generated to contain the file's getDescriptor() method as well as any + /// top-level extensions defined in the file. + @$pb.TagNumber(10) + $core.bool get javaMultipleFiles => $_getBF(3); + @$pb.TagNumber(10) + set javaMultipleFiles($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(10) + $core.bool hasJavaMultipleFiles() => $_has(3); + @$pb.TagNumber(10) + void clearJavaMultipleFiles() => clearField(10); + + /// Sets the Go package where structs generated from this .proto will be + /// placed. If omitted, the Go package will be derived from the following: + /// - The basename of the package import path, if provided. + /// - Otherwise, the package statement in the .proto file, if present. + /// - Otherwise, the basename of the .proto file, without extension. + @$pb.TagNumber(11) + $core.String get goPackage => $_getSZ(4); + @$pb.TagNumber(11) + set goPackage($core.String v) { + $_setString(4, v); + } + + @$pb.TagNumber(11) + $core.bool hasGoPackage() => $_has(4); + @$pb.TagNumber(11) + void clearGoPackage() => clearField(11); + + /// Should generic services be generated in each language? "Generic" services + /// are not specific to any particular RPC system. They are generated by the + /// main code generators in each language (without additional plugins). + /// Generic services were the only kind of service generation supported by + /// early versions of google.protobuf. + /// + /// Generic services are now considered deprecated in favor of using plugins + /// that generate code specific to your particular RPC system. Therefore, + /// these default to false. Old code which depends on generic services should + /// explicitly set them to true. + @$pb.TagNumber(16) + $core.bool get ccGenericServices => $_getBF(5); + @$pb.TagNumber(16) + set ccGenericServices($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(16) + $core.bool hasCcGenericServices() => $_has(5); + @$pb.TagNumber(16) + void clearCcGenericServices() => clearField(16); + + @$pb.TagNumber(17) + $core.bool get javaGenericServices => $_getBF(6); + @$pb.TagNumber(17) + set javaGenericServices($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(17) + $core.bool hasJavaGenericServices() => $_has(6); + @$pb.TagNumber(17) + void clearJavaGenericServices() => clearField(17); + + @$pb.TagNumber(18) + $core.bool get pyGenericServices => $_getBF(7); + @$pb.TagNumber(18) + set pyGenericServices($core.bool v) { + $_setBool(7, v); + } + + @$pb.TagNumber(18) + $core.bool hasPyGenericServices() => $_has(7); + @$pb.TagNumber(18) + void clearPyGenericServices() => clearField(18); + + /// This option does nothing. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + $core.bool get javaGenerateEqualsAndHash => $_getBF(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + set javaGenerateEqualsAndHash($core.bool v) { + $_setBool(8, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + $core.bool hasJavaGenerateEqualsAndHash() => $_has(8); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(20) + void clearJavaGenerateEqualsAndHash() => clearField(20); + + /// Is this file deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for everything in the file, or it will be completely ignored; in the very + /// least, this is a formalization for deprecating files. + @$pb.TagNumber(23) + $core.bool get deprecated => $_getBF(9); + @$pb.TagNumber(23) + set deprecated($core.bool v) { + $_setBool(9, v); + } + + @$pb.TagNumber(23) + $core.bool hasDeprecated() => $_has(9); + @$pb.TagNumber(23) + void clearDeprecated() => clearField(23); + + /// A proto2 file can set this to true to opt in to UTF-8 checking for Java, + /// which will throw an exception if invalid UTF-8 is parsed from the wire or + /// assigned to a string field. + /// + /// TODO: clarify exactly what kinds of field types this option + /// applies to, and update these docs accordingly. + /// + /// Proto3 files already perform these checks. Setting the option explicitly to + /// false has no effect: it cannot be used to opt proto3 files out of UTF-8 + /// checks. + @$pb.TagNumber(27) + $core.bool get javaStringCheckUtf8 => $_getBF(10); + @$pb.TagNumber(27) + set javaStringCheckUtf8($core.bool v) { + $_setBool(10, v); + } + + @$pb.TagNumber(27) + $core.bool hasJavaStringCheckUtf8() => $_has(10); + @$pb.TagNumber(27) + void clearJavaStringCheckUtf8() => clearField(27); + + /// Enables the use of arenas for the proto messages in this file. This applies + /// only to generated classes for C++. + @$pb.TagNumber(31) + $core.bool get ccEnableArenas => $_getB(11, true); + @$pb.TagNumber(31) + set ccEnableArenas($core.bool v) { + $_setBool(11, v); + } + + @$pb.TagNumber(31) + $core.bool hasCcEnableArenas() => $_has(11); + @$pb.TagNumber(31) + void clearCcEnableArenas() => clearField(31); + + /// Sets the objective c class prefix which is prepended to all objective c + /// generated classes from this .proto. There is no default. + @$pb.TagNumber(36) + $core.String get objcClassPrefix => $_getSZ(12); + @$pb.TagNumber(36) + set objcClassPrefix($core.String v) { + $_setString(12, v); + } + + @$pb.TagNumber(36) + $core.bool hasObjcClassPrefix() => $_has(12); + @$pb.TagNumber(36) + void clearObjcClassPrefix() => clearField(36); + + /// Namespace for generated classes; defaults to the package. + @$pb.TagNumber(37) + $core.String get csharpNamespace => $_getSZ(13); + @$pb.TagNumber(37) + set csharpNamespace($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(37) + $core.bool hasCsharpNamespace() => $_has(13); + @$pb.TagNumber(37) + void clearCsharpNamespace() => clearField(37); + + /// By default Swift generators will take the proto package and CamelCase it + /// replacing '.' with underscore and use that to prefix the types/symbols + /// defined. When this options is provided, they will use this value instead + /// to prefix the types/symbols defined. + @$pb.TagNumber(39) + $core.String get swiftPrefix => $_getSZ(14); + @$pb.TagNumber(39) + set swiftPrefix($core.String v) { + $_setString(14, v); + } + + @$pb.TagNumber(39) + $core.bool hasSwiftPrefix() => $_has(14); + @$pb.TagNumber(39) + void clearSwiftPrefix() => clearField(39); + + /// Sets the php class prefix which is prepended to all php generated classes + /// from this .proto. Default is empty. + @$pb.TagNumber(40) + $core.String get phpClassPrefix => $_getSZ(15); + @$pb.TagNumber(40) + set phpClassPrefix($core.String v) { + $_setString(15, v); + } + + @$pb.TagNumber(40) + $core.bool hasPhpClassPrefix() => $_has(15); + @$pb.TagNumber(40) + void clearPhpClassPrefix() => clearField(40); + + /// Use this option to change the namespace of php generated classes. Default + /// is empty. When this option is empty, the package name will be used for + /// determining the namespace. + @$pb.TagNumber(41) + $core.String get phpNamespace => $_getSZ(16); + @$pb.TagNumber(41) + set phpNamespace($core.String v) { + $_setString(16, v); + } + + @$pb.TagNumber(41) + $core.bool hasPhpNamespace() => $_has(16); + @$pb.TagNumber(41) + void clearPhpNamespace() => clearField(41); + + /// Use this option to change the namespace of php generated metadata classes. + /// Default is empty. When this option is empty, the proto file name will be + /// used for determining the namespace. + @$pb.TagNumber(44) + $core.String get phpMetadataNamespace => $_getSZ(17); + @$pb.TagNumber(44) + set phpMetadataNamespace($core.String v) { + $_setString(17, v); + } + + @$pb.TagNumber(44) + $core.bool hasPhpMetadataNamespace() => $_has(17); + @$pb.TagNumber(44) + void clearPhpMetadataNamespace() => clearField(44); + + /// Use this option to change the package of ruby generated classes. Default + /// is empty. When this option is not set, the package name will be used for + /// determining the ruby package. + @$pb.TagNumber(45) + $core.String get rubyPackage => $_getSZ(18); + @$pb.TagNumber(45) + set rubyPackage($core.String v) { + $_setString(18, v); + } + + @$pb.TagNumber(45) + $core.bool hasRubyPackage() => $_has(18); + @$pb.TagNumber(45) + void clearRubyPackage() => clearField(45); + + /// Any features defined in the specific edition. + @$pb.TagNumber(50) + FeatureSet get features => $_getN(19); + @$pb.TagNumber(50) + set features(FeatureSet v) { + setField(50, v); + } + + @$pb.TagNumber(50) + $core.bool hasFeatures() => $_has(19); + @$pb.TagNumber(50) + void clearFeatures() => clearField(50); + @$pb.TagNumber(50) + FeatureSet ensureFeatures() => $_ensure(19); + + /// The parser stores options it doesn't recognize here. + /// See the documentation for the "Options" section above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(20); +} + +class MessageOptions extends $pb.GeneratedMessage { + factory MessageOptions({ + $core.bool? messageSetWireFormat, + $core.bool? noStandardDescriptorAccessor, + $core.bool? deprecated, + $core.bool? mapEntry, + @$core.Deprecated('This field is deprecated.') + $core.bool? deprecatedLegacyJsonFieldConflicts, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (messageSetWireFormat != null) { + $result.messageSetWireFormat = messageSetWireFormat; + } + if (noStandardDescriptorAccessor != null) { + $result.noStandardDescriptorAccessor = noStandardDescriptorAccessor; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (mapEntry != null) { + $result.mapEntry = mapEntry; + } + if (deprecatedLegacyJsonFieldConflicts != null) { + // ignore: deprecated_member_use_from_same_package + $result.deprecatedLegacyJsonFieldConflicts = + deprecatedLegacyJsonFieldConflicts; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + MessageOptions._() : super(); + factory MessageOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MessageOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MessageOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'messageSetWireFormat') + ..aOB(2, _omitFieldNames ? '' : 'noStandardDescriptorAccessor') + ..aOB(3, _omitFieldNames ? '' : 'deprecated') + ..aOB(7, _omitFieldNames ? '' : 'mapEntry') + ..aOB(11, _omitFieldNames ? '' : 'deprecatedLegacyJsonFieldConflicts') + ..aOM(12, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MessageOptions clone() => MessageOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MessageOptions copyWith(void Function(MessageOptions) updates) => + super.copyWith((message) => updates(message as MessageOptions)) + as MessageOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MessageOptions create() => MessageOptions._(); + MessageOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MessageOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MessageOptions? _defaultInstance; + + /// Set true to use the old proto1 MessageSet wire format for extensions. + /// This is provided for backwards-compatibility with the MessageSet wire + /// format. You should not use this for any other reason: It's less + /// efficient, has fewer features, and is more complicated. + /// + /// The message must be defined exactly as follows: + /// message Foo { + /// option message_set_wire_format = true; + /// extensions 4 to max; + /// } + /// Note that the message cannot have any defined fields; MessageSets only + /// have extensions. + /// + /// All extensions of your type must be singular messages; e.g. they cannot + /// be int32s, enums, or repeated messages. + /// + /// Because this is an option, the above two restrictions are not enforced by + /// the protocol compiler. + @$pb.TagNumber(1) + $core.bool get messageSetWireFormat => $_getBF(0); + @$pb.TagNumber(1) + set messageSetWireFormat($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasMessageSetWireFormat() => $_has(0); + @$pb.TagNumber(1) + void clearMessageSetWireFormat() => clearField(1); + + /// Disables the generation of the standard "descriptor()" accessor, which can + /// conflict with a field of the same name. This is meant to make migration + /// from proto1 easier; new code should avoid fields named "descriptor". + @$pb.TagNumber(2) + $core.bool get noStandardDescriptorAccessor => $_getBF(1); + @$pb.TagNumber(2) + set noStandardDescriptorAccessor($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNoStandardDescriptorAccessor() => $_has(1); + @$pb.TagNumber(2) + void clearNoStandardDescriptorAccessor() => clearField(2); + + /// Is this message deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the message, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating messages. + @$pb.TagNumber(3) + $core.bool get deprecated => $_getBF(2); + @$pb.TagNumber(3) + set deprecated($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDeprecated() => $_has(2); + @$pb.TagNumber(3) + void clearDeprecated() => clearField(3); + + /// Whether the message is an automatically generated map entry type for the + /// maps field. + /// + /// For maps fields: + /// map map_field = 1; + /// The parsed descriptor looks like: + /// message MapFieldEntry { + /// option map_entry = true; + /// optional KeyType key = 1; + /// optional ValueType value = 2; + /// } + /// repeated MapFieldEntry map_field = 1; + /// + /// Implementations may choose not to generate the map_entry=true message, but + /// use a native map in the target language to hold the keys and values. + /// The reflection APIs in such implementations still need to work as + /// if the field is a repeated message field. + /// + /// NOTE: Do not set the option in .proto files. Always use the maps syntax + /// instead. The option should only be implicitly set by the proto compiler + /// parser. + @$pb.TagNumber(7) + $core.bool get mapEntry => $_getBF(3); + @$pb.TagNumber(7) + set mapEntry($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(7) + $core.bool hasMapEntry() => $_has(3); + @$pb.TagNumber(7) + void clearMapEntry() => clearField(7); + + /// Enable the legacy handling of JSON field name conflicts. This lowercases + /// and strips underscored from the fields before comparison in proto3 only. + /// The new behavior takes `json_name` into account and applies to proto2 as + /// well. + /// + /// This should only be used as a temporary measure against broken builds due + /// to the change in behavior for JSON field name conflicts. + /// + /// TODO This is legacy behavior we plan to remove once downstream + /// teams have had time to migrate. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + $core.bool get deprecatedLegacyJsonFieldConflicts => $_getBF(4); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + set deprecatedLegacyJsonFieldConflicts($core.bool v) { + $_setBool(4, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + $core.bool hasDeprecatedLegacyJsonFieldConflicts() => $_has(4); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(11) + void clearDeprecatedLegacyJsonFieldConflicts() => clearField(11); + + /// Any features defined in the specific edition. + @$pb.TagNumber(12) + FeatureSet get features => $_getN(5); + @$pb.TagNumber(12) + set features(FeatureSet v) { + setField(12, v); + } + + @$pb.TagNumber(12) + $core.bool hasFeatures() => $_has(5); + @$pb.TagNumber(12) + void clearFeatures() => clearField(12); + @$pb.TagNumber(12) + FeatureSet ensureFeatures() => $_ensure(5); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(6); +} + +class FieldOptions_EditionDefault extends $pb.GeneratedMessage { + factory FieldOptions_EditionDefault({ + $core.String? value, + Edition? edition, + }) { + final $result = create(); + if (value != null) { + $result.value = value; + } + if (edition != null) { + $result.edition = edition; + } + return $result; + } + FieldOptions_EditionDefault._() : super(); + factory FieldOptions_EditionDefault.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldOptions_EditionDefault.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldOptions.EditionDefault', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(2, _omitFieldNames ? '' : 'value') + ..e(3, _omitFieldNames ? '' : 'edition', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldOptions_EditionDefault clone() => + FieldOptions_EditionDefault()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldOptions_EditionDefault copyWith( + void Function(FieldOptions_EditionDefault) updates) => + super.copyWith( + (message) => updates(message as FieldOptions_EditionDefault)) + as FieldOptions_EditionDefault; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldOptions_EditionDefault create() => + FieldOptions_EditionDefault._(); + FieldOptions_EditionDefault createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldOptions_EditionDefault getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FieldOptions_EditionDefault? _defaultInstance; + + @$pb.TagNumber(2) + $core.String get value => $_getSZ(0); + @$pb.TagNumber(2) + set value($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(0); + @$pb.TagNumber(2) + void clearValue() => clearField(2); + + @$pb.TagNumber(3) + Edition get edition => $_getN(1); + @$pb.TagNumber(3) + set edition(Edition v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEdition() => $_has(1); + @$pb.TagNumber(3) + void clearEdition() => clearField(3); +} + +/// Information about the support window of a feature. +class FieldOptions_FeatureSupport extends $pb.GeneratedMessage { + factory FieldOptions_FeatureSupport({ + Edition? editionIntroduced, + Edition? editionDeprecated, + $core.String? deprecationWarning, + Edition? editionRemoved, + }) { + final $result = create(); + if (editionIntroduced != null) { + $result.editionIntroduced = editionIntroduced; + } + if (editionDeprecated != null) { + $result.editionDeprecated = editionDeprecated; + } + if (deprecationWarning != null) { + $result.deprecationWarning = deprecationWarning; + } + if (editionRemoved != null) { + $result.editionRemoved = editionRemoved; + } + return $result; + } + FieldOptions_FeatureSupport._() : super(); + factory FieldOptions_FeatureSupport.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldOptions_FeatureSupport.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldOptions.FeatureSupport', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'editionIntroduced', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values) + ..e( + 2, _omitFieldNames ? '' : 'editionDeprecated', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values) + ..aOS(3, _omitFieldNames ? '' : 'deprecationWarning') + ..e(4, _omitFieldNames ? '' : 'editionRemoved', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldOptions_FeatureSupport clone() => + FieldOptions_FeatureSupport()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldOptions_FeatureSupport copyWith( + void Function(FieldOptions_FeatureSupport) updates) => + super.copyWith( + (message) => updates(message as FieldOptions_FeatureSupport)) + as FieldOptions_FeatureSupport; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldOptions_FeatureSupport create() => + FieldOptions_FeatureSupport._(); + FieldOptions_FeatureSupport createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldOptions_FeatureSupport getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FieldOptions_FeatureSupport? _defaultInstance; + + /// The edition that this feature was first available in. In editions + /// earlier than this one, the default assigned to EDITION_LEGACY will be + /// used, and proto files will not be able to override it. + @$pb.TagNumber(1) + Edition get editionIntroduced => $_getN(0); + @$pb.TagNumber(1) + set editionIntroduced(Edition v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasEditionIntroduced() => $_has(0); + @$pb.TagNumber(1) + void clearEditionIntroduced() => clearField(1); + + /// The edition this feature becomes deprecated in. Using this after this + /// edition may trigger warnings. + @$pb.TagNumber(2) + Edition get editionDeprecated => $_getN(1); + @$pb.TagNumber(2) + set editionDeprecated(Edition v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEditionDeprecated() => $_has(1); + @$pb.TagNumber(2) + void clearEditionDeprecated() => clearField(2); + + /// The deprecation warning text if this feature is used after the edition it + /// was marked deprecated in. + @$pb.TagNumber(3) + $core.String get deprecationWarning => $_getSZ(2); + @$pb.TagNumber(3) + set deprecationWarning($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDeprecationWarning() => $_has(2); + @$pb.TagNumber(3) + void clearDeprecationWarning() => clearField(3); + + /// The edition this feature is no longer available in. In editions after + /// this one, the last default assigned will be used, and proto files will + /// not be able to override it. + @$pb.TagNumber(4) + Edition get editionRemoved => $_getN(3); + @$pb.TagNumber(4) + set editionRemoved(Edition v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasEditionRemoved() => $_has(3); + @$pb.TagNumber(4) + void clearEditionRemoved() => clearField(4); +} + +class FieldOptions extends $pb.GeneratedMessage { + factory FieldOptions({ + FieldOptions_CType? ctype, + $core.bool? packed, + $core.bool? deprecated, + $core.bool? lazy, + FieldOptions_JSType? jstype, + $core.bool? weak, + $core.bool? unverifiedLazy, + $core.bool? debugRedact, + FieldOptions_OptionRetention? retention, + $core.Iterable? targets, + $core.Iterable? editionDefaults, + FeatureSet? features, + FieldOptions_FeatureSupport? featureSupport, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (ctype != null) { + $result.ctype = ctype; + } + if (packed != null) { + $result.packed = packed; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (lazy != null) { + $result.lazy = lazy; + } + if (jstype != null) { + $result.jstype = jstype; + } + if (weak != null) { + $result.weak = weak; + } + if (unverifiedLazy != null) { + $result.unverifiedLazy = unverifiedLazy; + } + if (debugRedact != null) { + $result.debugRedact = debugRedact; + } + if (retention != null) { + $result.retention = retention; + } + if (targets != null) { + $result.targets.addAll(targets); + } + if (editionDefaults != null) { + $result.editionDefaults.addAll(editionDefaults); + } + if (features != null) { + $result.features = features; + } + if (featureSupport != null) { + $result.featureSupport = featureSupport; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + FieldOptions._() : super(); + factory FieldOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'ctype', $pb.PbFieldType.OE, + defaultOrMaker: FieldOptions_CType.STRING, + valueOf: FieldOptions_CType.valueOf, + enumValues: FieldOptions_CType.values) + ..aOB(2, _omitFieldNames ? '' : 'packed') + ..aOB(3, _omitFieldNames ? '' : 'deprecated') + ..aOB(5, _omitFieldNames ? '' : 'lazy') + ..e( + 6, _omitFieldNames ? '' : 'jstype', $pb.PbFieldType.OE, + defaultOrMaker: FieldOptions_JSType.JS_NORMAL, + valueOf: FieldOptions_JSType.valueOf, + enumValues: FieldOptions_JSType.values) + ..aOB(10, _omitFieldNames ? '' : 'weak') + ..aOB(15, _omitFieldNames ? '' : 'unverifiedLazy') + ..aOB(16, _omitFieldNames ? '' : 'debugRedact') + ..e( + 17, _omitFieldNames ? '' : 'retention', $pb.PbFieldType.OE, + defaultOrMaker: FieldOptions_OptionRetention.RETENTION_UNKNOWN, + valueOf: FieldOptions_OptionRetention.valueOf, + enumValues: FieldOptions_OptionRetention.values) + ..pc( + 19, _omitFieldNames ? '' : 'targets', $pb.PbFieldType.PE, + valueOf: FieldOptions_OptionTargetType.valueOf, + enumValues: FieldOptions_OptionTargetType.values, + defaultEnumValue: FieldOptions_OptionTargetType.TARGET_TYPE_UNKNOWN) + ..pc( + 20, _omitFieldNames ? '' : 'editionDefaults', $pb.PbFieldType.PM, + subBuilder: FieldOptions_EditionDefault.create) + ..aOM(21, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..aOM( + 22, _omitFieldNames ? '' : 'featureSupport', + subBuilder: FieldOptions_FeatureSupport.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldOptions clone() => FieldOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldOptions copyWith(void Function(FieldOptions) updates) => + super.copyWith((message) => updates(message as FieldOptions)) + as FieldOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldOptions create() => FieldOptions._(); + FieldOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FieldOptions? _defaultInstance; + + /// NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead. + /// The ctype option instructs the C++ code generator to use a different + /// representation of the field than it normally would. See the specific + /// options below. This option is only implemented to support use of + /// [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + /// type "bytes" in the open source release. + /// TODO: make ctype actually deprecated. + @$pb.TagNumber(1) + FieldOptions_CType get ctype => $_getN(0); + @$pb.TagNumber(1) + set ctype(FieldOptions_CType v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasCtype() => $_has(0); + @$pb.TagNumber(1) + void clearCtype() => clearField(1); + + /// The packed option can be enabled for repeated primitive fields to enable + /// a more efficient representation on the wire. Rather than repeatedly + /// writing the tag and type for each element, the entire array is encoded as + /// a single length-delimited blob. In proto3, only explicit setting it to + /// false will avoid using packed encoding. This option is prohibited in + /// Editions, but the `repeated_field_encoding` feature can be used to control + /// the behavior. + @$pb.TagNumber(2) + $core.bool get packed => $_getBF(1); + @$pb.TagNumber(2) + set packed($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasPacked() => $_has(1); + @$pb.TagNumber(2) + void clearPacked() => clearField(2); + + /// Is this field deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for accessors, or it will be completely ignored; in the very least, this + /// is a formalization for deprecating fields. + @$pb.TagNumber(3) + $core.bool get deprecated => $_getBF(2); + @$pb.TagNumber(3) + set deprecated($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDeprecated() => $_has(2); + @$pb.TagNumber(3) + void clearDeprecated() => clearField(3); + + /// Should this field be parsed lazily? Lazy applies only to message-type + /// fields. It means that when the outer message is initially parsed, the + /// inner message's contents will not be parsed but instead stored in encoded + /// form. The inner message will actually be parsed when it is first accessed. + /// + /// This is only a hint. Implementations are free to choose whether to use + /// eager or lazy parsing regardless of the value of this option. However, + /// setting this option true suggests that the protocol author believes that + /// using lazy parsing on this field is worth the additional bookkeeping + /// overhead typically needed to implement it. + /// + /// This option does not affect the public interface of any generated code; + /// all method signatures remain the same. Furthermore, thread-safety of the + /// interface is not affected by this option; const methods remain safe to + /// call from multiple threads concurrently, while non-const methods continue + /// to require exclusive access. + /// + /// Note that lazy message fields are still eagerly verified to check + /// ill-formed wireformat or missing required fields. Calling IsInitialized() + /// on the outer message would fail if the inner message has missing required + /// fields. Failed verification would result in parsing failure (except when + /// uninitialized messages are acceptable). + @$pb.TagNumber(5) + $core.bool get lazy => $_getBF(3); + @$pb.TagNumber(5) + set lazy($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasLazy() => $_has(3); + @$pb.TagNumber(5) + void clearLazy() => clearField(5); + + /// The jstype option determines the JavaScript type used for values of the + /// field. The option is permitted only for 64 bit integral and fixed types + /// (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + /// is represented as JavaScript string, which avoids loss of precision that + /// can happen when a large value is converted to a floating point JavaScript. + /// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + /// use the JavaScript "number" type. The behavior of the default option + /// JS_NORMAL is implementation dependent. + /// + /// This option is an enum to permit additional types to be added, e.g. + /// goog.math.Integer. + @$pb.TagNumber(6) + FieldOptions_JSType get jstype => $_getN(4); + @$pb.TagNumber(6) + set jstype(FieldOptions_JSType v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasJstype() => $_has(4); + @$pb.TagNumber(6) + void clearJstype() => clearField(6); + + /// For Google-internal migration only. Do not use. + @$pb.TagNumber(10) + $core.bool get weak => $_getBF(5); + @$pb.TagNumber(10) + set weak($core.bool v) { + $_setBool(5, v); + } + + @$pb.TagNumber(10) + $core.bool hasWeak() => $_has(5); + @$pb.TagNumber(10) + void clearWeak() => clearField(10); + + /// unverified_lazy does no correctness checks on the byte stream. This should + /// only be used where lazy with verification is prohibitive for performance + /// reasons. + @$pb.TagNumber(15) + $core.bool get unverifiedLazy => $_getBF(6); + @$pb.TagNumber(15) + set unverifiedLazy($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(15) + $core.bool hasUnverifiedLazy() => $_has(6); + @$pb.TagNumber(15) + void clearUnverifiedLazy() => clearField(15); + + /// Indicate that the field value should not be printed out when using debug + /// formats, e.g. when the field contains sensitive credentials. + @$pb.TagNumber(16) + $core.bool get debugRedact => $_getBF(7); + @$pb.TagNumber(16) + set debugRedact($core.bool v) { + $_setBool(7, v); + } + + @$pb.TagNumber(16) + $core.bool hasDebugRedact() => $_has(7); + @$pb.TagNumber(16) + void clearDebugRedact() => clearField(16); + + @$pb.TagNumber(17) + FieldOptions_OptionRetention get retention => $_getN(8); + @$pb.TagNumber(17) + set retention(FieldOptions_OptionRetention v) { + setField(17, v); + } + + @$pb.TagNumber(17) + $core.bool hasRetention() => $_has(8); + @$pb.TagNumber(17) + void clearRetention() => clearField(17); + + @$pb.TagNumber(19) + $core.List get targets => $_getList(9); + + @$pb.TagNumber(20) + $core.List get editionDefaults => $_getList(10); + + /// Any features defined in the specific edition. + @$pb.TagNumber(21) + FeatureSet get features => $_getN(11); + @$pb.TagNumber(21) + set features(FeatureSet v) { + setField(21, v); + } + + @$pb.TagNumber(21) + $core.bool hasFeatures() => $_has(11); + @$pb.TagNumber(21) + void clearFeatures() => clearField(21); + @$pb.TagNumber(21) + FeatureSet ensureFeatures() => $_ensure(11); + + @$pb.TagNumber(22) + FieldOptions_FeatureSupport get featureSupport => $_getN(12); + @$pb.TagNumber(22) + set featureSupport(FieldOptions_FeatureSupport v) { + setField(22, v); + } + + @$pb.TagNumber(22) + $core.bool hasFeatureSupport() => $_has(12); + @$pb.TagNumber(22) + void clearFeatureSupport() => clearField(22); + @$pb.TagNumber(22) + FieldOptions_FeatureSupport ensureFeatureSupport() => $_ensure(12); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(13); +} + +class OneofOptions extends $pb.GeneratedMessage { + factory OneofOptions({ + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + OneofOptions._() : super(); + factory OneofOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OneofOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OneofOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OneofOptions clone() => OneofOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OneofOptions copyWith(void Function(OneofOptions) updates) => + super.copyWith((message) => updates(message as OneofOptions)) + as OneofOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OneofOptions create() => OneofOptions._(); + OneofOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OneofOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OneofOptions? _defaultInstance; + + /// Any features defined in the specific edition. + @$pb.TagNumber(1) + FeatureSet get features => $_getN(0); + @$pb.TagNumber(1) + set features(FeatureSet v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasFeatures() => $_has(0); + @$pb.TagNumber(1) + void clearFeatures() => clearField(1); + @$pb.TagNumber(1) + FeatureSet ensureFeatures() => $_ensure(0); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(1); +} + +class EnumOptions extends $pb.GeneratedMessage { + factory EnumOptions({ + $core.bool? allowAlias, + $core.bool? deprecated, + @$core.Deprecated('This field is deprecated.') + $core.bool? deprecatedLegacyJsonFieldConflicts, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (allowAlias != null) { + $result.allowAlias = allowAlias; + } + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (deprecatedLegacyJsonFieldConflicts != null) { + // ignore: deprecated_member_use_from_same_package + $result.deprecatedLegacyJsonFieldConflicts = + deprecatedLegacyJsonFieldConflicts; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + EnumOptions._() : super(); + factory EnumOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOB(2, _omitFieldNames ? '' : 'allowAlias') + ..aOB(3, _omitFieldNames ? '' : 'deprecated') + ..aOB(6, _omitFieldNames ? '' : 'deprecatedLegacyJsonFieldConflicts') + ..aOM(7, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumOptions clone() => EnumOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumOptions copyWith(void Function(EnumOptions) updates) => + super.copyWith((message) => updates(message as EnumOptions)) + as EnumOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumOptions create() => EnumOptions._(); + EnumOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnumOptions? _defaultInstance; + + /// Set this option to true to allow mapping different tag names to the same + /// value. + @$pb.TagNumber(2) + $core.bool get allowAlias => $_getBF(0); + @$pb.TagNumber(2) + set allowAlias($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(2) + $core.bool hasAllowAlias() => $_has(0); + @$pb.TagNumber(2) + void clearAllowAlias() => clearField(2); + + /// Is this enum deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the enum, or it will be completely ignored; in the very least, this + /// is a formalization for deprecating enums. + @$pb.TagNumber(3) + $core.bool get deprecated => $_getBF(1); + @$pb.TagNumber(3) + set deprecated($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasDeprecated() => $_has(1); + @$pb.TagNumber(3) + void clearDeprecated() => clearField(3); + + /// Enable the legacy handling of JSON field name conflicts. This lowercases + /// and strips underscored from the fields before comparison in proto3 only. + /// The new behavior takes `json_name` into account and applies to proto2 as + /// well. + /// TODO Remove this legacy behavior once downstream teams have + /// had time to migrate. + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + $core.bool get deprecatedLegacyJsonFieldConflicts => $_getBF(2); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + set deprecatedLegacyJsonFieldConflicts($core.bool v) { + $_setBool(2, v); + } + + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + $core.bool hasDeprecatedLegacyJsonFieldConflicts() => $_has(2); + @$core.Deprecated('This field is deprecated.') + @$pb.TagNumber(6) + void clearDeprecatedLegacyJsonFieldConflicts() => clearField(6); + + /// Any features defined in the specific edition. + @$pb.TagNumber(7) + FeatureSet get features => $_getN(3); + @$pb.TagNumber(7) + set features(FeatureSet v) { + setField(7, v); + } + + @$pb.TagNumber(7) + $core.bool hasFeatures() => $_has(3); + @$pb.TagNumber(7) + void clearFeatures() => clearField(7); + @$pb.TagNumber(7) + FeatureSet ensureFeatures() => $_ensure(3); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(4); +} + +class EnumValueOptions extends $pb.GeneratedMessage { + factory EnumValueOptions({ + $core.bool? deprecated, + FeatureSet? features, + $core.bool? debugRedact, + FieldOptions_FeatureSupport? featureSupport, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (features != null) { + $result.features = features; + } + if (debugRedact != null) { + $result.debugRedact = debugRedact; + } + if (featureSupport != null) { + $result.featureSupport = featureSupport; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + EnumValueOptions._() : super(); + factory EnumValueOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumValueOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumValueOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'deprecated') + ..aOM(2, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..aOB(3, _omitFieldNames ? '' : 'debugRedact') + ..aOM( + 4, _omitFieldNames ? '' : 'featureSupport', + subBuilder: FieldOptions_FeatureSupport.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumValueOptions clone() => EnumValueOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumValueOptions copyWith(void Function(EnumValueOptions) updates) => + super.copyWith((message) => updates(message as EnumValueOptions)) + as EnumValueOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumValueOptions create() => EnumValueOptions._(); + EnumValueOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumValueOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnumValueOptions? _defaultInstance; + + /// Is this enum value deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the enum value, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating enum values. + @$pb.TagNumber(1) + $core.bool get deprecated => $_getBF(0); + @$pb.TagNumber(1) + set deprecated($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasDeprecated() => $_has(0); + @$pb.TagNumber(1) + void clearDeprecated() => clearField(1); + + /// Any features defined in the specific edition. + @$pb.TagNumber(2) + FeatureSet get features => $_getN(1); + @$pb.TagNumber(2) + set features(FeatureSet v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasFeatures() => $_has(1); + @$pb.TagNumber(2) + void clearFeatures() => clearField(2); + @$pb.TagNumber(2) + FeatureSet ensureFeatures() => $_ensure(1); + + /// Indicate that fields annotated with this enum value should not be printed + /// out when using debug formats, e.g. when the field contains sensitive + /// credentials. + @$pb.TagNumber(3) + $core.bool get debugRedact => $_getBF(2); + @$pb.TagNumber(3) + set debugRedact($core.bool v) { + $_setBool(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasDebugRedact() => $_has(2); + @$pb.TagNumber(3) + void clearDebugRedact() => clearField(3); + + /// Information about the support window of a feature value. + @$pb.TagNumber(4) + FieldOptions_FeatureSupport get featureSupport => $_getN(3); + @$pb.TagNumber(4) + set featureSupport(FieldOptions_FeatureSupport v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasFeatureSupport() => $_has(3); + @$pb.TagNumber(4) + void clearFeatureSupport() => clearField(4); + @$pb.TagNumber(4) + FieldOptions_FeatureSupport ensureFeatureSupport() => $_ensure(3); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(4); +} + +class ServiceOptions extends $pb.GeneratedMessage { + factory ServiceOptions({ + $core.bool? deprecated, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + ServiceOptions._() : super(); + factory ServiceOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ServiceOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ServiceOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOB(33, _omitFieldNames ? '' : 'deprecated') + ..aOM(34, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ServiceOptions clone() => ServiceOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ServiceOptions copyWith(void Function(ServiceOptions) updates) => + super.copyWith((message) => updates(message as ServiceOptions)) + as ServiceOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ServiceOptions create() => ServiceOptions._(); + ServiceOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ServiceOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ServiceOptions? _defaultInstance; + + /// Is this service deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the service, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating services. + @$pb.TagNumber(33) + $core.bool get deprecated => $_getBF(0); + @$pb.TagNumber(33) + set deprecated($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(33) + $core.bool hasDeprecated() => $_has(0); + @$pb.TagNumber(33) + void clearDeprecated() => clearField(33); + + /// Any features defined in the specific edition. + @$pb.TagNumber(34) + FeatureSet get features => $_getN(1); + @$pb.TagNumber(34) + set features(FeatureSet v) { + setField(34, v); + } + + @$pb.TagNumber(34) + $core.bool hasFeatures() => $_has(1); + @$pb.TagNumber(34) + void clearFeatures() => clearField(34); + @$pb.TagNumber(34) + FeatureSet ensureFeatures() => $_ensure(1); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(2); +} + +class MethodOptions extends $pb.GeneratedMessage { + factory MethodOptions({ + $core.bool? deprecated, + MethodOptions_IdempotencyLevel? idempotencyLevel, + FeatureSet? features, + $core.Iterable? uninterpretedOption, + }) { + final $result = create(); + if (deprecated != null) { + $result.deprecated = deprecated; + } + if (idempotencyLevel != null) { + $result.idempotencyLevel = idempotencyLevel; + } + if (features != null) { + $result.features = features; + } + if (uninterpretedOption != null) { + $result.uninterpretedOption.addAll(uninterpretedOption); + } + return $result; + } + MethodOptions._() : super(); + factory MethodOptions.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory MethodOptions.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'MethodOptions', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOB(33, _omitFieldNames ? '' : 'deprecated') + ..e( + 34, _omitFieldNames ? '' : 'idempotencyLevel', $pb.PbFieldType.OE, + defaultOrMaker: MethodOptions_IdempotencyLevel.IDEMPOTENCY_UNKNOWN, + valueOf: MethodOptions_IdempotencyLevel.valueOf, + enumValues: MethodOptions_IdempotencyLevel.values) + ..aOM(35, _omitFieldNames ? '' : 'features', + subBuilder: FeatureSet.create) + ..pc( + 999, _omitFieldNames ? '' : 'uninterpretedOption', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption.create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + MethodOptions clone() => MethodOptions()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + MethodOptions copyWith(void Function(MethodOptions) updates) => + super.copyWith((message) => updates(message as MethodOptions)) + as MethodOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static MethodOptions create() => MethodOptions._(); + MethodOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static MethodOptions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static MethodOptions? _defaultInstance; + + /// Is this method deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the method, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating methods. + @$pb.TagNumber(33) + $core.bool get deprecated => $_getBF(0); + @$pb.TagNumber(33) + set deprecated($core.bool v) { + $_setBool(0, v); + } + + @$pb.TagNumber(33) + $core.bool hasDeprecated() => $_has(0); + @$pb.TagNumber(33) + void clearDeprecated() => clearField(33); + + @$pb.TagNumber(34) + MethodOptions_IdempotencyLevel get idempotencyLevel => $_getN(1); + @$pb.TagNumber(34) + set idempotencyLevel(MethodOptions_IdempotencyLevel v) { + setField(34, v); + } + + @$pb.TagNumber(34) + $core.bool hasIdempotencyLevel() => $_has(1); + @$pb.TagNumber(34) + void clearIdempotencyLevel() => clearField(34); + + /// Any features defined in the specific edition. + @$pb.TagNumber(35) + FeatureSet get features => $_getN(2); + @$pb.TagNumber(35) + set features(FeatureSet v) { + setField(35, v); + } + + @$pb.TagNumber(35) + $core.bool hasFeatures() => $_has(2); + @$pb.TagNumber(35) + void clearFeatures() => clearField(35); + @$pb.TagNumber(35) + FeatureSet ensureFeatures() => $_ensure(2); + + /// The parser stores options it doesn't recognize here. See above. + @$pb.TagNumber(999) + $core.List get uninterpretedOption => $_getList(3); +} + +/// The name of the uninterpreted option. Each string represents a segment in +/// a dot-separated name. is_extension is true iff a segment represents an +/// extension (denoted with parentheses in options specs in .proto files). +/// E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents +/// "foo.(bar.baz).moo". +class UninterpretedOption_NamePart extends $pb.GeneratedMessage { + factory UninterpretedOption_NamePart({ + $core.String? namePart, + $core.bool? isExtension, + }) { + final $result = create(); + if (namePart != null) { + $result.namePart = namePart; + } + if (isExtension != null) { + $result.isExtension = isExtension; + } + return $result; + } + UninterpretedOption_NamePart._() : super(); + factory UninterpretedOption_NamePart.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UninterpretedOption_NamePart.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UninterpretedOption.NamePart', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aQS(1, _omitFieldNames ? '' : 'namePart') + ..a<$core.bool>( + 2, _omitFieldNames ? '' : 'isExtension', $pb.PbFieldType.QB); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UninterpretedOption_NamePart clone() => + UninterpretedOption_NamePart()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UninterpretedOption_NamePart copyWith( + void Function(UninterpretedOption_NamePart) updates) => + super.copyWith( + (message) => updates(message as UninterpretedOption_NamePart)) + as UninterpretedOption_NamePart; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UninterpretedOption_NamePart create() => + UninterpretedOption_NamePart._(); + UninterpretedOption_NamePart createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UninterpretedOption_NamePart getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UninterpretedOption_NamePart? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get namePart => $_getSZ(0); + @$pb.TagNumber(1) + set namePart($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasNamePart() => $_has(0); + @$pb.TagNumber(1) + void clearNamePart() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get isExtension => $_getBF(1); + @$pb.TagNumber(2) + set isExtension($core.bool v) { + $_setBool(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasIsExtension() => $_has(1); + @$pb.TagNumber(2) + void clearIsExtension() => clearField(2); +} + +/// A message representing a option the parser does not recognize. This only +/// appears in options protos created by the compiler::Parser class. +/// DescriptorPool resolves these when building Descriptor objects. Therefore, +/// options protos in descriptor objects (e.g. returned by Descriptor::options(), +/// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +/// in them. +class UninterpretedOption extends $pb.GeneratedMessage { + factory UninterpretedOption({ + $core.Iterable? name, + $core.String? identifierValue, + $fixnum.Int64? positiveIntValue, + $fixnum.Int64? negativeIntValue, + $core.double? doubleValue, + $core.List<$core.int>? stringValue, + $core.String? aggregateValue, + }) { + final $result = create(); + if (name != null) { + $result.name.addAll(name); + } + if (identifierValue != null) { + $result.identifierValue = identifierValue; + } + if (positiveIntValue != null) { + $result.positiveIntValue = positiveIntValue; + } + if (negativeIntValue != null) { + $result.negativeIntValue = negativeIntValue; + } + if (doubleValue != null) { + $result.doubleValue = doubleValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (aggregateValue != null) { + $result.aggregateValue = aggregateValue; + } + return $result; + } + UninterpretedOption._() : super(); + factory UninterpretedOption.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UninterpretedOption.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UninterpretedOption', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..pc( + 2, _omitFieldNames ? '' : 'name', $pb.PbFieldType.PM, + subBuilder: UninterpretedOption_NamePart.create) + ..aOS(3, _omitFieldNames ? '' : 'identifierValue') + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'positiveIntValue', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..aInt64(5, _omitFieldNames ? '' : 'negativeIntValue') + ..a<$core.double>( + 6, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) + ..a<$core.List<$core.int>>( + 7, _omitFieldNames ? '' : 'stringValue', $pb.PbFieldType.OY) + ..aOS(8, _omitFieldNames ? '' : 'aggregateValue'); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UninterpretedOption clone() => UninterpretedOption()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UninterpretedOption copyWith(void Function(UninterpretedOption) updates) => + super.copyWith((message) => updates(message as UninterpretedOption)) + as UninterpretedOption; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UninterpretedOption create() => UninterpretedOption._(); + UninterpretedOption createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UninterpretedOption getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UninterpretedOption? _defaultInstance; + + @$pb.TagNumber(2) + $core.List get name => $_getList(0); + + /// The value of the uninterpreted option, in whatever type the tokenizer + /// identified it as during parsing. Exactly one of these should be set. + @$pb.TagNumber(3) + $core.String get identifierValue => $_getSZ(1); + @$pb.TagNumber(3) + set identifierValue($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(3) + $core.bool hasIdentifierValue() => $_has(1); + @$pb.TagNumber(3) + void clearIdentifierValue() => clearField(3); + + @$pb.TagNumber(4) + $fixnum.Int64 get positiveIntValue => $_getI64(2); + @$pb.TagNumber(4) + set positiveIntValue($fixnum.Int64 v) { + $_setInt64(2, v); + } + + @$pb.TagNumber(4) + $core.bool hasPositiveIntValue() => $_has(2); + @$pb.TagNumber(4) + void clearPositiveIntValue() => clearField(4); + + @$pb.TagNumber(5) + $fixnum.Int64 get negativeIntValue => $_getI64(3); + @$pb.TagNumber(5) + set negativeIntValue($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(5) + $core.bool hasNegativeIntValue() => $_has(3); + @$pb.TagNumber(5) + void clearNegativeIntValue() => clearField(5); + + @$pb.TagNumber(6) + $core.double get doubleValue => $_getN(4); + @$pb.TagNumber(6) + set doubleValue($core.double v) { + $_setDouble(4, v); + } + + @$pb.TagNumber(6) + $core.bool hasDoubleValue() => $_has(4); + @$pb.TagNumber(6) + void clearDoubleValue() => clearField(6); + + @$pb.TagNumber(7) + $core.List<$core.int> get stringValue => $_getN(5); + @$pb.TagNumber(7) + set stringValue($core.List<$core.int> v) { + $_setBytes(5, v); + } + + @$pb.TagNumber(7) + $core.bool hasStringValue() => $_has(5); + @$pb.TagNumber(7) + void clearStringValue() => clearField(7); + + @$pb.TagNumber(8) + $core.String get aggregateValue => $_getSZ(6); + @$pb.TagNumber(8) + set aggregateValue($core.String v) { + $_setString(6, v); + } + + @$pb.TagNumber(8) + $core.bool hasAggregateValue() => $_has(6); + @$pb.TagNumber(8) + void clearAggregateValue() => clearField(8); +} + +/// TODO Enums in C++ gencode (and potentially other languages) are +/// not well scoped. This means that each of the feature enums below can clash +/// with each other. The short names we've chosen maximize call-site +/// readability, but leave us very open to this scenario. A future feature will +/// be designed and implemented to handle this, hopefully before we ever hit a +/// conflict here. +class FeatureSet extends $pb.GeneratedMessage { + factory FeatureSet({ + FeatureSet_FieldPresence? fieldPresence, + FeatureSet_EnumType? enumType, + FeatureSet_RepeatedFieldEncoding? repeatedFieldEncoding, + FeatureSet_Utf8Validation? utf8Validation, + FeatureSet_MessageEncoding? messageEncoding, + FeatureSet_JsonFormat? jsonFormat, + }) { + final $result = create(); + if (fieldPresence != null) { + $result.fieldPresence = fieldPresence; + } + if (enumType != null) { + $result.enumType = enumType; + } + if (repeatedFieldEncoding != null) { + $result.repeatedFieldEncoding = repeatedFieldEncoding; + } + if (utf8Validation != null) { + $result.utf8Validation = utf8Validation; + } + if (messageEncoding != null) { + $result.messageEncoding = messageEncoding; + } + if (jsonFormat != null) { + $result.jsonFormat = jsonFormat; + } + return $result; + } + FeatureSet._() : super(); + factory FeatureSet.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FeatureSet.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FeatureSet', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..e( + 1, _omitFieldNames ? '' : 'fieldPresence', $pb.PbFieldType.OE, + defaultOrMaker: FeatureSet_FieldPresence.FIELD_PRESENCE_UNKNOWN, + valueOf: FeatureSet_FieldPresence.valueOf, + enumValues: FeatureSet_FieldPresence.values) + ..e( + 2, _omitFieldNames ? '' : 'enumType', $pb.PbFieldType.OE, + defaultOrMaker: FeatureSet_EnumType.ENUM_TYPE_UNKNOWN, + valueOf: FeatureSet_EnumType.valueOf, + enumValues: FeatureSet_EnumType.values) + ..e( + 3, _omitFieldNames ? '' : 'repeatedFieldEncoding', $pb.PbFieldType.OE, + defaultOrMaker: + FeatureSet_RepeatedFieldEncoding.REPEATED_FIELD_ENCODING_UNKNOWN, + valueOf: FeatureSet_RepeatedFieldEncoding.valueOf, + enumValues: FeatureSet_RepeatedFieldEncoding.values) + ..e( + 4, _omitFieldNames ? '' : 'utf8Validation', $pb.PbFieldType.OE, + defaultOrMaker: FeatureSet_Utf8Validation.UTF8_VALIDATION_UNKNOWN, + valueOf: FeatureSet_Utf8Validation.valueOf, + enumValues: FeatureSet_Utf8Validation.values) + ..e( + 5, _omitFieldNames ? '' : 'messageEncoding', $pb.PbFieldType.OE, + defaultOrMaker: FeatureSet_MessageEncoding.MESSAGE_ENCODING_UNKNOWN, + valueOf: FeatureSet_MessageEncoding.valueOf, + enumValues: FeatureSet_MessageEncoding.values) + ..e( + 6, _omitFieldNames ? '' : 'jsonFormat', $pb.PbFieldType.OE, + defaultOrMaker: FeatureSet_JsonFormat.JSON_FORMAT_UNKNOWN, + valueOf: FeatureSet_JsonFormat.valueOf, + enumValues: FeatureSet_JsonFormat.values) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FeatureSet clone() => FeatureSet()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FeatureSet copyWith(void Function(FeatureSet) updates) => + super.copyWith((message) => updates(message as FeatureSet)) as FeatureSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FeatureSet create() => FeatureSet._(); + FeatureSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FeatureSet getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FeatureSet? _defaultInstance; + + @$pb.TagNumber(1) + FeatureSet_FieldPresence get fieldPresence => $_getN(0); + @$pb.TagNumber(1) + set fieldPresence(FeatureSet_FieldPresence v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasFieldPresence() => $_has(0); + @$pb.TagNumber(1) + void clearFieldPresence() => clearField(1); + + @$pb.TagNumber(2) + FeatureSet_EnumType get enumType => $_getN(1); + @$pb.TagNumber(2) + set enumType(FeatureSet_EnumType v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasEnumType() => $_has(1); + @$pb.TagNumber(2) + void clearEnumType() => clearField(2); + + @$pb.TagNumber(3) + FeatureSet_RepeatedFieldEncoding get repeatedFieldEncoding => $_getN(2); + @$pb.TagNumber(3) + set repeatedFieldEncoding(FeatureSet_RepeatedFieldEncoding v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasRepeatedFieldEncoding() => $_has(2); + @$pb.TagNumber(3) + void clearRepeatedFieldEncoding() => clearField(3); + + @$pb.TagNumber(4) + FeatureSet_Utf8Validation get utf8Validation => $_getN(3); + @$pb.TagNumber(4) + set utf8Validation(FeatureSet_Utf8Validation v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasUtf8Validation() => $_has(3); + @$pb.TagNumber(4) + void clearUtf8Validation() => clearField(4); + + @$pb.TagNumber(5) + FeatureSet_MessageEncoding get messageEncoding => $_getN(4); + @$pb.TagNumber(5) + set messageEncoding(FeatureSet_MessageEncoding v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMessageEncoding() => $_has(4); + @$pb.TagNumber(5) + void clearMessageEncoding() => clearField(5); + + @$pb.TagNumber(6) + FeatureSet_JsonFormat get jsonFormat => $_getN(5); + @$pb.TagNumber(6) + set jsonFormat(FeatureSet_JsonFormat v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasJsonFormat() => $_has(5); + @$pb.TagNumber(6) + void clearJsonFormat() => clearField(6); +} + +/// A map from every known edition with a unique set of defaults to its +/// defaults. Not all editions may be contained here. For a given edition, +/// the defaults at the closest matching edition ordered at or before it should +/// be used. This field must be in strict ascending order by edition. +class FeatureSetDefaults_FeatureSetEditionDefault extends $pb.GeneratedMessage { + factory FeatureSetDefaults_FeatureSetEditionDefault({ + Edition? edition, + FeatureSet? overridableFeatures, + FeatureSet? fixedFeatures, + }) { + final $result = create(); + if (edition != null) { + $result.edition = edition; + } + if (overridableFeatures != null) { + $result.overridableFeatures = overridableFeatures; + } + if (fixedFeatures != null) { + $result.fixedFeatures = fixedFeatures; + } + return $result; + } + FeatureSetDefaults_FeatureSetEditionDefault._() : super(); + factory FeatureSetDefaults_FeatureSetEditionDefault.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FeatureSetDefaults_FeatureSetEditionDefault.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FeatureSetDefaults.FeatureSetEditionDefault', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..e(3, _omitFieldNames ? '' : 'edition', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values) + ..aOM(4, _omitFieldNames ? '' : 'overridableFeatures', + subBuilder: FeatureSet.create) + ..aOM(5, _omitFieldNames ? '' : 'fixedFeatures', + subBuilder: FeatureSet.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults_FeatureSetEditionDefault clone() => + FeatureSetDefaults_FeatureSetEditionDefault()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults_FeatureSetEditionDefault copyWith( + void Function(FeatureSetDefaults_FeatureSetEditionDefault) updates) => + super.copyWith((message) => + updates(message as FeatureSetDefaults_FeatureSetEditionDefault)) + as FeatureSetDefaults_FeatureSetEditionDefault; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults_FeatureSetEditionDefault create() => + FeatureSetDefaults_FeatureSetEditionDefault._(); + FeatureSetDefaults_FeatureSetEditionDefault createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults_FeatureSetEditionDefault getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + FeatureSetDefaults_FeatureSetEditionDefault>(create); + static FeatureSetDefaults_FeatureSetEditionDefault? _defaultInstance; + + @$pb.TagNumber(3) + Edition get edition => $_getN(0); + @$pb.TagNumber(3) + set edition(Edition v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasEdition() => $_has(0); + @$pb.TagNumber(3) + void clearEdition() => clearField(3); + + /// Defaults of features that can be overridden in this edition. + @$pb.TagNumber(4) + FeatureSet get overridableFeatures => $_getN(1); + @$pb.TagNumber(4) + set overridableFeatures(FeatureSet v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasOverridableFeatures() => $_has(1); + @$pb.TagNumber(4) + void clearOverridableFeatures() => clearField(4); + @$pb.TagNumber(4) + FeatureSet ensureOverridableFeatures() => $_ensure(1); + + /// Defaults of features that can't be overridden in this edition. + @$pb.TagNumber(5) + FeatureSet get fixedFeatures => $_getN(2); + @$pb.TagNumber(5) + set fixedFeatures(FeatureSet v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasFixedFeatures() => $_has(2); + @$pb.TagNumber(5) + void clearFixedFeatures() => clearField(5); + @$pb.TagNumber(5) + FeatureSet ensureFixedFeatures() => $_ensure(2); +} + +/// A compiled specification for the defaults of a set of features. These +/// messages are generated from FeatureSet extensions and can be used to seed +/// feature resolution. The resolution with this object becomes a simple search +/// for the closest matching edition, followed by proto merges. +class FeatureSetDefaults extends $pb.GeneratedMessage { + factory FeatureSetDefaults({ + $core.Iterable? defaults, + Edition? minimumEdition, + Edition? maximumEdition, + }) { + final $result = create(); + if (defaults != null) { + $result.defaults.addAll(defaults); + } + if (minimumEdition != null) { + $result.minimumEdition = minimumEdition; + } + if (maximumEdition != null) { + $result.maximumEdition = maximumEdition; + } + return $result; + } + FeatureSetDefaults._() : super(); + factory FeatureSetDefaults.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FeatureSetDefaults.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FeatureSetDefaults', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'defaults', $pb.PbFieldType.PM, + subBuilder: FeatureSetDefaults_FeatureSetEditionDefault.create) + ..e(4, _omitFieldNames ? '' : 'minimumEdition', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values) + ..e(5, _omitFieldNames ? '' : 'maximumEdition', $pb.PbFieldType.OE, + defaultOrMaker: Edition.EDITION_UNKNOWN, + valueOf: Edition.valueOf, + enumValues: Edition.values); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults clone() => FeatureSetDefaults()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FeatureSetDefaults copyWith(void Function(FeatureSetDefaults) updates) => + super.copyWith((message) => updates(message as FeatureSetDefaults)) + as FeatureSetDefaults; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults create() => FeatureSetDefaults._(); + FeatureSetDefaults createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FeatureSetDefaults getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static FeatureSetDefaults? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get defaults => + $_getList(0); + + /// The minimum supported edition (inclusive) when this was constructed. + /// Editions before this will not have defaults. + @$pb.TagNumber(4) + Edition get minimumEdition => $_getN(1); + @$pb.TagNumber(4) + set minimumEdition(Edition v) { + setField(4, v); + } + + @$pb.TagNumber(4) + $core.bool hasMinimumEdition() => $_has(1); + @$pb.TagNumber(4) + void clearMinimumEdition() => clearField(4); + + /// The maximum known edition (inclusive) when this was constructed. Editions + /// after this will not have reliable defaults. + @$pb.TagNumber(5) + Edition get maximumEdition => $_getN(2); + @$pb.TagNumber(5) + set maximumEdition(Edition v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasMaximumEdition() => $_has(2); + @$pb.TagNumber(5) + void clearMaximumEdition() => clearField(5); +} + +class SourceCodeInfo_Location extends $pb.GeneratedMessage { + factory SourceCodeInfo_Location({ + $core.Iterable<$core.int>? path, + $core.Iterable<$core.int>? span, + $core.String? leadingComments, + $core.String? trailingComments, + $core.Iterable<$core.String>? leadingDetachedComments, + }) { + final $result = create(); + if (path != null) { + $result.path.addAll(path); + } + if (span != null) { + $result.span.addAll(span); + } + if (leadingComments != null) { + $result.leadingComments = leadingComments; + } + if (trailingComments != null) { + $result.trailingComments = trailingComments; + } + if (leadingDetachedComments != null) { + $result.leadingDetachedComments.addAll(leadingDetachedComments); + } + return $result; + } + SourceCodeInfo_Location._() : super(); + factory SourceCodeInfo_Location.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceCodeInfo_Location.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceCodeInfo.Location', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'path', $pb.PbFieldType.K3) + ..p<$core.int>(2, _omitFieldNames ? '' : 'span', $pb.PbFieldType.K3) + ..aOS(3, _omitFieldNames ? '' : 'leadingComments') + ..aOS(4, _omitFieldNames ? '' : 'trailingComments') + ..pPS(6, _omitFieldNames ? '' : 'leadingDetachedComments') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceCodeInfo_Location clone() => + SourceCodeInfo_Location()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceCodeInfo_Location copyWith( + void Function(SourceCodeInfo_Location) updates) => + super.copyWith((message) => updates(message as SourceCodeInfo_Location)) + as SourceCodeInfo_Location; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceCodeInfo_Location create() => SourceCodeInfo_Location._(); + SourceCodeInfo_Location createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceCodeInfo_Location getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceCodeInfo_Location? _defaultInstance; + + /// Identifies which part of the FileDescriptorProto was defined at this + /// location. + /// + /// Each element is a field number or an index. They form a path from + /// the root FileDescriptorProto to the place where the definition appears. + /// For example, this path: + /// [ 4, 3, 2, 7, 1 ] + /// refers to: + /// file.message_type(3) // 4, 3 + /// .field(7) // 2, 7 + /// .name() // 1 + /// This is because FileDescriptorProto.message_type has field number 4: + /// repeated DescriptorProto message_type = 4; + /// and DescriptorProto.field has field number 2: + /// repeated FieldDescriptorProto field = 2; + /// and FieldDescriptorProto.name has field number 1: + /// optional string name = 1; + /// + /// Thus, the above path gives the location of a field name. If we removed + /// the last element: + /// [ 4, 3, 2, 7 ] + /// this path refers to the whole field declaration (from the beginning + /// of the label to the terminating semicolon). + @$pb.TagNumber(1) + $core.List<$core.int> get path => $_getList(0); + + /// Always has exactly three or four elements: start line, start column, + /// end line (optional, otherwise assumed same as start line), end column. + /// These are packed into a single field for efficiency. Note that line + /// and column numbers are zero-based -- typically you will want to add + /// 1 to each before displaying to a user. + @$pb.TagNumber(2) + $core.List<$core.int> get span => $_getList(1); + + /// If this SourceCodeInfo represents a complete declaration, these are any + /// comments appearing before and after the declaration which appear to be + /// attached to the declaration. + /// + /// A series of line comments appearing on consecutive lines, with no other + /// tokens appearing on those lines, will be treated as a single comment. + /// + /// leading_detached_comments will keep paragraphs of comments that appear + /// before (but not connected to) the current element. Each paragraph, + /// separated by empty lines, will be one comment element in the repeated + /// field. + /// + /// Only the comment content is provided; comment markers (e.g. //) are + /// stripped out. For block comments, leading whitespace and an asterisk + /// will be stripped from the beginning of each line other than the first. + /// Newlines are included in the output. + /// + /// Examples: + /// + /// optional int32 foo = 1; // Comment attached to foo. + /// // Comment attached to bar. + /// optional int32 bar = 2; + /// + /// optional string baz = 3; + /// // Comment attached to baz. + /// // Another line attached to baz. + /// + /// // Comment attached to moo. + /// // + /// // Another line attached to moo. + /// optional double moo = 4; + /// + /// // Detached comment for corge. This is not leading or trailing comments + /// // to moo or corge because there are blank lines separating it from + /// // both. + /// + /// // Detached comment for corge paragraph 2. + /// + /// optional string corge = 5; + /// /* Block comment attached + /// * to corge. Leading asterisks + /// * will be removed. */ + /// /* Block comment attached to + /// * grault. */ + /// optional int32 grault = 6; + /// + /// // ignored detached comments. + @$pb.TagNumber(3) + $core.String get leadingComments => $_getSZ(2); + @$pb.TagNumber(3) + set leadingComments($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasLeadingComments() => $_has(2); + @$pb.TagNumber(3) + void clearLeadingComments() => clearField(3); + + @$pb.TagNumber(4) + $core.String get trailingComments => $_getSZ(3); + @$pb.TagNumber(4) + set trailingComments($core.String v) { + $_setString(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasTrailingComments() => $_has(3); + @$pb.TagNumber(4) + void clearTrailingComments() => clearField(4); + + @$pb.TagNumber(6) + $core.List<$core.String> get leadingDetachedComments => $_getList(4); +} + +/// Encapsulates information about the original source file from which a +/// FileDescriptorProto was generated. +class SourceCodeInfo extends $pb.GeneratedMessage { + factory SourceCodeInfo({ + $core.Iterable? location, + }) { + final $result = create(); + if (location != null) { + $result.location.addAll(location); + } + return $result; + } + SourceCodeInfo._() : super(); + factory SourceCodeInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceCodeInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceCodeInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'location', $pb.PbFieldType.PM, + subBuilder: SourceCodeInfo_Location.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceCodeInfo clone() => SourceCodeInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceCodeInfo copyWith(void Function(SourceCodeInfo) updates) => + super.copyWith((message) => updates(message as SourceCodeInfo)) + as SourceCodeInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceCodeInfo create() => SourceCodeInfo._(); + SourceCodeInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceCodeInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceCodeInfo? _defaultInstance; + + /// A Location identifies a piece of source code in a .proto file which + /// corresponds to a particular definition. This information is intended + /// to be useful to IDEs, code indexers, documentation generators, and similar + /// tools. + /// + /// For example, say we have a file like: + /// message Foo { + /// optional string foo = 1; + /// } + /// Let's look at just the field definition: + /// optional string foo = 1; + /// ^ ^^ ^^ ^ ^^^ + /// a bc de f ghi + /// We have the following locations: + /// span path represents + /// [a,i) [ 4, 0, 2, 0 ] The whole field definition. + /// [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + /// [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + /// [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + /// [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + /// + /// Notes: + /// - A location may refer to a repeated field itself (i.e. not to any + /// particular index within it). This is used whenever a set of elements are + /// logically enclosed in a single code segment. For example, an entire + /// extend block (possibly containing multiple extension definitions) will + /// have an outer location whose path refers to the "extensions" repeated + /// field without an index. + /// - Multiple locations may have the same path. This happens when a single + /// logical declaration is spread out across multiple places. The most + /// obvious example is the "extend" block again -- there may be multiple + /// extend blocks in the same scope, each of which will have the same path. + /// - A location's span is not always a subset of its parent's span. For + /// example, the "extendee" of an extension declaration appears at the + /// beginning of the "extend" block and is shared by all extensions within + /// the block. + /// - Just because a location's span is a subset of some other location's span + /// does not mean that it is a descendant. For example, a "group" defines + /// both a type and a field in a single declaration. Thus, the locations + /// corresponding to the type and field and their components will overlap. + /// - Code which tries to interpret locations should probably be designed to + /// ignore those that it doesn't understand, as more types of locations could + /// be recorded in the future. + @$pb.TagNumber(1) + $core.List get location => $_getList(0); +} + +class GeneratedCodeInfo_Annotation extends $pb.GeneratedMessage { + factory GeneratedCodeInfo_Annotation({ + $core.Iterable<$core.int>? path, + $core.String? sourceFile, + $core.int? begin, + $core.int? end, + GeneratedCodeInfo_Annotation_Semantic? semantic, + }) { + final $result = create(); + if (path != null) { + $result.path.addAll(path); + } + if (sourceFile != null) { + $result.sourceFile = sourceFile; + } + if (begin != null) { + $result.begin = begin; + } + if (end != null) { + $result.end = end; + } + if (semantic != null) { + $result.semantic = semantic; + } + return $result; + } + GeneratedCodeInfo_Annotation._() : super(); + factory GeneratedCodeInfo_Annotation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GeneratedCodeInfo_Annotation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GeneratedCodeInfo.Annotation', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'path', $pb.PbFieldType.K3) + ..aOS(2, _omitFieldNames ? '' : 'sourceFile') + ..a<$core.int>(3, _omitFieldNames ? '' : 'begin', $pb.PbFieldType.O3) + ..a<$core.int>(4, _omitFieldNames ? '' : 'end', $pb.PbFieldType.O3) + ..e( + 5, _omitFieldNames ? '' : 'semantic', $pb.PbFieldType.OE, + defaultOrMaker: GeneratedCodeInfo_Annotation_Semantic.NONE, + valueOf: GeneratedCodeInfo_Annotation_Semantic.valueOf, + enumValues: GeneratedCodeInfo_Annotation_Semantic.values) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo_Annotation clone() => + GeneratedCodeInfo_Annotation()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo_Annotation copyWith( + void Function(GeneratedCodeInfo_Annotation) updates) => + super.copyWith( + (message) => updates(message as GeneratedCodeInfo_Annotation)) + as GeneratedCodeInfo_Annotation; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo_Annotation create() => + GeneratedCodeInfo_Annotation._(); + GeneratedCodeInfo_Annotation createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo_Annotation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GeneratedCodeInfo_Annotation? _defaultInstance; + + /// Identifies the element in the original source .proto file. This field + /// is formatted the same as SourceCodeInfo.Location.path. + @$pb.TagNumber(1) + $core.List<$core.int> get path => $_getList(0); + + /// Identifies the filesystem path to the original source .proto. + @$pb.TagNumber(2) + $core.String get sourceFile => $_getSZ(1); + @$pb.TagNumber(2) + set sourceFile($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasSourceFile() => $_has(1); + @$pb.TagNumber(2) + void clearSourceFile() => clearField(2); + + /// Identifies the starting offset in bytes in the generated code + /// that relates to the identified object. + @$pb.TagNumber(3) + $core.int get begin => $_getIZ(2); + @$pb.TagNumber(3) + set begin($core.int v) { + $_setSignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasBegin() => $_has(2); + @$pb.TagNumber(3) + void clearBegin() => clearField(3); + + /// Identifies the ending offset in bytes in the generated code that + /// relates to the identified object. The end offset should be one past + /// the last relevant byte (so the length of the text = end - begin). + @$pb.TagNumber(4) + $core.int get end => $_getIZ(3); + @$pb.TagNumber(4) + set end($core.int v) { + $_setSignedInt32(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasEnd() => $_has(3); + @$pb.TagNumber(4) + void clearEnd() => clearField(4); + + @$pb.TagNumber(5) + GeneratedCodeInfo_Annotation_Semantic get semantic => $_getN(4); + @$pb.TagNumber(5) + set semantic(GeneratedCodeInfo_Annotation_Semantic v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasSemantic() => $_has(4); + @$pb.TagNumber(5) + void clearSemantic() => clearField(5); +} + +/// Describes the relationship between generated code and its original source +/// file. A GeneratedCodeInfo message is associated with only one generated +/// source file, but may contain references to different source .proto files. +class GeneratedCodeInfo extends $pb.GeneratedMessage { + factory GeneratedCodeInfo({ + $core.Iterable? annotation, + }) { + final $result = create(); + if (annotation != null) { + $result.annotation.addAll(annotation); + } + return $result; + } + GeneratedCodeInfo._() : super(); + factory GeneratedCodeInfo.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GeneratedCodeInfo.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GeneratedCodeInfo', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..pc( + 1, _omitFieldNames ? '' : 'annotation', $pb.PbFieldType.PM, + subBuilder: GeneratedCodeInfo_Annotation.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo clone() => GeneratedCodeInfo()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GeneratedCodeInfo copyWith(void Function(GeneratedCodeInfo) updates) => + super.copyWith((message) => updates(message as GeneratedCodeInfo)) + as GeneratedCodeInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo create() => GeneratedCodeInfo._(); + GeneratedCodeInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GeneratedCodeInfo getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GeneratedCodeInfo? _defaultInstance; + + /// An Annotation connects some span of text in generated code to an element + /// of its generating .proto file. + @$pb.TagNumber(1) + $core.List get annotation => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pbenum.dart new file mode 100644 index 00000000..6ae675e9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pbenum.dart @@ -0,0 +1,529 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// The full set of known editions. +class Edition extends $pb.ProtobufEnum { + static const Edition EDITION_UNKNOWN = + Edition._(0, _omitEnumNames ? '' : 'EDITION_UNKNOWN'); + static const Edition EDITION_LEGACY = + Edition._(900, _omitEnumNames ? '' : 'EDITION_LEGACY'); + static const Edition EDITION_PROTO2 = + Edition._(998, _omitEnumNames ? '' : 'EDITION_PROTO2'); + static const Edition EDITION_PROTO3 = + Edition._(999, _omitEnumNames ? '' : 'EDITION_PROTO3'); + static const Edition EDITION_2023 = + Edition._(1000, _omitEnumNames ? '' : 'EDITION_2023'); + static const Edition EDITION_2024 = + Edition._(1001, _omitEnumNames ? '' : 'EDITION_2024'); + static const Edition EDITION_1_TEST_ONLY = + Edition._(1, _omitEnumNames ? '' : 'EDITION_1_TEST_ONLY'); + static const Edition EDITION_2_TEST_ONLY = + Edition._(2, _omitEnumNames ? '' : 'EDITION_2_TEST_ONLY'); + static const Edition EDITION_99997_TEST_ONLY = + Edition._(99997, _omitEnumNames ? '' : 'EDITION_99997_TEST_ONLY'); + static const Edition EDITION_99998_TEST_ONLY = + Edition._(99998, _omitEnumNames ? '' : 'EDITION_99998_TEST_ONLY'); + static const Edition EDITION_99999_TEST_ONLY = + Edition._(99999, _omitEnumNames ? '' : 'EDITION_99999_TEST_ONLY'); + static const Edition EDITION_MAX = + Edition._(2147483647, _omitEnumNames ? '' : 'EDITION_MAX'); + + static const $core.List values = [ + EDITION_UNKNOWN, + EDITION_LEGACY, + EDITION_PROTO2, + EDITION_PROTO3, + EDITION_2023, + EDITION_2024, + EDITION_1_TEST_ONLY, + EDITION_2_TEST_ONLY, + EDITION_99997_TEST_ONLY, + EDITION_99998_TEST_ONLY, + EDITION_99999_TEST_ONLY, + EDITION_MAX, + ]; + + static final $core.Map<$core.int, Edition> _byValue = + $pb.ProtobufEnum.initByValue(values); + static Edition? valueOf($core.int value) => _byValue[value]; + + const Edition._($core.int v, $core.String n) : super(v, n); +} + +/// The verification state of the extension range. +class ExtensionRangeOptions_VerificationState extends $pb.ProtobufEnum { + static const ExtensionRangeOptions_VerificationState DECLARATION = + ExtensionRangeOptions_VerificationState._( + 0, _omitEnumNames ? '' : 'DECLARATION'); + static const ExtensionRangeOptions_VerificationState UNVERIFIED = + ExtensionRangeOptions_VerificationState._( + 1, _omitEnumNames ? '' : 'UNVERIFIED'); + + static const $core.List values = + [ + DECLARATION, + UNVERIFIED, + ]; + + static final $core.Map<$core.int, ExtensionRangeOptions_VerificationState> + _byValue = $pb.ProtobufEnum.initByValue(values); + static ExtensionRangeOptions_VerificationState? valueOf($core.int value) => + _byValue[value]; + + const ExtensionRangeOptions_VerificationState._($core.int v, $core.String n) + : super(v, n); +} + +class FieldDescriptorProto_Type extends $pb.ProtobufEnum { + static const FieldDescriptorProto_Type TYPE_DOUBLE = + FieldDescriptorProto_Type._(1, _omitEnumNames ? '' : 'TYPE_DOUBLE'); + static const FieldDescriptorProto_Type TYPE_FLOAT = + FieldDescriptorProto_Type._(2, _omitEnumNames ? '' : 'TYPE_FLOAT'); + static const FieldDescriptorProto_Type TYPE_INT64 = + FieldDescriptorProto_Type._(3, _omitEnumNames ? '' : 'TYPE_INT64'); + static const FieldDescriptorProto_Type TYPE_UINT64 = + FieldDescriptorProto_Type._(4, _omitEnumNames ? '' : 'TYPE_UINT64'); + static const FieldDescriptorProto_Type TYPE_INT32 = + FieldDescriptorProto_Type._(5, _omitEnumNames ? '' : 'TYPE_INT32'); + static const FieldDescriptorProto_Type TYPE_FIXED64 = + FieldDescriptorProto_Type._(6, _omitEnumNames ? '' : 'TYPE_FIXED64'); + static const FieldDescriptorProto_Type TYPE_FIXED32 = + FieldDescriptorProto_Type._(7, _omitEnumNames ? '' : 'TYPE_FIXED32'); + static const FieldDescriptorProto_Type TYPE_BOOL = + FieldDescriptorProto_Type._(8, _omitEnumNames ? '' : 'TYPE_BOOL'); + static const FieldDescriptorProto_Type TYPE_STRING = + FieldDescriptorProto_Type._(9, _omitEnumNames ? '' : 'TYPE_STRING'); + static const FieldDescriptorProto_Type TYPE_GROUP = + FieldDescriptorProto_Type._(10, _omitEnumNames ? '' : 'TYPE_GROUP'); + static const FieldDescriptorProto_Type TYPE_MESSAGE = + FieldDescriptorProto_Type._(11, _omitEnumNames ? '' : 'TYPE_MESSAGE'); + static const FieldDescriptorProto_Type TYPE_BYTES = + FieldDescriptorProto_Type._(12, _omitEnumNames ? '' : 'TYPE_BYTES'); + static const FieldDescriptorProto_Type TYPE_UINT32 = + FieldDescriptorProto_Type._(13, _omitEnumNames ? '' : 'TYPE_UINT32'); + static const FieldDescriptorProto_Type TYPE_ENUM = + FieldDescriptorProto_Type._(14, _omitEnumNames ? '' : 'TYPE_ENUM'); + static const FieldDescriptorProto_Type TYPE_SFIXED32 = + FieldDescriptorProto_Type._(15, _omitEnumNames ? '' : 'TYPE_SFIXED32'); + static const FieldDescriptorProto_Type TYPE_SFIXED64 = + FieldDescriptorProto_Type._(16, _omitEnumNames ? '' : 'TYPE_SFIXED64'); + static const FieldDescriptorProto_Type TYPE_SINT32 = + FieldDescriptorProto_Type._(17, _omitEnumNames ? '' : 'TYPE_SINT32'); + static const FieldDescriptorProto_Type TYPE_SINT64 = + FieldDescriptorProto_Type._(18, _omitEnumNames ? '' : 'TYPE_SINT64'); + + static const $core.List values = + [ + TYPE_DOUBLE, + TYPE_FLOAT, + TYPE_INT64, + TYPE_UINT64, + TYPE_INT32, + TYPE_FIXED64, + TYPE_FIXED32, + TYPE_BOOL, + TYPE_STRING, + TYPE_GROUP, + TYPE_MESSAGE, + TYPE_BYTES, + TYPE_UINT32, + TYPE_ENUM, + TYPE_SFIXED32, + TYPE_SFIXED64, + TYPE_SINT32, + TYPE_SINT64, + ]; + + static final $core.Map<$core.int, FieldDescriptorProto_Type> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldDescriptorProto_Type? valueOf($core.int value) => _byValue[value]; + + const FieldDescriptorProto_Type._($core.int v, $core.String n) : super(v, n); +} + +class FieldDescriptorProto_Label extends $pb.ProtobufEnum { + static const FieldDescriptorProto_Label LABEL_OPTIONAL = + FieldDescriptorProto_Label._(1, _omitEnumNames ? '' : 'LABEL_OPTIONAL'); + static const FieldDescriptorProto_Label LABEL_REPEATED = + FieldDescriptorProto_Label._(3, _omitEnumNames ? '' : 'LABEL_REPEATED'); + static const FieldDescriptorProto_Label LABEL_REQUIRED = + FieldDescriptorProto_Label._(2, _omitEnumNames ? '' : 'LABEL_REQUIRED'); + + static const $core.List values = + [ + LABEL_OPTIONAL, + LABEL_REPEATED, + LABEL_REQUIRED, + ]; + + static final $core.Map<$core.int, FieldDescriptorProto_Label> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldDescriptorProto_Label? valueOf($core.int value) => + _byValue[value]; + + const FieldDescriptorProto_Label._($core.int v, $core.String n) : super(v, n); +} + +/// Generated classes can be optimized for speed or code size. +class FileOptions_OptimizeMode extends $pb.ProtobufEnum { + static const FileOptions_OptimizeMode SPEED = + FileOptions_OptimizeMode._(1, _omitEnumNames ? '' : 'SPEED'); + static const FileOptions_OptimizeMode CODE_SIZE = + FileOptions_OptimizeMode._(2, _omitEnumNames ? '' : 'CODE_SIZE'); + static const FileOptions_OptimizeMode LITE_RUNTIME = + FileOptions_OptimizeMode._(3, _omitEnumNames ? '' : 'LITE_RUNTIME'); + + static const $core.List values = + [ + SPEED, + CODE_SIZE, + LITE_RUNTIME, + ]; + + static final $core.Map<$core.int, FileOptions_OptimizeMode> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FileOptions_OptimizeMode? valueOf($core.int value) => _byValue[value]; + + const FileOptions_OptimizeMode._($core.int v, $core.String n) : super(v, n); +} + +class FieldOptions_CType extends $pb.ProtobufEnum { + static const FieldOptions_CType STRING = + FieldOptions_CType._(0, _omitEnumNames ? '' : 'STRING'); + static const FieldOptions_CType CORD = + FieldOptions_CType._(1, _omitEnumNames ? '' : 'CORD'); + static const FieldOptions_CType STRING_PIECE = + FieldOptions_CType._(2, _omitEnumNames ? '' : 'STRING_PIECE'); + + static const $core.List values = [ + STRING, + CORD, + STRING_PIECE, + ]; + + static final $core.Map<$core.int, FieldOptions_CType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldOptions_CType? valueOf($core.int value) => _byValue[value]; + + const FieldOptions_CType._($core.int v, $core.String n) : super(v, n); +} + +class FieldOptions_JSType extends $pb.ProtobufEnum { + static const FieldOptions_JSType JS_NORMAL = + FieldOptions_JSType._(0, _omitEnumNames ? '' : 'JS_NORMAL'); + static const FieldOptions_JSType JS_STRING = + FieldOptions_JSType._(1, _omitEnumNames ? '' : 'JS_STRING'); + static const FieldOptions_JSType JS_NUMBER = + FieldOptions_JSType._(2, _omitEnumNames ? '' : 'JS_NUMBER'); + + static const $core.List values = [ + JS_NORMAL, + JS_STRING, + JS_NUMBER, + ]; + + static final $core.Map<$core.int, FieldOptions_JSType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldOptions_JSType? valueOf($core.int value) => _byValue[value]; + + const FieldOptions_JSType._($core.int v, $core.String n) : super(v, n); +} + +/// If set to RETENTION_SOURCE, the option will be omitted from the binary. +/// Note: as of January 2023, support for this is in progress and does not yet +/// have an effect (b/264593489). +class FieldOptions_OptionRetention extends $pb.ProtobufEnum { + static const FieldOptions_OptionRetention RETENTION_UNKNOWN = + FieldOptions_OptionRetention._( + 0, _omitEnumNames ? '' : 'RETENTION_UNKNOWN'); + static const FieldOptions_OptionRetention RETENTION_RUNTIME = + FieldOptions_OptionRetention._( + 1, _omitEnumNames ? '' : 'RETENTION_RUNTIME'); + static const FieldOptions_OptionRetention RETENTION_SOURCE = + FieldOptions_OptionRetention._( + 2, _omitEnumNames ? '' : 'RETENTION_SOURCE'); + + static const $core.List values = + [ + RETENTION_UNKNOWN, + RETENTION_RUNTIME, + RETENTION_SOURCE, + ]; + + static final $core.Map<$core.int, FieldOptions_OptionRetention> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldOptions_OptionRetention? valueOf($core.int value) => + _byValue[value]; + + const FieldOptions_OptionRetention._($core.int v, $core.String n) + : super(v, n); +} + +/// This indicates the types of entities that the field may apply to when used +/// as an option. If it is unset, then the field may be freely used as an +/// option on any kind of entity. Note: as of January 2023, support for this is +/// in progress and does not yet have an effect (b/264593489). +class FieldOptions_OptionTargetType extends $pb.ProtobufEnum { + static const FieldOptions_OptionTargetType TARGET_TYPE_UNKNOWN = + FieldOptions_OptionTargetType._( + 0, _omitEnumNames ? '' : 'TARGET_TYPE_UNKNOWN'); + static const FieldOptions_OptionTargetType TARGET_TYPE_FILE = + FieldOptions_OptionTargetType._( + 1, _omitEnumNames ? '' : 'TARGET_TYPE_FILE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_EXTENSION_RANGE = + FieldOptions_OptionTargetType._( + 2, _omitEnumNames ? '' : 'TARGET_TYPE_EXTENSION_RANGE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_MESSAGE = + FieldOptions_OptionTargetType._( + 3, _omitEnumNames ? '' : 'TARGET_TYPE_MESSAGE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_FIELD = + FieldOptions_OptionTargetType._( + 4, _omitEnumNames ? '' : 'TARGET_TYPE_FIELD'); + static const FieldOptions_OptionTargetType TARGET_TYPE_ONEOF = + FieldOptions_OptionTargetType._( + 5, _omitEnumNames ? '' : 'TARGET_TYPE_ONEOF'); + static const FieldOptions_OptionTargetType TARGET_TYPE_ENUM = + FieldOptions_OptionTargetType._( + 6, _omitEnumNames ? '' : 'TARGET_TYPE_ENUM'); + static const FieldOptions_OptionTargetType TARGET_TYPE_ENUM_ENTRY = + FieldOptions_OptionTargetType._( + 7, _omitEnumNames ? '' : 'TARGET_TYPE_ENUM_ENTRY'); + static const FieldOptions_OptionTargetType TARGET_TYPE_SERVICE = + FieldOptions_OptionTargetType._( + 8, _omitEnumNames ? '' : 'TARGET_TYPE_SERVICE'); + static const FieldOptions_OptionTargetType TARGET_TYPE_METHOD = + FieldOptions_OptionTargetType._( + 9, _omitEnumNames ? '' : 'TARGET_TYPE_METHOD'); + + static const $core.List values = + [ + TARGET_TYPE_UNKNOWN, + TARGET_TYPE_FILE, + TARGET_TYPE_EXTENSION_RANGE, + TARGET_TYPE_MESSAGE, + TARGET_TYPE_FIELD, + TARGET_TYPE_ONEOF, + TARGET_TYPE_ENUM, + TARGET_TYPE_ENUM_ENTRY, + TARGET_TYPE_SERVICE, + TARGET_TYPE_METHOD, + ]; + + static final $core.Map<$core.int, FieldOptions_OptionTargetType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FieldOptions_OptionTargetType? valueOf($core.int value) => + _byValue[value]; + + const FieldOptions_OptionTargetType._($core.int v, $core.String n) + : super(v, n); +} + +/// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, +/// or neither? HTTP based RPC implementation may choose GET verb for safe +/// methods, and PUT verb for idempotent methods instead of the default POST. +class MethodOptions_IdempotencyLevel extends $pb.ProtobufEnum { + static const MethodOptions_IdempotencyLevel IDEMPOTENCY_UNKNOWN = + MethodOptions_IdempotencyLevel._( + 0, _omitEnumNames ? '' : 'IDEMPOTENCY_UNKNOWN'); + static const MethodOptions_IdempotencyLevel NO_SIDE_EFFECTS = + MethodOptions_IdempotencyLevel._( + 1, _omitEnumNames ? '' : 'NO_SIDE_EFFECTS'); + static const MethodOptions_IdempotencyLevel IDEMPOTENT = + MethodOptions_IdempotencyLevel._(2, _omitEnumNames ? '' : 'IDEMPOTENT'); + + static const $core.List values = + [ + IDEMPOTENCY_UNKNOWN, + NO_SIDE_EFFECTS, + IDEMPOTENT, + ]; + + static final $core.Map<$core.int, MethodOptions_IdempotencyLevel> _byValue = + $pb.ProtobufEnum.initByValue(values); + static MethodOptions_IdempotencyLevel? valueOf($core.int value) => + _byValue[value]; + + const MethodOptions_IdempotencyLevel._($core.int v, $core.String n) + : super(v, n); +} + +class FeatureSet_FieldPresence extends $pb.ProtobufEnum { + static const FeatureSet_FieldPresence FIELD_PRESENCE_UNKNOWN = + FeatureSet_FieldPresence._( + 0, _omitEnumNames ? '' : 'FIELD_PRESENCE_UNKNOWN'); + static const FeatureSet_FieldPresence EXPLICIT = + FeatureSet_FieldPresence._(1, _omitEnumNames ? '' : 'EXPLICIT'); + static const FeatureSet_FieldPresence IMPLICIT = + FeatureSet_FieldPresence._(2, _omitEnumNames ? '' : 'IMPLICIT'); + static const FeatureSet_FieldPresence LEGACY_REQUIRED = + FeatureSet_FieldPresence._(3, _omitEnumNames ? '' : 'LEGACY_REQUIRED'); + + static const $core.List values = + [ + FIELD_PRESENCE_UNKNOWN, + EXPLICIT, + IMPLICIT, + LEGACY_REQUIRED, + ]; + + static final $core.Map<$core.int, FeatureSet_FieldPresence> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FeatureSet_FieldPresence? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_FieldPresence._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_EnumType extends $pb.ProtobufEnum { + static const FeatureSet_EnumType ENUM_TYPE_UNKNOWN = + FeatureSet_EnumType._(0, _omitEnumNames ? '' : 'ENUM_TYPE_UNKNOWN'); + static const FeatureSet_EnumType OPEN = + FeatureSet_EnumType._(1, _omitEnumNames ? '' : 'OPEN'); + static const FeatureSet_EnumType CLOSED = + FeatureSet_EnumType._(2, _omitEnumNames ? '' : 'CLOSED'); + + static const $core.List values = [ + ENUM_TYPE_UNKNOWN, + OPEN, + CLOSED, + ]; + + static final $core.Map<$core.int, FeatureSet_EnumType> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FeatureSet_EnumType? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_EnumType._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_RepeatedFieldEncoding extends $pb.ProtobufEnum { + static const FeatureSet_RepeatedFieldEncoding + REPEATED_FIELD_ENCODING_UNKNOWN = FeatureSet_RepeatedFieldEncoding._( + 0, _omitEnumNames ? '' : 'REPEATED_FIELD_ENCODING_UNKNOWN'); + static const FeatureSet_RepeatedFieldEncoding PACKED = + FeatureSet_RepeatedFieldEncoding._(1, _omitEnumNames ? '' : 'PACKED'); + static const FeatureSet_RepeatedFieldEncoding EXPANDED = + FeatureSet_RepeatedFieldEncoding._(2, _omitEnumNames ? '' : 'EXPANDED'); + + static const $core.List values = + [ + REPEATED_FIELD_ENCODING_UNKNOWN, + PACKED, + EXPANDED, + ]; + + static final $core.Map<$core.int, FeatureSet_RepeatedFieldEncoding> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FeatureSet_RepeatedFieldEncoding? valueOf($core.int value) => + _byValue[value]; + + const FeatureSet_RepeatedFieldEncoding._($core.int v, $core.String n) + : super(v, n); +} + +class FeatureSet_Utf8Validation extends $pb.ProtobufEnum { + static const FeatureSet_Utf8Validation UTF8_VALIDATION_UNKNOWN = + FeatureSet_Utf8Validation._( + 0, _omitEnumNames ? '' : 'UTF8_VALIDATION_UNKNOWN'); + static const FeatureSet_Utf8Validation VERIFY = + FeatureSet_Utf8Validation._(2, _omitEnumNames ? '' : 'VERIFY'); + static const FeatureSet_Utf8Validation NONE = + FeatureSet_Utf8Validation._(3, _omitEnumNames ? '' : 'NONE'); + + static const $core.List values = + [ + UTF8_VALIDATION_UNKNOWN, + VERIFY, + NONE, + ]; + + static final $core.Map<$core.int, FeatureSet_Utf8Validation> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FeatureSet_Utf8Validation? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_Utf8Validation._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_MessageEncoding extends $pb.ProtobufEnum { + static const FeatureSet_MessageEncoding MESSAGE_ENCODING_UNKNOWN = + FeatureSet_MessageEncoding._( + 0, _omitEnumNames ? '' : 'MESSAGE_ENCODING_UNKNOWN'); + static const FeatureSet_MessageEncoding LENGTH_PREFIXED = + FeatureSet_MessageEncoding._(1, _omitEnumNames ? '' : 'LENGTH_PREFIXED'); + static const FeatureSet_MessageEncoding DELIMITED = + FeatureSet_MessageEncoding._(2, _omitEnumNames ? '' : 'DELIMITED'); + + static const $core.List values = + [ + MESSAGE_ENCODING_UNKNOWN, + LENGTH_PREFIXED, + DELIMITED, + ]; + + static final $core.Map<$core.int, FeatureSet_MessageEncoding> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FeatureSet_MessageEncoding? valueOf($core.int value) => + _byValue[value]; + + const FeatureSet_MessageEncoding._($core.int v, $core.String n) : super(v, n); +} + +class FeatureSet_JsonFormat extends $pb.ProtobufEnum { + static const FeatureSet_JsonFormat JSON_FORMAT_UNKNOWN = + FeatureSet_JsonFormat._(0, _omitEnumNames ? '' : 'JSON_FORMAT_UNKNOWN'); + static const FeatureSet_JsonFormat ALLOW = + FeatureSet_JsonFormat._(1, _omitEnumNames ? '' : 'ALLOW'); + static const FeatureSet_JsonFormat LEGACY_BEST_EFFORT = + FeatureSet_JsonFormat._(2, _omitEnumNames ? '' : 'LEGACY_BEST_EFFORT'); + + static const $core.List values = + [ + JSON_FORMAT_UNKNOWN, + ALLOW, + LEGACY_BEST_EFFORT, + ]; + + static final $core.Map<$core.int, FeatureSet_JsonFormat> _byValue = + $pb.ProtobufEnum.initByValue(values); + static FeatureSet_JsonFormat? valueOf($core.int value) => _byValue[value]; + + const FeatureSet_JsonFormat._($core.int v, $core.String n) : super(v, n); +} + +/// Represents the identified object's effect on the element in the original +/// .proto file. +class GeneratedCodeInfo_Annotation_Semantic extends $pb.ProtobufEnum { + static const GeneratedCodeInfo_Annotation_Semantic NONE = + GeneratedCodeInfo_Annotation_Semantic._(0, _omitEnumNames ? '' : 'NONE'); + static const GeneratedCodeInfo_Annotation_Semantic SET = + GeneratedCodeInfo_Annotation_Semantic._(1, _omitEnumNames ? '' : 'SET'); + static const GeneratedCodeInfo_Annotation_Semantic ALIAS = + GeneratedCodeInfo_Annotation_Semantic._(2, _omitEnumNames ? '' : 'ALIAS'); + + static const $core.List values = + [ + NONE, + SET, + ALIAS, + ]; + + static final $core.Map<$core.int, GeneratedCodeInfo_Annotation_Semantic> + _byValue = $pb.ProtobufEnum.initByValue(values); + static GeneratedCodeInfo_Annotation_Semantic? valueOf($core.int value) => + _byValue[value]; + + const GeneratedCodeInfo_Annotation_Semantic._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pbjson.dart new file mode 100644 index 00000000..a286ea23 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/descriptor.pbjson.dart @@ -0,0 +1,1804 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/descriptor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use editionDescriptor instead') +const Edition$json = { + '1': 'Edition', + '2': [ + {'1': 'EDITION_UNKNOWN', '2': 0}, + {'1': 'EDITION_LEGACY', '2': 900}, + {'1': 'EDITION_PROTO2', '2': 998}, + {'1': 'EDITION_PROTO3', '2': 999}, + {'1': 'EDITION_2023', '2': 1000}, + {'1': 'EDITION_2024', '2': 1001}, + {'1': 'EDITION_1_TEST_ONLY', '2': 1}, + {'1': 'EDITION_2_TEST_ONLY', '2': 2}, + {'1': 'EDITION_99997_TEST_ONLY', '2': 99997}, + {'1': 'EDITION_99998_TEST_ONLY', '2': 99998}, + {'1': 'EDITION_99999_TEST_ONLY', '2': 99999}, + {'1': 'EDITION_MAX', '2': 2147483647}, + ], +}; + +/// Descriptor for `Edition`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List editionDescriptor = $convert.base64Decode( + 'CgdFZGl0aW9uEhMKD0VESVRJT05fVU5LTk9XThAAEhMKDkVESVRJT05fTEVHQUNZEIQHEhMKDk' + 'VESVRJT05fUFJPVE8yEOYHEhMKDkVESVRJT05fUFJPVE8zEOcHEhEKDEVESVRJT05fMjAyMxDo' + 'BxIRCgxFRElUSU9OXzIwMjQQ6QcSFwoTRURJVElPTl8xX1RFU1RfT05MWRABEhcKE0VESVRJT0' + '5fMl9URVNUX09OTFkQAhIdChdFRElUSU9OXzk5OTk3X1RFU1RfT05MWRCdjQYSHQoXRURJVElP' + 'Tl85OTk5OF9URVNUX09OTFkQno0GEh0KF0VESVRJT05fOTk5OTlfVEVTVF9PTkxZEJ+NBhITCg' + 'tFRElUSU9OX01BWBD/////Bw=='); + +@$core.Deprecated('Use fileDescriptorSetDescriptor instead') +const FileDescriptorSet$json = { + '1': 'FileDescriptorSet', + '2': [ + { + '1': 'file', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.FileDescriptorProto', + '10': 'file' + }, + ], +}; + +/// Descriptor for `FileDescriptorSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileDescriptorSetDescriptor = $convert.base64Decode( + 'ChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbG' + 'VEZXNjcmlwdG9yUHJvdG9SBGZpbGU='); + +@$core.Deprecated('Use fileDescriptorProtoDescriptor instead') +const FileDescriptorProto$json = { + '1': 'FileDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'package', '3': 2, '4': 1, '5': 9, '10': 'package'}, + {'1': 'dependency', '3': 3, '4': 3, '5': 9, '10': 'dependency'}, + { + '1': 'public_dependency', + '3': 10, + '4': 3, + '5': 5, + '10': 'publicDependency' + }, + {'1': 'weak_dependency', '3': 11, '4': 3, '5': 5, '10': 'weakDependency'}, + { + '1': 'message_type', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.protobuf.DescriptorProto', + '10': 'messageType' + }, + { + '1': 'enum_type', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.protobuf.EnumDescriptorProto', + '10': 'enumType' + }, + { + '1': 'service', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.protobuf.ServiceDescriptorProto', + '10': 'service' + }, + { + '1': 'extension', + '3': 7, + '4': 3, + '5': 11, + '6': '.google.protobuf.FieldDescriptorProto', + '10': 'extension' + }, + { + '1': 'options', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.FileOptions', + '10': 'options' + }, + { + '1': 'source_code_info', + '3': 9, + '4': 1, + '5': 11, + '6': '.google.protobuf.SourceCodeInfo', + '10': 'sourceCodeInfo' + }, + {'1': 'syntax', '3': 12, '4': 1, '5': 9, '10': 'syntax'}, + { + '1': 'edition', + '3': 14, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'edition' + }, + ], +}; + +/// Descriptor for `FileDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileDescriptorProtoDescriptor = $convert.base64Decode( + 'ChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIA' + 'EoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19k' + 'ZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIA' + 'MoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3Rv' + 'YnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ2' + '9vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UY' + 'BiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZR' + 'JDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJv' + 'dG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcH' + 'Rpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9i' + 'dWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludG' + 'F4EjIKB2VkaXRpb24YDiABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbg=='); + +@$core.Deprecated('Use descriptorProtoDescriptor instead') +const DescriptorProto$json = { + '1': 'DescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'field', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.protobuf.FieldDescriptorProto', + '10': 'field' + }, + { + '1': 'extension', + '3': 6, + '4': 3, + '5': 11, + '6': '.google.protobuf.FieldDescriptorProto', + '10': 'extension' + }, + { + '1': 'nested_type', + '3': 3, + '4': 3, + '5': 11, + '6': '.google.protobuf.DescriptorProto', + '10': 'nestedType' + }, + { + '1': 'enum_type', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.protobuf.EnumDescriptorProto', + '10': 'enumType' + }, + { + '1': 'extension_range', + '3': 5, + '4': 3, + '5': 11, + '6': '.google.protobuf.DescriptorProto.ExtensionRange', + '10': 'extensionRange' + }, + { + '1': 'oneof_decl', + '3': 8, + '4': 3, + '5': 11, + '6': '.google.protobuf.OneofDescriptorProto', + '10': 'oneofDecl' + }, + { + '1': 'options', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.MessageOptions', + '10': 'options' + }, + { + '1': 'reserved_range', + '3': 9, + '4': 3, + '5': 11, + '6': '.google.protobuf.DescriptorProto.ReservedRange', + '10': 'reservedRange' + }, + {'1': 'reserved_name', '3': 10, '4': 3, '5': 9, '10': 'reservedName'}, + ], + '3': [ + DescriptorProto_ExtensionRange$json, + DescriptorProto_ReservedRange$json + ], +}; + +@$core.Deprecated('Use descriptorProtoDescriptor instead') +const DescriptorProto_ExtensionRange$json = { + '1': 'ExtensionRange', + '2': [ + {'1': 'start', '3': 1, '4': 1, '5': 5, '10': 'start'}, + {'1': 'end', '3': 2, '4': 1, '5': 5, '10': 'end'}, + { + '1': 'options', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.ExtensionRangeOptions', + '10': 'options' + }, + ], +}; + +@$core.Deprecated('Use descriptorProtoDescriptor instead') +const DescriptorProto_ReservedRange$json = { + '1': 'ReservedRange', + '2': [ + {'1': 'start', '3': 1, '4': 1, '5': 5, '10': 'start'}, + {'1': 'end', '3': 2, '4': 1, '5': 5, '10': 'end'}, + ], +}; + +/// Descriptor for `DescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List descriptorProtoDescriptor = $convert.base64Decode( + 'Cg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLm' + 'dvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9u' + 'GAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb2' + '4SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3Rv' + 'UgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRG' + 'VzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29n' + 'bGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW' + '5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRv' + 'clByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZX' + 'NzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5w' + 'cm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg' + '1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoF' + 'c3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi' + '5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2Vy' + 'dmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5k'); + +@$core.Deprecated('Use extensionRangeOptionsDescriptor instead') +const ExtensionRangeOptions$json = { + '1': 'ExtensionRangeOptions', + '2': [ + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + { + '1': 'declaration', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.protobuf.ExtensionRangeOptions.Declaration', + '8': {}, + '10': 'declaration' + }, + { + '1': 'features', + '3': 50, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'verification', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.protobuf.ExtensionRangeOptions.VerificationState', + '7': 'UNVERIFIED', + '8': {}, + '10': 'verification' + }, + ], + '3': [ExtensionRangeOptions_Declaration$json], + '4': [ExtensionRangeOptions_VerificationState$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +@$core.Deprecated('Use extensionRangeOptionsDescriptor instead') +const ExtensionRangeOptions_Declaration$json = { + '1': 'Declaration', + '2': [ + {'1': 'number', '3': 1, '4': 1, '5': 5, '10': 'number'}, + {'1': 'full_name', '3': 2, '4': 1, '5': 9, '10': 'fullName'}, + {'1': 'type', '3': 3, '4': 1, '5': 9, '10': 'type'}, + {'1': 'reserved', '3': 5, '4': 1, '5': 8, '10': 'reserved'}, + {'1': 'repeated', '3': 6, '4': 1, '5': 8, '10': 'repeated'}, + ], + '9': [ + {'1': 4, '2': 5}, + ], +}; + +@$core.Deprecated('Use extensionRangeOptionsDescriptor instead') +const ExtensionRangeOptions_VerificationState$json = { + '1': 'VerificationState', + '2': [ + {'1': 'DECLARATION', '2': 0}, + {'1': 'UNVERIFIED', '2': 1}, + ], +}; + +/// Descriptor for `ExtensionRangeOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List extensionRangeOptionsDescriptor = $convert.base64Decode( + 'ChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMi' + 'QuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRp' + 'b24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2' + 'VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEjcKCGZlYXR1cmVzGDIgASgL' + 'MhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEm0KDHZlcmlmaWNhdGlvbh' + 'gDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0' + 'aW9uU3RhdGU6ClVOVkVSSUZJRURCA4gBAlIMdmVyaWZpY2F0aW9uGpQBCgtEZWNsYXJhdGlvbh' + 'IWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIK' + 'BHR5cGUYAyABKAlSBHR5cGUSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdG' + 'VkGAYgASgIUghyZXBlYXRlZEoECAQQBSI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJB' + 'VElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIAC'); + +@$core.Deprecated('Use fieldDescriptorProtoDescriptor instead') +const FieldDescriptorProto$json = { + '1': 'FieldDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'number', '3': 3, '4': 1, '5': 5, '10': 'number'}, + { + '1': 'label', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.protobuf.FieldDescriptorProto.Label', + '10': 'label' + }, + { + '1': 'type', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.protobuf.FieldDescriptorProto.Type', + '10': 'type' + }, + {'1': 'type_name', '3': 6, '4': 1, '5': 9, '10': 'typeName'}, + {'1': 'extendee', '3': 2, '4': 1, '5': 9, '10': 'extendee'}, + {'1': 'default_value', '3': 7, '4': 1, '5': 9, '10': 'defaultValue'}, + {'1': 'oneof_index', '3': 9, '4': 1, '5': 5, '10': 'oneofIndex'}, + {'1': 'json_name', '3': 10, '4': 1, '5': 9, '10': 'jsonName'}, + { + '1': 'options', + '3': 8, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldOptions', + '10': 'options' + }, + {'1': 'proto3_optional', '3': 17, '4': 1, '5': 8, '10': 'proto3Optional'}, + ], + '4': [FieldDescriptorProto_Type$json, FieldDescriptorProto_Label$json], +}; + +@$core.Deprecated('Use fieldDescriptorProtoDescriptor instead') +const FieldDescriptorProto_Type$json = { + '1': 'Type', + '2': [ + {'1': 'TYPE_DOUBLE', '2': 1}, + {'1': 'TYPE_FLOAT', '2': 2}, + {'1': 'TYPE_INT64', '2': 3}, + {'1': 'TYPE_UINT64', '2': 4}, + {'1': 'TYPE_INT32', '2': 5}, + {'1': 'TYPE_FIXED64', '2': 6}, + {'1': 'TYPE_FIXED32', '2': 7}, + {'1': 'TYPE_BOOL', '2': 8}, + {'1': 'TYPE_STRING', '2': 9}, + {'1': 'TYPE_GROUP', '2': 10}, + {'1': 'TYPE_MESSAGE', '2': 11}, + {'1': 'TYPE_BYTES', '2': 12}, + {'1': 'TYPE_UINT32', '2': 13}, + {'1': 'TYPE_ENUM', '2': 14}, + {'1': 'TYPE_SFIXED32', '2': 15}, + {'1': 'TYPE_SFIXED64', '2': 16}, + {'1': 'TYPE_SINT32', '2': 17}, + {'1': 'TYPE_SINT64', '2': 18}, + ], +}; + +@$core.Deprecated('Use fieldDescriptorProtoDescriptor instead') +const FieldDescriptorProto_Label$json = { + '1': 'Label', + '2': [ + {'1': 'LABEL_OPTIONAL', '2': 1}, + {'1': 'LABEL_REPEATED', '2': 3}, + {'1': 'LABEL_REQUIRED', '2': 2}, + ], +}; + +/// Descriptor for `FieldDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldDescriptorProtoDescriptor = $convert.base64Decode( + 'ChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIA' + 'EoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3Jp' + 'cHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLk' + 'ZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBl' + 'TmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCV' + 'IMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25f' + 'bmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi' + '5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNP' + 'cHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWV' + 'BFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhF' + 'RDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCR' + 'IOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZ' + 'UEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0' + 'ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoO' + 'TEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVBFQVRFRBADEhIKDkxBQkVMX1JFUVVJUkVEEA' + 'I='); + +@$core.Deprecated('Use oneofDescriptorProtoDescriptor instead') +const OneofDescriptorProto$json = { + '1': 'OneofDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'options', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.OneofOptions', + '10': 'options' + }, + ], +}; + +/// Descriptor for `OneofDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List oneofDescriptorProtoDescriptor = $convert.base64Decode( + 'ChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAi' + 'ABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25z'); + +@$core.Deprecated('Use enumDescriptorProtoDescriptor instead') +const EnumDescriptorProto$json = { + '1': 'EnumDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'value', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.protobuf.EnumValueDescriptorProto', + '10': 'value' + }, + { + '1': 'options', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.EnumOptions', + '10': 'options' + }, + { + '1': 'reserved_range', + '3': 4, + '4': 3, + '5': 11, + '6': '.google.protobuf.EnumDescriptorProto.EnumReservedRange', + '10': 'reservedRange' + }, + {'1': 'reserved_name', '3': 5, '4': 3, '5': 9, '10': 'reservedName'}, + ], + '3': [EnumDescriptorProto_EnumReservedRange$json], +}; + +@$core.Deprecated('Use enumDescriptorProtoDescriptor instead') +const EnumDescriptorProto_EnumReservedRange$json = { + '1': 'EnumReservedRange', + '2': [ + {'1': 'start', '3': 1, '4': 1, '5': 5, '10': 'start'}, + {'1': 'end', '3': 2, '4': 1, '5': 5, '10': 'end'}, + ], +}; + +/// Descriptor for `EnumDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumDescriptorProtoDescriptor = $convert.base64Decode( + 'ChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKA' + 'syKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2Cgdv' + 'cHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDn' + 'Jlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJv' + 'dG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIA' + 'MoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVz' + 'dGFydBIQCgNlbmQYAiABKAVSA2VuZA=='); + +@$core.Deprecated('Use enumValueDescriptorProtoDescriptor instead') +const EnumValueDescriptorProto$json = { + '1': 'EnumValueDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'number', '3': 2, '4': 1, '5': 5, '10': 'number'}, + { + '1': 'options', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.EnumValueOptions', + '10': 'options' + }, + ], +}; + +/// Descriptor for `EnumValueDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumValueDescriptorProtoDescriptor = $convert.base64Decode( + 'ChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZX' + 'IYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1W' + 'YWx1ZU9wdGlvbnNSB29wdGlvbnM='); + +@$core.Deprecated('Use serviceDescriptorProtoDescriptor instead') +const ServiceDescriptorProto$json = { + '1': 'ServiceDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + { + '1': 'method', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.protobuf.MethodDescriptorProto', + '10': 'method' + }, + { + '1': 'options', + '3': 3, + '4': 1, + '5': 11, + '6': '.google.protobuf.ServiceOptions', + '10': 'options' + }, + ], +}; + +/// Descriptor for `ServiceDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceDescriptorProtoDescriptor = $convert.base64Decode( + 'ChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGA' + 'IgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkK' + 'B29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbn' + 'M='); + +@$core.Deprecated('Use methodDescriptorProtoDescriptor instead') +const MethodDescriptorProto$json = { + '1': 'MethodDescriptorProto', + '2': [ + {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, + {'1': 'input_type', '3': 2, '4': 1, '5': 9, '10': 'inputType'}, + {'1': 'output_type', '3': 3, '4': 1, '5': 9, '10': 'outputType'}, + { + '1': 'options', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.MethodOptions', + '10': 'options' + }, + { + '1': 'client_streaming', + '3': 5, + '4': 1, + '5': 8, + '7': 'false', + '10': 'clientStreaming' + }, + { + '1': 'server_streaming', + '3': 6, + '4': 1, + '5': 8, + '7': 'false', + '10': 'serverStreaming' + }, + ], +}; + +/// Descriptor for `MethodDescriptorProto`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodDescriptorProtoDescriptor = $convert.base64Decode( + 'ChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eX' + 'BlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoH' + 'b3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEj' + 'AKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2Vy' + 'dmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZw=='); + +@$core.Deprecated('Use fileOptionsDescriptor instead') +const FileOptions$json = { + '1': 'FileOptions', + '2': [ + {'1': 'java_package', '3': 1, '4': 1, '5': 9, '10': 'javaPackage'}, + { + '1': 'java_outer_classname', + '3': 8, + '4': 1, + '5': 9, + '10': 'javaOuterClassname' + }, + { + '1': 'java_multiple_files', + '3': 10, + '4': 1, + '5': 8, + '7': 'false', + '10': 'javaMultipleFiles' + }, + { + '1': 'java_generate_equals_and_hash', + '3': 20, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'javaGenerateEqualsAndHash', + }, + { + '1': 'java_string_check_utf8', + '3': 27, + '4': 1, + '5': 8, + '7': 'false', + '10': 'javaStringCheckUtf8' + }, + { + '1': 'optimize_for', + '3': 9, + '4': 1, + '5': 14, + '6': '.google.protobuf.FileOptions.OptimizeMode', + '7': 'SPEED', + '10': 'optimizeFor' + }, + {'1': 'go_package', '3': 11, '4': 1, '5': 9, '10': 'goPackage'}, + { + '1': 'cc_generic_services', + '3': 16, + '4': 1, + '5': 8, + '7': 'false', + '10': 'ccGenericServices' + }, + { + '1': 'java_generic_services', + '3': 17, + '4': 1, + '5': 8, + '7': 'false', + '10': 'javaGenericServices' + }, + { + '1': 'py_generic_services', + '3': 18, + '4': 1, + '5': 8, + '7': 'false', + '10': 'pyGenericServices' + }, + { + '1': 'deprecated', + '3': 23, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + { + '1': 'cc_enable_arenas', + '3': 31, + '4': 1, + '5': 8, + '7': 'true', + '10': 'ccEnableArenas' + }, + { + '1': 'objc_class_prefix', + '3': 36, + '4': 1, + '5': 9, + '10': 'objcClassPrefix' + }, + {'1': 'csharp_namespace', '3': 37, '4': 1, '5': 9, '10': 'csharpNamespace'}, + {'1': 'swift_prefix', '3': 39, '4': 1, '5': 9, '10': 'swiftPrefix'}, + {'1': 'php_class_prefix', '3': 40, '4': 1, '5': 9, '10': 'phpClassPrefix'}, + {'1': 'php_namespace', '3': 41, '4': 1, '5': 9, '10': 'phpNamespace'}, + { + '1': 'php_metadata_namespace', + '3': 44, + '4': 1, + '5': 9, + '10': 'phpMetadataNamespace' + }, + {'1': 'ruby_package', '3': 45, '4': 1, '5': 9, '10': 'rubyPackage'}, + { + '1': 'features', + '3': 50, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '4': [FileOptions_OptimizeMode$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 42, '2': 43}, + {'1': 38, '2': 39}, + ], + '10': ['php_generic_services'], +}; + +@$core.Deprecated('Use fileOptionsDescriptor instead') +const FileOptions_OptimizeMode$json = { + '1': 'OptimizeMode', + '2': [ + {'1': 'SPEED', '2': 1}, + {'1': 'CODE_SIZE', '2': 2}, + {'1': 'LITE_RUNTIME', '2': 3}, + ], +}; + +/// Descriptor for `FileOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fileOptionsDescriptor = $convert.base64Decode( + 'CgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdm' + 'Ffb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0' + 'aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZX' + 'JhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFz' + 'aBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZW' + 'NrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlv' + 'bnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCV' + 'IJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVy' + 'aWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2' + 'VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdl' + 'bmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIuCh' + 'BjY19lbmFibGVfYXJlbmFzGB8gASgIOgR0cnVlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2Ns' + 'YXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UYJS' + 'ABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZml4' + 'EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1lc3' + 'BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgASgJ' + 'UhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNrYW' + 'dlEjcKCGZlYXR1cmVzGDIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1' + 'cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5Vbm' + 'ludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZRIJ' + 'CgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJKBA' + 'gqECtKBAgmECdSFHBocF9nZW5lcmljX3NlcnZpY2Vz'); + +@$core.Deprecated('Use messageOptionsDescriptor instead') +const MessageOptions$json = { + '1': 'MessageOptions', + '2': [ + { + '1': 'message_set_wire_format', + '3': 1, + '4': 1, + '5': 8, + '7': 'false', + '10': 'messageSetWireFormat' + }, + { + '1': 'no_standard_descriptor_accessor', + '3': 2, + '4': 1, + '5': 8, + '7': 'false', + '10': 'noStandardDescriptorAccessor' + }, + { + '1': 'deprecated', + '3': 3, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + {'1': 'map_entry', '3': 7, '4': 1, '5': 8, '10': 'mapEntry'}, + { + '1': 'deprecated_legacy_json_field_conflicts', + '3': 11, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'deprecatedLegacyJsonFieldConflicts', + }, + { + '1': 'features', + '3': 12, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 4, '2': 5}, + {'1': 5, '2': 6}, + {'1': 6, '2': 7}, + {'1': 8, '2': 9}, + {'1': 9, '2': 10}, + ], +}; + +/// Descriptor for `MessageOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List messageOptionsDescriptor = $convert.base64Decode( + 'Cg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2' + 'VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNz' + 'b3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2' + 'F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50' + 'cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUi' + 'JkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAwgASgLMhsu' + 'Z29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3' + 'B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmlu' + 'dGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEA' + 'o='); + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions$json = { + '1': 'FieldOptions', + '2': [ + { + '1': 'ctype', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.FieldOptions.CType', + '7': 'STRING', + '10': 'ctype' + }, + {'1': 'packed', '3': 2, '4': 1, '5': 8, '10': 'packed'}, + { + '1': 'jstype', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.protobuf.FieldOptions.JSType', + '7': 'JS_NORMAL', + '10': 'jstype' + }, + {'1': 'lazy', '3': 5, '4': 1, '5': 8, '7': 'false', '10': 'lazy'}, + { + '1': 'unverified_lazy', + '3': 15, + '4': 1, + '5': 8, + '7': 'false', + '10': 'unverifiedLazy' + }, + { + '1': 'deprecated', + '3': 3, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + {'1': 'weak', '3': 10, '4': 1, '5': 8, '7': 'false', '10': 'weak'}, + { + '1': 'debug_redact', + '3': 16, + '4': 1, + '5': 8, + '7': 'false', + '10': 'debugRedact' + }, + { + '1': 'retention', + '3': 17, + '4': 1, + '5': 14, + '6': '.google.protobuf.FieldOptions.OptionRetention', + '10': 'retention' + }, + { + '1': 'targets', + '3': 19, + '4': 3, + '5': 14, + '6': '.google.protobuf.FieldOptions.OptionTargetType', + '10': 'targets' + }, + { + '1': 'edition_defaults', + '3': 20, + '4': 3, + '5': 11, + '6': '.google.protobuf.FieldOptions.EditionDefault', + '10': 'editionDefaults' + }, + { + '1': 'features', + '3': 21, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'feature_support', + '3': 22, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldOptions.FeatureSupport', + '10': 'featureSupport' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '3': [FieldOptions_EditionDefault$json, FieldOptions_FeatureSupport$json], + '4': [ + FieldOptions_CType$json, + FieldOptions_JSType$json, + FieldOptions_OptionRetention$json, + FieldOptions_OptionTargetType$json + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 4, '2': 5}, + {'1': 18, '2': 19}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_EditionDefault$json = { + '1': 'EditionDefault', + '2': [ + { + '1': 'edition', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'edition' + }, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_FeatureSupport$json = { + '1': 'FeatureSupport', + '2': [ + { + '1': 'edition_introduced', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'editionIntroduced' + }, + { + '1': 'edition_deprecated', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'editionDeprecated' + }, + { + '1': 'deprecation_warning', + '3': 3, + '4': 1, + '5': 9, + '10': 'deprecationWarning' + }, + { + '1': 'edition_removed', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'editionRemoved' + }, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_CType$json = { + '1': 'CType', + '2': [ + {'1': 'STRING', '2': 0}, + {'1': 'CORD', '2': 1}, + {'1': 'STRING_PIECE', '2': 2}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_JSType$json = { + '1': 'JSType', + '2': [ + {'1': 'JS_NORMAL', '2': 0}, + {'1': 'JS_STRING', '2': 1}, + {'1': 'JS_NUMBER', '2': 2}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_OptionRetention$json = { + '1': 'OptionRetention', + '2': [ + {'1': 'RETENTION_UNKNOWN', '2': 0}, + {'1': 'RETENTION_RUNTIME', '2': 1}, + {'1': 'RETENTION_SOURCE', '2': 2}, + ], +}; + +@$core.Deprecated('Use fieldOptionsDescriptor instead') +const FieldOptions_OptionTargetType$json = { + '1': 'OptionTargetType', + '2': [ + {'1': 'TARGET_TYPE_UNKNOWN', '2': 0}, + {'1': 'TARGET_TYPE_FILE', '2': 1}, + {'1': 'TARGET_TYPE_EXTENSION_RANGE', '2': 2}, + {'1': 'TARGET_TYPE_MESSAGE', '2': 3}, + {'1': 'TARGET_TYPE_FIELD', '2': 4}, + {'1': 'TARGET_TYPE_ONEOF', '2': 5}, + {'1': 'TARGET_TYPE_ENUM', '2': 6}, + {'1': 'TARGET_TYPE_ENUM_ENTRY', '2': 7}, + {'1': 'TARGET_TYPE_SERVICE', '2': 8}, + {'1': 'TARGET_TYPE_METHOD', '2': 9}, + ], +}; + +/// Descriptor for `FieldOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldOptionsDescriptor = $convert.base64Decode( + 'CgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcH' + 'Rpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpz' + 'dHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1' + 'JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xh' + 'enkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYW' + 'xzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRh' + 'Y3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbG' + 'UucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkgKB3Rh' + 'cmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldF' + 'R5cGVSB3RhcmdldHMSVwoQZWRpdGlvbl9kZWZhdWx0cxgUIAMoCzIsLmdvb2dsZS5wcm90b2J1' + 'Zi5GaWVsZE9wdGlvbnMuRWRpdGlvbkRlZmF1bHRSD2VkaXRpb25EZWZhdWx0cxI3CghmZWF0dX' + 'JlcxgVIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJVCg9mZWF0' + 'dXJlX3N1cHBvcnQYFiABKAsyLC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkZlYXR1cm' + 'VTdXBwb3J0Ug5mZWF0dXJlU3VwcG9ydBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsy' + 'JC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdG' + 'lvbhpaCg5FZGl0aW9uRGVmYXVsdBIyCgdlZGl0aW9uGAMgASgOMhguZ29vZ2xlLnByb3RvYnVm' + 'LkVkaXRpb25SB2VkaXRpb24SFAoFdmFsdWUYAiABKAlSBXZhbHVlGpYCCg5GZWF0dXJlU3VwcG' + '9ydBJHChJlZGl0aW9uX2ludHJvZHVjZWQYASABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlv' + 'blIRZWRpdGlvbkludHJvZHVjZWQSRwoSZWRpdGlvbl9kZXByZWNhdGVkGAIgASgOMhguZ29vZ2' + 'xlLnByb3RvYnVmLkVkaXRpb25SEWVkaXRpb25EZXByZWNhdGVkEi8KE2RlcHJlY2F0aW9uX3dh' + 'cm5pbmcYAyABKAlSEmRlcHJlY2F0aW9uV2FybmluZxJBCg9lZGl0aW9uX3JlbW92ZWQYBCABKA' + '4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIOZWRpdGlvblJlbW92ZWQiLwoFQ1R5cGUSCgoG' + 'U1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1' + 'JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24S' + 'FQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVE' + 'lPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dO' + 'EAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRR' + 'ACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRB' + 'UkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0' + 'VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVU' + 'SE9EEAkqCQjoBxCAgICAAkoECAQQBUoECBIQEw=='); + +@$core.Deprecated('Use oneofOptionsDescriptor instead') +const OneofOptions$json = { + '1': 'OneofOptions', + '2': [ + { + '1': 'features', + '3': 1, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +/// Descriptor for `OneofOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List oneofOptionsDescriptor = $convert.base64Decode( + 'CgxPbmVvZk9wdGlvbnMSNwoIZmVhdHVyZXMYASABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdH' + 'VyZVNldFIIZmVhdHVyZXMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xl' + 'LnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBx' + 'CAgICAAg=='); + +@$core.Deprecated('Use enumOptionsDescriptor instead') +const EnumOptions$json = { + '1': 'EnumOptions', + '2': [ + {'1': 'allow_alias', '3': 2, '4': 1, '5': 8, '10': 'allowAlias'}, + { + '1': 'deprecated', + '3': 3, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + { + '1': 'deprecated_legacy_json_field_conflicts', + '3': 6, + '4': 1, + '5': 8, + '8': {'3': true}, + '10': 'deprecatedLegacyJsonFieldConflicts', + }, + { + '1': 'features', + '3': 7, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], + '9': [ + {'1': 5, '2': 6}, + ], +}; + +/// Descriptor for `EnumOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumOptionsDescriptor = $convert.base64Decode( + 'CgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZW' + 'NhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29u' + 'X2ZpZWxkX2NvbmZsaWN0cxgGIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb2' + '5mbGljdHMSNwoIZmVhdHVyZXMYByABKAsyGy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldFII' + 'ZmVhdHVyZXMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYn' + 'VmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoE' + 'CAUQBg=='); + +@$core.Deprecated('Use enumValueOptionsDescriptor instead') +const EnumValueOptions$json = { + '1': 'EnumValueOptions', + '2': [ + { + '1': 'deprecated', + '3': 1, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + { + '1': 'features', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'debug_redact', + '3': 3, + '4': 1, + '5': 8, + '7': 'false', + '10': 'debugRedact' + }, + { + '1': 'feature_support', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldOptions.FeatureSupport', + '10': 'featureSupport' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +/// Descriptor for `EnumValueOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumValueOptionsDescriptor = $convert.base64Decode( + 'ChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdG' + 'VkEjcKCGZlYXR1cmVzGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1' + 'cmVzEigKDGRlYnVnX3JlZGFjdBgDIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0ElUKD2ZlYXR1cm' + 'Vfc3VwcG9ydBgEIAEoCzIsLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuRmVhdHVyZVN1' + 'cHBvcnRSDmZlYXR1cmVTdXBwb3J0ElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLm' + 'dvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9u' + 'KgkI6AcQgICAgAI='); + +@$core.Deprecated('Use serviceOptionsDescriptor instead') +const ServiceOptions$json = { + '1': 'ServiceOptions', + '2': [ + { + '1': 'features', + '3': 34, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'deprecated', + '3': 33, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +/// Descriptor for `ServiceOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List serviceOptionsDescriptor = $convert.base64Decode( + 'Cg5TZXJ2aWNlT3B0aW9ucxI3CghmZWF0dXJlcxgiIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZW' + 'F0dXJlU2V0UghmZWF0dXJlcxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRl' + 'ZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbn' + 'RlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIAC'); + +@$core.Deprecated('Use methodOptionsDescriptor instead') +const MethodOptions$json = { + '1': 'MethodOptions', + '2': [ + { + '1': 'deprecated', + '3': 33, + '4': 1, + '5': 8, + '7': 'false', + '10': 'deprecated' + }, + { + '1': 'idempotency_level', + '3': 34, + '4': 1, + '5': 14, + '6': '.google.protobuf.MethodOptions.IdempotencyLevel', + '7': 'IDEMPOTENCY_UNKNOWN', + '10': 'idempotencyLevel' + }, + { + '1': 'features', + '3': 35, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'features' + }, + { + '1': 'uninterpreted_option', + '3': 999, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption', + '10': 'uninterpretedOption' + }, + ], + '4': [MethodOptions_IdempotencyLevel$json], + '5': [ + {'1': 1000, '2': 536870912}, + ], +}; + +@$core.Deprecated('Use methodOptionsDescriptor instead') +const MethodOptions_IdempotencyLevel$json = { + '1': 'IdempotencyLevel', + '2': [ + {'1': 'IDEMPOTENCY_UNKNOWN', '2': 0}, + {'1': 'NO_SIDE_EFFECTS', '2': 1}, + {'1': 'IDEMPOTENT', '2': 2}, + ], +}; + +/// Descriptor for `MethodOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List methodOptionsDescriptor = $convert.base64Decode( + 'Cg1NZXRob2RPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkEn' + 'EKEWlkZW1wb3RlbmN5X2xldmVsGCIgASgOMi8uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlv' + 'bnMuSWRlbXBvdGVuY3lMZXZlbDoTSURFTVBPVEVOQ1lfVU5LTk9XTlIQaWRlbXBvdGVuY3lMZX' + 'ZlbBI3CghmZWF0dXJlcxgjIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0' + 'dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW' + '5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiJQChBJZGVtcG90ZW5jeUxl' + 'dmVsEhcKE0lERU1QT1RFTkNZX1VOS05PV04QABITCg9OT19TSURFX0VGRkVDVFMQARIOCgpJRE' + 'VNUE9URU5UEAIqCQjoBxCAgICAAg=='); + +@$core.Deprecated('Use uninterpretedOptionDescriptor instead') +const UninterpretedOption$json = { + '1': 'UninterpretedOption', + '2': [ + { + '1': 'name', + '3': 2, + '4': 3, + '5': 11, + '6': '.google.protobuf.UninterpretedOption.NamePart', + '10': 'name' + }, + {'1': 'identifier_value', '3': 3, '4': 1, '5': 9, '10': 'identifierValue'}, + { + '1': 'positive_int_value', + '3': 4, + '4': 1, + '5': 4, + '10': 'positiveIntValue' + }, + { + '1': 'negative_int_value', + '3': 5, + '4': 1, + '5': 3, + '10': 'negativeIntValue' + }, + {'1': 'double_value', '3': 6, '4': 1, '5': 1, '10': 'doubleValue'}, + {'1': 'string_value', '3': 7, '4': 1, '5': 12, '10': 'stringValue'}, + {'1': 'aggregate_value', '3': 8, '4': 1, '5': 9, '10': 'aggregateValue'}, + ], + '3': [UninterpretedOption_NamePart$json], +}; + +@$core.Deprecated('Use uninterpretedOptionDescriptor instead') +const UninterpretedOption_NamePart$json = { + '1': 'NamePart', + '2': [ + {'1': 'name_part', '3': 1, '4': 2, '5': 9, '10': 'namePart'}, + {'1': 'is_extension', '3': 2, '4': 2, '5': 8, '10': 'isExtension'}, + ], +}; + +/// Descriptor for `UninterpretedOption`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List uninterpretedOptionDescriptor = $convert.base64Decode( + 'ChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW' + '5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMg' + 'ASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdG' + 'l2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1' + 'ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIA' + 'EoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1' + 'ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2' + 'lvbhgCIAIoCFILaXNFeHRlbnNpb24='); + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet$json = { + '1': 'FeatureSet', + '2': [ + { + '1': 'field_presence', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.FeatureSet.FieldPresence', + '8': {}, + '10': 'fieldPresence' + }, + { + '1': 'enum_type', + '3': 2, + '4': 1, + '5': 14, + '6': '.google.protobuf.FeatureSet.EnumType', + '8': {}, + '10': 'enumType' + }, + { + '1': 'repeated_field_encoding', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.protobuf.FeatureSet.RepeatedFieldEncoding', + '8': {}, + '10': 'repeatedFieldEncoding' + }, + { + '1': 'utf8_validation', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.protobuf.FeatureSet.Utf8Validation', + '8': {}, + '10': 'utf8Validation' + }, + { + '1': 'message_encoding', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.protobuf.FeatureSet.MessageEncoding', + '8': {}, + '10': 'messageEncoding' + }, + { + '1': 'json_format', + '3': 6, + '4': 1, + '5': 14, + '6': '.google.protobuf.FeatureSet.JsonFormat', + '8': {}, + '10': 'jsonFormat' + }, + ], + '4': [ + FeatureSet_FieldPresence$json, + FeatureSet_EnumType$json, + FeatureSet_RepeatedFieldEncoding$json, + FeatureSet_Utf8Validation$json, + FeatureSet_MessageEncoding$json, + FeatureSet_JsonFormat$json + ], + '5': [ + {'1': 1000, '2': 9995, '3': {}}, + {'1': 9995, '2': 10000}, + {'1': 10000, '2': 10001}, + ], + '9': [ + {'1': 999, '2': 1000}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_FieldPresence$json = { + '1': 'FieldPresence', + '2': [ + {'1': 'FIELD_PRESENCE_UNKNOWN', '2': 0}, + {'1': 'EXPLICIT', '2': 1}, + {'1': 'IMPLICIT', '2': 2}, + {'1': 'LEGACY_REQUIRED', '2': 3}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_EnumType$json = { + '1': 'EnumType', + '2': [ + {'1': 'ENUM_TYPE_UNKNOWN', '2': 0}, + {'1': 'OPEN', '2': 1}, + {'1': 'CLOSED', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_RepeatedFieldEncoding$json = { + '1': 'RepeatedFieldEncoding', + '2': [ + {'1': 'REPEATED_FIELD_ENCODING_UNKNOWN', '2': 0}, + {'1': 'PACKED', '2': 1}, + {'1': 'EXPANDED', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_Utf8Validation$json = { + '1': 'Utf8Validation', + '2': [ + {'1': 'UTF8_VALIDATION_UNKNOWN', '2': 0}, + {'1': 'VERIFY', '2': 2}, + {'1': 'NONE', '2': 3}, + ], + '4': [ + {'1': 1, '2': 1}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_MessageEncoding$json = { + '1': 'MessageEncoding', + '2': [ + {'1': 'MESSAGE_ENCODING_UNKNOWN', '2': 0}, + {'1': 'LENGTH_PREFIXED', '2': 1}, + {'1': 'DELIMITED', '2': 2}, + ], +}; + +@$core.Deprecated('Use featureSetDescriptor instead') +const FeatureSet_JsonFormat$json = { + '1': 'JsonFormat', + '2': [ + {'1': 'JSON_FORMAT_UNKNOWN', '2': 0}, + {'1': 'ALLOW', '2': 1}, + {'1': 'LEGACY_BEST_EFFORT', '2': 2}, + ], +}; + +/// Descriptor for `FeatureSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List featureSetDescriptor = $convert.base64Decode( + 'CgpGZWF0dXJlU2V0EpEBCg5maWVsZF9wcmVzZW5jZRgBIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi' + '5GZWF0dXJlU2V0LkZpZWxkUHJlc2VuY2VCP4gBAZgBBJgBAbIBAwjoB6IBDRIIRVhQTElDSVQY' + 'hAeiAQ0SCElNUExJQ0lUGOcHogENEghFWFBMSUNJVBjoB1INZmllbGRQcmVzZW5jZRJsCgllbn' + 'VtX3R5cGUYAiABKA4yJC5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5FbnVtVHlwZUIpiAEB' + 'mAEGmAEBsgEDCOgHogELEgZDTE9TRUQYhAeiAQkSBE9QRU4Y5wdSCGVudW1UeXBlEpgBChdyZX' + 'BlYXRlZF9maWVsZF9lbmNvZGluZxgDIAEoDjIxLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0' + 'LlJlcGVhdGVkRmllbGRFbmNvZGluZ0ItiAEBmAEEmAEBsgEDCOgHogENEghFWFBBTkRFRBiEB6' + 'IBCxIGUEFDS0VEGOcHUhVyZXBlYXRlZEZpZWxkRW5jb2RpbmcSfgoPdXRmOF92YWxpZGF0aW9u' + 'GAQgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuVXRmOFZhbGlkYXRpb25CKYgBAZ' + 'gBBJgBAbIBAwjoB6IBCRIETk9ORRiEB6IBCxIGVkVSSUZZGOcHUg51dGY4VmFsaWRhdGlvbhJ+' + 'ChBtZXNzYWdlX2VuY29kaW5nGAUgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuTW' + 'Vzc2FnZUVuY29kaW5nQiaIAQGYAQSYAQGyAQMI6AeiARQSD0xFTkdUSF9QUkVGSVhFRBiEB1IP' + 'bWVzc2FnZUVuY29kaW5nEoIBCgtqc29uX2Zvcm1hdBgGIAEoDjImLmdvb2dsZS5wcm90b2J1Zi' + '5GZWF0dXJlU2V0Lkpzb25Gb3JtYXRCOYgBAZgBA5gBBpgBAbIBAwjoB6IBFxISTEVHQUNZX0JF' + 'U1RfRUZGT1JUGIQHogEKEgVBTExPVxjnB1IKanNvbkZvcm1hdCJcCg1GaWVsZFByZXNlbmNlEh' + 'oKFkZJRUxEX1BSRVNFTkNFX1VOS05PV04QABIMCghFWFBMSUNJVBABEgwKCElNUExJQ0lUEAIS' + 'EwoPTEVHQUNZX1JFUVVJUkVEEAMiNwoIRW51bVR5cGUSFQoRRU5VTV9UWVBFX1VOS05PV04QAB' + 'IICgRPUEVOEAESCgoGQ0xPU0VEEAIiVgoVUmVwZWF0ZWRGaWVsZEVuY29kaW5nEiMKH1JFUEVB' + 'VEVEX0ZJRUxEX0VOQ09ESU5HX1VOS05PV04QABIKCgZQQUNLRUQQARIMCghFWFBBTkRFRBACIk' + 'kKDlV0ZjhWYWxpZGF0aW9uEhsKF1VURjhfVkFMSURBVElPTl9VTktOT1dOEAASCgoGVkVSSUZZ' + 'EAISCAoETk9ORRADIgQIARABIlMKD01lc3NhZ2VFbmNvZGluZxIcChhNRVNTQUdFX0VOQ09ESU' + '5HX1VOS05PV04QABITCg9MRU5HVEhfUFJFRklYRUQQARINCglERUxJTUlURUQQAiJICgpKc29u' + 'Rm9ybWF0EhcKE0pTT05fRk9STUFUX1VOS05PV04QABIJCgVBTExPVxABEhYKEkxFR0FDWV9CRV' + 'NUX0VGRk9SVBACKosBCOgHEItOGoIBEh0I6AcSBy5wYi5jcHAaDy5wYi5DcHBGZWF0dXJlcxIf' + 'COkHEggucGIuamF2YRoQLnBiLkphdmFGZWF0dXJlcxIbCOoHEgYucGIuZ28aDi5wYi5Hb0ZlYX' + 'R1cmVzEiMIhk4SCi5wYi5wcm90bzEaEi5wYi5Qcm90bzFGZWF0dXJlcyoGCItOEJBOKgYIkE4Q' + 'kU5KBgjnBxDoBw=='); + +@$core.Deprecated('Use featureSetDefaultsDescriptor instead') +const FeatureSetDefaults$json = { + '1': 'FeatureSetDefaults', + '2': [ + { + '1': 'defaults', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault', + '10': 'defaults' + }, + { + '1': 'minimum_edition', + '3': 4, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'minimumEdition' + }, + { + '1': 'maximum_edition', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'maximumEdition' + }, + ], + '3': [FeatureSetDefaults_FeatureSetEditionDefault$json], +}; + +@$core.Deprecated('Use featureSetDefaultsDescriptor instead') +const FeatureSetDefaults_FeatureSetEditionDefault$json = { + '1': 'FeatureSetEditionDefault', + '2': [ + { + '1': 'edition', + '3': 3, + '4': 1, + '5': 14, + '6': '.google.protobuf.Edition', + '10': 'edition' + }, + { + '1': 'overridable_features', + '3': 4, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'overridableFeatures' + }, + { + '1': 'fixed_features', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.FeatureSet', + '10': 'fixedFeatures' + }, + ], + '9': [ + {'1': 1, '2': 2}, + {'1': 2, '2': 3}, + ], + '10': ['features'], +}; + +/// Descriptor for `FeatureSetDefaults`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List featureSetDefaultsDescriptor = $convert.base64Decode( + 'ChJGZWF0dXJlU2V0RGVmYXVsdHMSWAoIZGVmYXVsdHMYASADKAsyPC5nb29nbGUucHJvdG9idW' + 'YuRmVhdHVyZVNldERlZmF1bHRzLkZlYXR1cmVTZXRFZGl0aW9uRGVmYXVsdFIIZGVmYXVsdHMS' + 'QQoPbWluaW11bV9lZGl0aW9uGAQgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SDm1pbm' + 'ltdW1FZGl0aW9uEkEKD21heGltdW1fZWRpdGlvbhgFIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5F' + 'ZGl0aW9uUg5tYXhpbXVtRWRpdGlvbhr4AQoYRmVhdHVyZVNldEVkaXRpb25EZWZhdWx0EjIKB2' + 'VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhJOChRvdmVy' + 'cmlkYWJsZV9mZWF0dXJlcxgEIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UhNvdm' + 'VycmlkYWJsZUZlYXR1cmVzEkIKDmZpeGVkX2ZlYXR1cmVzGAUgASgLMhsuZ29vZ2xlLnByb3Rv' + 'YnVmLkZlYXR1cmVTZXRSDWZpeGVkRmVhdHVyZXNKBAgBEAJKBAgCEANSCGZlYXR1cmVz'); + +@$core.Deprecated('Use sourceCodeInfoDescriptor instead') +const SourceCodeInfo$json = { + '1': 'SourceCodeInfo', + '2': [ + { + '1': 'location', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.SourceCodeInfo.Location', + '10': 'location' + }, + ], + '3': [SourceCodeInfo_Location$json], +}; + +@$core.Deprecated('Use sourceCodeInfoDescriptor instead') +const SourceCodeInfo_Location$json = { + '1': 'Location', + '2': [ + { + '1': 'path', + '3': 1, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'path', + }, + { + '1': 'span', + '3': 2, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'span', + }, + {'1': 'leading_comments', '3': 3, '4': 1, '5': 9, '10': 'leadingComments'}, + { + '1': 'trailing_comments', + '3': 4, + '4': 1, + '5': 9, + '10': 'trailingComments' + }, + { + '1': 'leading_detached_comments', + '3': 6, + '4': 3, + '5': 9, + '10': 'leadingDetachedComments' + }, + ], +}; + +/// Descriptor for `SourceCodeInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceCodeInfoDescriptor = $convert.base64Decode( + 'Cg5Tb3VyY2VDb2RlSW5mbxJECghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3' + 'VyY2VDb2RlSW5mby5Mb2NhdGlvblIIbG9jYXRpb24azgEKCExvY2F0aW9uEhYKBHBhdGgYASAD' + 'KAVCAhABUgRwYXRoEhYKBHNwYW4YAiADKAVCAhABUgRzcGFuEikKEGxlYWRpbmdfY29tbWVudH' + 'MYAyABKAlSD2xlYWRpbmdDb21tZW50cxIrChF0cmFpbGluZ19jb21tZW50cxgEIAEoCVIQdHJh' + 'aWxpbmdDb21tZW50cxI6ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJUhdsZWFkaW' + '5nRGV0YWNoZWRDb21tZW50cw=='); + +@$core.Deprecated('Use generatedCodeInfoDescriptor instead') +const GeneratedCodeInfo$json = { + '1': 'GeneratedCodeInfo', + '2': [ + { + '1': 'annotation', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.GeneratedCodeInfo.Annotation', + '10': 'annotation' + }, + ], + '3': [GeneratedCodeInfo_Annotation$json], +}; + +@$core.Deprecated('Use generatedCodeInfoDescriptor instead') +const GeneratedCodeInfo_Annotation$json = { + '1': 'Annotation', + '2': [ + { + '1': 'path', + '3': 1, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'path', + }, + {'1': 'source_file', '3': 2, '4': 1, '5': 9, '10': 'sourceFile'}, + {'1': 'begin', '3': 3, '4': 1, '5': 5, '10': 'begin'}, + {'1': 'end', '3': 4, '4': 1, '5': 5, '10': 'end'}, + { + '1': 'semantic', + '3': 5, + '4': 1, + '5': 14, + '6': '.google.protobuf.GeneratedCodeInfo.Annotation.Semantic', + '10': 'semantic' + }, + ], + '4': [GeneratedCodeInfo_Annotation_Semantic$json], +}; + +@$core.Deprecated('Use generatedCodeInfoDescriptor instead') +const GeneratedCodeInfo_Annotation_Semantic$json = { + '1': 'Semantic', + '2': [ + {'1': 'NONE', '2': 0}, + {'1': 'SET', '2': 1}, + {'1': 'ALIAS', '2': 2}, + ], +}; + +/// Descriptor for `GeneratedCodeInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List generatedCodeInfoDescriptor = $convert.base64Decode( + 'ChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYn' + 'VmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRp' + 'b24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZU' + 'ZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGlj' + 'GAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2' + 'VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElB' + 'UxAC'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pb.dart new file mode 100644 index 00000000..4bcbcd32 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pb.dart @@ -0,0 +1,166 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// A Duration represents a signed, fixed-length span of time represented +/// as a count of seconds and fractions of seconds at nanosecond +/// resolution. It is independent of any calendar and concepts like "day" +/// or "month". It is related to Timestamp in that the difference between +/// two Timestamp values is a Duration and it can be added or subtracted +/// from a Timestamp. Range is approximately +-10,000 years. +/// +/// # Examples +/// +/// Example 1: Compute Duration from two Timestamps in pseudo code. +/// +/// Timestamp start = ...; +/// Timestamp end = ...; +/// Duration duration = ...; +/// +/// duration.seconds = end.seconds - start.seconds; +/// duration.nanos = end.nanos - start.nanos; +/// +/// if (duration.seconds < 0 && duration.nanos > 0) { +/// duration.seconds += 1; +/// duration.nanos -= 1000000000; +/// } else if (duration.seconds > 0 && duration.nanos < 0) { +/// duration.seconds -= 1; +/// duration.nanos += 1000000000; +/// } +/// +/// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +/// +/// Timestamp start = ...; +/// Duration duration = ...; +/// Timestamp end = ...; +/// +/// end.seconds = start.seconds + duration.seconds; +/// end.nanos = start.nanos + duration.nanos; +/// +/// if (end.nanos < 0) { +/// end.seconds -= 1; +/// end.nanos += 1000000000; +/// } else if (end.nanos >= 1000000000) { +/// end.seconds += 1; +/// end.nanos -= 1000000000; +/// } +/// +/// Example 3: Compute Duration from datetime.timedelta in Python. +/// +/// td = datetime.timedelta(days=3, minutes=10) +/// duration = Duration() +/// duration.FromTimedelta(td) +/// +/// # JSON Mapping +/// +/// In JSON format, the Duration type is encoded as a string rather than an +/// object, where the string ends in the suffix "s" (indicating seconds) and +/// is preceded by the number of seconds, with nanoseconds expressed as +/// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +/// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +/// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +/// microsecond should be expressed in JSON format as "3.000001s". +class Duration extends $pb.GeneratedMessage with $mixin.DurationMixin { + factory Duration({ + $fixnum.Int64? seconds, + $core.int? nanos, + }) { + final $result = create(); + if (seconds != null) { + $result.seconds = seconds; + } + if (nanos != null) { + $result.nanos = nanos; + } + return $result; + } + Duration._() : super(); + factory Duration.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Duration.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Duration', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.DurationMixin.toProto3JsonHelper, + fromProto3Json: $mixin.DurationMixin.fromProto3JsonHelper) + ..aInt64(1, _omitFieldNames ? '' : 'seconds') + ..a<$core.int>(2, _omitFieldNames ? '' : 'nanos', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Duration clone() => Duration()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Duration copyWith(void Function(Duration) updates) => + super.copyWith((message) => updates(message as Duration)) as Duration; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Duration create() => Duration._(); + Duration createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Duration getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Duration? _defaultInstance; + + /// Signed seconds of the span of time. Must be from -315,576,000,000 + /// to +315,576,000,000 inclusive. Note: these bounds are computed from: + /// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + @$pb.TagNumber(1) + $fixnum.Int64 get seconds => $_getI64(0); + @$pb.TagNumber(1) + set seconds($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSeconds() => $_has(0); + @$pb.TagNumber(1) + void clearSeconds() => clearField(1); + + /// Signed fractions of a second at nanosecond resolution of the span + /// of time. Durations less than one second are represented with a 0 + /// `seconds` field and a positive or negative `nanos` field. For durations + /// of one second or more, a non-zero value for the `nanos` field must be + /// of the same sign as the `seconds` field. Must be from -999,999,999 + /// to +999,999,999 inclusive. + @$pb.TagNumber(2) + $core.int get nanos => $_getIZ(1); + @$pb.TagNumber(2) + set nanos($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNanos() => $_has(1); + @$pb.TagNumber(2) + void clearNanos() => clearField(2); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pbenum.dart new file mode 100644 index 00000000..1a2c58d8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pbjson.dart new file mode 100644 index 00000000..5847acb2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/duration.pbjson.dart @@ -0,0 +1,28 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/duration.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use durationDescriptor instead') +const Duration$json = { + '1': 'Duration', + '2': [ + {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'}, + {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'}, + ], +}; + +/// Descriptor for `Duration`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List durationDescriptor = $convert.base64Decode( + 'CghEdXJhdGlvbhIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW' + '5vcw=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pb.dart new file mode 100644 index 00000000..5c5ce508 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pb.dart @@ -0,0 +1,63 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/empty.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// A generic empty message that you can re-use to avoid defining duplicated +/// empty messages in your APIs. A typical example is to use it as the request +/// or the response type of an API method. For instance: +/// +/// service Foo { +/// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +/// } +class Empty extends $pb.GeneratedMessage { + factory Empty() => create(); + Empty._() : super(); + factory Empty.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Empty.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Empty', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Empty clone() => Empty()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Empty copyWith(void Function(Empty) updates) => + super.copyWith((message) => updates(message as Empty)) as Empty; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Empty create() => Empty._(); + Empty createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Empty getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Empty? _defaultInstance; +} + +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pbenum.dart new file mode 100644 index 00000000..2f2a7613 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/empty.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pbjson.dart new file mode 100644 index 00000000..35f6e2ec --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/empty.pbjson.dart @@ -0,0 +1,23 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/empty.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use emptyDescriptor instead') +const Empty$json = { + '1': 'Empty', +}; + +/// Descriptor for `Empty`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List emptyDescriptor = + $convert.base64Decode('CgVFbXB0eQ=='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pb.dart new file mode 100644 index 00000000..90164081 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pb.dart @@ -0,0 +1,272 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/field_mask.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// `FieldMask` represents a set of symbolic field paths, for example: +/// +/// paths: "f.a" +/// paths: "f.b.d" +/// +/// Here `f` represents a field in some root message, `a` and `b` +/// fields in the message found in `f`, and `d` a field found in the +/// message in `f.b`. +/// +/// Field masks are used to specify a subset of fields that should be +/// returned by a get operation or modified by an update operation. +/// Field masks also have a custom JSON encoding (see below). +/// +/// # Field Masks in Projections +/// +/// When used in the context of a projection, a response message or +/// sub-message is filtered by the API to only contain those fields as +/// specified in the mask. For example, if the mask in the previous +/// example is applied to a response message as follows: +/// +/// f { +/// a : 22 +/// b { +/// d : 1 +/// x : 2 +/// } +/// y : 13 +/// } +/// z: 8 +/// +/// The result will not contain specific values for fields x,y and z +/// (their value will be set to the default, and omitted in proto text +/// output): +/// +/// +/// f { +/// a : 22 +/// b { +/// d : 1 +/// } +/// } +/// +/// A repeated field is not allowed except at the last position of a +/// paths string. +/// +/// If a FieldMask object is not present in a get operation, the +/// operation applies to all fields (as if a FieldMask of all fields +/// had been specified). +/// +/// Note that a field mask does not necessarily apply to the +/// top-level response message. In case of a REST get operation, the +/// field mask applies directly to the response, but in case of a REST +/// list operation, the mask instead applies to each individual message +/// in the returned resource list. In case of a REST custom method, +/// other definitions may be used. Where the mask applies will be +/// clearly documented together with its declaration in the API. In +/// any case, the effect on the returned resource/resources is required +/// behavior for APIs. +/// +/// # Field Masks in Update Operations +/// +/// A field mask in update operations specifies which fields of the +/// targeted resource are going to be updated. The API is required +/// to only change the values of the fields as specified in the mask +/// and leave the others untouched. If a resource is passed in to +/// describe the updated values, the API ignores the values of all +/// fields not covered by the mask. +/// +/// If a repeated field is specified for an update operation, new values will +/// be appended to the existing repeated field in the target resource. Note that +/// a repeated field is only allowed in the last position of a `paths` string. +/// +/// If a sub-message is specified in the last position of the field mask for an +/// update operation, then new value will be merged into the existing sub-message +/// in the target resource. +/// +/// For example, given the target message: +/// +/// f { +/// b { +/// d: 1 +/// x: 2 +/// } +/// c: [1] +/// } +/// +/// And an update message: +/// +/// f { +/// b { +/// d: 10 +/// } +/// c: [2] +/// } +/// +/// then if the field mask is: +/// +/// paths: ["f.b", "f.c"] +/// +/// then the result will be: +/// +/// f { +/// b { +/// d: 10 +/// x: 2 +/// } +/// c: [1, 2] +/// } +/// +/// An implementation may provide options to override this default behavior for +/// repeated and message fields. +/// +/// In order to reset a field's value to the default, the field must +/// be in the mask and set to the default value in the provided resource. +/// Hence, in order to reset all fields of a resource, provide a default +/// instance of the resource and set all fields in the mask, or do +/// not provide a mask as described below. +/// +/// If a field mask is not present on update, the operation applies to +/// all fields (as if a field mask of all fields has been specified). +/// Note that in the presence of schema evolution, this may mean that +/// fields the client does not know and has therefore not filled into +/// the request will be reset to their default. If this is unwanted +/// behavior, a specific service may require a client to always specify +/// a field mask, producing an error if not. +/// +/// As with get operations, the location of the resource which +/// describes the updated values in the request message depends on the +/// operation kind. In any case, the effect of the field mask is +/// required to be honored by the API. +/// +/// ## Considerations for HTTP REST +/// +/// The HTTP kind of an update operation which uses a field mask must +/// be set to PATCH instead of PUT in order to satisfy HTTP semantics +/// (PUT must only be used for full updates). +/// +/// # JSON Encoding of Field Masks +/// +/// In JSON, a field mask is encoded as a single string where paths are +/// separated by a comma. Fields name in each path are converted +/// to/from lower-camel naming conventions. +/// +/// As an example, consider the following message declarations: +/// +/// message Profile { +/// User user = 1; +/// Photo photo = 2; +/// } +/// message User { +/// string display_name = 1; +/// string address = 2; +/// } +/// +/// In proto a field mask for `Profile` may look as such: +/// +/// mask { +/// paths: "user.display_name" +/// paths: "photo" +/// } +/// +/// In JSON, the same mask is represented as below: +/// +/// { +/// mask: "user.displayName,photo" +/// } +/// +/// # Field Masks and Oneof Fields +/// +/// Field masks treat fields in oneofs just as regular fields. Consider the +/// following message: +/// +/// message SampleMessage { +/// oneof test_oneof { +/// string name = 4; +/// SubMessage sub_message = 9; +/// } +/// } +/// +/// The field mask can be: +/// +/// mask { +/// paths: "name" +/// } +/// +/// Or: +/// +/// mask { +/// paths: "sub_message" +/// } +/// +/// Note that oneof type names ("test_oneof" in this case) cannot be used in +/// paths. +/// +/// ## Field Mask Verification +/// +/// The implementation of any API method which has a FieldMask type field in the +/// request should verify the included field paths, and return an +/// `INVALID_ARGUMENT` error if any path is unmappable. +class FieldMask extends $pb.GeneratedMessage with $mixin.FieldMaskMixin { + factory FieldMask({ + $core.Iterable<$core.String>? paths, + }) { + final $result = create(); + if (paths != null) { + $result.paths.addAll(paths); + } + return $result; + } + FieldMask._() : super(); + factory FieldMask.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory FieldMask.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'FieldMask', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.FieldMaskMixin.toProto3JsonHelper, + fromProto3Json: $mixin.FieldMaskMixin.fromProto3JsonHelper) + ..pPS(1, _omitFieldNames ? '' : 'paths') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FieldMask clone() => FieldMask()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FieldMask copyWith(void Function(FieldMask) updates) => + super.copyWith((message) => updates(message as FieldMask)) as FieldMask; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FieldMask create() => FieldMask._(); + FieldMask createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static FieldMask getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static FieldMask? _defaultInstance; + + /// The set of field mask paths. + @$pb.TagNumber(1) + $core.List<$core.String> get paths => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pbenum.dart new file mode 100644 index 00000000..33abcb7b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/field_mask.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pbjson.dart new file mode 100644 index 00000000..151537f9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/field_mask.pbjson.dart @@ -0,0 +1,26 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/field_mask.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use fieldMaskDescriptor instead') +const FieldMask$json = { + '1': 'FieldMask', + '2': [ + {'1': 'paths', '3': 1, '4': 3, '5': 9, '10': 'paths'}, + ], +}; + +/// Descriptor for `FieldMask`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List fieldMaskDescriptor = + $convert.base64Decode('CglGaWVsZE1hc2sSFAoFcGF0aHMYASADKAlSBXBhdGhz'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pb.dart new file mode 100644 index 00000000..38944ee1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pb.dart @@ -0,0 +1,84 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/source_context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `SourceContext` represents information about the source of a +/// protobuf element, like the file in which it is defined. +class SourceContext extends $pb.GeneratedMessage { + factory SourceContext({ + $core.String? fileName, + }) { + final $result = create(); + if (fileName != null) { + $result.fileName = fileName; + } + return $result; + } + SourceContext._() : super(); + factory SourceContext.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory SourceContext.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'SourceContext', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'fileName') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SourceContext clone() => SourceContext()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SourceContext copyWith(void Function(SourceContext) updates) => + super.copyWith((message) => updates(message as SourceContext)) + as SourceContext; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SourceContext create() => SourceContext._(); + SourceContext createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SourceContext getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static SourceContext? _defaultInstance; + + /// The path-qualified name of the .proto file that contained the associated + /// protobuf element. For example: `"google/protobuf/source_context.proto"`. + @$pb.TagNumber(1) + $core.String get fileName => $_getSZ(0); + @$pb.TagNumber(1) + set fileName($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasFileName() => $_has(0); + @$pb.TagNumber(1) + void clearFileName() => clearField(1); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pbenum.dart new file mode 100644 index 00000000..be0de39e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/source_context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pbjson.dart new file mode 100644 index 00000000..2f562501 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/source_context.pbjson.dart @@ -0,0 +1,26 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/source_context.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use sourceContextDescriptor instead') +const SourceContext$json = { + '1': 'SourceContext', + '2': [ + {'1': 'file_name', '3': 1, '4': 1, '5': 9, '10': 'fileName'}, + ], +}; + +/// Descriptor for `SourceContext`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sourceContextDescriptor = $convert.base64Decode( + 'Cg1Tb3VyY2VDb250ZXh0EhsKCWZpbGVfbmFtZRgBIAEoCVIIZmlsZU5hbWU='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pb.dart new file mode 100644 index 00000000..42d55e42 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pb.dart @@ -0,0 +1,341 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +import 'struct.pbenum.dart'; + +export 'struct.pbenum.dart'; + +/// `Struct` represents a structured data value, consisting of fields +/// which map to dynamically typed values. In some languages, `Struct` +/// might be supported by a native representation. For example, in +/// scripting languages like JS a struct is represented as an +/// object. The details of that representation are described together +/// with the proto support for the language. +/// +/// The JSON representation for `Struct` is JSON object. +class Struct extends $pb.GeneratedMessage with $mixin.StructMixin { + factory Struct({ + $core.Map<$core.String, Value>? fields, + }) { + final $result = create(); + if (fields != null) { + $result.fields.addAll(fields); + } + return $result; + } + Struct._() : super(); + factory Struct.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Struct.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Struct', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.StructMixin.toProto3JsonHelper, + fromProto3Json: $mixin.StructMixin.fromProto3JsonHelper) + ..m<$core.String, Value>(1, _omitFieldNames ? '' : 'fields', + entryClassName: 'Struct.FieldsEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: Value.create, + valueDefaultOrMaker: Value.getDefault, + packageName: const $pb.PackageName('google.protobuf')) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Struct clone() => Struct()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Struct copyWith(void Function(Struct) updates) => + super.copyWith((message) => updates(message as Struct)) as Struct; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Struct create() => Struct._(); + Struct createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Struct getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Struct? _defaultInstance; + + /// Unordered map of dynamically typed values. + @$pb.TagNumber(1) + $core.Map<$core.String, Value> get fields => $_getMap(0); +} + +enum Value_Kind { + nullValue, + numberValue, + stringValue, + boolValue, + structValue, + listValue, + notSet +} + +/// `Value` represents a dynamically typed value which can be either +/// null, a number, a string, a boolean, a recursive struct value, or a +/// list of values. A producer of value is expected to set one of these +/// variants. Absence of any variant indicates an error. +/// +/// The JSON representation for `Value` is JSON value. +class Value extends $pb.GeneratedMessage with $mixin.ValueMixin { + factory Value({ + NullValue? nullValue, + $core.double? numberValue, + $core.String? stringValue, + $core.bool? boolValue, + Struct? structValue, + ListValue? listValue, + }) { + final $result = create(); + if (nullValue != null) { + $result.nullValue = nullValue; + } + if (numberValue != null) { + $result.numberValue = numberValue; + } + if (stringValue != null) { + $result.stringValue = stringValue; + } + if (boolValue != null) { + $result.boolValue = boolValue; + } + if (structValue != null) { + $result.structValue = structValue; + } + if (listValue != null) { + $result.listValue = listValue; + } + return $result; + } + Value._() : super(); + factory Value.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Value.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Value_Kind> _Value_KindByTag = { + 1: Value_Kind.nullValue, + 2: Value_Kind.numberValue, + 3: Value_Kind.stringValue, + 4: Value_Kind.boolValue, + 5: Value_Kind.structValue, + 6: Value_Kind.listValue, + 0: Value_Kind.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Value', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.ValueMixin.toProto3JsonHelper, + fromProto3Json: $mixin.ValueMixin.fromProto3JsonHelper) + ..oo(0, [1, 2, 3, 4, 5, 6]) + ..e(1, _omitFieldNames ? '' : 'nullValue', $pb.PbFieldType.OE, + defaultOrMaker: NullValue.NULL_VALUE, + valueOf: NullValue.valueOf, + enumValues: NullValue.values) + ..a<$core.double>( + 2, _omitFieldNames ? '' : 'numberValue', $pb.PbFieldType.OD) + ..aOS(3, _omitFieldNames ? '' : 'stringValue') + ..aOB(4, _omitFieldNames ? '' : 'boolValue') + ..aOM(5, _omitFieldNames ? '' : 'structValue', + subBuilder: Struct.create) + ..aOM(6, _omitFieldNames ? '' : 'listValue', + subBuilder: ListValue.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Value clone() => Value()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Value copyWith(void Function(Value) updates) => + super.copyWith((message) => updates(message as Value)) as Value; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Value create() => Value._(); + Value createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Value getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Value? _defaultInstance; + + Value_Kind whichKind() => _Value_KindByTag[$_whichOneof(0)]!; + void clearKind() => clearField($_whichOneof(0)); + + /// Represents a null value. + @$pb.TagNumber(1) + NullValue get nullValue => $_getN(0); + @$pb.TagNumber(1) + set nullValue(NullValue v) { + setField(1, v); + } + + @$pb.TagNumber(1) + $core.bool hasNullValue() => $_has(0); + @$pb.TagNumber(1) + void clearNullValue() => clearField(1); + + /// Represents a double value. + @$pb.TagNumber(2) + $core.double get numberValue => $_getN(1); + @$pb.TagNumber(2) + set numberValue($core.double v) { + $_setDouble(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNumberValue() => $_has(1); + @$pb.TagNumber(2) + void clearNumberValue() => clearField(2); + + /// Represents a string value. + @$pb.TagNumber(3) + $core.String get stringValue => $_getSZ(2); + @$pb.TagNumber(3) + set stringValue($core.String v) { + $_setString(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasStringValue() => $_has(2); + @$pb.TagNumber(3) + void clearStringValue() => clearField(3); + + /// Represents a boolean value. + @$pb.TagNumber(4) + $core.bool get boolValue => $_getBF(3); + @$pb.TagNumber(4) + set boolValue($core.bool v) { + $_setBool(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasBoolValue() => $_has(3); + @$pb.TagNumber(4) + void clearBoolValue() => clearField(4); + + /// Represents a structured value. + @$pb.TagNumber(5) + Struct get structValue => $_getN(4); + @$pb.TagNumber(5) + set structValue(Struct v) { + setField(5, v); + } + + @$pb.TagNumber(5) + $core.bool hasStructValue() => $_has(4); + @$pb.TagNumber(5) + void clearStructValue() => clearField(5); + @$pb.TagNumber(5) + Struct ensureStructValue() => $_ensure(4); + + /// Represents a repeated `Value`. + @$pb.TagNumber(6) + ListValue get listValue => $_getN(5); + @$pb.TagNumber(6) + set listValue(ListValue v) { + setField(6, v); + } + + @$pb.TagNumber(6) + $core.bool hasListValue() => $_has(5); + @$pb.TagNumber(6) + void clearListValue() => clearField(6); + @$pb.TagNumber(6) + ListValue ensureListValue() => $_ensure(5); +} + +/// `ListValue` is a wrapper around a repeated field of values. +/// +/// The JSON representation for `ListValue` is JSON array. +class ListValue extends $pb.GeneratedMessage with $mixin.ListValueMixin { + factory ListValue({ + $core.Iterable? values, + }) { + final $result = create(); + if (values != null) { + $result.values.addAll(values); + } + return $result; + } + ListValue._() : super(); + factory ListValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ListValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ListValue', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.ListValueMixin.toProto3JsonHelper, + fromProto3Json: $mixin.ListValueMixin.fromProto3JsonHelper) + ..pc(1, _omitFieldNames ? '' : 'values', $pb.PbFieldType.PM, + subBuilder: Value.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ListValue clone() => ListValue()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ListValue copyWith(void Function(ListValue) updates) => + super.copyWith((message) => updates(message as ListValue)) as ListValue; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ListValue create() => ListValue._(); + ListValue createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ListValue getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ListValue? _defaultInstance; + + /// Repeated field of dynamically typed values. + @$pb.TagNumber(1) + $core.List get values => $_getList(0); +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pbenum.dart new file mode 100644 index 00000000..7f9bf0cb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pbenum.dart @@ -0,0 +1,35 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// `NullValue` is a singleton enumeration to represent the null value for the +/// `Value` type union. +/// +/// The JSON representation for `NullValue` is JSON `null`. +class NullValue extends $pb.ProtobufEnum { + static const NullValue NULL_VALUE = + NullValue._(0, _omitEnumNames ? '' : 'NULL_VALUE'); + + static const $core.List values = [ + NULL_VALUE, + ]; + + static final $core.Map<$core.int, NullValue> _byValue = + $pb.ProtobufEnum.initByValue(values); + static NullValue? valueOf($core.int value) => _byValue[value]; + + const NullValue._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pbjson.dart new file mode 100644 index 00000000..c0693f57 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/struct.pbjson.dart @@ -0,0 +1,134 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/struct.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use nullValueDescriptor instead') +const NullValue$json = { + '1': 'NullValue', + '2': [ + {'1': 'NULL_VALUE', '2': 0}, + ], +}; + +/// Descriptor for `NullValue`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List nullValueDescriptor = + $convert.base64Decode('CglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAA'); + +@$core.Deprecated('Use structDescriptor instead') +const Struct$json = { + '1': 'Struct', + '2': [ + { + '1': 'fields', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.Struct.FieldsEntry', + '10': 'fields' + }, + ], + '3': [Struct_FieldsEntry$json], +}; + +@$core.Deprecated('Use structDescriptor instead') +const Struct_FieldsEntry$json = { + '1': 'FieldsEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.google.protobuf.Value', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +/// Descriptor for `Struct`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List structDescriptor = $convert.base64Decode( + 'CgZTdHJ1Y3QSOwoGZmllbGRzGAEgAygLMiMuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdC5GaWVsZH' + 'NFbnRyeVIGZmllbGRzGlEKC0ZpZWxkc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVl' + 'GAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAE='); + +@$core.Deprecated('Use valueDescriptor instead') +const Value$json = { + '1': 'Value', + '2': [ + { + '1': 'null_value', + '3': 1, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'nullValue' + }, + {'1': 'number_value', '3': 2, '4': 1, '5': 1, '9': 0, '10': 'numberValue'}, + {'1': 'string_value', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'bool_value', '3': 4, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, + { + '1': 'struct_value', + '3': 5, + '4': 1, + '5': 11, + '6': '.google.protobuf.Struct', + '9': 0, + '10': 'structValue' + }, + { + '1': 'list_value', + '3': 6, + '4': 1, + '5': 11, + '6': '.google.protobuf.ListValue', + '9': 0, + '10': 'listValue' + }, + ], + '8': [ + {'1': 'kind'}, + ], +}; + +/// Descriptor for `Value`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List valueDescriptor = $convert.base64Decode( + 'CgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZU' + 'gAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0' + 'cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCW' + 'Jvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0' + 'SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTG' + 'lzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5k'); + +@$core.Deprecated('Use listValueDescriptor instead') +const ListValue$json = { + '1': 'ListValue', + '2': [ + { + '1': 'values', + '3': 1, + '4': 3, + '5': 11, + '6': '.google.protobuf.Value', + '10': 'values' + }, + ], +}; + +/// Descriptor for `ListValue`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List listValueDescriptor = $convert.base64Decode( + 'CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YW' + 'x1ZXM='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pb.dart new file mode 100644 index 00000000..67efc083 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pb.dart @@ -0,0 +1,4352 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/test_messages_proto2.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'test_messages_proto2.pbenum.dart'; + +export 'test_messages_proto2.pbenum.dart'; + +class TestAllTypesProto2_NestedMessage extends $pb.GeneratedMessage { + factory TestAllTypesProto2_NestedMessage({ + $core.int? a, + TestAllTypesProto2? corecursive, + }) { + final $result = create(); + if (a != null) { + $result.a = a; + } + if (corecursive != null) { + $result.corecursive = corecursive; + } + return $result; + } + TestAllTypesProto2_NestedMessage._() : super(); + factory TestAllTypesProto2_NestedMessage.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2_NestedMessage.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2.NestedMessage', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'a', $pb.PbFieldType.O3) + ..aOM(2, _omitFieldNames ? '' : 'corecursive', + subBuilder: TestAllTypesProto2.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_NestedMessage clone() => + TestAllTypesProto2_NestedMessage()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_NestedMessage copyWith( + void Function(TestAllTypesProto2_NestedMessage) updates) => + super.copyWith( + (message) => updates(message as TestAllTypesProto2_NestedMessage)) + as TestAllTypesProto2_NestedMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_NestedMessage create() => + TestAllTypesProto2_NestedMessage._(); + TestAllTypesProto2_NestedMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_NestedMessage getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static TestAllTypesProto2_NestedMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get a => $_getIZ(0); + @$pb.TagNumber(1) + set a($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasA() => $_has(0); + @$pb.TagNumber(1) + void clearA() => clearField(1); + + @$pb.TagNumber(2) + TestAllTypesProto2 get corecursive => $_getN(1); + @$pb.TagNumber(2) + set corecursive(TestAllTypesProto2 v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCorecursive() => $_has(1); + @$pb.TagNumber(2) + void clearCorecursive() => clearField(2); + @$pb.TagNumber(2) + TestAllTypesProto2 ensureCorecursive() => $_ensure(1); +} + +/// groups +class TestAllTypesProto2_Data extends $pb.GeneratedMessage { + factory TestAllTypesProto2_Data({ + $core.int? groupInt32, + $core.int? groupUint32, + }) { + final $result = create(); + if (groupInt32 != null) { + $result.groupInt32 = groupInt32; + } + if (groupUint32 != null) { + $result.groupUint32 = groupUint32; + } + return $result; + } + TestAllTypesProto2_Data._() : super(); + factory TestAllTypesProto2_Data.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2_Data.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2.Data', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(202, _omitFieldNames ? '' : 'groupInt32', $pb.PbFieldType.O3) + ..a<$core.int>( + 203, _omitFieldNames ? '' : 'groupUint32', $pb.PbFieldType.OU3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_Data clone() => + TestAllTypesProto2_Data()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_Data copyWith( + void Function(TestAllTypesProto2_Data) updates) => + super.copyWith((message) => updates(message as TestAllTypesProto2_Data)) + as TestAllTypesProto2_Data; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_Data create() => TestAllTypesProto2_Data._(); + TestAllTypesProto2_Data createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_Data getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TestAllTypesProto2_Data? _defaultInstance; + + @$pb.TagNumber(202) + $core.int get groupInt32 => $_getIZ(0); + @$pb.TagNumber(202) + set groupInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(202) + $core.bool hasGroupInt32() => $_has(0); + @$pb.TagNumber(202) + void clearGroupInt32() => clearField(202); + + @$pb.TagNumber(203) + $core.int get groupUint32 => $_getIZ(1); + @$pb.TagNumber(203) + set groupUint32($core.int v) { + $_setUnsignedInt32(1, v); + } + + @$pb.TagNumber(203) + $core.bool hasGroupUint32() => $_has(1); + @$pb.TagNumber(203) + void clearGroupUint32() => clearField(203); +} + +class TestAllTypesProto2_MultiWordGroupField extends $pb.GeneratedMessage { + factory TestAllTypesProto2_MultiWordGroupField({ + $core.int? groupInt32, + $core.int? groupUint32, + }) { + final $result = create(); + if (groupInt32 != null) { + $result.groupInt32 = groupInt32; + } + if (groupUint32 != null) { + $result.groupUint32 = groupUint32; + } + return $result; + } + TestAllTypesProto2_MultiWordGroupField._() : super(); + factory TestAllTypesProto2_MultiWordGroupField.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2_MultiWordGroupField.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2.MultiWordGroupField', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(205, _omitFieldNames ? '' : 'groupInt32', $pb.PbFieldType.O3) + ..a<$core.int>( + 206, _omitFieldNames ? '' : 'groupUint32', $pb.PbFieldType.OU3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MultiWordGroupField clone() => + TestAllTypesProto2_MultiWordGroupField()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MultiWordGroupField copyWith( + void Function(TestAllTypesProto2_MultiWordGroupField) updates) => + super.copyWith((message) => + updates(message as TestAllTypesProto2_MultiWordGroupField)) + as TestAllTypesProto2_MultiWordGroupField; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MultiWordGroupField create() => + TestAllTypesProto2_MultiWordGroupField._(); + TestAllTypesProto2_MultiWordGroupField createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MultiWordGroupField getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllTypesProto2_MultiWordGroupField>(create); + static TestAllTypesProto2_MultiWordGroupField? _defaultInstance; + + @$pb.TagNumber(205) + $core.int get groupInt32 => $_getIZ(0); + @$pb.TagNumber(205) + set groupInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(205) + $core.bool hasGroupInt32() => $_has(0); + @$pb.TagNumber(205) + void clearGroupInt32() => clearField(205); + + @$pb.TagNumber(206) + $core.int get groupUint32 => $_getIZ(1); + @$pb.TagNumber(206) + set groupUint32($core.int v) { + $_setUnsignedInt32(1, v); + } + + @$pb.TagNumber(206) + $core.bool hasGroupUint32() => $_has(1); + @$pb.TagNumber(206) + void clearGroupUint32() => clearField(206); +} + +/// message_set test case. +class TestAllTypesProto2_MessageSetCorrect extends $pb.$_MessageSet { + factory TestAllTypesProto2_MessageSetCorrect() => create(); + TestAllTypesProto2_MessageSetCorrect._() : super(); + factory TestAllTypesProto2_MessageSetCorrect.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2_MessageSetCorrect.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2.MessageSetCorrect', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MessageSetCorrect clone() => + TestAllTypesProto2_MessageSetCorrect()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MessageSetCorrect copyWith( + void Function(TestAllTypesProto2_MessageSetCorrect) updates) => + super.copyWith((message) => + updates(message as TestAllTypesProto2_MessageSetCorrect)) + as TestAllTypesProto2_MessageSetCorrect; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MessageSetCorrect create() => + TestAllTypesProto2_MessageSetCorrect._(); + TestAllTypesProto2_MessageSetCorrect createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MessageSetCorrect getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllTypesProto2_MessageSetCorrect>(create); + static TestAllTypesProto2_MessageSetCorrect? _defaultInstance; +} + +class TestAllTypesProto2_MessageSetCorrectExtension1 + extends $pb.GeneratedMessage { + factory TestAllTypesProto2_MessageSetCorrectExtension1({ + $core.String? str, + }) { + final $result = create(); + if (str != null) { + $result.str = str; + } + return $result; + } + TestAllTypesProto2_MessageSetCorrectExtension1._() : super(); + factory TestAllTypesProto2_MessageSetCorrectExtension1.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2_MessageSetCorrectExtension1.fromJson( + $core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2.MessageSetCorrectExtension1', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..aOS(25, _omitFieldNames ? '' : 'str') + ..hasRequiredFields = false; + static final messageSetExtension = $pb.Extension< + TestAllTypesProto2_MessageSetCorrectExtension1>( + _omitMessageNames + ? '' + : 'protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect', + _omitFieldNames ? '' : 'messageSetExtension', + 1547769, + $pb.PbFieldType.OM, + defaultOrMaker: TestAllTypesProto2_MessageSetCorrectExtension1.getDefault, + subBuilder: TestAllTypesProto2_MessageSetCorrectExtension1.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MessageSetCorrectExtension1 clone() => + TestAllTypesProto2_MessageSetCorrectExtension1()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MessageSetCorrectExtension1 copyWith( + void Function(TestAllTypesProto2_MessageSetCorrectExtension1) + updates) => + super.copyWith((message) => updates( + message as TestAllTypesProto2_MessageSetCorrectExtension1)) + as TestAllTypesProto2_MessageSetCorrectExtension1; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MessageSetCorrectExtension1 create() => + TestAllTypesProto2_MessageSetCorrectExtension1._(); + TestAllTypesProto2_MessageSetCorrectExtension1 createEmptyInstance() => + create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MessageSetCorrectExtension1 getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllTypesProto2_MessageSetCorrectExtension1>(create); + static TestAllTypesProto2_MessageSetCorrectExtension1? _defaultInstance; + + @$pb.TagNumber(25) + $core.String get str => $_getSZ(0); + @$pb.TagNumber(25) + set str($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(25) + $core.bool hasStr() => $_has(0); + @$pb.TagNumber(25) + void clearStr() => clearField(25); +} + +class TestAllTypesProto2_MessageSetCorrectExtension2 + extends $pb.GeneratedMessage { + factory TestAllTypesProto2_MessageSetCorrectExtension2({ + $core.int? i, + }) { + final $result = create(); + if (i != null) { + $result.i = i; + } + return $result; + } + TestAllTypesProto2_MessageSetCorrectExtension2._() : super(); + factory TestAllTypesProto2_MessageSetCorrectExtension2.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2_MessageSetCorrectExtension2.fromJson( + $core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2.MessageSetCorrectExtension2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'i', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + static final messageSetExtension = $pb.Extension< + TestAllTypesProto2_MessageSetCorrectExtension2>( + _omitMessageNames + ? '' + : 'protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect', + _omitFieldNames ? '' : 'messageSetExtension', + 4135312, + $pb.PbFieldType.OM, + defaultOrMaker: TestAllTypesProto2_MessageSetCorrectExtension2.getDefault, + subBuilder: TestAllTypesProto2_MessageSetCorrectExtension2.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MessageSetCorrectExtension2 clone() => + TestAllTypesProto2_MessageSetCorrectExtension2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2_MessageSetCorrectExtension2 copyWith( + void Function(TestAllTypesProto2_MessageSetCorrectExtension2) + updates) => + super.copyWith((message) => updates( + message as TestAllTypesProto2_MessageSetCorrectExtension2)) + as TestAllTypesProto2_MessageSetCorrectExtension2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MessageSetCorrectExtension2 create() => + TestAllTypesProto2_MessageSetCorrectExtension2._(); + TestAllTypesProto2_MessageSetCorrectExtension2 createEmptyInstance() => + create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2_MessageSetCorrectExtension2 getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllTypesProto2_MessageSetCorrectExtension2>(create); + static TestAllTypesProto2_MessageSetCorrectExtension2? _defaultInstance; + + @$pb.TagNumber(9) + $core.int get i => $_getIZ(0); + @$pb.TagNumber(9) + set i($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(9) + $core.bool hasI() => $_has(0); + @$pb.TagNumber(9) + void clearI() => clearField(9); +} + +enum TestAllTypesProto2_OneofField { + oneofUint32, + oneofNestedMessage, + oneofString, + oneofBytes, + oneofBool, + oneofUint64, + oneofFloat, + oneofDouble, + oneofEnum, + notSet +} + +/// This proto includes every type of field in both singular and repeated +/// forms. +/// +/// Also, crucially, all messages and enums in this file are eventually +/// submessages of this message. So for example, a fuzz test of TestAllTypes +/// could trigger bugs that occur in any message type in this file. We verify +/// this stays true in a unit test. +class TestAllTypesProto2 extends $pb.GeneratedMessage { + factory TestAllTypesProto2({ + $core.int? optionalInt32, + $fixnum.Int64? optionalInt64, + $core.int? optionalUint32, + $fixnum.Int64? optionalUint64, + $core.int? optionalSint32, + $fixnum.Int64? optionalSint64, + $core.int? optionalFixed32, + $fixnum.Int64? optionalFixed64, + $core.int? optionalSfixed32, + $fixnum.Int64? optionalSfixed64, + $core.double? optionalFloat, + $core.double? optionalDouble, + $core.bool? optionalBool, + $core.String? optionalString, + $core.List<$core.int>? optionalBytes, + TestAllTypesProto2_NestedMessage? optionalNestedMessage, + ForeignMessageProto2? optionalForeignMessage, + TestAllTypesProto2_NestedEnum? optionalNestedEnum, + ForeignEnumProto2? optionalForeignEnum, + $core.String? optionalStringPiece, + $core.String? optionalCord, + TestAllTypesProto2? recursiveMessage, + $core.Iterable<$core.int>? repeatedInt32, + $core.Iterable<$fixnum.Int64>? repeatedInt64, + $core.Iterable<$core.int>? repeatedUint32, + $core.Iterable<$fixnum.Int64>? repeatedUint64, + $core.Iterable<$core.int>? repeatedSint32, + $core.Iterable<$fixnum.Int64>? repeatedSint64, + $core.Iterable<$core.int>? repeatedFixed32, + $core.Iterable<$fixnum.Int64>? repeatedFixed64, + $core.Iterable<$core.int>? repeatedSfixed32, + $core.Iterable<$fixnum.Int64>? repeatedSfixed64, + $core.Iterable<$core.double>? repeatedFloat, + $core.Iterable<$core.double>? repeatedDouble, + $core.Iterable<$core.bool>? repeatedBool, + $core.Iterable<$core.String>? repeatedString, + $core.Iterable<$core.List<$core.int>>? repeatedBytes, + $core.Iterable? repeatedNestedMessage, + $core.Iterable? repeatedForeignMessage, + $core.Iterable? repeatedNestedEnum, + $core.Iterable? repeatedForeignEnum, + $core.Iterable<$core.String>? repeatedStringPiece, + $core.Iterable<$core.String>? repeatedCord, + $core.Map<$core.int, $core.int>? mapInt32Int32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapInt64Int64, + $core.Map<$core.int, $core.int>? mapUint32Uint32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapUint64Uint64, + $core.Map<$core.int, $core.int>? mapSint32Sint32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapSint64Sint64, + $core.Map<$core.int, $core.int>? mapFixed32Fixed32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapFixed64Fixed64, + $core.Map<$core.int, $core.int>? mapSfixed32Sfixed32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapSfixed64Sfixed64, + $core.Map<$core.int, $core.double>? mapInt32Float, + $core.Map<$core.int, $core.double>? mapInt32Double, + $core.Map<$core.bool, $core.bool>? mapBoolBool, + $core.Map<$core.String, $core.String>? mapStringString, + $core.Map<$core.String, $core.List<$core.int>>? mapStringBytes, + $core.Map<$core.String, TestAllTypesProto2_NestedMessage>? + mapStringNestedMessage, + $core.Map<$core.String, ForeignMessageProto2>? mapStringForeignMessage, + $core.Map<$core.String, TestAllTypesProto2_NestedEnum>? mapStringNestedEnum, + $core.Map<$core.String, ForeignEnumProto2>? mapStringForeignEnum, + $core.Iterable<$core.int>? packedInt32, + $core.Iterable<$fixnum.Int64>? packedInt64, + $core.Iterable<$core.int>? packedUint32, + $core.Iterable<$fixnum.Int64>? packedUint64, + $core.Iterable<$core.int>? packedSint32, + $core.Iterable<$fixnum.Int64>? packedSint64, + $core.Iterable<$core.int>? packedFixed32, + $core.Iterable<$fixnum.Int64>? packedFixed64, + $core.Iterable<$core.int>? packedSfixed32, + $core.Iterable<$fixnum.Int64>? packedSfixed64, + $core.Iterable<$core.double>? packedFloat, + $core.Iterable<$core.double>? packedDouble, + $core.Iterable<$core.bool>? packedBool, + $core.Iterable? packedNestedEnum, + $core.Iterable<$core.int>? unpackedInt32, + $core.Iterable<$fixnum.Int64>? unpackedInt64, + $core.Iterable<$core.int>? unpackedUint32, + $core.Iterable<$fixnum.Int64>? unpackedUint64, + $core.Iterable<$core.int>? unpackedSint32, + $core.Iterable<$fixnum.Int64>? unpackedSint64, + $core.Iterable<$core.int>? unpackedFixed32, + $core.Iterable<$fixnum.Int64>? unpackedFixed64, + $core.Iterable<$core.int>? unpackedSfixed32, + $core.Iterable<$fixnum.Int64>? unpackedSfixed64, + $core.Iterable<$core.double>? unpackedFloat, + $core.Iterable<$core.double>? unpackedDouble, + $core.Iterable<$core.bool>? unpackedBool, + $core.Iterable? unpackedNestedEnum, + $core.int? oneofUint32, + TestAllTypesProto2_NestedMessage? oneofNestedMessage, + $core.String? oneofString, + $core.List<$core.int>? oneofBytes, + $core.bool? oneofBool, + $fixnum.Int64? oneofUint64, + $core.double? oneofFloat, + $core.double? oneofDouble, + TestAllTypesProto2_NestedEnum? oneofEnum, + TestAllTypesProto2_Data? data, + TestAllTypesProto2_MultiWordGroupField? multiWordGroupField, + $core.int? defaultInt32, + $fixnum.Int64? defaultInt64, + $core.int? defaultUint32, + $fixnum.Int64? defaultUint64, + $core.int? defaultSint32, + $fixnum.Int64? defaultSint64, + $core.int? defaultFixed32, + $fixnum.Int64? defaultFixed64, + $core.int? defaultSfixed32, + $fixnum.Int64? defaultSfixed64, + $core.double? defaultFloat, + $core.double? defaultDouble, + $core.bool? defaultBool, + $core.String? defaultString, + $core.List<$core.int>? defaultBytes, + $core.int? fieldname1, + $core.int? fieldName2, + $core.int? fieldName3, + $core.int? fieldName4, + $core.int? field0name5, + $core.int? field0Name6, + $core.int? fieldName7, + $core.int? fieldName8, + $core.int? fieldName9, + $core.int? fieldName10, + $core.int? fIELDNAME11, + $core.int? fIELDName12, + $core.int? fieldName13, + $core.int? fieldName14, + $core.int? fieldName15, + $core.int? fieldName16, + $core.int? fieldName17, + $core.int? fieldName18, + }) { + final $result = create(); + if (optionalInt32 != null) { + $result.optionalInt32 = optionalInt32; + } + if (optionalInt64 != null) { + $result.optionalInt64 = optionalInt64; + } + if (optionalUint32 != null) { + $result.optionalUint32 = optionalUint32; + } + if (optionalUint64 != null) { + $result.optionalUint64 = optionalUint64; + } + if (optionalSint32 != null) { + $result.optionalSint32 = optionalSint32; + } + if (optionalSint64 != null) { + $result.optionalSint64 = optionalSint64; + } + if (optionalFixed32 != null) { + $result.optionalFixed32 = optionalFixed32; + } + if (optionalFixed64 != null) { + $result.optionalFixed64 = optionalFixed64; + } + if (optionalSfixed32 != null) { + $result.optionalSfixed32 = optionalSfixed32; + } + if (optionalSfixed64 != null) { + $result.optionalSfixed64 = optionalSfixed64; + } + if (optionalFloat != null) { + $result.optionalFloat = optionalFloat; + } + if (optionalDouble != null) { + $result.optionalDouble = optionalDouble; + } + if (optionalBool != null) { + $result.optionalBool = optionalBool; + } + if (optionalString != null) { + $result.optionalString = optionalString; + } + if (optionalBytes != null) { + $result.optionalBytes = optionalBytes; + } + if (optionalNestedMessage != null) { + $result.optionalNestedMessage = optionalNestedMessage; + } + if (optionalForeignMessage != null) { + $result.optionalForeignMessage = optionalForeignMessage; + } + if (optionalNestedEnum != null) { + $result.optionalNestedEnum = optionalNestedEnum; + } + if (optionalForeignEnum != null) { + $result.optionalForeignEnum = optionalForeignEnum; + } + if (optionalStringPiece != null) { + $result.optionalStringPiece = optionalStringPiece; + } + if (optionalCord != null) { + $result.optionalCord = optionalCord; + } + if (recursiveMessage != null) { + $result.recursiveMessage = recursiveMessage; + } + if (repeatedInt32 != null) { + $result.repeatedInt32.addAll(repeatedInt32); + } + if (repeatedInt64 != null) { + $result.repeatedInt64.addAll(repeatedInt64); + } + if (repeatedUint32 != null) { + $result.repeatedUint32.addAll(repeatedUint32); + } + if (repeatedUint64 != null) { + $result.repeatedUint64.addAll(repeatedUint64); + } + if (repeatedSint32 != null) { + $result.repeatedSint32.addAll(repeatedSint32); + } + if (repeatedSint64 != null) { + $result.repeatedSint64.addAll(repeatedSint64); + } + if (repeatedFixed32 != null) { + $result.repeatedFixed32.addAll(repeatedFixed32); + } + if (repeatedFixed64 != null) { + $result.repeatedFixed64.addAll(repeatedFixed64); + } + if (repeatedSfixed32 != null) { + $result.repeatedSfixed32.addAll(repeatedSfixed32); + } + if (repeatedSfixed64 != null) { + $result.repeatedSfixed64.addAll(repeatedSfixed64); + } + if (repeatedFloat != null) { + $result.repeatedFloat.addAll(repeatedFloat); + } + if (repeatedDouble != null) { + $result.repeatedDouble.addAll(repeatedDouble); + } + if (repeatedBool != null) { + $result.repeatedBool.addAll(repeatedBool); + } + if (repeatedString != null) { + $result.repeatedString.addAll(repeatedString); + } + if (repeatedBytes != null) { + $result.repeatedBytes.addAll(repeatedBytes); + } + if (repeatedNestedMessage != null) { + $result.repeatedNestedMessage.addAll(repeatedNestedMessage); + } + if (repeatedForeignMessage != null) { + $result.repeatedForeignMessage.addAll(repeatedForeignMessage); + } + if (repeatedNestedEnum != null) { + $result.repeatedNestedEnum.addAll(repeatedNestedEnum); + } + if (repeatedForeignEnum != null) { + $result.repeatedForeignEnum.addAll(repeatedForeignEnum); + } + if (repeatedStringPiece != null) { + $result.repeatedStringPiece.addAll(repeatedStringPiece); + } + if (repeatedCord != null) { + $result.repeatedCord.addAll(repeatedCord); + } + if (mapInt32Int32 != null) { + $result.mapInt32Int32.addAll(mapInt32Int32); + } + if (mapInt64Int64 != null) { + $result.mapInt64Int64.addAll(mapInt64Int64); + } + if (mapUint32Uint32 != null) { + $result.mapUint32Uint32.addAll(mapUint32Uint32); + } + if (mapUint64Uint64 != null) { + $result.mapUint64Uint64.addAll(mapUint64Uint64); + } + if (mapSint32Sint32 != null) { + $result.mapSint32Sint32.addAll(mapSint32Sint32); + } + if (mapSint64Sint64 != null) { + $result.mapSint64Sint64.addAll(mapSint64Sint64); + } + if (mapFixed32Fixed32 != null) { + $result.mapFixed32Fixed32.addAll(mapFixed32Fixed32); + } + if (mapFixed64Fixed64 != null) { + $result.mapFixed64Fixed64.addAll(mapFixed64Fixed64); + } + if (mapSfixed32Sfixed32 != null) { + $result.mapSfixed32Sfixed32.addAll(mapSfixed32Sfixed32); + } + if (mapSfixed64Sfixed64 != null) { + $result.mapSfixed64Sfixed64.addAll(mapSfixed64Sfixed64); + } + if (mapInt32Float != null) { + $result.mapInt32Float.addAll(mapInt32Float); + } + if (mapInt32Double != null) { + $result.mapInt32Double.addAll(mapInt32Double); + } + if (mapBoolBool != null) { + $result.mapBoolBool.addAll(mapBoolBool); + } + if (mapStringString != null) { + $result.mapStringString.addAll(mapStringString); + } + if (mapStringBytes != null) { + $result.mapStringBytes.addAll(mapStringBytes); + } + if (mapStringNestedMessage != null) { + $result.mapStringNestedMessage.addAll(mapStringNestedMessage); + } + if (mapStringForeignMessage != null) { + $result.mapStringForeignMessage.addAll(mapStringForeignMessage); + } + if (mapStringNestedEnum != null) { + $result.mapStringNestedEnum.addAll(mapStringNestedEnum); + } + if (mapStringForeignEnum != null) { + $result.mapStringForeignEnum.addAll(mapStringForeignEnum); + } + if (packedInt32 != null) { + $result.packedInt32.addAll(packedInt32); + } + if (packedInt64 != null) { + $result.packedInt64.addAll(packedInt64); + } + if (packedUint32 != null) { + $result.packedUint32.addAll(packedUint32); + } + if (packedUint64 != null) { + $result.packedUint64.addAll(packedUint64); + } + if (packedSint32 != null) { + $result.packedSint32.addAll(packedSint32); + } + if (packedSint64 != null) { + $result.packedSint64.addAll(packedSint64); + } + if (packedFixed32 != null) { + $result.packedFixed32.addAll(packedFixed32); + } + if (packedFixed64 != null) { + $result.packedFixed64.addAll(packedFixed64); + } + if (packedSfixed32 != null) { + $result.packedSfixed32.addAll(packedSfixed32); + } + if (packedSfixed64 != null) { + $result.packedSfixed64.addAll(packedSfixed64); + } + if (packedFloat != null) { + $result.packedFloat.addAll(packedFloat); + } + if (packedDouble != null) { + $result.packedDouble.addAll(packedDouble); + } + if (packedBool != null) { + $result.packedBool.addAll(packedBool); + } + if (packedNestedEnum != null) { + $result.packedNestedEnum.addAll(packedNestedEnum); + } + if (unpackedInt32 != null) { + $result.unpackedInt32.addAll(unpackedInt32); + } + if (unpackedInt64 != null) { + $result.unpackedInt64.addAll(unpackedInt64); + } + if (unpackedUint32 != null) { + $result.unpackedUint32.addAll(unpackedUint32); + } + if (unpackedUint64 != null) { + $result.unpackedUint64.addAll(unpackedUint64); + } + if (unpackedSint32 != null) { + $result.unpackedSint32.addAll(unpackedSint32); + } + if (unpackedSint64 != null) { + $result.unpackedSint64.addAll(unpackedSint64); + } + if (unpackedFixed32 != null) { + $result.unpackedFixed32.addAll(unpackedFixed32); + } + if (unpackedFixed64 != null) { + $result.unpackedFixed64.addAll(unpackedFixed64); + } + if (unpackedSfixed32 != null) { + $result.unpackedSfixed32.addAll(unpackedSfixed32); + } + if (unpackedSfixed64 != null) { + $result.unpackedSfixed64.addAll(unpackedSfixed64); + } + if (unpackedFloat != null) { + $result.unpackedFloat.addAll(unpackedFloat); + } + if (unpackedDouble != null) { + $result.unpackedDouble.addAll(unpackedDouble); + } + if (unpackedBool != null) { + $result.unpackedBool.addAll(unpackedBool); + } + if (unpackedNestedEnum != null) { + $result.unpackedNestedEnum.addAll(unpackedNestedEnum); + } + if (oneofUint32 != null) { + $result.oneofUint32 = oneofUint32; + } + if (oneofNestedMessage != null) { + $result.oneofNestedMessage = oneofNestedMessage; + } + if (oneofString != null) { + $result.oneofString = oneofString; + } + if (oneofBytes != null) { + $result.oneofBytes = oneofBytes; + } + if (oneofBool != null) { + $result.oneofBool = oneofBool; + } + if (oneofUint64 != null) { + $result.oneofUint64 = oneofUint64; + } + if (oneofFloat != null) { + $result.oneofFloat = oneofFloat; + } + if (oneofDouble != null) { + $result.oneofDouble = oneofDouble; + } + if (oneofEnum != null) { + $result.oneofEnum = oneofEnum; + } + if (data != null) { + $result.data = data; + } + if (multiWordGroupField != null) { + $result.multiWordGroupField = multiWordGroupField; + } + if (defaultInt32 != null) { + $result.defaultInt32 = defaultInt32; + } + if (defaultInt64 != null) { + $result.defaultInt64 = defaultInt64; + } + if (defaultUint32 != null) { + $result.defaultUint32 = defaultUint32; + } + if (defaultUint64 != null) { + $result.defaultUint64 = defaultUint64; + } + if (defaultSint32 != null) { + $result.defaultSint32 = defaultSint32; + } + if (defaultSint64 != null) { + $result.defaultSint64 = defaultSint64; + } + if (defaultFixed32 != null) { + $result.defaultFixed32 = defaultFixed32; + } + if (defaultFixed64 != null) { + $result.defaultFixed64 = defaultFixed64; + } + if (defaultSfixed32 != null) { + $result.defaultSfixed32 = defaultSfixed32; + } + if (defaultSfixed64 != null) { + $result.defaultSfixed64 = defaultSfixed64; + } + if (defaultFloat != null) { + $result.defaultFloat = defaultFloat; + } + if (defaultDouble != null) { + $result.defaultDouble = defaultDouble; + } + if (defaultBool != null) { + $result.defaultBool = defaultBool; + } + if (defaultString != null) { + $result.defaultString = defaultString; + } + if (defaultBytes != null) { + $result.defaultBytes = defaultBytes; + } + if (fieldname1 != null) { + $result.fieldname1 = fieldname1; + } + if (fieldName2 != null) { + $result.fieldName2 = fieldName2; + } + if (fieldName3 != null) { + $result.fieldName3 = fieldName3; + } + if (fieldName4 != null) { + $result.fieldName4 = fieldName4; + } + if (field0name5 != null) { + $result.field0name5 = field0name5; + } + if (field0Name6 != null) { + $result.field0Name6 = field0Name6; + } + if (fieldName7 != null) { + $result.fieldName7 = fieldName7; + } + if (fieldName8 != null) { + $result.fieldName8 = fieldName8; + } + if (fieldName9 != null) { + $result.fieldName9 = fieldName9; + } + if (fieldName10 != null) { + $result.fieldName10 = fieldName10; + } + if (fIELDNAME11 != null) { + $result.fIELDNAME11 = fIELDNAME11; + } + if (fIELDName12 != null) { + $result.fIELDName12 = fIELDName12; + } + if (fieldName13 != null) { + $result.fieldName13 = fieldName13; + } + if (fieldName14 != null) { + $result.fieldName14 = fieldName14; + } + if (fieldName15 != null) { + $result.fieldName15 = fieldName15; + } + if (fieldName16 != null) { + $result.fieldName16 = fieldName16; + } + if (fieldName17 != null) { + $result.fieldName17 = fieldName17; + } + if (fieldName18 != null) { + $result.fieldName18 = fieldName18; + } + return $result; + } + TestAllTypesProto2._() : super(); + factory TestAllTypesProto2.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto2.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, TestAllTypesProto2_OneofField> + _TestAllTypesProto2_OneofFieldByTag = { + 111: TestAllTypesProto2_OneofField.oneofUint32, + 112: TestAllTypesProto2_OneofField.oneofNestedMessage, + 113: TestAllTypesProto2_OneofField.oneofString, + 114: TestAllTypesProto2_OneofField.oneofBytes, + 115: TestAllTypesProto2_OneofField.oneofBool, + 116: TestAllTypesProto2_OneofField.oneofUint64, + 117: TestAllTypesProto2_OneofField.oneofFloat, + 118: TestAllTypesProto2_OneofField.oneofDouble, + 119: TestAllTypesProto2_OneofField.oneofEnum, + 0: TestAllTypesProto2_OneofField.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..oo(0, [111, 112, 113, 114, 115, 116, 117, 118, 119]) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'optionalInt32', $pb.PbFieldType.O3) + ..aInt64(2, _omitFieldNames ? '' : 'optionalInt64') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'optionalUint32', $pb.PbFieldType.OU3) + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'optionalUint64', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'optionalSint32', $pb.PbFieldType.OS3) + ..a<$fixnum.Int64>( + 6, _omitFieldNames ? '' : 'optionalSint64', $pb.PbFieldType.OS6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 7, _omitFieldNames ? '' : 'optionalFixed32', $pb.PbFieldType.OF3) + ..a<$fixnum.Int64>( + 8, _omitFieldNames ? '' : 'optionalFixed64', $pb.PbFieldType.OF6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 9, _omitFieldNames ? '' : 'optionalSfixed32', $pb.PbFieldType.OSF3) + ..a<$fixnum.Int64>( + 10, _omitFieldNames ? '' : 'optionalSfixed64', $pb.PbFieldType.OSF6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 11, _omitFieldNames ? '' : 'optionalFloat', $pb.PbFieldType.OF) + ..a<$core.double>( + 12, _omitFieldNames ? '' : 'optionalDouble', $pb.PbFieldType.OD) + ..aOB(13, _omitFieldNames ? '' : 'optionalBool') + ..aOS(14, _omitFieldNames ? '' : 'optionalString') + ..a<$core.List<$core.int>>( + 15, _omitFieldNames ? '' : 'optionalBytes', $pb.PbFieldType.OY) + ..aOM( + 18, _omitFieldNames ? '' : 'optionalNestedMessage', + subBuilder: TestAllTypesProto2_NestedMessage.create) + ..aOM( + 19, _omitFieldNames ? '' : 'optionalForeignMessage', + subBuilder: ForeignMessageProto2.create) + ..e( + 21, _omitFieldNames ? '' : 'optionalNestedEnum', $pb.PbFieldType.OE, + defaultOrMaker: TestAllTypesProto2_NestedEnum.FOO, + valueOf: TestAllTypesProto2_NestedEnum.valueOf, + enumValues: TestAllTypesProto2_NestedEnum.values) + ..e( + 22, _omitFieldNames ? '' : 'optionalForeignEnum', $pb.PbFieldType.OE, + defaultOrMaker: ForeignEnumProto2.FOREIGN_FOO, + valueOf: ForeignEnumProto2.valueOf, + enumValues: ForeignEnumProto2.values) + ..aOS(24, _omitFieldNames ? '' : 'optionalStringPiece') + ..aOS(25, _omitFieldNames ? '' : 'optionalCord') + ..aOM(27, _omitFieldNames ? '' : 'recursiveMessage', + subBuilder: TestAllTypesProto2.create) + ..p<$core.int>( + 31, _omitFieldNames ? '' : 'repeatedInt32', $pb.PbFieldType.P3) + ..p<$fixnum.Int64>( + 32, _omitFieldNames ? '' : 'repeatedInt64', $pb.PbFieldType.P6) + ..p<$core.int>( + 33, _omitFieldNames ? '' : 'repeatedUint32', $pb.PbFieldType.PU3) + ..p<$fixnum.Int64>( + 34, _omitFieldNames ? '' : 'repeatedUint64', $pb.PbFieldType.PU6) + ..p<$core.int>( + 35, _omitFieldNames ? '' : 'repeatedSint32', $pb.PbFieldType.PS3) + ..p<$fixnum.Int64>( + 36, _omitFieldNames ? '' : 'repeatedSint64', $pb.PbFieldType.PS6) + ..p<$core.int>( + 37, _omitFieldNames ? '' : 'repeatedFixed32', $pb.PbFieldType.PF3) + ..p<$fixnum.Int64>( + 38, _omitFieldNames ? '' : 'repeatedFixed64', $pb.PbFieldType.PF6) + ..p<$core.int>( + 39, _omitFieldNames ? '' : 'repeatedSfixed32', $pb.PbFieldType.PSF3) + ..p<$fixnum.Int64>( + 40, _omitFieldNames ? '' : 'repeatedSfixed64', $pb.PbFieldType.PSF6) + ..p<$core.double>( + 41, _omitFieldNames ? '' : 'repeatedFloat', $pb.PbFieldType.PF) + ..p<$core.double>( + 42, _omitFieldNames ? '' : 'repeatedDouble', $pb.PbFieldType.PD) + ..p<$core.bool>( + 43, _omitFieldNames ? '' : 'repeatedBool', $pb.PbFieldType.PB) + ..pPS(44, _omitFieldNames ? '' : 'repeatedString') + ..p<$core.List<$core.int>>( + 45, _omitFieldNames ? '' : 'repeatedBytes', $pb.PbFieldType.PY) + ..pc( + 48, _omitFieldNames ? '' : 'repeatedNestedMessage', $pb.PbFieldType.PM, + subBuilder: TestAllTypesProto2_NestedMessage.create) + ..pc( + 49, _omitFieldNames ? '' : 'repeatedForeignMessage', $pb.PbFieldType.PM, + subBuilder: ForeignMessageProto2.create) + ..pc( + 51, _omitFieldNames ? '' : 'repeatedNestedEnum', $pb.PbFieldType.PE, + valueOf: TestAllTypesProto2_NestedEnum.valueOf, + enumValues: TestAllTypesProto2_NestedEnum.values, + defaultEnumValue: TestAllTypesProto2_NestedEnum.FOO) + ..pc( + 52, _omitFieldNames ? '' : 'repeatedForeignEnum', $pb.PbFieldType.PE, + valueOf: ForeignEnumProto2.valueOf, + enumValues: ForeignEnumProto2.values, + defaultEnumValue: ForeignEnumProto2.FOREIGN_FOO) + ..pPS(54, _omitFieldNames ? '' : 'repeatedStringPiece') + ..pPS(55, _omitFieldNames ? '' : 'repeatedCord') + ..m<$core.int, $core.int>(56, _omitFieldNames ? '' : 'mapInt32Int32', + entryClassName: 'TestAllTypesProto2.MapInt32Int32Entry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.O3, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 57, _omitFieldNames ? '' : 'mapInt64Int64', + entryClassName: 'TestAllTypesProto2.MapInt64Int64Entry', + keyFieldType: $pb.PbFieldType.O6, + valueFieldType: $pb.PbFieldType.O6, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.int, $core.int>(58, _omitFieldNames ? '' : 'mapUint32Uint32', + entryClassName: 'TestAllTypesProto2.MapUint32Uint32Entry', + keyFieldType: $pb.PbFieldType.OU3, + valueFieldType: $pb.PbFieldType.OU3, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 59, _omitFieldNames ? '' : 'mapUint64Uint64', + entryClassName: 'TestAllTypesProto2.MapUint64Uint64Entry', + keyFieldType: $pb.PbFieldType.OU6, + valueFieldType: $pb.PbFieldType.OU6, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.int, $core.int>(60, _omitFieldNames ? '' : 'mapSint32Sint32', + entryClassName: 'TestAllTypesProto2.MapSint32Sint32Entry', + keyFieldType: $pb.PbFieldType.OS3, + valueFieldType: $pb.PbFieldType.OS3, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 61, _omitFieldNames ? '' : 'mapSint64Sint64', + entryClassName: 'TestAllTypesProto2.MapSint64Sint64Entry', + keyFieldType: $pb.PbFieldType.OS6, + valueFieldType: $pb.PbFieldType.OS6, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.int, $core.int>(62, _omitFieldNames ? '' : 'mapFixed32Fixed32', + entryClassName: 'TestAllTypesProto2.MapFixed32Fixed32Entry', + keyFieldType: $pb.PbFieldType.OF3, + valueFieldType: $pb.PbFieldType.OF3, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 63, _omitFieldNames ? '' : 'mapFixed64Fixed64', + entryClassName: 'TestAllTypesProto2.MapFixed64Fixed64Entry', + keyFieldType: $pb.PbFieldType.OF6, + valueFieldType: $pb.PbFieldType.OF6, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.int, $core.int>(64, _omitFieldNames ? '' : 'mapSfixed32Sfixed32', + entryClassName: 'TestAllTypesProto2.MapSfixed32Sfixed32Entry', + keyFieldType: $pb.PbFieldType.OSF3, + valueFieldType: $pb.PbFieldType.OSF3, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 65, _omitFieldNames ? '' : 'mapSfixed64Sfixed64', + entryClassName: 'TestAllTypesProto2.MapSfixed64Sfixed64Entry', + keyFieldType: $pb.PbFieldType.OSF6, + valueFieldType: $pb.PbFieldType.OSF6, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.int, $core.double>(66, _omitFieldNames ? '' : 'mapInt32Float', + entryClassName: 'TestAllTypesProto2.MapInt32FloatEntry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.OF, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.int, $core.double>(67, _omitFieldNames ? '' : 'mapInt32Double', + entryClassName: 'TestAllTypesProto2.MapInt32DoubleEntry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.OD, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.bool, $core.bool>(68, _omitFieldNames ? '' : 'mapBoolBool', + entryClassName: 'TestAllTypesProto2.MapBoolBoolEntry', + keyFieldType: $pb.PbFieldType.OB, + valueFieldType: $pb.PbFieldType.OB, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.String, $core.String>( + 69, _omitFieldNames ? '' : 'mapStringString', + entryClassName: 'TestAllTypesProto2.MapStringStringEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.String, $core.List<$core.int>>( + 70, _omitFieldNames ? '' : 'mapStringBytes', + entryClassName: 'TestAllTypesProto2.MapStringBytesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OY, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.String, TestAllTypesProto2_NestedMessage>( + 71, _omitFieldNames ? '' : 'mapStringNestedMessage', + entryClassName: 'TestAllTypesProto2.MapStringNestedMessageEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: TestAllTypesProto2_NestedMessage.create, + valueDefaultOrMaker: TestAllTypesProto2_NestedMessage.getDefault, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.String, ForeignMessageProto2>( + 72, _omitFieldNames ? '' : 'mapStringForeignMessage', + entryClassName: 'TestAllTypesProto2.MapStringForeignMessageEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: ForeignMessageProto2.create, + valueDefaultOrMaker: ForeignMessageProto2.getDefault, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.String, TestAllTypesProto2_NestedEnum>( + 73, _omitFieldNames ? '' : 'mapStringNestedEnum', + entryClassName: 'TestAllTypesProto2.MapStringNestedEnumEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OE, + valueOf: TestAllTypesProto2_NestedEnum.valueOf, + enumValues: TestAllTypesProto2_NestedEnum.values, + valueDefaultOrMaker: TestAllTypesProto2_NestedEnum.FOO, + defaultEnumValue: TestAllTypesProto2_NestedEnum.FOO, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..m<$core.String, ForeignEnumProto2>( + 74, _omitFieldNames ? '' : 'mapStringForeignEnum', + entryClassName: 'TestAllTypesProto2.MapStringForeignEnumEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OE, + valueOf: ForeignEnumProto2.valueOf, + enumValues: ForeignEnumProto2.values, + valueDefaultOrMaker: ForeignEnumProto2.FOREIGN_FOO, + defaultEnumValue: ForeignEnumProto2.FOREIGN_FOO, + packageName: const $pb.PackageName('protobuf_test_messages.proto2')) + ..p<$core.int>(75, _omitFieldNames ? '' : 'packedInt32', $pb.PbFieldType.K3) + ..p<$fixnum.Int64>( + 76, _omitFieldNames ? '' : 'packedInt64', $pb.PbFieldType.K6) + ..p<$core.int>( + 77, _omitFieldNames ? '' : 'packedUint32', $pb.PbFieldType.KU3) + ..p<$fixnum.Int64>( + 78, _omitFieldNames ? '' : 'packedUint64', $pb.PbFieldType.KU6) + ..p<$core.int>( + 79, _omitFieldNames ? '' : 'packedSint32', $pb.PbFieldType.KS3) + ..p<$fixnum.Int64>( + 80, _omitFieldNames ? '' : 'packedSint64', $pb.PbFieldType.KS6) + ..p<$core.int>( + 81, _omitFieldNames ? '' : 'packedFixed32', $pb.PbFieldType.KF3) + ..p<$fixnum.Int64>( + 82, _omitFieldNames ? '' : 'packedFixed64', $pb.PbFieldType.KF6) + ..p<$core.int>( + 83, _omitFieldNames ? '' : 'packedSfixed32', $pb.PbFieldType.KSF3) + ..p<$fixnum.Int64>( + 84, _omitFieldNames ? '' : 'packedSfixed64', $pb.PbFieldType.KSF6) + ..p<$core.double>( + 85, _omitFieldNames ? '' : 'packedFloat', $pb.PbFieldType.KF) + ..p<$core.double>( + 86, _omitFieldNames ? '' : 'packedDouble', $pb.PbFieldType.KD) + ..p<$core.bool>(87, _omitFieldNames ? '' : 'packedBool', $pb.PbFieldType.KB) + ..pc( + 88, _omitFieldNames ? '' : 'packedNestedEnum', $pb.PbFieldType.KE, + valueOf: TestAllTypesProto2_NestedEnum.valueOf, + enumValues: TestAllTypesProto2_NestedEnum.values, + defaultEnumValue: TestAllTypesProto2_NestedEnum.FOO) + ..p<$core.int>( + 89, _omitFieldNames ? '' : 'unpackedInt32', $pb.PbFieldType.P3) + ..p<$fixnum.Int64>( + 90, _omitFieldNames ? '' : 'unpackedInt64', $pb.PbFieldType.P6) + ..p<$core.int>( + 91, _omitFieldNames ? '' : 'unpackedUint32', $pb.PbFieldType.PU3) + ..p<$fixnum.Int64>( + 92, _omitFieldNames ? '' : 'unpackedUint64', $pb.PbFieldType.PU6) + ..p<$core.int>( + 93, _omitFieldNames ? '' : 'unpackedSint32', $pb.PbFieldType.PS3) + ..p<$fixnum.Int64>( + 94, _omitFieldNames ? '' : 'unpackedSint64', $pb.PbFieldType.PS6) + ..p<$core.int>( + 95, _omitFieldNames ? '' : 'unpackedFixed32', $pb.PbFieldType.PF3) + ..p<$fixnum.Int64>( + 96, _omitFieldNames ? '' : 'unpackedFixed64', $pb.PbFieldType.PF6) + ..p<$core.int>( + 97, _omitFieldNames ? '' : 'unpackedSfixed32', $pb.PbFieldType.PSF3) + ..p<$fixnum.Int64>( + 98, _omitFieldNames ? '' : 'unpackedSfixed64', $pb.PbFieldType.PSF6) + ..p<$core.double>( + 99, _omitFieldNames ? '' : 'unpackedFloat', $pb.PbFieldType.PF) + ..p<$core.double>( + 100, _omitFieldNames ? '' : 'unpackedDouble', $pb.PbFieldType.PD) + ..p<$core.bool>( + 101, _omitFieldNames ? '' : 'unpackedBool', $pb.PbFieldType.PB) + ..pc( + 102, _omitFieldNames ? '' : 'unpackedNestedEnum', $pb.PbFieldType.PE, + valueOf: TestAllTypesProto2_NestedEnum.valueOf, + enumValues: TestAllTypesProto2_NestedEnum.values, + defaultEnumValue: TestAllTypesProto2_NestedEnum.FOO) + ..a<$core.int>( + 111, _omitFieldNames ? '' : 'oneofUint32', $pb.PbFieldType.OU3) + ..aOM( + 112, _omitFieldNames ? '' : 'oneofNestedMessage', + subBuilder: TestAllTypesProto2_NestedMessage.create) + ..aOS(113, _omitFieldNames ? '' : 'oneofString') + ..a<$core.List<$core.int>>( + 114, _omitFieldNames ? '' : 'oneofBytes', $pb.PbFieldType.OY) + ..aOB(115, _omitFieldNames ? '' : 'oneofBool') + ..a<$fixnum.Int64>( + 116, _omitFieldNames ? '' : 'oneofUint64', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 117, _omitFieldNames ? '' : 'oneofFloat', $pb.PbFieldType.OF) + ..a<$core.double>( + 118, _omitFieldNames ? '' : 'oneofDouble', $pb.PbFieldType.OD) + ..e( + 119, _omitFieldNames ? '' : 'oneofEnum', $pb.PbFieldType.OE, + defaultOrMaker: TestAllTypesProto2_NestedEnum.FOO, + valueOf: TestAllTypesProto2_NestedEnum.valueOf, + enumValues: TestAllTypesProto2_NestedEnum.values) + ..a( + 201, _omitFieldNames ? '' : 'data', $pb.PbFieldType.OG, + subBuilder: TestAllTypesProto2_Data.create, + defaultOrMaker: TestAllTypesProto2_Data.getDefault) + ..a( + 204, _omitFieldNames ? '' : 'multiwordgroupfield', $pb.PbFieldType.OG, + subBuilder: TestAllTypesProto2_MultiWordGroupField.create, + defaultOrMaker: TestAllTypesProto2_MultiWordGroupField.getDefault) + ..a<$core.int>( + 241, _omitFieldNames ? '' : 'defaultInt32', $pb.PbFieldType.O3, + defaultOrMaker: -123456789) + ..a<$fixnum.Int64>( + 242, _omitFieldNames ? '' : 'defaultInt64', $pb.PbFieldType.O6, + defaultOrMaker: $pb.parseLongInt('-9123456789123456789')) + ..a<$core.int>( + 243, _omitFieldNames ? '' : 'defaultUint32', $pb.PbFieldType.OU3, + defaultOrMaker: 2123456789) + ..a<$fixnum.Int64>( + 244, _omitFieldNames ? '' : 'defaultUint64', $pb.PbFieldType.OU6, + defaultOrMaker: $pb.parseLongInt('10123456789123456789')) + ..a<$core.int>( + 245, _omitFieldNames ? '' : 'defaultSint32', $pb.PbFieldType.OS3, + defaultOrMaker: -123456789) + ..a<$fixnum.Int64>( + 246, _omitFieldNames ? '' : 'defaultSint64', $pb.PbFieldType.OS6, + defaultOrMaker: $pb.parseLongInt('-9123456789123456789')) + ..a<$core.int>( + 247, _omitFieldNames ? '' : 'defaultFixed32', $pb.PbFieldType.OF3, + defaultOrMaker: 2123456789) + ..a<$fixnum.Int64>( + 248, _omitFieldNames ? '' : 'defaultFixed64', $pb.PbFieldType.OF6, + defaultOrMaker: $pb.parseLongInt('10123456789123456789')) + ..a<$core.int>( + 249, _omitFieldNames ? '' : 'defaultSfixed32', $pb.PbFieldType.OSF3, + defaultOrMaker: -123456789) + ..a<$fixnum.Int64>( + 250, _omitFieldNames ? '' : 'defaultSfixed64', $pb.PbFieldType.OSF6, + defaultOrMaker: $pb.parseLongInt('-9123456789123456789')) + ..a<$core.double>( + 251, _omitFieldNames ? '' : 'defaultFloat', $pb.PbFieldType.OF, + defaultOrMaker: 9e+09) + ..a<$core.double>( + 252, _omitFieldNames ? '' : 'defaultDouble', $pb.PbFieldType.OD, + defaultOrMaker: 7e+22) + ..a<$core.bool>( + 253, _omitFieldNames ? '' : 'defaultBool', $pb.PbFieldType.OB, + defaultOrMaker: true) + ..a<$core.String>( + 254, _omitFieldNames ? '' : 'defaultString', $pb.PbFieldType.OS, + defaultOrMaker: 'Rosebud') + ..a<$core.List<$core.int>>( + 255, _omitFieldNames ? '' : 'defaultBytes', $pb.PbFieldType.OY, + defaultOrMaker: () => <$core.int>[0x6a, 0x6f, 0x73, 0x68, 0x75, 0x61]) + ..a<$core.int>(401, _omitFieldNames ? '' : 'fieldname1', $pb.PbFieldType.O3) + ..a<$core.int>(402, _omitFieldNames ? '' : 'fieldName2', $pb.PbFieldType.O3) + ..a<$core.int>(403, _omitFieldNames ? '' : 'FieldName3', $pb.PbFieldType.O3) + ..a<$core.int>(404, _omitFieldNames ? '' : 'fieldName4', $pb.PbFieldType.O3, + protoName: 'field__name4_') + ..a<$core.int>( + 405, _omitFieldNames ? '' : 'field0name5', $pb.PbFieldType.O3) + ..a<$core.int>( + 406, _omitFieldNames ? '' : 'field0Name6', $pb.PbFieldType.O3, + protoName: 'field_0_name6') + ..a<$core.int>(407, _omitFieldNames ? '' : 'fieldName7', $pb.PbFieldType.O3, + protoName: 'fieldName7') + ..a<$core.int>(408, _omitFieldNames ? '' : 'FieldName8', $pb.PbFieldType.O3, + protoName: 'FieldName8') + ..a<$core.int>(409, _omitFieldNames ? '' : 'fieldName9', $pb.PbFieldType.O3, + protoName: 'field_Name9') + ..a<$core.int>( + 410, _omitFieldNames ? '' : 'FieldName10', $pb.PbFieldType.O3, + protoName: 'Field_Name10') + ..a<$core.int>( + 411, _omitFieldNames ? '' : 'FIELDNAME11', $pb.PbFieldType.O3, + protoName: 'FIELD_NAME11') + ..a<$core.int>( + 412, _omitFieldNames ? '' : 'FIELDName12', $pb.PbFieldType.O3, + protoName: 'FIELD_name12') + ..a<$core.int>( + 413, _omitFieldNames ? '' : 'FieldName13', $pb.PbFieldType.O3, + protoName: '__field_name13') + ..a<$core.int>( + 414, _omitFieldNames ? '' : 'FieldName14', $pb.PbFieldType.O3, + protoName: '__Field_name14') + ..a<$core.int>( + 415, _omitFieldNames ? '' : 'fieldName15', $pb.PbFieldType.O3, + protoName: 'field__name15') + ..a<$core.int>( + 416, _omitFieldNames ? '' : 'fieldName16', $pb.PbFieldType.O3, + protoName: 'field__Name16') + ..a<$core.int>( + 417, _omitFieldNames ? '' : 'fieldName17', $pb.PbFieldType.O3, + protoName: 'field_name17__') + ..a<$core.int>( + 418, _omitFieldNames ? '' : 'FieldName18', $pb.PbFieldType.O3, + protoName: 'Field_name18__') + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2 clone() => TestAllTypesProto2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto2 copyWith(void Function(TestAllTypesProto2) updates) => + super.copyWith((message) => updates(message as TestAllTypesProto2)) + as TestAllTypesProto2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2 create() => TestAllTypesProto2._(); + TestAllTypesProto2 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto2 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TestAllTypesProto2? _defaultInstance; + + TestAllTypesProto2_OneofField whichOneofField() => + _TestAllTypesProto2_OneofFieldByTag[$_whichOneof(0)]!; + void clearOneofField() => clearField($_whichOneof(0)); + + /// Singular + @$pb.TagNumber(1) + $core.int get optionalInt32 => $_getIZ(0); + @$pb.TagNumber(1) + set optionalInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOptionalInt32() => $_has(0); + @$pb.TagNumber(1) + void clearOptionalInt32() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get optionalInt64 => $_getI64(1); + @$pb.TagNumber(2) + set optionalInt64($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOptionalInt64() => $_has(1); + @$pb.TagNumber(2) + void clearOptionalInt64() => clearField(2); + + @$pb.TagNumber(3) + $core.int get optionalUint32 => $_getIZ(2); + @$pb.TagNumber(3) + set optionalUint32($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptionalUint32() => $_has(2); + @$pb.TagNumber(3) + void clearOptionalUint32() => clearField(3); + + @$pb.TagNumber(4) + $fixnum.Int64 get optionalUint64 => $_getI64(3); + @$pb.TagNumber(4) + set optionalUint64($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasOptionalUint64() => $_has(3); + @$pb.TagNumber(4) + void clearOptionalUint64() => clearField(4); + + @$pb.TagNumber(5) + $core.int get optionalSint32 => $_getIZ(4); + @$pb.TagNumber(5) + set optionalSint32($core.int v) { + $_setSignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOptionalSint32() => $_has(4); + @$pb.TagNumber(5) + void clearOptionalSint32() => clearField(5); + + @$pb.TagNumber(6) + $fixnum.Int64 get optionalSint64 => $_getI64(5); + @$pb.TagNumber(6) + set optionalSint64($fixnum.Int64 v) { + $_setInt64(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasOptionalSint64() => $_has(5); + @$pb.TagNumber(6) + void clearOptionalSint64() => clearField(6); + + @$pb.TagNumber(7) + $core.int get optionalFixed32 => $_getIZ(6); + @$pb.TagNumber(7) + set optionalFixed32($core.int v) { + $_setUnsignedInt32(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasOptionalFixed32() => $_has(6); + @$pb.TagNumber(7) + void clearOptionalFixed32() => clearField(7); + + @$pb.TagNumber(8) + $fixnum.Int64 get optionalFixed64 => $_getI64(7); + @$pb.TagNumber(8) + set optionalFixed64($fixnum.Int64 v) { + $_setInt64(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasOptionalFixed64() => $_has(7); + @$pb.TagNumber(8) + void clearOptionalFixed64() => clearField(8); + + @$pb.TagNumber(9) + $core.int get optionalSfixed32 => $_getIZ(8); + @$pb.TagNumber(9) + set optionalSfixed32($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasOptionalSfixed32() => $_has(8); + @$pb.TagNumber(9) + void clearOptionalSfixed32() => clearField(9); + + @$pb.TagNumber(10) + $fixnum.Int64 get optionalSfixed64 => $_getI64(9); + @$pb.TagNumber(10) + set optionalSfixed64($fixnum.Int64 v) { + $_setInt64(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasOptionalSfixed64() => $_has(9); + @$pb.TagNumber(10) + void clearOptionalSfixed64() => clearField(10); + + @$pb.TagNumber(11) + $core.double get optionalFloat => $_getN(10); + @$pb.TagNumber(11) + set optionalFloat($core.double v) { + $_setFloat(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasOptionalFloat() => $_has(10); + @$pb.TagNumber(11) + void clearOptionalFloat() => clearField(11); + + @$pb.TagNumber(12) + $core.double get optionalDouble => $_getN(11); + @$pb.TagNumber(12) + set optionalDouble($core.double v) { + $_setDouble(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasOptionalDouble() => $_has(11); + @$pb.TagNumber(12) + void clearOptionalDouble() => clearField(12); + + @$pb.TagNumber(13) + $core.bool get optionalBool => $_getBF(12); + @$pb.TagNumber(13) + set optionalBool($core.bool v) { + $_setBool(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasOptionalBool() => $_has(12); + @$pb.TagNumber(13) + void clearOptionalBool() => clearField(13); + + @$pb.TagNumber(14) + $core.String get optionalString => $_getSZ(13); + @$pb.TagNumber(14) + set optionalString($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasOptionalString() => $_has(13); + @$pb.TagNumber(14) + void clearOptionalString() => clearField(14); + + @$pb.TagNumber(15) + $core.List<$core.int> get optionalBytes => $_getN(14); + @$pb.TagNumber(15) + set optionalBytes($core.List<$core.int> v) { + $_setBytes(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasOptionalBytes() => $_has(14); + @$pb.TagNumber(15) + void clearOptionalBytes() => clearField(15); + + @$pb.TagNumber(18) + TestAllTypesProto2_NestedMessage get optionalNestedMessage => $_getN(15); + @$pb.TagNumber(18) + set optionalNestedMessage(TestAllTypesProto2_NestedMessage v) { + setField(18, v); + } + + @$pb.TagNumber(18) + $core.bool hasOptionalNestedMessage() => $_has(15); + @$pb.TagNumber(18) + void clearOptionalNestedMessage() => clearField(18); + @$pb.TagNumber(18) + TestAllTypesProto2_NestedMessage ensureOptionalNestedMessage() => + $_ensure(15); + + @$pb.TagNumber(19) + ForeignMessageProto2 get optionalForeignMessage => $_getN(16); + @$pb.TagNumber(19) + set optionalForeignMessage(ForeignMessageProto2 v) { + setField(19, v); + } + + @$pb.TagNumber(19) + $core.bool hasOptionalForeignMessage() => $_has(16); + @$pb.TagNumber(19) + void clearOptionalForeignMessage() => clearField(19); + @$pb.TagNumber(19) + ForeignMessageProto2 ensureOptionalForeignMessage() => $_ensure(16); + + @$pb.TagNumber(21) + TestAllTypesProto2_NestedEnum get optionalNestedEnum => $_getN(17); + @$pb.TagNumber(21) + set optionalNestedEnum(TestAllTypesProto2_NestedEnum v) { + setField(21, v); + } + + @$pb.TagNumber(21) + $core.bool hasOptionalNestedEnum() => $_has(17); + @$pb.TagNumber(21) + void clearOptionalNestedEnum() => clearField(21); + + @$pb.TagNumber(22) + ForeignEnumProto2 get optionalForeignEnum => $_getN(18); + @$pb.TagNumber(22) + set optionalForeignEnum(ForeignEnumProto2 v) { + setField(22, v); + } + + @$pb.TagNumber(22) + $core.bool hasOptionalForeignEnum() => $_has(18); + @$pb.TagNumber(22) + void clearOptionalForeignEnum() => clearField(22); + + @$pb.TagNumber(24) + $core.String get optionalStringPiece => $_getSZ(19); + @$pb.TagNumber(24) + set optionalStringPiece($core.String v) { + $_setString(19, v); + } + + @$pb.TagNumber(24) + $core.bool hasOptionalStringPiece() => $_has(19); + @$pb.TagNumber(24) + void clearOptionalStringPiece() => clearField(24); + + @$pb.TagNumber(25) + $core.String get optionalCord => $_getSZ(20); + @$pb.TagNumber(25) + set optionalCord($core.String v) { + $_setString(20, v); + } + + @$pb.TagNumber(25) + $core.bool hasOptionalCord() => $_has(20); + @$pb.TagNumber(25) + void clearOptionalCord() => clearField(25); + + @$pb.TagNumber(27) + TestAllTypesProto2 get recursiveMessage => $_getN(21); + @$pb.TagNumber(27) + set recursiveMessage(TestAllTypesProto2 v) { + setField(27, v); + } + + @$pb.TagNumber(27) + $core.bool hasRecursiveMessage() => $_has(21); + @$pb.TagNumber(27) + void clearRecursiveMessage() => clearField(27); + @$pb.TagNumber(27) + TestAllTypesProto2 ensureRecursiveMessage() => $_ensure(21); + + /// Repeated + @$pb.TagNumber(31) + $core.List<$core.int> get repeatedInt32 => $_getList(22); + + @$pb.TagNumber(32) + $core.List<$fixnum.Int64> get repeatedInt64 => $_getList(23); + + @$pb.TagNumber(33) + $core.List<$core.int> get repeatedUint32 => $_getList(24); + + @$pb.TagNumber(34) + $core.List<$fixnum.Int64> get repeatedUint64 => $_getList(25); + + @$pb.TagNumber(35) + $core.List<$core.int> get repeatedSint32 => $_getList(26); + + @$pb.TagNumber(36) + $core.List<$fixnum.Int64> get repeatedSint64 => $_getList(27); + + @$pb.TagNumber(37) + $core.List<$core.int> get repeatedFixed32 => $_getList(28); + + @$pb.TagNumber(38) + $core.List<$fixnum.Int64> get repeatedFixed64 => $_getList(29); + + @$pb.TagNumber(39) + $core.List<$core.int> get repeatedSfixed32 => $_getList(30); + + @$pb.TagNumber(40) + $core.List<$fixnum.Int64> get repeatedSfixed64 => $_getList(31); + + @$pb.TagNumber(41) + $core.List<$core.double> get repeatedFloat => $_getList(32); + + @$pb.TagNumber(42) + $core.List<$core.double> get repeatedDouble => $_getList(33); + + @$pb.TagNumber(43) + $core.List<$core.bool> get repeatedBool => $_getList(34); + + @$pb.TagNumber(44) + $core.List<$core.String> get repeatedString => $_getList(35); + + @$pb.TagNumber(45) + $core.List<$core.List<$core.int>> get repeatedBytes => $_getList(36); + + @$pb.TagNumber(48) + $core.List get repeatedNestedMessage => + $_getList(37); + + @$pb.TagNumber(49) + $core.List get repeatedForeignMessage => $_getList(38); + + @$pb.TagNumber(51) + $core.List get repeatedNestedEnum => + $_getList(39); + + @$pb.TagNumber(52) + $core.List get repeatedForeignEnum => $_getList(40); + + @$pb.TagNumber(54) + $core.List<$core.String> get repeatedStringPiece => $_getList(41); + + @$pb.TagNumber(55) + $core.List<$core.String> get repeatedCord => $_getList(42); + + /// Map + @$pb.TagNumber(56) + $core.Map<$core.int, $core.int> get mapInt32Int32 => $_getMap(43); + + @$pb.TagNumber(57) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapInt64Int64 => $_getMap(44); + + @$pb.TagNumber(58) + $core.Map<$core.int, $core.int> get mapUint32Uint32 => $_getMap(45); + + @$pb.TagNumber(59) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapUint64Uint64 => $_getMap(46); + + @$pb.TagNumber(60) + $core.Map<$core.int, $core.int> get mapSint32Sint32 => $_getMap(47); + + @$pb.TagNumber(61) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapSint64Sint64 => $_getMap(48); + + @$pb.TagNumber(62) + $core.Map<$core.int, $core.int> get mapFixed32Fixed32 => $_getMap(49); + + @$pb.TagNumber(63) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapFixed64Fixed64 => $_getMap(50); + + @$pb.TagNumber(64) + $core.Map<$core.int, $core.int> get mapSfixed32Sfixed32 => $_getMap(51); + + @$pb.TagNumber(65) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapSfixed64Sfixed64 => + $_getMap(52); + + @$pb.TagNumber(66) + $core.Map<$core.int, $core.double> get mapInt32Float => $_getMap(53); + + @$pb.TagNumber(67) + $core.Map<$core.int, $core.double> get mapInt32Double => $_getMap(54); + + @$pb.TagNumber(68) + $core.Map<$core.bool, $core.bool> get mapBoolBool => $_getMap(55); + + @$pb.TagNumber(69) + $core.Map<$core.String, $core.String> get mapStringString => $_getMap(56); + + @$pb.TagNumber(70) + $core.Map<$core.String, $core.List<$core.int>> get mapStringBytes => + $_getMap(57); + + @$pb.TagNumber(71) + $core.Map<$core.String, TestAllTypesProto2_NestedMessage> + get mapStringNestedMessage => $_getMap(58); + + @$pb.TagNumber(72) + $core.Map<$core.String, ForeignMessageProto2> get mapStringForeignMessage => + $_getMap(59); + + @$pb.TagNumber(73) + $core.Map<$core.String, TestAllTypesProto2_NestedEnum> + get mapStringNestedEnum => $_getMap(60); + + @$pb.TagNumber(74) + $core.Map<$core.String, ForeignEnumProto2> get mapStringForeignEnum => + $_getMap(61); + + /// Packed + @$pb.TagNumber(75) + $core.List<$core.int> get packedInt32 => $_getList(62); + + @$pb.TagNumber(76) + $core.List<$fixnum.Int64> get packedInt64 => $_getList(63); + + @$pb.TagNumber(77) + $core.List<$core.int> get packedUint32 => $_getList(64); + + @$pb.TagNumber(78) + $core.List<$fixnum.Int64> get packedUint64 => $_getList(65); + + @$pb.TagNumber(79) + $core.List<$core.int> get packedSint32 => $_getList(66); + + @$pb.TagNumber(80) + $core.List<$fixnum.Int64> get packedSint64 => $_getList(67); + + @$pb.TagNumber(81) + $core.List<$core.int> get packedFixed32 => $_getList(68); + + @$pb.TagNumber(82) + $core.List<$fixnum.Int64> get packedFixed64 => $_getList(69); + + @$pb.TagNumber(83) + $core.List<$core.int> get packedSfixed32 => $_getList(70); + + @$pb.TagNumber(84) + $core.List<$fixnum.Int64> get packedSfixed64 => $_getList(71); + + @$pb.TagNumber(85) + $core.List<$core.double> get packedFloat => $_getList(72); + + @$pb.TagNumber(86) + $core.List<$core.double> get packedDouble => $_getList(73); + + @$pb.TagNumber(87) + $core.List<$core.bool> get packedBool => $_getList(74); + + @$pb.TagNumber(88) + $core.List get packedNestedEnum => + $_getList(75); + + /// Unpacked + @$pb.TagNumber(89) + $core.List<$core.int> get unpackedInt32 => $_getList(76); + + @$pb.TagNumber(90) + $core.List<$fixnum.Int64> get unpackedInt64 => $_getList(77); + + @$pb.TagNumber(91) + $core.List<$core.int> get unpackedUint32 => $_getList(78); + + @$pb.TagNumber(92) + $core.List<$fixnum.Int64> get unpackedUint64 => $_getList(79); + + @$pb.TagNumber(93) + $core.List<$core.int> get unpackedSint32 => $_getList(80); + + @$pb.TagNumber(94) + $core.List<$fixnum.Int64> get unpackedSint64 => $_getList(81); + + @$pb.TagNumber(95) + $core.List<$core.int> get unpackedFixed32 => $_getList(82); + + @$pb.TagNumber(96) + $core.List<$fixnum.Int64> get unpackedFixed64 => $_getList(83); + + @$pb.TagNumber(97) + $core.List<$core.int> get unpackedSfixed32 => $_getList(84); + + @$pb.TagNumber(98) + $core.List<$fixnum.Int64> get unpackedSfixed64 => $_getList(85); + + @$pb.TagNumber(99) + $core.List<$core.double> get unpackedFloat => $_getList(86); + + @$pb.TagNumber(100) + $core.List<$core.double> get unpackedDouble => $_getList(87); + + @$pb.TagNumber(101) + $core.List<$core.bool> get unpackedBool => $_getList(88); + + @$pb.TagNumber(102) + $core.List get unpackedNestedEnum => + $_getList(89); + + @$pb.TagNumber(111) + $core.int get oneofUint32 => $_getIZ(90); + @$pb.TagNumber(111) + set oneofUint32($core.int v) { + $_setUnsignedInt32(90, v); + } + + @$pb.TagNumber(111) + $core.bool hasOneofUint32() => $_has(90); + @$pb.TagNumber(111) + void clearOneofUint32() => clearField(111); + + @$pb.TagNumber(112) + TestAllTypesProto2_NestedMessage get oneofNestedMessage => $_getN(91); + @$pb.TagNumber(112) + set oneofNestedMessage(TestAllTypesProto2_NestedMessage v) { + setField(112, v); + } + + @$pb.TagNumber(112) + $core.bool hasOneofNestedMessage() => $_has(91); + @$pb.TagNumber(112) + void clearOneofNestedMessage() => clearField(112); + @$pb.TagNumber(112) + TestAllTypesProto2_NestedMessage ensureOneofNestedMessage() => $_ensure(91); + + @$pb.TagNumber(113) + $core.String get oneofString => $_getSZ(92); + @$pb.TagNumber(113) + set oneofString($core.String v) { + $_setString(92, v); + } + + @$pb.TagNumber(113) + $core.bool hasOneofString() => $_has(92); + @$pb.TagNumber(113) + void clearOneofString() => clearField(113); + + @$pb.TagNumber(114) + $core.List<$core.int> get oneofBytes => $_getN(93); + @$pb.TagNumber(114) + set oneofBytes($core.List<$core.int> v) { + $_setBytes(93, v); + } + + @$pb.TagNumber(114) + $core.bool hasOneofBytes() => $_has(93); + @$pb.TagNumber(114) + void clearOneofBytes() => clearField(114); + + @$pb.TagNumber(115) + $core.bool get oneofBool => $_getBF(94); + @$pb.TagNumber(115) + set oneofBool($core.bool v) { + $_setBool(94, v); + } + + @$pb.TagNumber(115) + $core.bool hasOneofBool() => $_has(94); + @$pb.TagNumber(115) + void clearOneofBool() => clearField(115); + + @$pb.TagNumber(116) + $fixnum.Int64 get oneofUint64 => $_getI64(95); + @$pb.TagNumber(116) + set oneofUint64($fixnum.Int64 v) { + $_setInt64(95, v); + } + + @$pb.TagNumber(116) + $core.bool hasOneofUint64() => $_has(95); + @$pb.TagNumber(116) + void clearOneofUint64() => clearField(116); + + @$pb.TagNumber(117) + $core.double get oneofFloat => $_getN(96); + @$pb.TagNumber(117) + set oneofFloat($core.double v) { + $_setFloat(96, v); + } + + @$pb.TagNumber(117) + $core.bool hasOneofFloat() => $_has(96); + @$pb.TagNumber(117) + void clearOneofFloat() => clearField(117); + + @$pb.TagNumber(118) + $core.double get oneofDouble => $_getN(97); + @$pb.TagNumber(118) + set oneofDouble($core.double v) { + $_setDouble(97, v); + } + + @$pb.TagNumber(118) + $core.bool hasOneofDouble() => $_has(97); + @$pb.TagNumber(118) + void clearOneofDouble() => clearField(118); + + @$pb.TagNumber(119) + TestAllTypesProto2_NestedEnum get oneofEnum => $_getN(98); + @$pb.TagNumber(119) + set oneofEnum(TestAllTypesProto2_NestedEnum v) { + setField(119, v); + } + + @$pb.TagNumber(119) + $core.bool hasOneofEnum() => $_has(98); + @$pb.TagNumber(119) + void clearOneofEnum() => clearField(119); + + @$pb.TagNumber(201) + TestAllTypesProto2_Data get data => $_getN(99); + @$pb.TagNumber(201) + set data(TestAllTypesProto2_Data v) { + setField(201, v); + } + + @$pb.TagNumber(201) + $core.bool hasData() => $_has(99); + @$pb.TagNumber(201) + void clearData() => clearField(201); + + @$pb.TagNumber(204) + TestAllTypesProto2_MultiWordGroupField get multiWordGroupField => $_getN(100); + @$pb.TagNumber(204) + set multiWordGroupField(TestAllTypesProto2_MultiWordGroupField v) { + setField(204, v); + } + + @$pb.TagNumber(204) + $core.bool hasMultiWordGroupField() => $_has(100); + @$pb.TagNumber(204) + void clearMultiWordGroupField() => clearField(204); + + /// default values + @$pb.TagNumber(241) + $core.int get defaultInt32 => $_getI(101, -123456789); + @$pb.TagNumber(241) + set defaultInt32($core.int v) { + $_setSignedInt32(101, v); + } + + @$pb.TagNumber(241) + $core.bool hasDefaultInt32() => $_has(101); + @$pb.TagNumber(241) + void clearDefaultInt32() => clearField(241); + + @$pb.TagNumber(242) + $fixnum.Int64 get defaultInt64 => $_getI64(102); + @$pb.TagNumber(242) + set defaultInt64($fixnum.Int64 v) { + $_setInt64(102, v); + } + + @$pb.TagNumber(242) + $core.bool hasDefaultInt64() => $_has(102); + @$pb.TagNumber(242) + void clearDefaultInt64() => clearField(242); + + @$pb.TagNumber(243) + $core.int get defaultUint32 => $_getI(103, 2123456789); + @$pb.TagNumber(243) + set defaultUint32($core.int v) { + $_setUnsignedInt32(103, v); + } + + @$pb.TagNumber(243) + $core.bool hasDefaultUint32() => $_has(103); + @$pb.TagNumber(243) + void clearDefaultUint32() => clearField(243); + + @$pb.TagNumber(244) + $fixnum.Int64 get defaultUint64 => $_getI64(104); + @$pb.TagNumber(244) + set defaultUint64($fixnum.Int64 v) { + $_setInt64(104, v); + } + + @$pb.TagNumber(244) + $core.bool hasDefaultUint64() => $_has(104); + @$pb.TagNumber(244) + void clearDefaultUint64() => clearField(244); + + @$pb.TagNumber(245) + $core.int get defaultSint32 => $_getI(105, -123456789); + @$pb.TagNumber(245) + set defaultSint32($core.int v) { + $_setSignedInt32(105, v); + } + + @$pb.TagNumber(245) + $core.bool hasDefaultSint32() => $_has(105); + @$pb.TagNumber(245) + void clearDefaultSint32() => clearField(245); + + @$pb.TagNumber(246) + $fixnum.Int64 get defaultSint64 => $_getI64(106); + @$pb.TagNumber(246) + set defaultSint64($fixnum.Int64 v) { + $_setInt64(106, v); + } + + @$pb.TagNumber(246) + $core.bool hasDefaultSint64() => $_has(106); + @$pb.TagNumber(246) + void clearDefaultSint64() => clearField(246); + + @$pb.TagNumber(247) + $core.int get defaultFixed32 => $_getI(107, 2123456789); + @$pb.TagNumber(247) + set defaultFixed32($core.int v) { + $_setUnsignedInt32(107, v); + } + + @$pb.TagNumber(247) + $core.bool hasDefaultFixed32() => $_has(107); + @$pb.TagNumber(247) + void clearDefaultFixed32() => clearField(247); + + @$pb.TagNumber(248) + $fixnum.Int64 get defaultFixed64 => $_getI64(108); + @$pb.TagNumber(248) + set defaultFixed64($fixnum.Int64 v) { + $_setInt64(108, v); + } + + @$pb.TagNumber(248) + $core.bool hasDefaultFixed64() => $_has(108); + @$pb.TagNumber(248) + void clearDefaultFixed64() => clearField(248); + + @$pb.TagNumber(249) + $core.int get defaultSfixed32 => $_getI(109, -123456789); + @$pb.TagNumber(249) + set defaultSfixed32($core.int v) { + $_setSignedInt32(109, v); + } + + @$pb.TagNumber(249) + $core.bool hasDefaultSfixed32() => $_has(109); + @$pb.TagNumber(249) + void clearDefaultSfixed32() => clearField(249); + + @$pb.TagNumber(250) + $fixnum.Int64 get defaultSfixed64 => $_getI64(110); + @$pb.TagNumber(250) + set defaultSfixed64($fixnum.Int64 v) { + $_setInt64(110, v); + } + + @$pb.TagNumber(250) + $core.bool hasDefaultSfixed64() => $_has(110); + @$pb.TagNumber(250) + void clearDefaultSfixed64() => clearField(250); + + @$pb.TagNumber(251) + $core.double get defaultFloat => $_getN(111); + @$pb.TagNumber(251) + set defaultFloat($core.double v) { + $_setFloat(111, v); + } + + @$pb.TagNumber(251) + $core.bool hasDefaultFloat() => $_has(111); + @$pb.TagNumber(251) + void clearDefaultFloat() => clearField(251); + + @$pb.TagNumber(252) + $core.double get defaultDouble => $_getN(112); + @$pb.TagNumber(252) + set defaultDouble($core.double v) { + $_setDouble(112, v); + } + + @$pb.TagNumber(252) + $core.bool hasDefaultDouble() => $_has(112); + @$pb.TagNumber(252) + void clearDefaultDouble() => clearField(252); + + @$pb.TagNumber(253) + $core.bool get defaultBool => $_getB(113, true); + @$pb.TagNumber(253) + set defaultBool($core.bool v) { + $_setBool(113, v); + } + + @$pb.TagNumber(253) + $core.bool hasDefaultBool() => $_has(113); + @$pb.TagNumber(253) + void clearDefaultBool() => clearField(253); + + @$pb.TagNumber(254) + $core.String get defaultString => $_getS(114, 'Rosebud'); + @$pb.TagNumber(254) + set defaultString($core.String v) { + $_setString(114, v); + } + + @$pb.TagNumber(254) + $core.bool hasDefaultString() => $_has(114); + @$pb.TagNumber(254) + void clearDefaultString() => clearField(254); + + @$pb.TagNumber(255) + $core.List<$core.int> get defaultBytes => $_getN(115); + @$pb.TagNumber(255) + set defaultBytes($core.List<$core.int> v) { + $_setBytes(115, v); + } + + @$pb.TagNumber(255) + $core.bool hasDefaultBytes() => $_has(115); + @$pb.TagNumber(255) + void clearDefaultBytes() => clearField(255); + + /// Test field-name-to-JSON-name convention. + /// (protobuf says names can be any valid C/C++ identifier.) + @$pb.TagNumber(401) + $core.int get fieldname1 => $_getIZ(116); + @$pb.TagNumber(401) + set fieldname1($core.int v) { + $_setSignedInt32(116, v); + } + + @$pb.TagNumber(401) + $core.bool hasFieldname1() => $_has(116); + @$pb.TagNumber(401) + void clearFieldname1() => clearField(401); + + @$pb.TagNumber(402) + $core.int get fieldName2 => $_getIZ(117); + @$pb.TagNumber(402) + set fieldName2($core.int v) { + $_setSignedInt32(117, v); + } + + @$pb.TagNumber(402) + $core.bool hasFieldName2() => $_has(117); + @$pb.TagNumber(402) + void clearFieldName2() => clearField(402); + + @$pb.TagNumber(403) + $core.int get fieldName3 => $_getIZ(118); + @$pb.TagNumber(403) + set fieldName3($core.int v) { + $_setSignedInt32(118, v); + } + + @$pb.TagNumber(403) + $core.bool hasFieldName3() => $_has(118); + @$pb.TagNumber(403) + void clearFieldName3() => clearField(403); + + @$pb.TagNumber(404) + $core.int get fieldName4 => $_getIZ(119); + @$pb.TagNumber(404) + set fieldName4($core.int v) { + $_setSignedInt32(119, v); + } + + @$pb.TagNumber(404) + $core.bool hasFieldName4() => $_has(119); + @$pb.TagNumber(404) + void clearFieldName4() => clearField(404); + + @$pb.TagNumber(405) + $core.int get field0name5 => $_getIZ(120); + @$pb.TagNumber(405) + set field0name5($core.int v) { + $_setSignedInt32(120, v); + } + + @$pb.TagNumber(405) + $core.bool hasField0name5() => $_has(120); + @$pb.TagNumber(405) + void clearField0name5() => clearField(405); + + @$pb.TagNumber(406) + $core.int get field0Name6 => $_getIZ(121); + @$pb.TagNumber(406) + set field0Name6($core.int v) { + $_setSignedInt32(121, v); + } + + @$pb.TagNumber(406) + $core.bool hasField0Name6() => $_has(121); + @$pb.TagNumber(406) + void clearField0Name6() => clearField(406); + + @$pb.TagNumber(407) + $core.int get fieldName7 => $_getIZ(122); + @$pb.TagNumber(407) + set fieldName7($core.int v) { + $_setSignedInt32(122, v); + } + + @$pb.TagNumber(407) + $core.bool hasFieldName7() => $_has(122); + @$pb.TagNumber(407) + void clearFieldName7() => clearField(407); + + @$pb.TagNumber(408) + $core.int get fieldName8 => $_getIZ(123); + @$pb.TagNumber(408) + set fieldName8($core.int v) { + $_setSignedInt32(123, v); + } + + @$pb.TagNumber(408) + $core.bool hasFieldName8() => $_has(123); + @$pb.TagNumber(408) + void clearFieldName8() => clearField(408); + + @$pb.TagNumber(409) + $core.int get fieldName9 => $_getIZ(124); + @$pb.TagNumber(409) + set fieldName9($core.int v) { + $_setSignedInt32(124, v); + } + + @$pb.TagNumber(409) + $core.bool hasFieldName9() => $_has(124); + @$pb.TagNumber(409) + void clearFieldName9() => clearField(409); + + @$pb.TagNumber(410) + $core.int get fieldName10 => $_getIZ(125); + @$pb.TagNumber(410) + set fieldName10($core.int v) { + $_setSignedInt32(125, v); + } + + @$pb.TagNumber(410) + $core.bool hasFieldName10() => $_has(125); + @$pb.TagNumber(410) + void clearFieldName10() => clearField(410); + + @$pb.TagNumber(411) + $core.int get fIELDNAME11 => $_getIZ(126); + @$pb.TagNumber(411) + set fIELDNAME11($core.int v) { + $_setSignedInt32(126, v); + } + + @$pb.TagNumber(411) + $core.bool hasFIELDNAME11() => $_has(126); + @$pb.TagNumber(411) + void clearFIELDNAME11() => clearField(411); + + @$pb.TagNumber(412) + $core.int get fIELDName12 => $_getIZ(127); + @$pb.TagNumber(412) + set fIELDName12($core.int v) { + $_setSignedInt32(127, v); + } + + @$pb.TagNumber(412) + $core.bool hasFIELDName12() => $_has(127); + @$pb.TagNumber(412) + void clearFIELDName12() => clearField(412); + + @$pb.TagNumber(413) + $core.int get fieldName13 => $_getIZ(128); + @$pb.TagNumber(413) + set fieldName13($core.int v) { + $_setSignedInt32(128, v); + } + + @$pb.TagNumber(413) + $core.bool hasFieldName13() => $_has(128); + @$pb.TagNumber(413) + void clearFieldName13() => clearField(413); + + @$pb.TagNumber(414) + $core.int get fieldName14 => $_getIZ(129); + @$pb.TagNumber(414) + set fieldName14($core.int v) { + $_setSignedInt32(129, v); + } + + @$pb.TagNumber(414) + $core.bool hasFieldName14() => $_has(129); + @$pb.TagNumber(414) + void clearFieldName14() => clearField(414); + + @$pb.TagNumber(415) + $core.int get fieldName15 => $_getIZ(130); + @$pb.TagNumber(415) + set fieldName15($core.int v) { + $_setSignedInt32(130, v); + } + + @$pb.TagNumber(415) + $core.bool hasFieldName15() => $_has(130); + @$pb.TagNumber(415) + void clearFieldName15() => clearField(415); + + @$pb.TagNumber(416) + $core.int get fieldName16 => $_getIZ(131); + @$pb.TagNumber(416) + set fieldName16($core.int v) { + $_setSignedInt32(131, v); + } + + @$pb.TagNumber(416) + $core.bool hasFieldName16() => $_has(131); + @$pb.TagNumber(416) + void clearFieldName16() => clearField(416); + + @$pb.TagNumber(417) + $core.int get fieldName17 => $_getIZ(132); + @$pb.TagNumber(417) + set fieldName17($core.int v) { + $_setSignedInt32(132, v); + } + + @$pb.TagNumber(417) + $core.bool hasFieldName17() => $_has(132); + @$pb.TagNumber(417) + void clearFieldName17() => clearField(417); + + @$pb.TagNumber(418) + $core.int get fieldName18 => $_getIZ(133); + @$pb.TagNumber(418) + set fieldName18($core.int v) { + $_setSignedInt32(133, v); + } + + @$pb.TagNumber(418) + $core.bool hasFieldName18() => $_has(133); + @$pb.TagNumber(418) + void clearFieldName18() => clearField(418); +} + +class ForeignMessageProto2 extends $pb.GeneratedMessage { + factory ForeignMessageProto2({ + $core.int? c, + }) { + final $result = create(); + if (c != null) { + $result.c = c; + } + return $result; + } + ForeignMessageProto2._() : super(); + factory ForeignMessageProto2.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ForeignMessageProto2.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ForeignMessageProto2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'c', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ForeignMessageProto2 clone() => + ForeignMessageProto2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ForeignMessageProto2 copyWith(void Function(ForeignMessageProto2) updates) => + super.copyWith((message) => updates(message as ForeignMessageProto2)) + as ForeignMessageProto2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ForeignMessageProto2 create() => ForeignMessageProto2._(); + ForeignMessageProto2 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ForeignMessageProto2 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ForeignMessageProto2? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get c => $_getIZ(0); + @$pb.TagNumber(1) + set c($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasC() => $_has(0); + @$pb.TagNumber(1) + void clearC() => clearField(1); +} + +class GroupField extends $pb.GeneratedMessage { + factory GroupField({ + $core.int? groupInt32, + $core.int? groupUint32, + }) { + final $result = create(); + if (groupInt32 != null) { + $result.groupInt32 = groupInt32; + } + if (groupUint32 != null) { + $result.groupUint32 = groupUint32; + } + return $result; + } + GroupField._() : super(); + factory GroupField.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory GroupField.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'GroupField', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(122, _omitFieldNames ? '' : 'groupInt32', $pb.PbFieldType.O3) + ..a<$core.int>( + 123, _omitFieldNames ? '' : 'groupUint32', $pb.PbFieldType.OU3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GroupField clone() => GroupField()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GroupField copyWith(void Function(GroupField) updates) => + super.copyWith((message) => updates(message as GroupField)) as GroupField; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GroupField create() => GroupField._(); + GroupField createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GroupField getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static GroupField? _defaultInstance; + + @$pb.TagNumber(122) + $core.int get groupInt32 => $_getIZ(0); + @$pb.TagNumber(122) + set groupInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(122) + $core.bool hasGroupInt32() => $_has(0); + @$pb.TagNumber(122) + void clearGroupInt32() => clearField(122); + + @$pb.TagNumber(123) + $core.int get groupUint32 => $_getIZ(1); + @$pb.TagNumber(123) + set groupUint32($core.int v) { + $_setUnsignedInt32(1, v); + } + + @$pb.TagNumber(123) + $core.bool hasGroupUint32() => $_has(1); + @$pb.TagNumber(123) + void clearGroupUint32() => clearField(123); +} + +class UnknownToTestAllTypes_OptionalGroup extends $pb.GeneratedMessage { + factory UnknownToTestAllTypes_OptionalGroup({ + $core.int? a, + }) { + final $result = create(); + if (a != null) { + $result.a = a; + } + return $result; + } + UnknownToTestAllTypes_OptionalGroup._() : super(); + factory UnknownToTestAllTypes_OptionalGroup.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UnknownToTestAllTypes_OptionalGroup.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UnknownToTestAllTypes.OptionalGroup', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'a', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UnknownToTestAllTypes_OptionalGroup clone() => + UnknownToTestAllTypes_OptionalGroup()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UnknownToTestAllTypes_OptionalGroup copyWith( + void Function(UnknownToTestAllTypes_OptionalGroup) updates) => + super.copyWith((message) => + updates(message as UnknownToTestAllTypes_OptionalGroup)) + as UnknownToTestAllTypes_OptionalGroup; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UnknownToTestAllTypes_OptionalGroup create() => + UnknownToTestAllTypes_OptionalGroup._(); + UnknownToTestAllTypes_OptionalGroup createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UnknownToTestAllTypes_OptionalGroup getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + UnknownToTestAllTypes_OptionalGroup>(create); + static UnknownToTestAllTypes_OptionalGroup? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get a => $_getIZ(0); + @$pb.TagNumber(1) + set a($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasA() => $_has(0); + @$pb.TagNumber(1) + void clearA() => clearField(1); +} + +class UnknownToTestAllTypes extends $pb.GeneratedMessage { + factory UnknownToTestAllTypes({ + $core.int? optionalInt32, + $core.String? optionalString, + ForeignMessageProto2? nestedMessage, + UnknownToTestAllTypes_OptionalGroup? optionalGroup, + $core.bool? optionalBool, + $core.Iterable<$core.int>? repeatedInt32, + }) { + final $result = create(); + if (optionalInt32 != null) { + $result.optionalInt32 = optionalInt32; + } + if (optionalString != null) { + $result.optionalString = optionalString; + } + if (nestedMessage != null) { + $result.nestedMessage = nestedMessage; + } + if (optionalGroup != null) { + $result.optionalGroup = optionalGroup; + } + if (optionalBool != null) { + $result.optionalBool = optionalBool; + } + if (repeatedInt32 != null) { + $result.repeatedInt32.addAll(repeatedInt32); + } + return $result; + } + UnknownToTestAllTypes._() : super(); + factory UnknownToTestAllTypes.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory UnknownToTestAllTypes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'UnknownToTestAllTypes', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>( + 1001, _omitFieldNames ? '' : 'optionalInt32', $pb.PbFieldType.O3) + ..aOS(1002, _omitFieldNames ? '' : 'optionalString') + ..aOM(1003, _omitFieldNames ? '' : 'nestedMessage', + subBuilder: ForeignMessageProto2.create) + ..a( + 1004, _omitFieldNames ? '' : 'optionalgroup', $pb.PbFieldType.OG, + subBuilder: UnknownToTestAllTypes_OptionalGroup.create, + defaultOrMaker: UnknownToTestAllTypes_OptionalGroup.getDefault) + ..aOB(1006, _omitFieldNames ? '' : 'optionalBool') + ..p<$core.int>( + 1011, _omitFieldNames ? '' : 'repeatedInt32', $pb.PbFieldType.P3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UnknownToTestAllTypes clone() => + UnknownToTestAllTypes()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UnknownToTestAllTypes copyWith( + void Function(UnknownToTestAllTypes) updates) => + super.copyWith((message) => updates(message as UnknownToTestAllTypes)) + as UnknownToTestAllTypes; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UnknownToTestAllTypes create() => UnknownToTestAllTypes._(); + UnknownToTestAllTypes createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static UnknownToTestAllTypes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static UnknownToTestAllTypes? _defaultInstance; + + @$pb.TagNumber(1001) + $core.int get optionalInt32 => $_getIZ(0); + @$pb.TagNumber(1001) + set optionalInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1001) + $core.bool hasOptionalInt32() => $_has(0); + @$pb.TagNumber(1001) + void clearOptionalInt32() => clearField(1001); + + @$pb.TagNumber(1002) + $core.String get optionalString => $_getSZ(1); + @$pb.TagNumber(1002) + set optionalString($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(1002) + $core.bool hasOptionalString() => $_has(1); + @$pb.TagNumber(1002) + void clearOptionalString() => clearField(1002); + + @$pb.TagNumber(1003) + ForeignMessageProto2 get nestedMessage => $_getN(2); + @$pb.TagNumber(1003) + set nestedMessage(ForeignMessageProto2 v) { + setField(1003, v); + } + + @$pb.TagNumber(1003) + $core.bool hasNestedMessage() => $_has(2); + @$pb.TagNumber(1003) + void clearNestedMessage() => clearField(1003); + @$pb.TagNumber(1003) + ForeignMessageProto2 ensureNestedMessage() => $_ensure(2); + + @$pb.TagNumber(1004) + UnknownToTestAllTypes_OptionalGroup get optionalGroup => $_getN(3); + @$pb.TagNumber(1004) + set optionalGroup(UnknownToTestAllTypes_OptionalGroup v) { + setField(1004, v); + } + + @$pb.TagNumber(1004) + $core.bool hasOptionalGroup() => $_has(3); + @$pb.TagNumber(1004) + void clearOptionalGroup() => clearField(1004); + + @$pb.TagNumber(1006) + $core.bool get optionalBool => $_getBF(4); + @$pb.TagNumber(1006) + set optionalBool($core.bool v) { + $_setBool(4, v); + } + + @$pb.TagNumber(1006) + $core.bool hasOptionalBool() => $_has(4); + @$pb.TagNumber(1006) + void clearOptionalBool() => clearField(1006); + + @$pb.TagNumber(1011) + $core.List<$core.int> get repeatedInt32 => $_getList(5); +} + +class NullHypothesisProto2 extends $pb.GeneratedMessage { + factory NullHypothesisProto2() => create(); + NullHypothesisProto2._() : super(); + factory NullHypothesisProto2.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NullHypothesisProto2.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NullHypothesisProto2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NullHypothesisProto2 clone() => + NullHypothesisProto2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NullHypothesisProto2 copyWith(void Function(NullHypothesisProto2) updates) => + super.copyWith((message) => updates(message as NullHypothesisProto2)) + as NullHypothesisProto2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NullHypothesisProto2 create() => NullHypothesisProto2._(); + NullHypothesisProto2 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NullHypothesisProto2 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NullHypothesisProto2? _defaultInstance; +} + +class EnumOnlyProto2 extends $pb.GeneratedMessage { + factory EnumOnlyProto2() => create(); + EnumOnlyProto2._() : super(); + factory EnumOnlyProto2.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumOnlyProto2.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumOnlyProto2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumOnlyProto2 clone() => EnumOnlyProto2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumOnlyProto2 copyWith(void Function(EnumOnlyProto2) updates) => + super.copyWith((message) => updates(message as EnumOnlyProto2)) + as EnumOnlyProto2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumOnlyProto2 create() => EnumOnlyProto2._(); + EnumOnlyProto2 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumOnlyProto2 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnumOnlyProto2? _defaultInstance; +} + +class OneStringProto2 extends $pb.GeneratedMessage { + factory OneStringProto2({ + $core.String? data, + }) { + final $result = create(); + if (data != null) { + $result.data = data; + } + return $result; + } + OneStringProto2._() : super(); + factory OneStringProto2.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory OneStringProto2.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'OneStringProto2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'data') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + OneStringProto2 clone() => OneStringProto2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + OneStringProto2 copyWith(void Function(OneStringProto2) updates) => + super.copyWith((message) => updates(message as OneStringProto2)) + as OneStringProto2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static OneStringProto2 create() => OneStringProto2._(); + OneStringProto2 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static OneStringProto2 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static OneStringProto2? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get data => $_getSZ(0); + @$pb.TagNumber(1) + set data($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasData() => $_has(0); + @$pb.TagNumber(1) + void clearData() => clearField(1); +} + +class ProtoWithKeywords extends $pb.GeneratedMessage { + factory ProtoWithKeywords({ + $core.int? inline, + $core.String? concept, + $core.Iterable<$core.String>? requires, + }) { + final $result = create(); + if (inline != null) { + $result.inline = inline; + } + if (concept != null) { + $result.concept = concept; + } + if (requires != null) { + $result.requires.addAll(requires); + } + return $result; + } + ProtoWithKeywords._() : super(); + factory ProtoWithKeywords.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ProtoWithKeywords.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ProtoWithKeywords', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'inline', $pb.PbFieldType.O3) + ..aOS(2, _omitFieldNames ? '' : 'concept') + ..pPS(3, _omitFieldNames ? '' : 'requires') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ProtoWithKeywords clone() => ProtoWithKeywords()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ProtoWithKeywords copyWith(void Function(ProtoWithKeywords) updates) => + super.copyWith((message) => updates(message as ProtoWithKeywords)) + as ProtoWithKeywords; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ProtoWithKeywords create() => ProtoWithKeywords._(); + ProtoWithKeywords createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ProtoWithKeywords getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ProtoWithKeywords? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get inline => $_getIZ(0); + @$pb.TagNumber(1) + set inline($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasInline() => $_has(0); + @$pb.TagNumber(1) + void clearInline() => clearField(1); + + @$pb.TagNumber(2) + $core.String get concept => $_getSZ(1); + @$pb.TagNumber(2) + set concept($core.String v) { + $_setString(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasConcept() => $_has(1); + @$pb.TagNumber(2) + void clearConcept() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.String> get requires => $_getList(2); +} + +class TestAllRequiredTypesProto2_NestedMessage extends $pb.GeneratedMessage { + factory TestAllRequiredTypesProto2_NestedMessage({ + $core.int? a, + TestAllRequiredTypesProto2? corecursive, + TestAllRequiredTypesProto2? optionalCorecursive, + }) { + final $result = create(); + if (a != null) { + $result.a = a; + } + if (corecursive != null) { + $result.corecursive = corecursive; + } + if (optionalCorecursive != null) { + $result.optionalCorecursive = optionalCorecursive; + } + return $result; + } + TestAllRequiredTypesProto2_NestedMessage._() : super(); + factory TestAllRequiredTypesProto2_NestedMessage.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllRequiredTypesProto2_NestedMessage.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllRequiredTypesProto2.NestedMessage', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'a', $pb.PbFieldType.Q3) + ..aQM(2, _omitFieldNames ? '' : 'corecursive', + subBuilder: TestAllRequiredTypesProto2.create) + ..aOM( + 3, _omitFieldNames ? '' : 'optionalCorecursive', + subBuilder: TestAllRequiredTypesProto2.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_NestedMessage clone() => + TestAllRequiredTypesProto2_NestedMessage()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_NestedMessage copyWith( + void Function(TestAllRequiredTypesProto2_NestedMessage) updates) => + super.copyWith((message) => + updates(message as TestAllRequiredTypesProto2_NestedMessage)) + as TestAllRequiredTypesProto2_NestedMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_NestedMessage create() => + TestAllRequiredTypesProto2_NestedMessage._(); + TestAllRequiredTypesProto2_NestedMessage createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_NestedMessage getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllRequiredTypesProto2_NestedMessage>(create); + static TestAllRequiredTypesProto2_NestedMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get a => $_getIZ(0); + @$pb.TagNumber(1) + set a($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasA() => $_has(0); + @$pb.TagNumber(1) + void clearA() => clearField(1); + + @$pb.TagNumber(2) + TestAllRequiredTypesProto2 get corecursive => $_getN(1); + @$pb.TagNumber(2) + set corecursive(TestAllRequiredTypesProto2 v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCorecursive() => $_has(1); + @$pb.TagNumber(2) + void clearCorecursive() => clearField(2); + @$pb.TagNumber(2) + TestAllRequiredTypesProto2 ensureCorecursive() => $_ensure(1); + + @$pb.TagNumber(3) + TestAllRequiredTypesProto2 get optionalCorecursive => $_getN(2); + @$pb.TagNumber(3) + set optionalCorecursive(TestAllRequiredTypesProto2 v) { + setField(3, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptionalCorecursive() => $_has(2); + @$pb.TagNumber(3) + void clearOptionalCorecursive() => clearField(3); + @$pb.TagNumber(3) + TestAllRequiredTypesProto2 ensureOptionalCorecursive() => $_ensure(2); +} + +/// groups +class TestAllRequiredTypesProto2_Data extends $pb.GeneratedMessage { + factory TestAllRequiredTypesProto2_Data({ + $core.int? groupInt32, + $core.int? groupUint32, + }) { + final $result = create(); + if (groupInt32 != null) { + $result.groupInt32 = groupInt32; + } + if (groupUint32 != null) { + $result.groupUint32 = groupUint32; + } + return $result; + } + TestAllRequiredTypesProto2_Data._() : super(); + factory TestAllRequiredTypesProto2_Data.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllRequiredTypesProto2_Data.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllRequiredTypesProto2.Data', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(202, _omitFieldNames ? '' : 'groupInt32', $pb.PbFieldType.Q3) + ..a<$core.int>( + 203, _omitFieldNames ? '' : 'groupUint32', $pb.PbFieldType.QU3); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_Data clone() => + TestAllRequiredTypesProto2_Data()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_Data copyWith( + void Function(TestAllRequiredTypesProto2_Data) updates) => + super.copyWith( + (message) => updates(message as TestAllRequiredTypesProto2_Data)) + as TestAllRequiredTypesProto2_Data; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_Data create() => + TestAllRequiredTypesProto2_Data._(); + TestAllRequiredTypesProto2_Data createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_Data getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static TestAllRequiredTypesProto2_Data? _defaultInstance; + + @$pb.TagNumber(202) + $core.int get groupInt32 => $_getIZ(0); + @$pb.TagNumber(202) + set groupInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(202) + $core.bool hasGroupInt32() => $_has(0); + @$pb.TagNumber(202) + void clearGroupInt32() => clearField(202); + + @$pb.TagNumber(203) + $core.int get groupUint32 => $_getIZ(1); + @$pb.TagNumber(203) + set groupUint32($core.int v) { + $_setUnsignedInt32(1, v); + } + + @$pb.TagNumber(203) + $core.bool hasGroupUint32() => $_has(1); + @$pb.TagNumber(203) + void clearGroupUint32() => clearField(203); +} + +/// message_set test case. +class TestAllRequiredTypesProto2_MessageSetCorrect extends $pb.$_MessageSet { + factory TestAllRequiredTypesProto2_MessageSetCorrect() => create(); + TestAllRequiredTypesProto2_MessageSetCorrect._() : super(); + factory TestAllRequiredTypesProto2_MessageSetCorrect.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllRequiredTypesProto2_MessageSetCorrect.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllRequiredTypesProto2.MessageSetCorrect', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_MessageSetCorrect clone() => + TestAllRequiredTypesProto2_MessageSetCorrect()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_MessageSetCorrect copyWith( + void Function(TestAllRequiredTypesProto2_MessageSetCorrect) + updates) => + super.copyWith((message) => + updates(message as TestAllRequiredTypesProto2_MessageSetCorrect)) + as TestAllRequiredTypesProto2_MessageSetCorrect; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_MessageSetCorrect create() => + TestAllRequiredTypesProto2_MessageSetCorrect._(); + TestAllRequiredTypesProto2_MessageSetCorrect createEmptyInstance() => + create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_MessageSetCorrect getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllRequiredTypesProto2_MessageSetCorrect>(create); + static TestAllRequiredTypesProto2_MessageSetCorrect? _defaultInstance; +} + +class TestAllRequiredTypesProto2_MessageSetCorrectExtension1 + extends $pb.GeneratedMessage { + factory TestAllRequiredTypesProto2_MessageSetCorrectExtension1({ + $core.String? str, + }) { + final $result = create(); + if (str != null) { + $result.str = str; + } + return $result; + } + TestAllRequiredTypesProto2_MessageSetCorrectExtension1._() : super(); + factory TestAllRequiredTypesProto2_MessageSetCorrectExtension1.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllRequiredTypesProto2_MessageSetCorrectExtension1.fromJson( + $core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames + ? '' + : 'TestAllRequiredTypesProto2.MessageSetCorrectExtension1', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..aQS(25, _omitFieldNames ? '' : 'str'); + static final messageSetExtension = $pb.Extension< + TestAllRequiredTypesProto2_MessageSetCorrectExtension1>( + _omitMessageNames + ? '' + : 'protobuf_test_messages.proto2.TestAllRequiredTypesProto2.MessageSetCorrect', + _omitFieldNames ? '' : 'messageSetExtension', + 1547769, + $pb.PbFieldType.OM, + defaultOrMaker: + TestAllRequiredTypesProto2_MessageSetCorrectExtension1.getDefault, + subBuilder: + TestAllRequiredTypesProto2_MessageSetCorrectExtension1.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_MessageSetCorrectExtension1 clone() => + TestAllRequiredTypesProto2_MessageSetCorrectExtension1() + ..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_MessageSetCorrectExtension1 copyWith( + void Function(TestAllRequiredTypesProto2_MessageSetCorrectExtension1) + updates) => + super.copyWith((message) => updates(message + as TestAllRequiredTypesProto2_MessageSetCorrectExtension1)) + as TestAllRequiredTypesProto2_MessageSetCorrectExtension1; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_MessageSetCorrectExtension1 create() => + TestAllRequiredTypesProto2_MessageSetCorrectExtension1._(); + TestAllRequiredTypesProto2_MessageSetCorrectExtension1 + createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_MessageSetCorrectExtension1 getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllRequiredTypesProto2_MessageSetCorrectExtension1>(create); + static TestAllRequiredTypesProto2_MessageSetCorrectExtension1? + _defaultInstance; + + @$pb.TagNumber(25) + $core.String get str => $_getSZ(0); + @$pb.TagNumber(25) + set str($core.String v) { + $_setString(0, v); + } + + @$pb.TagNumber(25) + $core.bool hasStr() => $_has(0); + @$pb.TagNumber(25) + void clearStr() => clearField(25); +} + +class TestAllRequiredTypesProto2_MessageSetCorrectExtension2 + extends $pb.GeneratedMessage { + factory TestAllRequiredTypesProto2_MessageSetCorrectExtension2({ + $core.int? i, + }) { + final $result = create(); + if (i != null) { + $result.i = i; + } + return $result; + } + TestAllRequiredTypesProto2_MessageSetCorrectExtension2._() : super(); + factory TestAllRequiredTypesProto2_MessageSetCorrectExtension2.fromBuffer( + $core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllRequiredTypesProto2_MessageSetCorrectExtension2.fromJson( + $core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames + ? '' + : 'TestAllRequiredTypesProto2.MessageSetCorrectExtension2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'i', $pb.PbFieldType.Q3); + static final messageSetExtension = $pb.Extension< + TestAllRequiredTypesProto2_MessageSetCorrectExtension2>( + _omitMessageNames + ? '' + : 'protobuf_test_messages.proto2.TestAllRequiredTypesProto2.MessageSetCorrect', + _omitFieldNames ? '' : 'messageSetExtension', + 4135312, + $pb.PbFieldType.OM, + defaultOrMaker: + TestAllRequiredTypesProto2_MessageSetCorrectExtension2.getDefault, + subBuilder: + TestAllRequiredTypesProto2_MessageSetCorrectExtension2.create); + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_MessageSetCorrectExtension2 clone() => + TestAllRequiredTypesProto2_MessageSetCorrectExtension2() + ..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2_MessageSetCorrectExtension2 copyWith( + void Function(TestAllRequiredTypesProto2_MessageSetCorrectExtension2) + updates) => + super.copyWith((message) => updates(message + as TestAllRequiredTypesProto2_MessageSetCorrectExtension2)) + as TestAllRequiredTypesProto2_MessageSetCorrectExtension2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_MessageSetCorrectExtension2 create() => + TestAllRequiredTypesProto2_MessageSetCorrectExtension2._(); + TestAllRequiredTypesProto2_MessageSetCorrectExtension2 + createEmptyInstance() => create(); + static $pb.PbList + createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2_MessageSetCorrectExtension2 getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< + TestAllRequiredTypesProto2_MessageSetCorrectExtension2>(create); + static TestAllRequiredTypesProto2_MessageSetCorrectExtension2? + _defaultInstance; + + @$pb.TagNumber(9) + $core.int get i => $_getIZ(0); + @$pb.TagNumber(9) + set i($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(9) + $core.bool hasI() => $_has(0); + @$pb.TagNumber(9) + void clearI() => clearField(9); +} + +class TestAllRequiredTypesProto2 extends $pb.GeneratedMessage { + factory TestAllRequiredTypesProto2({ + $core.int? requiredInt32, + $fixnum.Int64? requiredInt64, + $core.int? requiredUint32, + $fixnum.Int64? requiredUint64, + $core.int? requiredSint32, + $fixnum.Int64? requiredSint64, + $core.int? requiredFixed32, + $fixnum.Int64? requiredFixed64, + $core.int? requiredSfixed32, + $fixnum.Int64? requiredSfixed64, + $core.double? requiredFloat, + $core.double? requiredDouble, + $core.bool? requiredBool, + $core.String? requiredString, + $core.List<$core.int>? requiredBytes, + TestAllRequiredTypesProto2_NestedMessage? requiredNestedMessage, + ForeignMessageProto2? requiredForeignMessage, + TestAllRequiredTypesProto2_NestedEnum? requiredNestedEnum, + ForeignEnumProto2? requiredForeignEnum, + $core.String? requiredStringPiece, + $core.String? requiredCord, + TestAllRequiredTypesProto2? recursiveMessage, + TestAllRequiredTypesProto2? optionalRecursiveMessage, + TestAllRequiredTypesProto2_Data? data, + $core.int? defaultInt32, + $fixnum.Int64? defaultInt64, + $core.int? defaultUint32, + $fixnum.Int64? defaultUint64, + $core.int? defaultSint32, + $fixnum.Int64? defaultSint64, + $core.int? defaultFixed32, + $fixnum.Int64? defaultFixed64, + $core.int? defaultSfixed32, + $fixnum.Int64? defaultSfixed64, + $core.double? defaultFloat, + $core.double? defaultDouble, + $core.bool? defaultBool, + $core.String? defaultString, + $core.List<$core.int>? defaultBytes, + }) { + final $result = create(); + if (requiredInt32 != null) { + $result.requiredInt32 = requiredInt32; + } + if (requiredInt64 != null) { + $result.requiredInt64 = requiredInt64; + } + if (requiredUint32 != null) { + $result.requiredUint32 = requiredUint32; + } + if (requiredUint64 != null) { + $result.requiredUint64 = requiredUint64; + } + if (requiredSint32 != null) { + $result.requiredSint32 = requiredSint32; + } + if (requiredSint64 != null) { + $result.requiredSint64 = requiredSint64; + } + if (requiredFixed32 != null) { + $result.requiredFixed32 = requiredFixed32; + } + if (requiredFixed64 != null) { + $result.requiredFixed64 = requiredFixed64; + } + if (requiredSfixed32 != null) { + $result.requiredSfixed32 = requiredSfixed32; + } + if (requiredSfixed64 != null) { + $result.requiredSfixed64 = requiredSfixed64; + } + if (requiredFloat != null) { + $result.requiredFloat = requiredFloat; + } + if (requiredDouble != null) { + $result.requiredDouble = requiredDouble; + } + if (requiredBool != null) { + $result.requiredBool = requiredBool; + } + if (requiredString != null) { + $result.requiredString = requiredString; + } + if (requiredBytes != null) { + $result.requiredBytes = requiredBytes; + } + if (requiredNestedMessage != null) { + $result.requiredNestedMessage = requiredNestedMessage; + } + if (requiredForeignMessage != null) { + $result.requiredForeignMessage = requiredForeignMessage; + } + if (requiredNestedEnum != null) { + $result.requiredNestedEnum = requiredNestedEnum; + } + if (requiredForeignEnum != null) { + $result.requiredForeignEnum = requiredForeignEnum; + } + if (requiredStringPiece != null) { + $result.requiredStringPiece = requiredStringPiece; + } + if (requiredCord != null) { + $result.requiredCord = requiredCord; + } + if (recursiveMessage != null) { + $result.recursiveMessage = recursiveMessage; + } + if (optionalRecursiveMessage != null) { + $result.optionalRecursiveMessage = optionalRecursiveMessage; + } + if (data != null) { + $result.data = data; + } + if (defaultInt32 != null) { + $result.defaultInt32 = defaultInt32; + } + if (defaultInt64 != null) { + $result.defaultInt64 = defaultInt64; + } + if (defaultUint32 != null) { + $result.defaultUint32 = defaultUint32; + } + if (defaultUint64 != null) { + $result.defaultUint64 = defaultUint64; + } + if (defaultSint32 != null) { + $result.defaultSint32 = defaultSint32; + } + if (defaultSint64 != null) { + $result.defaultSint64 = defaultSint64; + } + if (defaultFixed32 != null) { + $result.defaultFixed32 = defaultFixed32; + } + if (defaultFixed64 != null) { + $result.defaultFixed64 = defaultFixed64; + } + if (defaultSfixed32 != null) { + $result.defaultSfixed32 = defaultSfixed32; + } + if (defaultSfixed64 != null) { + $result.defaultSfixed64 = defaultSfixed64; + } + if (defaultFloat != null) { + $result.defaultFloat = defaultFloat; + } + if (defaultDouble != null) { + $result.defaultDouble = defaultDouble; + } + if (defaultBool != null) { + $result.defaultBool = defaultBool; + } + if (defaultString != null) { + $result.defaultString = defaultString; + } + if (defaultBytes != null) { + $result.defaultBytes = defaultBytes; + } + return $result; + } + TestAllRequiredTypesProto2._() : super(); + factory TestAllRequiredTypesProto2.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllRequiredTypesProto2.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllRequiredTypesProto2', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto2'), + createEmptyInstance: create) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'requiredInt32', $pb.PbFieldType.Q3) + ..a<$fixnum.Int64>( + 2, _omitFieldNames ? '' : 'requiredInt64', $pb.PbFieldType.Q6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'requiredUint32', $pb.PbFieldType.QU3) + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'requiredUint64', $pb.PbFieldType.QU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'requiredSint32', $pb.PbFieldType.QS3) + ..a<$fixnum.Int64>( + 6, _omitFieldNames ? '' : 'requiredSint64', $pb.PbFieldType.QS6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 7, _omitFieldNames ? '' : 'requiredFixed32', $pb.PbFieldType.QF3) + ..a<$fixnum.Int64>( + 8, _omitFieldNames ? '' : 'requiredFixed64', $pb.PbFieldType.QF6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 9, _omitFieldNames ? '' : 'requiredSfixed32', $pb.PbFieldType.QSF3) + ..a<$fixnum.Int64>( + 10, _omitFieldNames ? '' : 'requiredSfixed64', $pb.PbFieldType.QSF6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 11, _omitFieldNames ? '' : 'requiredFloat', $pb.PbFieldType.QF) + ..a<$core.double>( + 12, _omitFieldNames ? '' : 'requiredDouble', $pb.PbFieldType.QD) + ..a<$core.bool>( + 13, _omitFieldNames ? '' : 'requiredBool', $pb.PbFieldType.QB) + ..aQS(14, _omitFieldNames ? '' : 'requiredString') + ..a<$core.List<$core.int>>( + 15, _omitFieldNames ? '' : 'requiredBytes', $pb.PbFieldType.QY) + ..aQM( + 18, _omitFieldNames ? '' : 'requiredNestedMessage', + subBuilder: TestAllRequiredTypesProto2_NestedMessage.create) + ..aQM( + 19, _omitFieldNames ? '' : 'requiredForeignMessage', + subBuilder: ForeignMessageProto2.create) + ..e( + 21, _omitFieldNames ? '' : 'requiredNestedEnum', $pb.PbFieldType.QE, + defaultOrMaker: TestAllRequiredTypesProto2_NestedEnum.FOO, + valueOf: TestAllRequiredTypesProto2_NestedEnum.valueOf, + enumValues: TestAllRequiredTypesProto2_NestedEnum.values) + ..e( + 22, _omitFieldNames ? '' : 'requiredForeignEnum', $pb.PbFieldType.QE, + defaultOrMaker: ForeignEnumProto2.FOREIGN_FOO, + valueOf: ForeignEnumProto2.valueOf, + enumValues: ForeignEnumProto2.values) + ..aQS(24, _omitFieldNames ? '' : 'requiredStringPiece') + ..aQS(25, _omitFieldNames ? '' : 'requiredCord') + ..aQM( + 27, _omitFieldNames ? '' : 'recursiveMessage', + subBuilder: TestAllRequiredTypesProto2.create) + ..aOM( + 28, _omitFieldNames ? '' : 'optionalRecursiveMessage', + subBuilder: TestAllRequiredTypesProto2.create) + ..a( + 201, _omitFieldNames ? '' : 'data', $pb.PbFieldType.QG, + subBuilder: TestAllRequiredTypesProto2_Data.create, + defaultOrMaker: TestAllRequiredTypesProto2_Data.getDefault) + ..a<$core.int>( + 241, _omitFieldNames ? '' : 'defaultInt32', $pb.PbFieldType.Q3, + defaultOrMaker: -123456789) + ..a<$fixnum.Int64>( + 242, _omitFieldNames ? '' : 'defaultInt64', $pb.PbFieldType.Q6, + defaultOrMaker: $pb.parseLongInt('-9123456789123456789')) + ..a<$core.int>( + 243, _omitFieldNames ? '' : 'defaultUint32', $pb.PbFieldType.QU3, + defaultOrMaker: 2123456789) + ..a<$fixnum.Int64>( + 244, _omitFieldNames ? '' : 'defaultUint64', $pb.PbFieldType.QU6, + defaultOrMaker: $pb.parseLongInt('10123456789123456789')) + ..a<$core.int>( + 245, _omitFieldNames ? '' : 'defaultSint32', $pb.PbFieldType.QS3, + defaultOrMaker: -123456789) + ..a<$fixnum.Int64>( + 246, _omitFieldNames ? '' : 'defaultSint64', $pb.PbFieldType.QS6, + defaultOrMaker: $pb.parseLongInt('-9123456789123456789')) + ..a<$core.int>( + 247, _omitFieldNames ? '' : 'defaultFixed32', $pb.PbFieldType.QF3, + defaultOrMaker: 2123456789) + ..a<$fixnum.Int64>( + 248, _omitFieldNames ? '' : 'defaultFixed64', $pb.PbFieldType.QF6, + defaultOrMaker: $pb.parseLongInt('10123456789123456789')) + ..a<$core.int>( + 249, _omitFieldNames ? '' : 'defaultSfixed32', $pb.PbFieldType.QSF3, + defaultOrMaker: -123456789) + ..a<$fixnum.Int64>( + 250, _omitFieldNames ? '' : 'defaultSfixed64', $pb.PbFieldType.QSF6, + defaultOrMaker: $pb.parseLongInt('-9123456789123456789')) + ..a<$core.double>( + 251, _omitFieldNames ? '' : 'defaultFloat', $pb.PbFieldType.QF, + defaultOrMaker: 9e+09) + ..a<$core.double>( + 252, _omitFieldNames ? '' : 'defaultDouble', $pb.PbFieldType.QD, + defaultOrMaker: 7e+22) + ..a<$core.bool>( + 253, _omitFieldNames ? '' : 'defaultBool', $pb.PbFieldType.QB, + defaultOrMaker: true) + ..a<$core.String>( + 254, _omitFieldNames ? '' : 'defaultString', $pb.PbFieldType.QS, + defaultOrMaker: 'Rosebud') + ..a<$core.List<$core.int>>( + 255, _omitFieldNames ? '' : 'defaultBytes', $pb.PbFieldType.QY, + defaultOrMaker: () => <$core.int>[0x6a, 0x6f, 0x73, 0x68, 0x75, 0x61]) + ..hasExtensions = true; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2 clone() => + TestAllRequiredTypesProto2()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllRequiredTypesProto2 copyWith( + void Function(TestAllRequiredTypesProto2) updates) => + super.copyWith( + (message) => updates(message as TestAllRequiredTypesProto2)) + as TestAllRequiredTypesProto2; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2 create() => TestAllRequiredTypesProto2._(); + TestAllRequiredTypesProto2 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllRequiredTypesProto2 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TestAllRequiredTypesProto2? _defaultInstance; + + /// Singular + @$pb.TagNumber(1) + $core.int get requiredInt32 => $_getIZ(0); + @$pb.TagNumber(1) + set requiredInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasRequiredInt32() => $_has(0); + @$pb.TagNumber(1) + void clearRequiredInt32() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get requiredInt64 => $_getI64(1); + @$pb.TagNumber(2) + set requiredInt64($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasRequiredInt64() => $_has(1); + @$pb.TagNumber(2) + void clearRequiredInt64() => clearField(2); + + @$pb.TagNumber(3) + $core.int get requiredUint32 => $_getIZ(2); + @$pb.TagNumber(3) + set requiredUint32($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasRequiredUint32() => $_has(2); + @$pb.TagNumber(3) + void clearRequiredUint32() => clearField(3); + + @$pb.TagNumber(4) + $fixnum.Int64 get requiredUint64 => $_getI64(3); + @$pb.TagNumber(4) + set requiredUint64($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasRequiredUint64() => $_has(3); + @$pb.TagNumber(4) + void clearRequiredUint64() => clearField(4); + + @$pb.TagNumber(5) + $core.int get requiredSint32 => $_getIZ(4); + @$pb.TagNumber(5) + set requiredSint32($core.int v) { + $_setSignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasRequiredSint32() => $_has(4); + @$pb.TagNumber(5) + void clearRequiredSint32() => clearField(5); + + @$pb.TagNumber(6) + $fixnum.Int64 get requiredSint64 => $_getI64(5); + @$pb.TagNumber(6) + set requiredSint64($fixnum.Int64 v) { + $_setInt64(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasRequiredSint64() => $_has(5); + @$pb.TagNumber(6) + void clearRequiredSint64() => clearField(6); + + @$pb.TagNumber(7) + $core.int get requiredFixed32 => $_getIZ(6); + @$pb.TagNumber(7) + set requiredFixed32($core.int v) { + $_setUnsignedInt32(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasRequiredFixed32() => $_has(6); + @$pb.TagNumber(7) + void clearRequiredFixed32() => clearField(7); + + @$pb.TagNumber(8) + $fixnum.Int64 get requiredFixed64 => $_getI64(7); + @$pb.TagNumber(8) + set requiredFixed64($fixnum.Int64 v) { + $_setInt64(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasRequiredFixed64() => $_has(7); + @$pb.TagNumber(8) + void clearRequiredFixed64() => clearField(8); + + @$pb.TagNumber(9) + $core.int get requiredSfixed32 => $_getIZ(8); + @$pb.TagNumber(9) + set requiredSfixed32($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasRequiredSfixed32() => $_has(8); + @$pb.TagNumber(9) + void clearRequiredSfixed32() => clearField(9); + + @$pb.TagNumber(10) + $fixnum.Int64 get requiredSfixed64 => $_getI64(9); + @$pb.TagNumber(10) + set requiredSfixed64($fixnum.Int64 v) { + $_setInt64(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasRequiredSfixed64() => $_has(9); + @$pb.TagNumber(10) + void clearRequiredSfixed64() => clearField(10); + + @$pb.TagNumber(11) + $core.double get requiredFloat => $_getN(10); + @$pb.TagNumber(11) + set requiredFloat($core.double v) { + $_setFloat(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasRequiredFloat() => $_has(10); + @$pb.TagNumber(11) + void clearRequiredFloat() => clearField(11); + + @$pb.TagNumber(12) + $core.double get requiredDouble => $_getN(11); + @$pb.TagNumber(12) + set requiredDouble($core.double v) { + $_setDouble(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasRequiredDouble() => $_has(11); + @$pb.TagNumber(12) + void clearRequiredDouble() => clearField(12); + + @$pb.TagNumber(13) + $core.bool get requiredBool => $_getBF(12); + @$pb.TagNumber(13) + set requiredBool($core.bool v) { + $_setBool(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasRequiredBool() => $_has(12); + @$pb.TagNumber(13) + void clearRequiredBool() => clearField(13); + + @$pb.TagNumber(14) + $core.String get requiredString => $_getSZ(13); + @$pb.TagNumber(14) + set requiredString($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasRequiredString() => $_has(13); + @$pb.TagNumber(14) + void clearRequiredString() => clearField(14); + + @$pb.TagNumber(15) + $core.List<$core.int> get requiredBytes => $_getN(14); + @$pb.TagNumber(15) + set requiredBytes($core.List<$core.int> v) { + $_setBytes(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasRequiredBytes() => $_has(14); + @$pb.TagNumber(15) + void clearRequiredBytes() => clearField(15); + + @$pb.TagNumber(18) + TestAllRequiredTypesProto2_NestedMessage get requiredNestedMessage => + $_getN(15); + @$pb.TagNumber(18) + set requiredNestedMessage(TestAllRequiredTypesProto2_NestedMessage v) { + setField(18, v); + } + + @$pb.TagNumber(18) + $core.bool hasRequiredNestedMessage() => $_has(15); + @$pb.TagNumber(18) + void clearRequiredNestedMessage() => clearField(18); + @$pb.TagNumber(18) + TestAllRequiredTypesProto2_NestedMessage ensureRequiredNestedMessage() => + $_ensure(15); + + @$pb.TagNumber(19) + ForeignMessageProto2 get requiredForeignMessage => $_getN(16); + @$pb.TagNumber(19) + set requiredForeignMessage(ForeignMessageProto2 v) { + setField(19, v); + } + + @$pb.TagNumber(19) + $core.bool hasRequiredForeignMessage() => $_has(16); + @$pb.TagNumber(19) + void clearRequiredForeignMessage() => clearField(19); + @$pb.TagNumber(19) + ForeignMessageProto2 ensureRequiredForeignMessage() => $_ensure(16); + + @$pb.TagNumber(21) + TestAllRequiredTypesProto2_NestedEnum get requiredNestedEnum => $_getN(17); + @$pb.TagNumber(21) + set requiredNestedEnum(TestAllRequiredTypesProto2_NestedEnum v) { + setField(21, v); + } + + @$pb.TagNumber(21) + $core.bool hasRequiredNestedEnum() => $_has(17); + @$pb.TagNumber(21) + void clearRequiredNestedEnum() => clearField(21); + + @$pb.TagNumber(22) + ForeignEnumProto2 get requiredForeignEnum => $_getN(18); + @$pb.TagNumber(22) + set requiredForeignEnum(ForeignEnumProto2 v) { + setField(22, v); + } + + @$pb.TagNumber(22) + $core.bool hasRequiredForeignEnum() => $_has(18); + @$pb.TagNumber(22) + void clearRequiredForeignEnum() => clearField(22); + + @$pb.TagNumber(24) + $core.String get requiredStringPiece => $_getSZ(19); + @$pb.TagNumber(24) + set requiredStringPiece($core.String v) { + $_setString(19, v); + } + + @$pb.TagNumber(24) + $core.bool hasRequiredStringPiece() => $_has(19); + @$pb.TagNumber(24) + void clearRequiredStringPiece() => clearField(24); + + @$pb.TagNumber(25) + $core.String get requiredCord => $_getSZ(20); + @$pb.TagNumber(25) + set requiredCord($core.String v) { + $_setString(20, v); + } + + @$pb.TagNumber(25) + $core.bool hasRequiredCord() => $_has(20); + @$pb.TagNumber(25) + void clearRequiredCord() => clearField(25); + + @$pb.TagNumber(27) + TestAllRequiredTypesProto2 get recursiveMessage => $_getN(21); + @$pb.TagNumber(27) + set recursiveMessage(TestAllRequiredTypesProto2 v) { + setField(27, v); + } + + @$pb.TagNumber(27) + $core.bool hasRecursiveMessage() => $_has(21); + @$pb.TagNumber(27) + void clearRecursiveMessage() => clearField(27); + @$pb.TagNumber(27) + TestAllRequiredTypesProto2 ensureRecursiveMessage() => $_ensure(21); + + @$pb.TagNumber(28) + TestAllRequiredTypesProto2 get optionalRecursiveMessage => $_getN(22); + @$pb.TagNumber(28) + set optionalRecursiveMessage(TestAllRequiredTypesProto2 v) { + setField(28, v); + } + + @$pb.TagNumber(28) + $core.bool hasOptionalRecursiveMessage() => $_has(22); + @$pb.TagNumber(28) + void clearOptionalRecursiveMessage() => clearField(28); + @$pb.TagNumber(28) + TestAllRequiredTypesProto2 ensureOptionalRecursiveMessage() => $_ensure(22); + + @$pb.TagNumber(201) + TestAllRequiredTypesProto2_Data get data => $_getN(23); + @$pb.TagNumber(201) + set data(TestAllRequiredTypesProto2_Data v) { + setField(201, v); + } + + @$pb.TagNumber(201) + $core.bool hasData() => $_has(23); + @$pb.TagNumber(201) + void clearData() => clearField(201); + + /// default values + @$pb.TagNumber(241) + $core.int get defaultInt32 => $_getI(24, -123456789); + @$pb.TagNumber(241) + set defaultInt32($core.int v) { + $_setSignedInt32(24, v); + } + + @$pb.TagNumber(241) + $core.bool hasDefaultInt32() => $_has(24); + @$pb.TagNumber(241) + void clearDefaultInt32() => clearField(241); + + @$pb.TagNumber(242) + $fixnum.Int64 get defaultInt64 => $_getI64(25); + @$pb.TagNumber(242) + set defaultInt64($fixnum.Int64 v) { + $_setInt64(25, v); + } + + @$pb.TagNumber(242) + $core.bool hasDefaultInt64() => $_has(25); + @$pb.TagNumber(242) + void clearDefaultInt64() => clearField(242); + + @$pb.TagNumber(243) + $core.int get defaultUint32 => $_getI(26, 2123456789); + @$pb.TagNumber(243) + set defaultUint32($core.int v) { + $_setUnsignedInt32(26, v); + } + + @$pb.TagNumber(243) + $core.bool hasDefaultUint32() => $_has(26); + @$pb.TagNumber(243) + void clearDefaultUint32() => clearField(243); + + @$pb.TagNumber(244) + $fixnum.Int64 get defaultUint64 => $_getI64(27); + @$pb.TagNumber(244) + set defaultUint64($fixnum.Int64 v) { + $_setInt64(27, v); + } + + @$pb.TagNumber(244) + $core.bool hasDefaultUint64() => $_has(27); + @$pb.TagNumber(244) + void clearDefaultUint64() => clearField(244); + + @$pb.TagNumber(245) + $core.int get defaultSint32 => $_getI(28, -123456789); + @$pb.TagNumber(245) + set defaultSint32($core.int v) { + $_setSignedInt32(28, v); + } + + @$pb.TagNumber(245) + $core.bool hasDefaultSint32() => $_has(28); + @$pb.TagNumber(245) + void clearDefaultSint32() => clearField(245); + + @$pb.TagNumber(246) + $fixnum.Int64 get defaultSint64 => $_getI64(29); + @$pb.TagNumber(246) + set defaultSint64($fixnum.Int64 v) { + $_setInt64(29, v); + } + + @$pb.TagNumber(246) + $core.bool hasDefaultSint64() => $_has(29); + @$pb.TagNumber(246) + void clearDefaultSint64() => clearField(246); + + @$pb.TagNumber(247) + $core.int get defaultFixed32 => $_getI(30, 2123456789); + @$pb.TagNumber(247) + set defaultFixed32($core.int v) { + $_setUnsignedInt32(30, v); + } + + @$pb.TagNumber(247) + $core.bool hasDefaultFixed32() => $_has(30); + @$pb.TagNumber(247) + void clearDefaultFixed32() => clearField(247); + + @$pb.TagNumber(248) + $fixnum.Int64 get defaultFixed64 => $_getI64(31); + @$pb.TagNumber(248) + set defaultFixed64($fixnum.Int64 v) { + $_setInt64(31, v); + } + + @$pb.TagNumber(248) + $core.bool hasDefaultFixed64() => $_has(31); + @$pb.TagNumber(248) + void clearDefaultFixed64() => clearField(248); + + @$pb.TagNumber(249) + $core.int get defaultSfixed32 => $_getI(32, -123456789); + @$pb.TagNumber(249) + set defaultSfixed32($core.int v) { + $_setSignedInt32(32, v); + } + + @$pb.TagNumber(249) + $core.bool hasDefaultSfixed32() => $_has(32); + @$pb.TagNumber(249) + void clearDefaultSfixed32() => clearField(249); + + @$pb.TagNumber(250) + $fixnum.Int64 get defaultSfixed64 => $_getI64(33); + @$pb.TagNumber(250) + set defaultSfixed64($fixnum.Int64 v) { + $_setInt64(33, v); + } + + @$pb.TagNumber(250) + $core.bool hasDefaultSfixed64() => $_has(33); + @$pb.TagNumber(250) + void clearDefaultSfixed64() => clearField(250); + + @$pb.TagNumber(251) + $core.double get defaultFloat => $_getN(34); + @$pb.TagNumber(251) + set defaultFloat($core.double v) { + $_setFloat(34, v); + } + + @$pb.TagNumber(251) + $core.bool hasDefaultFloat() => $_has(34); + @$pb.TagNumber(251) + void clearDefaultFloat() => clearField(251); + + @$pb.TagNumber(252) + $core.double get defaultDouble => $_getN(35); + @$pb.TagNumber(252) + set defaultDouble($core.double v) { + $_setDouble(35, v); + } + + @$pb.TagNumber(252) + $core.bool hasDefaultDouble() => $_has(35); + @$pb.TagNumber(252) + void clearDefaultDouble() => clearField(252); + + @$pb.TagNumber(253) + $core.bool get defaultBool => $_getB(36, true); + @$pb.TagNumber(253) + set defaultBool($core.bool v) { + $_setBool(36, v); + } + + @$pb.TagNumber(253) + $core.bool hasDefaultBool() => $_has(36); + @$pb.TagNumber(253) + void clearDefaultBool() => clearField(253); + + @$pb.TagNumber(254) + $core.String get defaultString => $_getS(37, 'Rosebud'); + @$pb.TagNumber(254) + set defaultString($core.String v) { + $_setString(37, v); + } + + @$pb.TagNumber(254) + $core.bool hasDefaultString() => $_has(37); + @$pb.TagNumber(254) + void clearDefaultString() => clearField(254); + + @$pb.TagNumber(255) + $core.List<$core.int> get defaultBytes => $_getN(38); + @$pb.TagNumber(255) + set defaultBytes($core.List<$core.int> v) { + $_setBytes(38, v); + } + + @$pb.TagNumber(255) + $core.bool hasDefaultBytes() => $_has(38); + @$pb.TagNumber(255) + void clearDefaultBytes() => clearField(255); +} + +class Test_messages_proto2 { + static final extensionInt32 = $pb.Extension<$core.int>( + _omitMessageNames + ? '' + : 'protobuf_test_messages.proto2.TestAllTypesProto2', + _omitFieldNames ? '' : 'extensionInt32', + 120, + $pb.PbFieldType.O3); + static final groupField = $pb.Extension( + _omitMessageNames + ? '' + : 'protobuf_test_messages.proto2.TestAllTypesProto2', + _omitFieldNames ? '' : 'groupField', + 121, + $pb.PbFieldType.OG, + defaultOrMaker: GroupField.getDefault, + subBuilder: GroupField.create); + static void registerAllExtensions($pb.ExtensionRegistry registry) { + registry.add(extensionInt32); + registry.add(groupField); + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pbenum.dart new file mode 100644 index 00000000..2c5387c9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pbenum.dart @@ -0,0 +1,109 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/test_messages_proto2.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class ForeignEnumProto2 extends $pb.ProtobufEnum { + static const ForeignEnumProto2 FOREIGN_FOO = + ForeignEnumProto2._(0, _omitEnumNames ? '' : 'FOREIGN_FOO'); + static const ForeignEnumProto2 FOREIGN_BAR = + ForeignEnumProto2._(1, _omitEnumNames ? '' : 'FOREIGN_BAR'); + static const ForeignEnumProto2 FOREIGN_BAZ = + ForeignEnumProto2._(2, _omitEnumNames ? '' : 'FOREIGN_BAZ'); + + static const $core.List values = [ + FOREIGN_FOO, + FOREIGN_BAR, + FOREIGN_BAZ, + ]; + + static final $core.Map<$core.int, ForeignEnumProto2> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ForeignEnumProto2? valueOf($core.int value) => _byValue[value]; + + const ForeignEnumProto2._($core.int v, $core.String n) : super(v, n); +} + +class TestAllTypesProto2_NestedEnum extends $pb.ProtobufEnum { + static const TestAllTypesProto2_NestedEnum FOO = + TestAllTypesProto2_NestedEnum._(0, _omitEnumNames ? '' : 'FOO'); + static const TestAllTypesProto2_NestedEnum BAR = + TestAllTypesProto2_NestedEnum._(1, _omitEnumNames ? '' : 'BAR'); + static const TestAllTypesProto2_NestedEnum BAZ = + TestAllTypesProto2_NestedEnum._(2, _omitEnumNames ? '' : 'BAZ'); + static const TestAllTypesProto2_NestedEnum NEG = + TestAllTypesProto2_NestedEnum._(-1, _omitEnumNames ? '' : 'NEG'); + + static const $core.List values = + [ + FOO, + BAR, + BAZ, + NEG, + ]; + + static final $core.Map<$core.int, TestAllTypesProto2_NestedEnum> _byValue = + $pb.ProtobufEnum.initByValue(values); + static TestAllTypesProto2_NestedEnum? valueOf($core.int value) => + _byValue[value]; + + const TestAllTypesProto2_NestedEnum._($core.int v, $core.String n) + : super(v, n); +} + +class EnumOnlyProto2_Bool extends $pb.ProtobufEnum { + static const EnumOnlyProto2_Bool kFalse = + EnumOnlyProto2_Bool._(0, _omitEnumNames ? '' : 'kFalse'); + static const EnumOnlyProto2_Bool kTrue = + EnumOnlyProto2_Bool._(1, _omitEnumNames ? '' : 'kTrue'); + + static const $core.List values = [ + kFalse, + kTrue, + ]; + + static final $core.Map<$core.int, EnumOnlyProto2_Bool> _byValue = + $pb.ProtobufEnum.initByValue(values); + static EnumOnlyProto2_Bool? valueOf($core.int value) => _byValue[value]; + + const EnumOnlyProto2_Bool._($core.int v, $core.String n) : super(v, n); +} + +class TestAllRequiredTypesProto2_NestedEnum extends $pb.ProtobufEnum { + static const TestAllRequiredTypesProto2_NestedEnum FOO = + TestAllRequiredTypesProto2_NestedEnum._(0, _omitEnumNames ? '' : 'FOO'); + static const TestAllRequiredTypesProto2_NestedEnum BAR = + TestAllRequiredTypesProto2_NestedEnum._(1, _omitEnumNames ? '' : 'BAR'); + static const TestAllRequiredTypesProto2_NestedEnum BAZ = + TestAllRequiredTypesProto2_NestedEnum._(2, _omitEnumNames ? '' : 'BAZ'); + static const TestAllRequiredTypesProto2_NestedEnum NEG = + TestAllRequiredTypesProto2_NestedEnum._(-1, _omitEnumNames ? '' : 'NEG'); + + static const $core.List values = + [ + FOO, + BAR, + BAZ, + NEG, + ]; + + static final $core.Map<$core.int, TestAllRequiredTypesProto2_NestedEnum> + _byValue = $pb.ProtobufEnum.initByValue(values); + static TestAllRequiredTypesProto2_NestedEnum? valueOf($core.int value) => + _byValue[value]; + + const TestAllRequiredTypesProto2_NestedEnum._($core.int v, $core.String n) + : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pbjson.dart new file mode 100644 index 00000000..af9215d5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto2.pbjson.dart @@ -0,0 +1,1872 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/test_messages_proto2.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use foreignEnumProto2Descriptor instead') +const ForeignEnumProto2$json = { + '1': 'ForeignEnumProto2', + '2': [ + {'1': 'FOREIGN_FOO', '2': 0}, + {'1': 'FOREIGN_BAR', '2': 1}, + {'1': 'FOREIGN_BAZ', '2': 2}, + ], +}; + +/// Descriptor for `ForeignEnumProto2`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List foreignEnumProto2Descriptor = $convert.base64Decode( + 'ChFGb3JlaWduRW51bVByb3RvMhIPCgtGT1JFSUdOX0ZPTxAAEg8KC0ZPUkVJR05fQkFSEAESDw' + 'oLRk9SRUlHTl9CQVoQAg=='); + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2$json = { + '1': 'TestAllTypesProto2', + '2': [ + {'1': 'optional_int32', '3': 1, '4': 1, '5': 5, '10': 'optionalInt32'}, + {'1': 'optional_int64', '3': 2, '4': 1, '5': 3, '10': 'optionalInt64'}, + {'1': 'optional_uint32', '3': 3, '4': 1, '5': 13, '10': 'optionalUint32'}, + {'1': 'optional_uint64', '3': 4, '4': 1, '5': 4, '10': 'optionalUint64'}, + {'1': 'optional_sint32', '3': 5, '4': 1, '5': 17, '10': 'optionalSint32'}, + {'1': 'optional_sint64', '3': 6, '4': 1, '5': 18, '10': 'optionalSint64'}, + {'1': 'optional_fixed32', '3': 7, '4': 1, '5': 7, '10': 'optionalFixed32'}, + {'1': 'optional_fixed64', '3': 8, '4': 1, '5': 6, '10': 'optionalFixed64'}, + { + '1': 'optional_sfixed32', + '3': 9, + '4': 1, + '5': 15, + '10': 'optionalSfixed32' + }, + { + '1': 'optional_sfixed64', + '3': 10, + '4': 1, + '5': 16, + '10': 'optionalSfixed64' + }, + {'1': 'optional_float', '3': 11, '4': 1, '5': 2, '10': 'optionalFloat'}, + {'1': 'optional_double', '3': 12, '4': 1, '5': 1, '10': 'optionalDouble'}, + {'1': 'optional_bool', '3': 13, '4': 1, '5': 8, '10': 'optionalBool'}, + {'1': 'optional_string', '3': 14, '4': 1, '5': 9, '10': 'optionalString'}, + {'1': 'optional_bytes', '3': 15, '4': 1, '5': 12, '10': 'optionalBytes'}, + { + '1': 'optional_nested_message', + '3': 18, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage', + '10': 'optionalNestedMessage' + }, + { + '1': 'optional_foreign_message', + '3': 19, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.ForeignMessageProto2', + '10': 'optionalForeignMessage' + }, + { + '1': 'optional_nested_enum', + '3': 21, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', + '10': 'optionalNestedEnum' + }, + { + '1': 'optional_foreign_enum', + '3': 22, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto2.ForeignEnumProto2', + '10': 'optionalForeignEnum' + }, + { + '1': 'optional_string_piece', + '3': 24, + '4': 1, + '5': 9, + '8': {'1': 2}, + '10': 'optionalStringPiece', + }, + { + '1': 'optional_cord', + '3': 25, + '4': 1, + '5': 9, + '8': {'1': 1}, + '10': 'optionalCord', + }, + { + '1': 'recursive_message', + '3': 27, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2', + '10': 'recursiveMessage' + }, + {'1': 'repeated_int32', '3': 31, '4': 3, '5': 5, '10': 'repeatedInt32'}, + {'1': 'repeated_int64', '3': 32, '4': 3, '5': 3, '10': 'repeatedInt64'}, + {'1': 'repeated_uint32', '3': 33, '4': 3, '5': 13, '10': 'repeatedUint32'}, + {'1': 'repeated_uint64', '3': 34, '4': 3, '5': 4, '10': 'repeatedUint64'}, + {'1': 'repeated_sint32', '3': 35, '4': 3, '5': 17, '10': 'repeatedSint32'}, + {'1': 'repeated_sint64', '3': 36, '4': 3, '5': 18, '10': 'repeatedSint64'}, + {'1': 'repeated_fixed32', '3': 37, '4': 3, '5': 7, '10': 'repeatedFixed32'}, + {'1': 'repeated_fixed64', '3': 38, '4': 3, '5': 6, '10': 'repeatedFixed64'}, + { + '1': 'repeated_sfixed32', + '3': 39, + '4': 3, + '5': 15, + '10': 'repeatedSfixed32' + }, + { + '1': 'repeated_sfixed64', + '3': 40, + '4': 3, + '5': 16, + '10': 'repeatedSfixed64' + }, + {'1': 'repeated_float', '3': 41, '4': 3, '5': 2, '10': 'repeatedFloat'}, + {'1': 'repeated_double', '3': 42, '4': 3, '5': 1, '10': 'repeatedDouble'}, + {'1': 'repeated_bool', '3': 43, '4': 3, '5': 8, '10': 'repeatedBool'}, + {'1': 'repeated_string', '3': 44, '4': 3, '5': 9, '10': 'repeatedString'}, + {'1': 'repeated_bytes', '3': 45, '4': 3, '5': 12, '10': 'repeatedBytes'}, + { + '1': 'repeated_nested_message', + '3': 48, + '4': 3, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage', + '10': 'repeatedNestedMessage' + }, + { + '1': 'repeated_foreign_message', + '3': 49, + '4': 3, + '5': 11, + '6': '.protobuf_test_messages.proto2.ForeignMessageProto2', + '10': 'repeatedForeignMessage' + }, + { + '1': 'repeated_nested_enum', + '3': 51, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', + '10': 'repeatedNestedEnum' + }, + { + '1': 'repeated_foreign_enum', + '3': 52, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto2.ForeignEnumProto2', + '10': 'repeatedForeignEnum' + }, + { + '1': 'repeated_string_piece', + '3': 54, + '4': 3, + '5': 9, + '8': {'1': 2}, + '10': 'repeatedStringPiece', + }, + { + '1': 'repeated_cord', + '3': 55, + '4': 3, + '5': 9, + '8': {'1': 1}, + '10': 'repeatedCord', + }, + { + '1': 'packed_int32', + '3': 75, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'packedInt32', + }, + { + '1': 'packed_int64', + '3': 76, + '4': 3, + '5': 3, + '8': {'2': true}, + '10': 'packedInt64', + }, + { + '1': 'packed_uint32', + '3': 77, + '4': 3, + '5': 13, + '8': {'2': true}, + '10': 'packedUint32', + }, + { + '1': 'packed_uint64', + '3': 78, + '4': 3, + '5': 4, + '8': {'2': true}, + '10': 'packedUint64', + }, + { + '1': 'packed_sint32', + '3': 79, + '4': 3, + '5': 17, + '8': {'2': true}, + '10': 'packedSint32', + }, + { + '1': 'packed_sint64', + '3': 80, + '4': 3, + '5': 18, + '8': {'2': true}, + '10': 'packedSint64', + }, + { + '1': 'packed_fixed32', + '3': 81, + '4': 3, + '5': 7, + '8': {'2': true}, + '10': 'packedFixed32', + }, + { + '1': 'packed_fixed64', + '3': 82, + '4': 3, + '5': 6, + '8': {'2': true}, + '10': 'packedFixed64', + }, + { + '1': 'packed_sfixed32', + '3': 83, + '4': 3, + '5': 15, + '8': {'2': true}, + '10': 'packedSfixed32', + }, + { + '1': 'packed_sfixed64', + '3': 84, + '4': 3, + '5': 16, + '8': {'2': true}, + '10': 'packedSfixed64', + }, + { + '1': 'packed_float', + '3': 85, + '4': 3, + '5': 2, + '8': {'2': true}, + '10': 'packedFloat', + }, + { + '1': 'packed_double', + '3': 86, + '4': 3, + '5': 1, + '8': {'2': true}, + '10': 'packedDouble', + }, + { + '1': 'packed_bool', + '3': 87, + '4': 3, + '5': 8, + '8': {'2': true}, + '10': 'packedBool', + }, + { + '1': 'packed_nested_enum', + '3': 88, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', + '8': {'2': true}, + '10': 'packedNestedEnum', + }, + { + '1': 'unpacked_int32', + '3': 89, + '4': 3, + '5': 5, + '8': {'2': false}, + '10': 'unpackedInt32', + }, + { + '1': 'unpacked_int64', + '3': 90, + '4': 3, + '5': 3, + '8': {'2': false}, + '10': 'unpackedInt64', + }, + { + '1': 'unpacked_uint32', + '3': 91, + '4': 3, + '5': 13, + '8': {'2': false}, + '10': 'unpackedUint32', + }, + { + '1': 'unpacked_uint64', + '3': 92, + '4': 3, + '5': 4, + '8': {'2': false}, + '10': 'unpackedUint64', + }, + { + '1': 'unpacked_sint32', + '3': 93, + '4': 3, + '5': 17, + '8': {'2': false}, + '10': 'unpackedSint32', + }, + { + '1': 'unpacked_sint64', + '3': 94, + '4': 3, + '5': 18, + '8': {'2': false}, + '10': 'unpackedSint64', + }, + { + '1': 'unpacked_fixed32', + '3': 95, + '4': 3, + '5': 7, + '8': {'2': false}, + '10': 'unpackedFixed32', + }, + { + '1': 'unpacked_fixed64', + '3': 96, + '4': 3, + '5': 6, + '8': {'2': false}, + '10': 'unpackedFixed64', + }, + { + '1': 'unpacked_sfixed32', + '3': 97, + '4': 3, + '5': 15, + '8': {'2': false}, + '10': 'unpackedSfixed32', + }, + { + '1': 'unpacked_sfixed64', + '3': 98, + '4': 3, + '5': 16, + '8': {'2': false}, + '10': 'unpackedSfixed64', + }, + { + '1': 'unpacked_float', + '3': 99, + '4': 3, + '5': 2, + '8': {'2': false}, + '10': 'unpackedFloat', + }, + { + '1': 'unpacked_double', + '3': 100, + '4': 3, + '5': 1, + '8': {'2': false}, + '10': 'unpackedDouble', + }, + { + '1': 'unpacked_bool', + '3': 101, + '4': 3, + '5': 8, + '8': {'2': false}, + '10': 'unpackedBool', + }, + { + '1': 'unpacked_nested_enum', + '3': 102, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', + '8': {'2': false}, + '10': 'unpackedNestedEnum', + }, + { + '1': 'map_int32_int32', + '3': 56, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry', + '10': 'mapInt32Int32' + }, + { + '1': 'map_int64_int64', + '3': 57, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry', + '10': 'mapInt64Int64' + }, + { + '1': 'map_uint32_uint32', + '3': 58, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry', + '10': 'mapUint32Uint32' + }, + { + '1': 'map_uint64_uint64', + '3': 59, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry', + '10': 'mapUint64Uint64' + }, + { + '1': 'map_sint32_sint32', + '3': 60, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry', + '10': 'mapSint32Sint32' + }, + { + '1': 'map_sint64_sint64', + '3': 61, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry', + '10': 'mapSint64Sint64' + }, + { + '1': 'map_fixed32_fixed32', + '3': 62, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry', + '10': 'mapFixed32Fixed32' + }, + { + '1': 'map_fixed64_fixed64', + '3': 63, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry', + '10': 'mapFixed64Fixed64' + }, + { + '1': 'map_sfixed32_sfixed32', + '3': 64, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry', + '10': 'mapSfixed32Sfixed32' + }, + { + '1': 'map_sfixed64_sfixed64', + '3': 65, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry', + '10': 'mapSfixed64Sfixed64' + }, + { + '1': 'map_int32_float', + '3': 66, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry', + '10': 'mapInt32Float' + }, + { + '1': 'map_int32_double', + '3': 67, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry', + '10': 'mapInt32Double' + }, + { + '1': 'map_bool_bool', + '3': 68, + '4': 3, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry', + '10': 'mapBoolBool' + }, + { + '1': 'map_string_string', + '3': 69, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry', + '10': 'mapStringString' + }, + { + '1': 'map_string_bytes', + '3': 70, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry', + '10': 'mapStringBytes' + }, + { + '1': 'map_string_nested_message', + '3': 71, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry', + '10': 'mapStringNestedMessage' + }, + { + '1': 'map_string_foreign_message', + '3': 72, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry', + '10': 'mapStringForeignMessage' + }, + { + '1': 'map_string_nested_enum', + '3': 73, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry', + '10': 'mapStringNestedEnum' + }, + { + '1': 'map_string_foreign_enum', + '3': 74, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry', + '10': 'mapStringForeignEnum' + }, + { + '1': 'oneof_uint32', + '3': 111, + '4': 1, + '5': 13, + '9': 0, + '10': 'oneofUint32' + }, + { + '1': 'oneof_nested_message', + '3': 112, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage', + '9': 0, + '10': 'oneofNestedMessage' + }, + { + '1': 'oneof_string', + '3': 113, + '4': 1, + '5': 9, + '9': 0, + '10': 'oneofString' + }, + {'1': 'oneof_bytes', '3': 114, '4': 1, '5': 12, '9': 0, '10': 'oneofBytes'}, + {'1': 'oneof_bool', '3': 115, '4': 1, '5': 8, '9': 0, '10': 'oneofBool'}, + { + '1': 'oneof_uint64', + '3': 116, + '4': 1, + '5': 4, + '9': 0, + '10': 'oneofUint64' + }, + {'1': 'oneof_float', '3': 117, '4': 1, '5': 2, '9': 0, '10': 'oneofFloat'}, + { + '1': 'oneof_double', + '3': 118, + '4': 1, + '5': 1, + '9': 0, + '10': 'oneofDouble' + }, + { + '1': 'oneof_enum', + '3': 119, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', + '9': 0, + '10': 'oneofEnum' + }, + { + '1': 'data', + '3': 201, + '4': 1, + '5': 10, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.Data', + '10': 'data' + }, + { + '1': 'multiwordgroupfield', + '3': 204, + '4': 1, + '5': 10, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MultiWordGroupField', + '10': 'multiwordgroupfield' + }, + { + '1': 'default_int32', + '3': 241, + '4': 1, + '5': 5, + '7': '-123456789', + '10': 'defaultInt32' + }, + { + '1': 'default_int64', + '3': 242, + '4': 1, + '5': 3, + '7': '-9123456789123456789', + '10': 'defaultInt64' + }, + { + '1': 'default_uint32', + '3': 243, + '4': 1, + '5': 13, + '7': '2123456789', + '10': 'defaultUint32' + }, + { + '1': 'default_uint64', + '3': 244, + '4': 1, + '5': 4, + '7': '10123456789123456789', + '10': 'defaultUint64' + }, + { + '1': 'default_sint32', + '3': 245, + '4': 1, + '5': 17, + '7': '-123456789', + '10': 'defaultSint32' + }, + { + '1': 'default_sint64', + '3': 246, + '4': 1, + '5': 18, + '7': '-9123456789123456789', + '10': 'defaultSint64' + }, + { + '1': 'default_fixed32', + '3': 247, + '4': 1, + '5': 7, + '7': '2123456789', + '10': 'defaultFixed32' + }, + { + '1': 'default_fixed64', + '3': 248, + '4': 1, + '5': 6, + '7': '10123456789123456789', + '10': 'defaultFixed64' + }, + { + '1': 'default_sfixed32', + '3': 249, + '4': 1, + '5': 15, + '7': '-123456789', + '10': 'defaultSfixed32' + }, + { + '1': 'default_sfixed64', + '3': 250, + '4': 1, + '5': 16, + '7': '-9123456789123456789', + '10': 'defaultSfixed64' + }, + { + '1': 'default_float', + '3': 251, + '4': 1, + '5': 2, + '7': '9e+09', + '10': 'defaultFloat' + }, + { + '1': 'default_double', + '3': 252, + '4': 1, + '5': 1, + '7': '7e+22', + '10': 'defaultDouble' + }, + { + '1': 'default_bool', + '3': 253, + '4': 1, + '5': 8, + '7': 'true', + '10': 'defaultBool' + }, + { + '1': 'default_string', + '3': 254, + '4': 1, + '5': 9, + '7': 'Rosebud', + '10': 'defaultString' + }, + { + '1': 'default_bytes', + '3': 255, + '4': 1, + '5': 12, + '7': 'joshua', + '10': 'defaultBytes' + }, + {'1': 'fieldname1', '3': 401, '4': 1, '5': 5, '10': 'fieldname1'}, + {'1': 'field_name2', '3': 402, '4': 1, '5': 5, '10': 'fieldName2'}, + {'1': '_field_name3', '3': 403, '4': 1, '5': 5, '10': 'FieldName3'}, + {'1': 'field__name4_', '3': 404, '4': 1, '5': 5, '10': 'fieldName4'}, + {'1': 'field0name5', '3': 405, '4': 1, '5': 5, '10': 'field0name5'}, + {'1': 'field_0_name6', '3': 406, '4': 1, '5': 5, '10': 'field0Name6'}, + {'1': 'fieldName7', '3': 407, '4': 1, '5': 5, '10': 'fieldName7'}, + {'1': 'FieldName8', '3': 408, '4': 1, '5': 5, '10': 'FieldName8'}, + {'1': 'field_Name9', '3': 409, '4': 1, '5': 5, '10': 'fieldName9'}, + {'1': 'Field_Name10', '3': 410, '4': 1, '5': 5, '10': 'FieldName10'}, + {'1': 'FIELD_NAME11', '3': 411, '4': 1, '5': 5, '10': 'FIELDNAME11'}, + {'1': 'FIELD_name12', '3': 412, '4': 1, '5': 5, '10': 'FIELDName12'}, + {'1': '__field_name13', '3': 413, '4': 1, '5': 5, '10': 'FieldName13'}, + {'1': '__Field_name14', '3': 414, '4': 1, '5': 5, '10': 'FieldName14'}, + {'1': 'field__name15', '3': 415, '4': 1, '5': 5, '10': 'fieldName15'}, + {'1': 'field__Name16', '3': 416, '4': 1, '5': 5, '10': 'fieldName16'}, + {'1': 'field_name17__', '3': 417, '4': 1, '5': 5, '10': 'fieldName17'}, + {'1': 'Field_name18__', '3': 418, '4': 1, '5': 5, '10': 'FieldName18'}, + ], + '3': [ + TestAllTypesProto2_NestedMessage$json, + TestAllTypesProto2_MapInt32Int32Entry$json, + TestAllTypesProto2_MapInt64Int64Entry$json, + TestAllTypesProto2_MapUint32Uint32Entry$json, + TestAllTypesProto2_MapUint64Uint64Entry$json, + TestAllTypesProto2_MapSint32Sint32Entry$json, + TestAllTypesProto2_MapSint64Sint64Entry$json, + TestAllTypesProto2_MapFixed32Fixed32Entry$json, + TestAllTypesProto2_MapFixed64Fixed64Entry$json, + TestAllTypesProto2_MapSfixed32Sfixed32Entry$json, + TestAllTypesProto2_MapSfixed64Sfixed64Entry$json, + TestAllTypesProto2_MapInt32FloatEntry$json, + TestAllTypesProto2_MapInt32DoubleEntry$json, + TestAllTypesProto2_MapBoolBoolEntry$json, + TestAllTypesProto2_MapStringStringEntry$json, + TestAllTypesProto2_MapStringBytesEntry$json, + TestAllTypesProto2_MapStringNestedMessageEntry$json, + TestAllTypesProto2_MapStringForeignMessageEntry$json, + TestAllTypesProto2_MapStringNestedEnumEntry$json, + TestAllTypesProto2_MapStringForeignEnumEntry$json, + TestAllTypesProto2_Data$json, + TestAllTypesProto2_MultiWordGroupField$json, + TestAllTypesProto2_MessageSetCorrect$json, + TestAllTypesProto2_MessageSetCorrectExtension1$json, + TestAllTypesProto2_MessageSetCorrectExtension2$json + ], + '4': [TestAllTypesProto2_NestedEnum$json], + '5': [ + {'1': 120, '2': 201}, + ], + '8': [ + {'1': 'oneof_field'}, + ], + '9': [ + {'1': 1000, '2': 10000}, + ], +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_NestedMessage$json = { + '1': 'NestedMessage', + '2': [ + {'1': 'a', '3': 1, '4': 1, '5': 5, '10': 'a'}, + { + '1': 'corecursive', + '3': 2, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2', + '10': 'corecursive' + }, + ], +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapInt32Int32Entry$json = { + '1': 'MapInt32Int32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapInt64Int64Entry$json = { + '1': 'MapInt64Int64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 3, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 3, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapUint32Uint32Entry$json = { + '1': 'MapUint32Uint32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 13, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 13, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapUint64Uint64Entry$json = { + '1': 'MapUint64Uint64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 4, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 4, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapSint32Sint32Entry$json = { + '1': 'MapSint32Sint32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 17, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 17, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapSint64Sint64Entry$json = { + '1': 'MapSint64Sint64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 18, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 18, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapFixed32Fixed32Entry$json = { + '1': 'MapFixed32Fixed32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 7, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 7, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapFixed64Fixed64Entry$json = { + '1': 'MapFixed64Fixed64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 6, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 6, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapSfixed32Sfixed32Entry$json = { + '1': 'MapSfixed32Sfixed32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 15, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 15, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapSfixed64Sfixed64Entry$json = { + '1': 'MapSfixed64Sfixed64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 16, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 16, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapInt32FloatEntry$json = { + '1': 'MapInt32FloatEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 2, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapInt32DoubleEntry$json = { + '1': 'MapInt32DoubleEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 1, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapBoolBoolEntry$json = { + '1': 'MapBoolBoolEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 8, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 8, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapStringStringEntry$json = { + '1': 'MapStringStringEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapStringBytesEntry$json = { + '1': 'MapStringBytesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 12, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapStringNestedMessageEntry$json = { + '1': 'MapStringNestedMessageEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapStringForeignMessageEntry$json = { + '1': 'MapStringForeignMessageEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.ForeignMessageProto2', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapStringNestedEnumEntry$json = { + '1': 'MapStringNestedEnumEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MapStringForeignEnumEntry$json = { + '1': 'MapStringForeignEnumEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto2.ForeignEnumProto2', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_Data$json = { + '1': 'Data', + '2': [ + {'1': 'group_int32', '3': 202, '4': 1, '5': 5, '10': 'groupInt32'}, + {'1': 'group_uint32', '3': 203, '4': 1, '5': 13, '10': 'groupUint32'}, + ], +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MultiWordGroupField$json = { + '1': 'MultiWordGroupField', + '2': [ + {'1': 'group_int32', '3': 205, '4': 1, '5': 5, '10': 'groupInt32'}, + {'1': 'group_uint32', '3': 206, '4': 1, '5': 13, '10': 'groupUint32'}, + ], +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MessageSetCorrect$json = { + '1': 'MessageSetCorrect', + '5': [ + {'1': 4, '2': 2147483647}, + ], + '7': {'1': true}, +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MessageSetCorrectExtension1$json = { + '1': 'MessageSetCorrectExtension1', + '2': [ + {'1': 'str', '3': 25, '4': 1, '5': 9, '10': 'str'}, + ], + '6': [ + { + '1': 'message_set_extension', + '2': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect', + '3': 1547769, + '4': 1, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1', + '10': 'messageSetExtension' + }, + ], +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_MessageSetCorrectExtension2$json = { + '1': 'MessageSetCorrectExtension2', + '2': [ + {'1': 'i', '3': 9, '4': 1, '5': 5, '10': 'i'}, + ], + '6': [ + { + '1': 'message_set_extension', + '2': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect', + '3': 4135312, + '4': 1, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2', + '10': 'messageSetExtension' + }, + ], +}; + +@$core.Deprecated('Use testAllTypesProto2Descriptor instead') +const TestAllTypesProto2_NestedEnum$json = { + '1': 'NestedEnum', + '2': [ + {'1': 'FOO', '2': 0}, + {'1': 'BAR', '2': 1}, + {'1': 'BAZ', '2': 2}, + {'1': 'NEG', '2': -1}, + ], +}; + +/// Descriptor for `TestAllTypesProto2`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testAllTypesProto2Descriptor = $convert.base64Decode( + 'ChJUZXN0QWxsVHlwZXNQcm90bzISJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW' + '50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxf' + 'dWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm' + '9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzIS' + 'JwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maX' + 'hlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIP' + 'b3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaX' + 'hlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9w' + 'dGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIA' + 'EoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29s' + 'EicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYn' + 'l0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiAB' + 'KAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTm' + 'VzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEm0KGG9wdGlvbmFsX2ZvcmVpZ25f' + 'bWVzc2FnZRgTIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZX' + 'NzYWdlUHJvdG8yUhZvcHRpb25hbEZvcmVpZ25NZXNzYWdlEm4KFG9wdGlvbmFsX25lc3RlZF9l' + 'bnVtGBUgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUH' + 'JvdG8yLk5lc3RlZEVudW1SEm9wdGlvbmFsTmVzdGVkRW51bRJkChVvcHRpb25hbF9mb3JlaWdu' + 'X2VudW0YFiABKA4yMC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bV' + 'Byb3RvMlITb3B0aW9uYWxGb3JlaWduRW51bRI2ChVvcHRpb25hbF9zdHJpbmdfcGllY2UYGCAB' + 'KAlCAggCUhNvcHRpb25hbFN0cmluZ1BpZWNlEicKDW9wdGlvbmFsX2NvcmQYGSABKAlCAggBUg' + 'xvcHRpb25hbENvcmQSXgoRcmVjdXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0' + 'X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzJSEHJlY3Vyc2l2ZU1lc3NhZ2USJQ' + 'oOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQY' + 'ICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZF' + 'VpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVh' + 'dGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAy' + 'gSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZp' + 'eGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcG' + 'VhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhl' + 'ZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZX' + 'BlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoN' + 'cmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIA' + 'MoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0' + 'ZXMSdwoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0X21lc3' + 'NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWRO' + 'ZXN0ZWRNZXNzYWdlEm0KGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzIzLnByb3RvYn' + 'VmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZyZXBlYXRlZEZv' + 'cmVpZ25NZXNzYWdlEm4KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjwucHJvdG9idWZfdG' + 'VzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEnJlcGVh' + 'dGVkTmVzdGVkRW51bRJkChVyZXBlYXRlZF9mb3JlaWduX2VudW0YNCADKA4yMC5wcm90b2J1Zl' + '90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITcmVwZWF0ZWRGb3JlaWdu' + 'RW51bRI2ChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiADKAlCAggCUhNyZXBlYXRlZFN0cmluZ1' + 'BpZWNlEicKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBUgxyZXBlYXRlZENvcmQSJQoMcGFja2Vk' + 'X2ludDMyGEsgAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GEwgAygDQgIQAV' + 'ILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhNIAMoDUICEAFSDHBhY2tlZFVpbnQzMhIn' + 'Cg1wYWNrZWRfdWludDY0GE4gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50Mz' + 'IYTyADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhQIAMoEkICEAFSDHBh' + 'Y2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhRIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQ' + 'oOcGFja2VkX2ZpeGVkNjQYUiADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4' + 'ZWQzMhhTIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhUIAMoEE' + 'ICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAFSC3BhY2tlZEZs' + 'b2F0EicKDXBhY2tlZF9kb3VibGUYViADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2' + 'Jvb2wYVyADKAhCAhABUgpwYWNrZWRCb29sEm4KEnBhY2tlZF9uZXN0ZWRfZW51bRhYIAMoDjI8' + 'LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZW' + 'RFbnVtQgIQAVIQcGFja2VkTmVzdGVkRW51bRIpCg51bnBhY2tlZF9pbnQzMhhZIAMoBUICEABS' + 'DXVucGFja2VkSW50MzISKQoOdW5wYWNrZWRfaW50NjQYWiADKANCAhAAUg11bnBhY2tlZEludD' + 'Y0EisKD3VucGFja2VkX3VpbnQzMhhbIAMoDUICEABSDnVucGFja2VkVWludDMyEisKD3VucGFj' + 'a2VkX3VpbnQ2NBhcIAMoBEICEABSDnVucGFja2VkVWludDY0EisKD3VucGFja2VkX3NpbnQzMh' + 'hdIAMoEUICEABSDnVucGFja2VkU2ludDMyEisKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEABS' + 'DnVucGFja2VkU2ludDY0Ei0KEHVucGFja2VkX2ZpeGVkMzIYXyADKAdCAhAAUg91bnBhY2tlZE' + 'ZpeGVkMzISLQoQdW5wYWNrZWRfZml4ZWQ2NBhgIAMoBkICEABSD3VucGFja2VkRml4ZWQ2NBIv' + 'ChF1bnBhY2tlZF9zZml4ZWQzMhhhIAMoD0ICEABSEHVucGFja2VkU2ZpeGVkMzISLwoRdW5wYW' + 'NrZWRfc2ZpeGVkNjQYYiADKBBCAhAAUhB1bnBhY2tlZFNmaXhlZDY0EikKDnVucGFja2VkX2Zs' + 'b2F0GGMgAygCQgIQAFINdW5wYWNrZWRGbG9hdBIrCg91bnBhY2tlZF9kb3VibGUYZCADKAFCAh' + 'AAUg51bnBhY2tlZERvdWJsZRInCg11bnBhY2tlZF9ib29sGGUgAygIQgIQAFIMdW5wYWNrZWRC' + 'b29sEnIKFHVucGFja2VkX25lc3RlZF9lbnVtGGYgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYW' + 'dlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1CAhAAUhJ1bnBhY2tlZE5l' + 'c3RlZEVudW0SbAoPbWFwX2ludDMyX2ludDMyGDggAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYW' + 'dlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEludDMySW50MzJFbnRyeVINbWFwSW50' + 'MzJJbnQzMhJsCg9tYXBfaW50NjRfaW50NjQYOSADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2' + 'VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2' + 'NEludDY0EnIKEW1hcF91aW50MzJfdWludDMyGDogAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYW' + 'dlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFVpbnQzMlVpbnQzMkVudHJ5Ug9tYXBV' + 'aW50MzJVaW50MzIScgoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90ZXN0X2' + '1lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWludDY0VWludDY0RW50cnlS' + 'D21hcFVpbnQ2NFVpbnQ2NBJyChFtYXBfc2ludDMyX3NpbnQzMhg8IAMoCzJGLnByb3RvYnVmX3' + 'Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTaW50MzJTaW50MzJF' + 'bnRyeVIPbWFwU2ludDMyU2ludDMyEnIKEW1hcF9zaW50NjRfc2ludDY0GD0gAygLMkYucHJvdG' + '9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNpbnQ2NFNp' + 'bnQ2NEVudHJ5Ug9tYXBTaW50NjRTaW50NjQSeAoTbWFwX2ZpeGVkMzJfZml4ZWQzMhg+IAMoCz' + 'JILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBG' + 'aXhlZDMyRml4ZWQzMkVudHJ5UhFtYXBGaXhlZDMyRml4ZWQzMhJ4ChNtYXBfZml4ZWQ2NF9maX' + 'hlZDY0GD8gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVz' + 'UHJvdG8yLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0En4KFW1hcF' + '9zZml4ZWQzMl9zZml4ZWQzMhhAIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8y' + 'LlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnlSE21hcFNmaXhlZD' + 'MyU2ZpeGVkMzISfgoVbWFwX3NmaXhlZDY0X3NmaXhlZDY0GEEgAygLMkoucHJvdG9idWZfdGVz' + 'dF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNmaXhlZDY0U2ZpeGVkNj' + 'RFbnRyeVITbWFwU2ZpeGVkNjRTZml4ZWQ2NBJsCg9tYXBfaW50MzJfZmxvYXQYQiADKAsyRC5w' + 'cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50Mz' + 'JGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0Em8KEG1hcF9pbnQzMl9kb3VibGUYQyADKAsyRS5w' + 'cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50Mz' + 'JEb3VibGVFbnRyeVIObWFwSW50MzJEb3VibGUSZgoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnBy' + 'b3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBCb29sQm' + '9vbEVudHJ5UgttYXBCb29sQm9vbBJyChFtYXBfc3RyaW5nX3N0cmluZxhFIAMoCzJGLnByb3Rv' + 'YnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdTdH' + 'JpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nEm8KEG1hcF9zdHJpbmdfYnl0ZXMYRiADKAsyRS5w' + 'cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW' + '5nQnl0ZXNFbnRyeVIObWFwU3RyaW5nQnl0ZXMSiAEKGW1hcF9zdHJpbmdfbmVzdGVkX21lc3Nh' + 'Z2UYRyADKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm' + '90bzIuTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5UhZtYXBTdHJpbmdOZXN0ZWRNZXNzYWdl' + 'EosBChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMoCzJOLnByb3RvYnVmX3Rlc3RfbW' + 'Vzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdGb3JlaWduTWVzc2Fn' + 'ZUVudHJ5UhdtYXBTdHJpbmdGb3JlaWduTWVzc2FnZRJ/ChZtYXBfc3RyaW5nX25lc3RlZF9lbn' + 'VtGEkgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJv' + 'dG8yLk1hcFN0cmluZ05lc3RlZEVudW1FbnRyeVITbWFwU3RyaW5nTmVzdGVkRW51bRKCAQoXbW' + 'FwX3N0cmluZ19mb3JlaWduX2VudW0YSiADKAsySy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnBy' + 'b3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeVIUbWFwU3' + 'RyaW5nRm9yZWlnbkVudW0SIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEnMK' + 'FG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm' + '90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VIAFISb25lb2ZOZXN0ZWRNZXNz' + 'YWdlEiMKDG9uZW9mX3N0cmluZxhxIAEoCUgAUgtvbmVvZlN0cmluZxIhCgtvbmVvZl9ieXRlcx' + 'hyIAEoDEgAUgpvbmVvZkJ5dGVzEh8KCm9uZW9mX2Jvb2wYcyABKAhIAFIJb25lb2ZCb29sEiMK' + 'DG9uZW9mX3VpbnQ2NBh0IAEoBEgAUgtvbmVvZlVpbnQ2NBIhCgtvbmVvZl9mbG9hdBh1IAEoAk' + 'gAUgpvbmVvZkZsb2F0EiMKDG9uZW9mX2RvdWJsZRh2IAEoAUgAUgtvbmVvZkRvdWJsZRJdCgpv' + 'bmVvZl9lbnVtGHcgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbF' + 'R5cGVzUHJvdG8yLk5lc3RlZEVudW1IAFIJb25lb2ZFbnVtEksKBGRhdGEYyQEgASgKMjYucHJv' + 'dG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLkRhdGFSBGRhdG' + 'ESeAoTbXVsdGl3b3JkZ3JvdXBmaWVsZBjMASABKAoyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz' + 'LnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTXVsdGlXb3JkR3JvdXBGaWVsZFITbXVsdGl3b3' + 'JkZ3JvdXBmaWVsZBIwCg1kZWZhdWx0X2ludDMyGPEBIAEoBToKLTEyMzQ1Njc4OVIMZGVmYXVs' + 'dEludDMyEjoKDWRlZmF1bHRfaW50NjQY8gEgASgDOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVIMZG' + 'VmYXVsdEludDY0EjIKDmRlZmF1bHRfdWludDMyGPMBIAEoDToKMjEyMzQ1Njc4OVINZGVmYXVs' + 'dFVpbnQzMhI8Cg5kZWZhdWx0X3VpbnQ2NBj0ASABKAQ6FDEwMTIzNDU2Nzg5MTIzNDU2Nzg5Ug' + '1kZWZhdWx0VWludDY0EjIKDmRlZmF1bHRfc2ludDMyGPUBIAEoEToKLTEyMzQ1Njc4OVINZGVm' + 'YXVsdFNpbnQzMhI8Cg5kZWZhdWx0X3NpbnQ2NBj2ASABKBI6FC05MTIzNDU2Nzg5MTIzNDU2Nz' + 'g5Ug1kZWZhdWx0U2ludDY0EjQKD2RlZmF1bHRfZml4ZWQzMhj3ASABKAc6CjIxMjM0NTY3ODlS' + 'DmRlZmF1bHRGaXhlZDMyEj4KD2RlZmF1bHRfZml4ZWQ2NBj4ASABKAY6FDEwMTIzNDU2Nzg5MT' + 'IzNDU2Nzg5Ug5kZWZhdWx0Rml4ZWQ2NBI2ChBkZWZhdWx0X3NmaXhlZDMyGPkBIAEoDzoKLTEy' + 'MzQ1Njc4OVIPZGVmYXVsdFNmaXhlZDMyEkAKEGRlZmF1bHRfc2ZpeGVkNjQY+gEgASgQOhQtOT' + 'EyMzQ1Njc4OTEyMzQ1Njc4OVIPZGVmYXVsdFNmaXhlZDY0EisKDWRlZmF1bHRfZmxvYXQY+wEg' + 'ASgCOgU5ZSswOVIMZGVmYXVsdEZsb2F0Ei0KDmRlZmF1bHRfZG91YmxlGPwBIAEoAToFN2UrMj' + 'JSDWRlZmF1bHREb3VibGUSKAoMZGVmYXVsdF9ib29sGP0BIAEoCDoEdHJ1ZVILZGVmYXVsdEJv' + 'b2wSLwoOZGVmYXVsdF9zdHJpbmcY/gEgASgJOgdSb3NlYnVkUg1kZWZhdWx0U3RyaW5nEiwKDW' + 'RlZmF1bHRfYnl0ZXMY/wEgASgMOgZqb3NodWFSDGRlZmF1bHRCeXRlcxIfCgpmaWVsZG5hbWUx' + 'GJEDIAEoBVIKZmllbGRuYW1lMRIgCgtmaWVsZF9uYW1lMhiSAyABKAVSCmZpZWxkTmFtZTISIQ' + 'oMX2ZpZWxkX25hbWUzGJMDIAEoBVIKRmllbGROYW1lMxIiCg1maWVsZF9fbmFtZTRfGJQDIAEo' + 'BVIKZmllbGROYW1lNBIhCgtmaWVsZDBuYW1lNRiVAyABKAVSC2ZpZWxkMG5hbWU1EiMKDWZpZW' + 'xkXzBfbmFtZTYYlgMgASgFUgtmaWVsZDBOYW1lNhIfCgpmaWVsZE5hbWU3GJcDIAEoBVIKZmll' + 'bGROYW1lNxIfCgpGaWVsZE5hbWU4GJgDIAEoBVIKRmllbGROYW1lOBIgCgtmaWVsZF9OYW1lOR' + 'iZAyABKAVSCmZpZWxkTmFtZTkSIgoMRmllbGRfTmFtZTEwGJoDIAEoBVILRmllbGROYW1lMTAS' + 'IgoMRklFTERfTkFNRTExGJsDIAEoBVILRklFTEROQU1FMTESIgoMRklFTERfbmFtZTEyGJwDIA' + 'EoBVILRklFTEROYW1lMTISJAoOX19maWVsZF9uYW1lMTMYnQMgASgFUgtGaWVsZE5hbWUxMxIk' + 'Cg5fX0ZpZWxkX25hbWUxNBieAyABKAVSC0ZpZWxkTmFtZTE0EiMKDWZpZWxkX19uYW1lMTUYnw' + 'MgASgFUgtmaWVsZE5hbWUxNRIjCg1maWVsZF9fTmFtZTE2GKADIAEoBVILZmllbGROYW1lMTYS' + 'JAoOZmllbGRfbmFtZTE3X18YoQMgASgFUgtmaWVsZE5hbWUxNxIkCg5GaWVsZF9uYW1lMThfXx' + 'iiAyABKAVSC0ZpZWxkTmFtZTE4GnIKDU5lc3RlZE1lc3NhZ2USDAoBYRgBIAEoBVIBYRJTCgtj' + 'b3JlY3Vyc2l2ZRgCIAEoCzIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbG' + 'xUeXBlc1Byb3RvMlILY29yZWN1cnNpdmUaQAoSTWFwSW50MzJJbnQzMkVudHJ5EhAKA2tleRgB' + 'IAEoBVIDa2V5EhQKBXZhbHVlGAIgASgFUgV2YWx1ZToCOAEaQAoSTWFwSW50NjRJbnQ2NEVudH' + 'J5EhAKA2tleRgBIAEoA1IDa2V5EhQKBXZhbHVlGAIgASgDUgV2YWx1ZToCOAEaQgoUTWFwVWlu' + 'dDMyVWludDMyRW50cnkSEAoDa2V5GAEgASgNUgNrZXkSFAoFdmFsdWUYAiABKA1SBXZhbHVlOg' + 'I4ARpCChRNYXBVaW50NjRVaW50NjRFbnRyeRIQCgNrZXkYASABKARSA2tleRIUCgV2YWx1ZRgC' + 'IAEoBFIFdmFsdWU6AjgBGkIKFE1hcFNpbnQzMlNpbnQzMkVudHJ5EhAKA2tleRgBIAEoEVIDa2' + 'V5EhQKBXZhbHVlGAIgASgRUgV2YWx1ZToCOAEaQgoUTWFwU2ludDY0U2ludDY0RW50cnkSEAoD' + 'a2V5GAEgASgSUgNrZXkSFAoFdmFsdWUYAiABKBJSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDMyRm' + 'l4ZWQzMkVudHJ5EhAKA2tleRgBIAEoB1IDa2V5EhQKBXZhbHVlGAIgASgHUgV2YWx1ZToCOAEa' + 'RAoWTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRIQCgNrZXkYASABKAZSA2tleRIUCgV2YWx1ZRgCIA' + 'EoBlIFdmFsdWU6AjgBGkYKGE1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRIQCgNrZXkYASABKA9S' + 'A2tleRIUCgV2YWx1ZRgCIAEoD1IFdmFsdWU6AjgBGkYKGE1hcFNmaXhlZDY0U2ZpeGVkNjRFbn' + 'RyeRIQCgNrZXkYASABKBBSA2tleRIUCgV2YWx1ZRgCIAEoEFIFdmFsdWU6AjgBGkAKEk1hcElu' + 'dDMyRmxvYXRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAlIFdmFsdWU6Aj' + 'gBGkEKE01hcEludDMyRG91YmxlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiAB' + 'KAFSBXZhbHVlOgI4ARo+ChBNYXBCb29sQm9vbEVudHJ5EhAKA2tleRgBIAEoCFIDa2V5EhQKBX' + 'ZhbHVlGAIgASgIUgV2YWx1ZToCOAEaQgoUTWFwU3RyaW5nU3RyaW5nRW50cnkSEAoDa2V5GAEg' + 'ASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpBChNNYXBTdHJpbmdCeXRlc0VudH' + 'J5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgMUgV2YWx1ZToCOAEaigEKG01hcFN0' + 'cmluZ05lc3RlZE1lc3NhZ2VFbnRyeRIQCgNrZXkYASABKAlSA2tleRJVCgV2YWx1ZRgCIAEoCz' + 'I/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0' + 'ZWRNZXNzYWdlUgV2YWx1ZToCOAEafwocTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VFbnRyeRIQCg' + 'NrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMu' + 'cHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUgV2YWx1ZToCOAEahAEKGE1hcFN0cmluZ05lc3' + 'RlZEVudW1FbnRyeRIQCgNrZXkYASABKAlSA2tleRJSCgV2YWx1ZRgCIAEoDjI8LnByb3RvYnVm' + 'X3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtUgV2YW' + 'x1ZToCOAEaeQoZTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeRIQCgNrZXkYASABKAlSA2tleRJG' + 'CgV2YWx1ZRgCIAEoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25Fbn' + 'VtUHJvdG8yUgV2YWx1ZToCOAEaTAoERGF0YRIgCgtncm91cF9pbnQzMhjKASABKAVSCmdyb3Vw' + 'SW50MzISIgoMZ3JvdXBfdWludDMyGMsBIAEoDVILZ3JvdXBVaW50MzIaWwoTTXVsdGlXb3JkR3' + 'JvdXBGaWVsZBIgCgtncm91cF9pbnQzMhjNASABKAVSCmdyb3VwSW50MzISIgoMZ3JvdXBfdWlu' + 'dDMyGM4BIAEoDVILZ3JvdXBVaW50MzIaIQoRTWVzc2FnZVNldENvcnJlY3QqCAgEEP////8HOg' + 'IIARr6AQobTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24xEhAKA3N0chgZIAEoCVIDc3RyMsgB' + 'ChVtZXNzYWdlX3NldF9leHRlbnNpb24SQy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi' + '5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QY+bteIAEoCzJNLnByb3RvYnVm' + 'X3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycm' + 'VjdEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24a9wEKG01lc3NhZ2VTZXRDb3JyZWN0' + 'RXh0ZW5zaW9uMhIMCgFpGAkgASgFUgFpMskBChVtZXNzYWdlX3NldF9leHRlbnNpb24SQy5wcm' + '90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNl' + 'dENvcnJlY3QYkLP8ASABKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QW' + 'xsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yUhNtZXNzYWdlU2V0RXh0' + 'ZW5zaW9uIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP' + '///////////wEqBQh4EMkBQg0KC29uZW9mX2ZpZWxkSgYI6AcQkE4='); + +@$core.Deprecated('Use foreignMessageProto2Descriptor instead') +const ForeignMessageProto2$json = { + '1': 'ForeignMessageProto2', + '2': [ + {'1': 'c', '3': 1, '4': 1, '5': 5, '10': 'c'}, + ], +}; + +/// Descriptor for `ForeignMessageProto2`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List foreignMessageProto2Descriptor = + $convert.base64Decode('ChRGb3JlaWduTWVzc2FnZVByb3RvMhIMCgFjGAEgASgFUgFj'); + +@$core.Deprecated('Use groupFieldDescriptor instead') +const GroupField$json = { + '1': 'GroupField', + '2': [ + {'1': 'group_int32', '3': 122, '4': 1, '5': 5, '10': 'groupInt32'}, + {'1': 'group_uint32', '3': 123, '4': 1, '5': 13, '10': 'groupUint32'}, + ], +}; + +/// Descriptor for `GroupField`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List groupFieldDescriptor = $convert.base64Decode( + 'CgpHcm91cEZpZWxkEh8KC2dyb3VwX2ludDMyGHogASgFUgpncm91cEludDMyEiEKDGdyb3VwX3' + 'VpbnQzMhh7IAEoDVILZ3JvdXBVaW50MzI='); + +@$core.Deprecated('Use unknownToTestAllTypesDescriptor instead') +const UnknownToTestAllTypes$json = { + '1': 'UnknownToTestAllTypes', + '2': [ + {'1': 'optional_int32', '3': 1001, '4': 1, '5': 5, '10': 'optionalInt32'}, + {'1': 'optional_string', '3': 1002, '4': 1, '5': 9, '10': 'optionalString'}, + { + '1': 'nested_message', + '3': 1003, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.ForeignMessageProto2', + '10': 'nestedMessage' + }, + { + '1': 'optionalgroup', + '3': 1004, + '4': 1, + '5': 10, + '6': '.protobuf_test_messages.proto2.UnknownToTestAllTypes.OptionalGroup', + '10': 'optionalgroup' + }, + {'1': 'optional_bool', '3': 1006, '4': 1, '5': 8, '10': 'optionalBool'}, + {'1': 'repeated_int32', '3': 1011, '4': 3, '5': 5, '10': 'repeatedInt32'}, + ], + '3': [UnknownToTestAllTypes_OptionalGroup$json], +}; + +@$core.Deprecated('Use unknownToTestAllTypesDescriptor instead') +const UnknownToTestAllTypes_OptionalGroup$json = { + '1': 'OptionalGroup', + '2': [ + {'1': 'a', '3': 1, '4': 1, '5': 5, '10': 'a'}, + ], +}; + +/// Descriptor for `UnknownToTestAllTypes`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List unknownToTestAllTypesDescriptor = $convert.base64Decode( + 'ChVVbmtub3duVG9UZXN0QWxsVHlwZXMSJgoOb3B0aW9uYWxfaW50MzIY6QcgASgFUg1vcHRpb2' + '5hbEludDMyEigKD29wdGlvbmFsX3N0cmluZxjqByABKAlSDm9wdGlvbmFsU3RyaW5nElsKDm5l' + 'c3RlZF9tZXNzYWdlGOsHIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcm' + 'VpZ25NZXNzYWdlUHJvdG8yUg1uZXN0ZWRNZXNzYWdlEmkKDW9wdGlvbmFsZ3JvdXAY7AcgASgK' + 'MkIucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVW5rbm93blRvVGVzdEFsbFR5cGVzLk' + '9wdGlvbmFsR3JvdXBSDW9wdGlvbmFsZ3JvdXASJAoNb3B0aW9uYWxfYm9vbBjuByABKAhSDG9w' + 'dGlvbmFsQm9vbBImCg5yZXBlYXRlZF9pbnQzMhjzByADKAVSDXJlcGVhdGVkSW50MzIaHQoNT3' + 'B0aW9uYWxHcm91cBIMCgFhGAEgASgFUgFh'); + +@$core.Deprecated('Use nullHypothesisProto2Descriptor instead') +const NullHypothesisProto2$json = { + '1': 'NullHypothesisProto2', +}; + +/// Descriptor for `NullHypothesisProto2`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nullHypothesisProto2Descriptor = + $convert.base64Decode('ChROdWxsSHlwb3RoZXNpc1Byb3RvMg=='); + +@$core.Deprecated('Use enumOnlyProto2Descriptor instead') +const EnumOnlyProto2$json = { + '1': 'EnumOnlyProto2', + '4': [EnumOnlyProto2_Bool$json], +}; + +@$core.Deprecated('Use enumOnlyProto2Descriptor instead') +const EnumOnlyProto2_Bool$json = { + '1': 'Bool', + '2': [ + {'1': 'kFalse', '2': 0}, + {'1': 'kTrue', '2': 1}, + ], +}; + +/// Descriptor for `EnumOnlyProto2`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumOnlyProto2Descriptor = $convert.base64Decode( + 'Cg5FbnVtT25seVByb3RvMiIdCgRCb29sEgoKBmtGYWxzZRAAEgkKBWtUcnVlEAE='); + +@$core.Deprecated('Use oneStringProto2Descriptor instead') +const OneStringProto2$json = { + '1': 'OneStringProto2', + '2': [ + {'1': 'data', '3': 1, '4': 1, '5': 9, '10': 'data'}, + ], +}; + +/// Descriptor for `OneStringProto2`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List oneStringProto2Descriptor = $convert + .base64Decode('Cg9PbmVTdHJpbmdQcm90bzISEgoEZGF0YRgBIAEoCVIEZGF0YQ=='); + +@$core.Deprecated('Use protoWithKeywordsDescriptor instead') +const ProtoWithKeywords$json = { + '1': 'ProtoWithKeywords', + '2': [ + {'1': 'inline', '3': 1, '4': 1, '5': 5, '10': 'inline'}, + {'1': 'concept', '3': 2, '4': 1, '5': 9, '10': 'concept'}, + {'1': 'requires', '3': 3, '4': 3, '5': 9, '10': 'requires'}, + ], +}; + +/// Descriptor for `ProtoWithKeywords`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List protoWithKeywordsDescriptor = $convert.base64Decode( + 'ChFQcm90b1dpdGhLZXl3b3JkcxIWCgZpbmxpbmUYASABKAVSBmlubGluZRIYCgdjb25jZXB0GA' + 'IgASgJUgdjb25jZXB0EhoKCHJlcXVpcmVzGAMgAygJUghyZXF1aXJlcw=='); + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2$json = { + '1': 'TestAllRequiredTypesProto2', + '2': [ + {'1': 'required_int32', '3': 1, '4': 2, '5': 5, '10': 'requiredInt32'}, + {'1': 'required_int64', '3': 2, '4': 2, '5': 3, '10': 'requiredInt64'}, + {'1': 'required_uint32', '3': 3, '4': 2, '5': 13, '10': 'requiredUint32'}, + {'1': 'required_uint64', '3': 4, '4': 2, '5': 4, '10': 'requiredUint64'}, + {'1': 'required_sint32', '3': 5, '4': 2, '5': 17, '10': 'requiredSint32'}, + {'1': 'required_sint64', '3': 6, '4': 2, '5': 18, '10': 'requiredSint64'}, + {'1': 'required_fixed32', '3': 7, '4': 2, '5': 7, '10': 'requiredFixed32'}, + {'1': 'required_fixed64', '3': 8, '4': 2, '5': 6, '10': 'requiredFixed64'}, + { + '1': 'required_sfixed32', + '3': 9, + '4': 2, + '5': 15, + '10': 'requiredSfixed32' + }, + { + '1': 'required_sfixed64', + '3': 10, + '4': 2, + '5': 16, + '10': 'requiredSfixed64' + }, + {'1': 'required_float', '3': 11, '4': 2, '5': 2, '10': 'requiredFloat'}, + {'1': 'required_double', '3': 12, '4': 2, '5': 1, '10': 'requiredDouble'}, + {'1': 'required_bool', '3': 13, '4': 2, '5': 8, '10': 'requiredBool'}, + {'1': 'required_string', '3': 14, '4': 2, '5': 9, '10': 'requiredString'}, + {'1': 'required_bytes', '3': 15, '4': 2, '5': 12, '10': 'requiredBytes'}, + { + '1': 'required_nested_message', + '3': 18, + '4': 2, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.NestedMessage', + '10': 'requiredNestedMessage' + }, + { + '1': 'required_foreign_message', + '3': 19, + '4': 2, + '5': 11, + '6': '.protobuf_test_messages.proto2.ForeignMessageProto2', + '10': 'requiredForeignMessage' + }, + { + '1': 'required_nested_enum', + '3': 21, + '4': 2, + '5': 14, + '6': + '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.NestedEnum', + '10': 'requiredNestedEnum' + }, + { + '1': 'required_foreign_enum', + '3': 22, + '4': 2, + '5': 14, + '6': '.protobuf_test_messages.proto2.ForeignEnumProto2', + '10': 'requiredForeignEnum' + }, + { + '1': 'required_string_piece', + '3': 24, + '4': 2, + '5': 9, + '8': {'1': 2}, + '10': 'requiredStringPiece', + }, + { + '1': 'required_cord', + '3': 25, + '4': 2, + '5': 9, + '8': {'1': 1}, + '10': 'requiredCord', + }, + { + '1': 'recursive_message', + '3': 27, + '4': 2, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2', + '10': 'recursiveMessage' + }, + { + '1': 'optional_recursive_message', + '3': 28, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2', + '10': 'optionalRecursiveMessage' + }, + { + '1': 'data', + '3': 201, + '4': 2, + '5': 10, + '6': '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.Data', + '10': 'data' + }, + { + '1': 'default_int32', + '3': 241, + '4': 2, + '5': 5, + '7': '-123456789', + '10': 'defaultInt32' + }, + { + '1': 'default_int64', + '3': 242, + '4': 2, + '5': 3, + '7': '-9123456789123456789', + '10': 'defaultInt64' + }, + { + '1': 'default_uint32', + '3': 243, + '4': 2, + '5': 13, + '7': '2123456789', + '10': 'defaultUint32' + }, + { + '1': 'default_uint64', + '3': 244, + '4': 2, + '5': 4, + '7': '10123456789123456789', + '10': 'defaultUint64' + }, + { + '1': 'default_sint32', + '3': 245, + '4': 2, + '5': 17, + '7': '-123456789', + '10': 'defaultSint32' + }, + { + '1': 'default_sint64', + '3': 246, + '4': 2, + '5': 18, + '7': '-9123456789123456789', + '10': 'defaultSint64' + }, + { + '1': 'default_fixed32', + '3': 247, + '4': 2, + '5': 7, + '7': '2123456789', + '10': 'defaultFixed32' + }, + { + '1': 'default_fixed64', + '3': 248, + '4': 2, + '5': 6, + '7': '10123456789123456789', + '10': 'defaultFixed64' + }, + { + '1': 'default_sfixed32', + '3': 249, + '4': 2, + '5': 15, + '7': '-123456789', + '10': 'defaultSfixed32' + }, + { + '1': 'default_sfixed64', + '3': 250, + '4': 2, + '5': 16, + '7': '-9123456789123456789', + '10': 'defaultSfixed64' + }, + { + '1': 'default_float', + '3': 251, + '4': 2, + '5': 2, + '7': '9e+09', + '10': 'defaultFloat' + }, + { + '1': 'default_double', + '3': 252, + '4': 2, + '5': 1, + '7': '7e+22', + '10': 'defaultDouble' + }, + { + '1': 'default_bool', + '3': 253, + '4': 2, + '5': 8, + '7': 'true', + '10': 'defaultBool' + }, + { + '1': 'default_string', + '3': 254, + '4': 2, + '5': 9, + '7': 'Rosebud', + '10': 'defaultString' + }, + { + '1': 'default_bytes', + '3': 255, + '4': 2, + '5': 12, + '7': 'joshua', + '10': 'defaultBytes' + }, + ], + '3': [ + TestAllRequiredTypesProto2_NestedMessage$json, + TestAllRequiredTypesProto2_Data$json, + TestAllRequiredTypesProto2_MessageSetCorrect$json, + TestAllRequiredTypesProto2_MessageSetCorrectExtension1$json, + TestAllRequiredTypesProto2_MessageSetCorrectExtension2$json + ], + '4': [TestAllRequiredTypesProto2_NestedEnum$json], + '5': [ + {'1': 120, '2': 201}, + ], + '9': [ + {'1': 1000, '2': 10000}, + ], +}; + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2_NestedMessage$json = { + '1': 'NestedMessage', + '2': [ + {'1': 'a', '3': 1, '4': 2, '5': 5, '10': 'a'}, + { + '1': 'corecursive', + '3': 2, + '4': 2, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2', + '10': 'corecursive' + }, + { + '1': 'optional_corecursive', + '3': 3, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2', + '10': 'optionalCorecursive' + }, + ], +}; + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2_Data$json = { + '1': 'Data', + '2': [ + {'1': 'group_int32', '3': 202, '4': 2, '5': 5, '10': 'groupInt32'}, + {'1': 'group_uint32', '3': 203, '4': 2, '5': 13, '10': 'groupUint32'}, + ], +}; + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2_MessageSetCorrect$json = { + '1': 'MessageSetCorrect', + '5': [ + {'1': 4, '2': 2147483647}, + ], + '7': {'1': true}, +}; + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2_MessageSetCorrectExtension1$json = { + '1': 'MessageSetCorrectExtension1', + '2': [ + {'1': 'str', '3': 25, '4': 2, '5': 9, '10': 'str'}, + ], + '6': [ + { + '1': 'message_set_extension', + '2': + '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.MessageSetCorrect', + '3': 1547769, + '4': 1, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.MessageSetCorrectExtension1', + '10': 'messageSetExtension' + }, + ], +}; + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2_MessageSetCorrectExtension2$json = { + '1': 'MessageSetCorrectExtension2', + '2': [ + {'1': 'i', '3': 9, '4': 2, '5': 5, '10': 'i'}, + ], + '6': [ + { + '1': 'message_set_extension', + '2': + '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.MessageSetCorrect', + '3': 4135312, + '4': 1, + '5': 11, + '6': + '.protobuf_test_messages.proto2.TestAllRequiredTypesProto2.MessageSetCorrectExtension2', + '10': 'messageSetExtension' + }, + ], +}; + +@$core.Deprecated('Use testAllRequiredTypesProto2Descriptor instead') +const TestAllRequiredTypesProto2_NestedEnum$json = { + '1': 'NestedEnum', + '2': [ + {'1': 'FOO', '2': 0}, + {'1': 'BAR', '2': 1}, + {'1': 'BAZ', '2': 2}, + {'1': 'NEG', '2': -1}, + ], +}; + +/// Descriptor for `TestAllRequiredTypesProto2`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testAllRequiredTypesProto2Descriptor = $convert.base64Decode( + 'ChpUZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMhIlCg5yZXF1aXJlZF9pbnQzMhgBIAIoBVINcm' + 'VxdWlyZWRJbnQzMhIlCg5yZXF1aXJlZF9pbnQ2NBgCIAIoA1INcmVxdWlyZWRJbnQ2NBInCg9y' + 'ZXF1aXJlZF91aW50MzIYAyACKA1SDnJlcXVpcmVkVWludDMyEicKD3JlcXVpcmVkX3VpbnQ2NB' + 'gEIAIoBFIOcmVxdWlyZWRVaW50NjQSJwoPcmVxdWlyZWRfc2ludDMyGAUgAigRUg5yZXF1aXJl' + 'ZFNpbnQzMhInCg9yZXF1aXJlZF9zaW50NjQYBiACKBJSDnJlcXVpcmVkU2ludDY0EikKEHJlcX' + 'VpcmVkX2ZpeGVkMzIYByACKAdSD3JlcXVpcmVkRml4ZWQzMhIpChByZXF1aXJlZF9maXhlZDY0' + 'GAggAigGUg9yZXF1aXJlZEZpeGVkNjQSKwoRcmVxdWlyZWRfc2ZpeGVkMzIYCSACKA9SEHJlcX' + 'VpcmVkU2ZpeGVkMzISKwoRcmVxdWlyZWRfc2ZpeGVkNjQYCiACKBBSEHJlcXVpcmVkU2ZpeGVk' + 'NjQSJQoOcmVxdWlyZWRfZmxvYXQYCyACKAJSDXJlcXVpcmVkRmxvYXQSJwoPcmVxdWlyZWRfZG' + '91YmxlGAwgAigBUg5yZXF1aXJlZERvdWJsZRIjCg1yZXF1aXJlZF9ib29sGA0gAigIUgxyZXF1' + 'aXJlZEJvb2wSJwoPcmVxdWlyZWRfc3RyaW5nGA4gAigJUg5yZXF1aXJlZFN0cmluZxIlCg5yZX' + 'F1aXJlZF9ieXRlcxgPIAIoDFINcmVxdWlyZWRCeXRlcxJ/ChdyZXF1aXJlZF9uZXN0ZWRfbWVz' + 'c2FnZRgSIAIoCzJHLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aX' + 'JlZFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VSFXJlcXVpcmVkTmVzdGVkTWVzc2FnZRJtChhy' + 'ZXF1aXJlZF9mb3JlaWduX21lc3NhZ2UYEyACKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLn' + 'Byb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMlIWcmVxdWlyZWRGb3JlaWduTWVzc2FnZRJ2ChRy' + 'ZXF1aXJlZF9uZXN0ZWRfZW51bRgVIAIoDjJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG' + '8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SEnJlcXVpcmVkTmVzdGVk' + 'RW51bRJkChVyZXF1aXJlZF9mb3JlaWduX2VudW0YFiACKA4yMC5wcm90b2J1Zl90ZXN0X21lc3' + 'NhZ2VzLnByb3RvMi5Gb3JlaWduRW51bVByb3RvMlITcmVxdWlyZWRGb3JlaWduRW51bRI2ChVy' + 'ZXF1aXJlZF9zdHJpbmdfcGllY2UYGCACKAlCAggCUhNyZXF1aXJlZFN0cmluZ1BpZWNlEicKDX' + 'JlcXVpcmVkX2NvcmQYGSACKAlCAggBUgxyZXF1aXJlZENvcmQSZgoRcmVjdXJzaXZlX21lc3Nh' + 'Z2UYGyACKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZW' + 'RUeXBlc1Byb3RvMlIQcmVjdXJzaXZlTWVzc2FnZRJ3ChpvcHRpb25hbF9yZWN1cnNpdmVfbWVz' + 'c2FnZRgcIAEoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aX' + 'JlZFR5cGVzUHJvdG8yUhhvcHRpb25hbFJlY3Vyc2l2ZU1lc3NhZ2USUwoEZGF0YRjJASACKAoy' + 'Pi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3' + 'RvMi5EYXRhUgRkYXRhEjAKDWRlZmF1bHRfaW50MzIY8QEgAigFOgotMTIzNDU2Nzg5UgxkZWZh' + 'dWx0SW50MzISOgoNZGVmYXVsdF9pbnQ2NBjyASACKAM6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug' + 'xkZWZhdWx0SW50NjQSMgoOZGVmYXVsdF91aW50MzIY8wEgAigNOgoyMTIzNDU2Nzg5Ug1kZWZh' + 'dWx0VWludDMyEjwKDmRlZmF1bHRfdWludDY0GPQBIAIoBDoUMTAxMjM0NTY3ODkxMjM0NTY3OD' + 'lSDWRlZmF1bHRVaW50NjQSMgoOZGVmYXVsdF9zaW50MzIY9QEgAigROgotMTIzNDU2Nzg5Ug1k' + 'ZWZhdWx0U2ludDMyEjwKDmRlZmF1bHRfc2ludDY0GPYBIAIoEjoULTkxMjM0NTY3ODkxMjM0NT' + 'Y3ODlSDWRlZmF1bHRTaW50NjQSNAoPZGVmYXVsdF9maXhlZDMyGPcBIAIoBzoKMjEyMzQ1Njc4' + 'OVIOZGVmYXVsdEZpeGVkMzISPgoPZGVmYXVsdF9maXhlZDY0GPgBIAIoBjoUMTAxMjM0NTY3OD' + 'kxMjM0NTY3ODlSDmRlZmF1bHRGaXhlZDY0EjYKEGRlZmF1bHRfc2ZpeGVkMzIY+QEgAigPOgot' + 'MTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkMzISQAoQZGVmYXVsdF9zZml4ZWQ2NBj6ASACKBA6FC' + '05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkNjQSKwoNZGVmYXVsdF9mbG9hdBj7' + 'ASACKAI6BTllKzA5UgxkZWZhdWx0RmxvYXQSLQoOZGVmYXVsdF9kb3VibGUY/AEgAigBOgU3ZS' + 'syMlINZGVmYXVsdERvdWJsZRIoCgxkZWZhdWx0X2Jvb2wY/QEgAigIOgR0cnVlUgtkZWZhdWx0' + 'Qm9vbBIvCg5kZWZhdWx0X3N0cmluZxj+ASACKAk6B1Jvc2VidWRSDWRlZmF1bHRTdHJpbmcSLA' + 'oNZGVmYXVsdF9ieXRlcxj/ASACKAw6Bmpvc2h1YVIMZGVmYXVsdEJ5dGVzGugBCg1OZXN0ZWRN' + 'ZXNzYWdlEgwKAWEYASACKAVSAWESWwoLY29yZWN1cnNpdmUYAiACKAsyOS5wcm90b2J1Zl90ZX' + 'N0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlILY29yZWN1cnNp' + 'dmUSbAoUb3B0aW9uYWxfY29yZWN1cnNpdmUYAyABKAsyOS5wcm90b2J1Zl90ZXN0X21lc3NhZ2' + 'VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3RvMlITb3B0aW9uYWxDb3JlY3Vyc2l2' + 'ZRpMCgREYXRhEiAKC2dyb3VwX2ludDMyGMoBIAIoBVIKZ3JvdXBJbnQzMhIiCgxncm91cF91aW' + '50MzIYywEgAigNUgtncm91cFVpbnQzMhohChFNZXNzYWdlU2V0Q29ycmVjdCoICAQQ/////wc6' + 'AggBGooCChtNZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjESEAoDc3RyGBkgAigJUgNzdHIy2A' + 'EKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8y' + 'LlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GPm7XiABKAsyVS' + '5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdWlyZWRUeXBlc1Byb3Rv' + 'Mi5NZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24ahwIKG0' + '1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMhIMCgFpGAkgAigFUgFpMtkBChVtZXNzYWdlX3Nl' + 'dF9leHRlbnNpb24SSy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsUmVxdW' + 'lyZWRUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdBiQs/wBIAEoCzJVLnByb3RvYnVmX3Rl' + 'c3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZX' + 'RDb3JyZWN0RXh0ZW5zaW9uMlITbWVzc2FnZVNldEV4dGVuc2lvbiI5CgpOZXN0ZWRFbnVtEgcK' + 'A0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BKgUIeBDJAUoGCOgHEJ' + 'BO'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pb.dart new file mode 100644 index 00000000..415324ed --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pb.dart @@ -0,0 +1,2495 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/test_messages_proto3.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'any.pb.dart' as $49; +import 'duration.pb.dart' as $51; +import 'field_mask.pb.dart' as $58; +import 'struct.pb.dart' as $48; +import 'struct.pbenum.dart' as $48; +import 'test_messages_proto3.pbenum.dart'; +import 'timestamp.pb.dart' as $50; +import 'wrappers.pb.dart' as $73; + +export 'test_messages_proto3.pbenum.dart'; + +class TestAllTypesProto3_NestedMessage extends $pb.GeneratedMessage { + factory TestAllTypesProto3_NestedMessage({ + $core.int? a, + TestAllTypesProto3? corecursive, + }) { + final $result = create(); + if (a != null) { + $result.a = a; + } + if (corecursive != null) { + $result.corecursive = corecursive; + } + return $result; + } + TestAllTypesProto3_NestedMessage._() : super(); + factory TestAllTypesProto3_NestedMessage.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto3_NestedMessage.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto3.NestedMessage', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto3'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'a', $pb.PbFieldType.O3) + ..aOM(2, _omitFieldNames ? '' : 'corecursive', + subBuilder: TestAllTypesProto3.create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto3_NestedMessage clone() => + TestAllTypesProto3_NestedMessage()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto3_NestedMessage copyWith( + void Function(TestAllTypesProto3_NestedMessage) updates) => + super.copyWith( + (message) => updates(message as TestAllTypesProto3_NestedMessage)) + as TestAllTypesProto3_NestedMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto3_NestedMessage create() => + TestAllTypesProto3_NestedMessage._(); + TestAllTypesProto3_NestedMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto3_NestedMessage getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); + static TestAllTypesProto3_NestedMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get a => $_getIZ(0); + @$pb.TagNumber(1) + set a($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasA() => $_has(0); + @$pb.TagNumber(1) + void clearA() => clearField(1); + + @$pb.TagNumber(2) + TestAllTypesProto3 get corecursive => $_getN(1); + @$pb.TagNumber(2) + set corecursive(TestAllTypesProto3 v) { + setField(2, v); + } + + @$pb.TagNumber(2) + $core.bool hasCorecursive() => $_has(1); + @$pb.TagNumber(2) + void clearCorecursive() => clearField(2); + @$pb.TagNumber(2) + TestAllTypesProto3 ensureCorecursive() => $_ensure(1); +} + +enum TestAllTypesProto3_OneofField { + oneofUint32, + oneofNestedMessage, + oneofString, + oneofBytes, + oneofBool, + oneofUint64, + oneofFloat, + oneofDouble, + oneofEnum, + oneofNullValue, + notSet +} + +/// This proto includes every type of field in both singular and repeated +/// forms. +/// +/// Also, crucially, all messages and enums in this file are eventually +/// submessages of this message. So for example, a fuzz test of TestAllTypes +/// could trigger bugs that occur in any message type in this file. We verify +/// this stays true in a unit test. +class TestAllTypesProto3 extends $pb.GeneratedMessage { + factory TestAllTypesProto3({ + $core.int? optionalInt32, + $fixnum.Int64? optionalInt64, + $core.int? optionalUint32, + $fixnum.Int64? optionalUint64, + $core.int? optionalSint32, + $fixnum.Int64? optionalSint64, + $core.int? optionalFixed32, + $fixnum.Int64? optionalFixed64, + $core.int? optionalSfixed32, + $fixnum.Int64? optionalSfixed64, + $core.double? optionalFloat, + $core.double? optionalDouble, + $core.bool? optionalBool, + $core.String? optionalString, + $core.List<$core.int>? optionalBytes, + TestAllTypesProto3_NestedMessage? optionalNestedMessage, + ForeignMessage? optionalForeignMessage, + TestAllTypesProto3_NestedEnum? optionalNestedEnum, + ForeignEnum? optionalForeignEnum, + TestAllTypesProto3_AliasedEnum? optionalAliasedEnum, + $core.String? optionalStringPiece, + $core.String? optionalCord, + TestAllTypesProto3? recursiveMessage, + $core.Iterable<$core.int>? repeatedInt32, + $core.Iterable<$fixnum.Int64>? repeatedInt64, + $core.Iterable<$core.int>? repeatedUint32, + $core.Iterable<$fixnum.Int64>? repeatedUint64, + $core.Iterable<$core.int>? repeatedSint32, + $core.Iterable<$fixnum.Int64>? repeatedSint64, + $core.Iterable<$core.int>? repeatedFixed32, + $core.Iterable<$fixnum.Int64>? repeatedFixed64, + $core.Iterable<$core.int>? repeatedSfixed32, + $core.Iterable<$fixnum.Int64>? repeatedSfixed64, + $core.Iterable<$core.double>? repeatedFloat, + $core.Iterable<$core.double>? repeatedDouble, + $core.Iterable<$core.bool>? repeatedBool, + $core.Iterable<$core.String>? repeatedString, + $core.Iterable<$core.List<$core.int>>? repeatedBytes, + $core.Iterable? repeatedNestedMessage, + $core.Iterable? repeatedForeignMessage, + $core.Iterable? repeatedNestedEnum, + $core.Iterable? repeatedForeignEnum, + $core.Iterable<$core.String>? repeatedStringPiece, + $core.Iterable<$core.String>? repeatedCord, + $core.Map<$core.int, $core.int>? mapInt32Int32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapInt64Int64, + $core.Map<$core.int, $core.int>? mapUint32Uint32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapUint64Uint64, + $core.Map<$core.int, $core.int>? mapSint32Sint32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapSint64Sint64, + $core.Map<$core.int, $core.int>? mapFixed32Fixed32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapFixed64Fixed64, + $core.Map<$core.int, $core.int>? mapSfixed32Sfixed32, + $core.Map<$fixnum.Int64, $fixnum.Int64>? mapSfixed64Sfixed64, + $core.Map<$core.int, $core.double>? mapInt32Float, + $core.Map<$core.int, $core.double>? mapInt32Double, + $core.Map<$core.bool, $core.bool>? mapBoolBool, + $core.Map<$core.String, $core.String>? mapStringString, + $core.Map<$core.String, $core.List<$core.int>>? mapStringBytes, + $core.Map<$core.String, TestAllTypesProto3_NestedMessage>? + mapStringNestedMessage, + $core.Map<$core.String, ForeignMessage>? mapStringForeignMessage, + $core.Map<$core.String, TestAllTypesProto3_NestedEnum>? mapStringNestedEnum, + $core.Map<$core.String, ForeignEnum>? mapStringForeignEnum, + $core.Iterable<$core.int>? packedInt32, + $core.Iterable<$fixnum.Int64>? packedInt64, + $core.Iterable<$core.int>? packedUint32, + $core.Iterable<$fixnum.Int64>? packedUint64, + $core.Iterable<$core.int>? packedSint32, + $core.Iterable<$fixnum.Int64>? packedSint64, + $core.Iterable<$core.int>? packedFixed32, + $core.Iterable<$fixnum.Int64>? packedFixed64, + $core.Iterable<$core.int>? packedSfixed32, + $core.Iterable<$fixnum.Int64>? packedSfixed64, + $core.Iterable<$core.double>? packedFloat, + $core.Iterable<$core.double>? packedDouble, + $core.Iterable<$core.bool>? packedBool, + $core.Iterable? packedNestedEnum, + $core.Iterable<$core.int>? unpackedInt32, + $core.Iterable<$fixnum.Int64>? unpackedInt64, + $core.Iterable<$core.int>? unpackedUint32, + $core.Iterable<$fixnum.Int64>? unpackedUint64, + $core.Iterable<$core.int>? unpackedSint32, + $core.Iterable<$fixnum.Int64>? unpackedSint64, + $core.Iterable<$core.int>? unpackedFixed32, + $core.Iterable<$fixnum.Int64>? unpackedFixed64, + $core.Iterable<$core.int>? unpackedSfixed32, + $core.Iterable<$fixnum.Int64>? unpackedSfixed64, + $core.Iterable<$core.double>? unpackedFloat, + $core.Iterable<$core.double>? unpackedDouble, + $core.Iterable<$core.bool>? unpackedBool, + $core.Iterable? unpackedNestedEnum, + $core.int? oneofUint32, + TestAllTypesProto3_NestedMessage? oneofNestedMessage, + $core.String? oneofString, + $core.List<$core.int>? oneofBytes, + $core.bool? oneofBool, + $fixnum.Int64? oneofUint64, + $core.double? oneofFloat, + $core.double? oneofDouble, + TestAllTypesProto3_NestedEnum? oneofEnum, + $48.NullValue? oneofNullValue, + $73.BoolValue? optionalBoolWrapper, + $73.Int32Value? optionalInt32Wrapper, + $73.Int64Value? optionalInt64Wrapper, + $73.UInt32Value? optionalUint32Wrapper, + $73.UInt64Value? optionalUint64Wrapper, + $73.FloatValue? optionalFloatWrapper, + $73.DoubleValue? optionalDoubleWrapper, + $73.StringValue? optionalStringWrapper, + $73.BytesValue? optionalBytesWrapper, + $core.Iterable<$73.BoolValue>? repeatedBoolWrapper, + $core.Iterable<$73.Int32Value>? repeatedInt32Wrapper, + $core.Iterable<$73.Int64Value>? repeatedInt64Wrapper, + $core.Iterable<$73.UInt32Value>? repeatedUint32Wrapper, + $core.Iterable<$73.UInt64Value>? repeatedUint64Wrapper, + $core.Iterable<$73.FloatValue>? repeatedFloatWrapper, + $core.Iterable<$73.DoubleValue>? repeatedDoubleWrapper, + $core.Iterable<$73.StringValue>? repeatedStringWrapper, + $core.Iterable<$73.BytesValue>? repeatedBytesWrapper, + $51.Duration? optionalDuration, + $50.Timestamp? optionalTimestamp, + $58.FieldMask? optionalFieldMask, + $48.Struct? optionalStruct, + $49.Any? optionalAny, + $48.Value? optionalValue, + $48.NullValue? optionalNullValue, + $core.Iterable<$51.Duration>? repeatedDuration, + $core.Iterable<$50.Timestamp>? repeatedTimestamp, + $core.Iterable<$58.FieldMask>? repeatedFieldmask, + $core.Iterable<$49.Any>? repeatedAny, + $core.Iterable<$48.Value>? repeatedValue, + $core.Iterable<$48.ListValue>? repeatedListValue, + $core.Iterable<$48.Struct>? repeatedStruct, + $core.int? fieldname1, + $core.int? fieldName2, + $core.int? fieldName3, + $core.int? fieldName4, + $core.int? field0name5, + $core.int? field0Name6, + $core.int? fieldName7, + $core.int? fieldName8, + $core.int? fieldName9, + $core.int? fieldName10, + $core.int? fIELDNAME11, + $core.int? fIELDName12, + $core.int? fieldName13, + $core.int? fieldName14, + $core.int? fieldName15, + $core.int? fieldName16, + $core.int? fieldName17, + $core.int? fieldName18, + }) { + final $result = create(); + if (optionalInt32 != null) { + $result.optionalInt32 = optionalInt32; + } + if (optionalInt64 != null) { + $result.optionalInt64 = optionalInt64; + } + if (optionalUint32 != null) { + $result.optionalUint32 = optionalUint32; + } + if (optionalUint64 != null) { + $result.optionalUint64 = optionalUint64; + } + if (optionalSint32 != null) { + $result.optionalSint32 = optionalSint32; + } + if (optionalSint64 != null) { + $result.optionalSint64 = optionalSint64; + } + if (optionalFixed32 != null) { + $result.optionalFixed32 = optionalFixed32; + } + if (optionalFixed64 != null) { + $result.optionalFixed64 = optionalFixed64; + } + if (optionalSfixed32 != null) { + $result.optionalSfixed32 = optionalSfixed32; + } + if (optionalSfixed64 != null) { + $result.optionalSfixed64 = optionalSfixed64; + } + if (optionalFloat != null) { + $result.optionalFloat = optionalFloat; + } + if (optionalDouble != null) { + $result.optionalDouble = optionalDouble; + } + if (optionalBool != null) { + $result.optionalBool = optionalBool; + } + if (optionalString != null) { + $result.optionalString = optionalString; + } + if (optionalBytes != null) { + $result.optionalBytes = optionalBytes; + } + if (optionalNestedMessage != null) { + $result.optionalNestedMessage = optionalNestedMessage; + } + if (optionalForeignMessage != null) { + $result.optionalForeignMessage = optionalForeignMessage; + } + if (optionalNestedEnum != null) { + $result.optionalNestedEnum = optionalNestedEnum; + } + if (optionalForeignEnum != null) { + $result.optionalForeignEnum = optionalForeignEnum; + } + if (optionalAliasedEnum != null) { + $result.optionalAliasedEnum = optionalAliasedEnum; + } + if (optionalStringPiece != null) { + $result.optionalStringPiece = optionalStringPiece; + } + if (optionalCord != null) { + $result.optionalCord = optionalCord; + } + if (recursiveMessage != null) { + $result.recursiveMessage = recursiveMessage; + } + if (repeatedInt32 != null) { + $result.repeatedInt32.addAll(repeatedInt32); + } + if (repeatedInt64 != null) { + $result.repeatedInt64.addAll(repeatedInt64); + } + if (repeatedUint32 != null) { + $result.repeatedUint32.addAll(repeatedUint32); + } + if (repeatedUint64 != null) { + $result.repeatedUint64.addAll(repeatedUint64); + } + if (repeatedSint32 != null) { + $result.repeatedSint32.addAll(repeatedSint32); + } + if (repeatedSint64 != null) { + $result.repeatedSint64.addAll(repeatedSint64); + } + if (repeatedFixed32 != null) { + $result.repeatedFixed32.addAll(repeatedFixed32); + } + if (repeatedFixed64 != null) { + $result.repeatedFixed64.addAll(repeatedFixed64); + } + if (repeatedSfixed32 != null) { + $result.repeatedSfixed32.addAll(repeatedSfixed32); + } + if (repeatedSfixed64 != null) { + $result.repeatedSfixed64.addAll(repeatedSfixed64); + } + if (repeatedFloat != null) { + $result.repeatedFloat.addAll(repeatedFloat); + } + if (repeatedDouble != null) { + $result.repeatedDouble.addAll(repeatedDouble); + } + if (repeatedBool != null) { + $result.repeatedBool.addAll(repeatedBool); + } + if (repeatedString != null) { + $result.repeatedString.addAll(repeatedString); + } + if (repeatedBytes != null) { + $result.repeatedBytes.addAll(repeatedBytes); + } + if (repeatedNestedMessage != null) { + $result.repeatedNestedMessage.addAll(repeatedNestedMessage); + } + if (repeatedForeignMessage != null) { + $result.repeatedForeignMessage.addAll(repeatedForeignMessage); + } + if (repeatedNestedEnum != null) { + $result.repeatedNestedEnum.addAll(repeatedNestedEnum); + } + if (repeatedForeignEnum != null) { + $result.repeatedForeignEnum.addAll(repeatedForeignEnum); + } + if (repeatedStringPiece != null) { + $result.repeatedStringPiece.addAll(repeatedStringPiece); + } + if (repeatedCord != null) { + $result.repeatedCord.addAll(repeatedCord); + } + if (mapInt32Int32 != null) { + $result.mapInt32Int32.addAll(mapInt32Int32); + } + if (mapInt64Int64 != null) { + $result.mapInt64Int64.addAll(mapInt64Int64); + } + if (mapUint32Uint32 != null) { + $result.mapUint32Uint32.addAll(mapUint32Uint32); + } + if (mapUint64Uint64 != null) { + $result.mapUint64Uint64.addAll(mapUint64Uint64); + } + if (mapSint32Sint32 != null) { + $result.mapSint32Sint32.addAll(mapSint32Sint32); + } + if (mapSint64Sint64 != null) { + $result.mapSint64Sint64.addAll(mapSint64Sint64); + } + if (mapFixed32Fixed32 != null) { + $result.mapFixed32Fixed32.addAll(mapFixed32Fixed32); + } + if (mapFixed64Fixed64 != null) { + $result.mapFixed64Fixed64.addAll(mapFixed64Fixed64); + } + if (mapSfixed32Sfixed32 != null) { + $result.mapSfixed32Sfixed32.addAll(mapSfixed32Sfixed32); + } + if (mapSfixed64Sfixed64 != null) { + $result.mapSfixed64Sfixed64.addAll(mapSfixed64Sfixed64); + } + if (mapInt32Float != null) { + $result.mapInt32Float.addAll(mapInt32Float); + } + if (mapInt32Double != null) { + $result.mapInt32Double.addAll(mapInt32Double); + } + if (mapBoolBool != null) { + $result.mapBoolBool.addAll(mapBoolBool); + } + if (mapStringString != null) { + $result.mapStringString.addAll(mapStringString); + } + if (mapStringBytes != null) { + $result.mapStringBytes.addAll(mapStringBytes); + } + if (mapStringNestedMessage != null) { + $result.mapStringNestedMessage.addAll(mapStringNestedMessage); + } + if (mapStringForeignMessage != null) { + $result.mapStringForeignMessage.addAll(mapStringForeignMessage); + } + if (mapStringNestedEnum != null) { + $result.mapStringNestedEnum.addAll(mapStringNestedEnum); + } + if (mapStringForeignEnum != null) { + $result.mapStringForeignEnum.addAll(mapStringForeignEnum); + } + if (packedInt32 != null) { + $result.packedInt32.addAll(packedInt32); + } + if (packedInt64 != null) { + $result.packedInt64.addAll(packedInt64); + } + if (packedUint32 != null) { + $result.packedUint32.addAll(packedUint32); + } + if (packedUint64 != null) { + $result.packedUint64.addAll(packedUint64); + } + if (packedSint32 != null) { + $result.packedSint32.addAll(packedSint32); + } + if (packedSint64 != null) { + $result.packedSint64.addAll(packedSint64); + } + if (packedFixed32 != null) { + $result.packedFixed32.addAll(packedFixed32); + } + if (packedFixed64 != null) { + $result.packedFixed64.addAll(packedFixed64); + } + if (packedSfixed32 != null) { + $result.packedSfixed32.addAll(packedSfixed32); + } + if (packedSfixed64 != null) { + $result.packedSfixed64.addAll(packedSfixed64); + } + if (packedFloat != null) { + $result.packedFloat.addAll(packedFloat); + } + if (packedDouble != null) { + $result.packedDouble.addAll(packedDouble); + } + if (packedBool != null) { + $result.packedBool.addAll(packedBool); + } + if (packedNestedEnum != null) { + $result.packedNestedEnum.addAll(packedNestedEnum); + } + if (unpackedInt32 != null) { + $result.unpackedInt32.addAll(unpackedInt32); + } + if (unpackedInt64 != null) { + $result.unpackedInt64.addAll(unpackedInt64); + } + if (unpackedUint32 != null) { + $result.unpackedUint32.addAll(unpackedUint32); + } + if (unpackedUint64 != null) { + $result.unpackedUint64.addAll(unpackedUint64); + } + if (unpackedSint32 != null) { + $result.unpackedSint32.addAll(unpackedSint32); + } + if (unpackedSint64 != null) { + $result.unpackedSint64.addAll(unpackedSint64); + } + if (unpackedFixed32 != null) { + $result.unpackedFixed32.addAll(unpackedFixed32); + } + if (unpackedFixed64 != null) { + $result.unpackedFixed64.addAll(unpackedFixed64); + } + if (unpackedSfixed32 != null) { + $result.unpackedSfixed32.addAll(unpackedSfixed32); + } + if (unpackedSfixed64 != null) { + $result.unpackedSfixed64.addAll(unpackedSfixed64); + } + if (unpackedFloat != null) { + $result.unpackedFloat.addAll(unpackedFloat); + } + if (unpackedDouble != null) { + $result.unpackedDouble.addAll(unpackedDouble); + } + if (unpackedBool != null) { + $result.unpackedBool.addAll(unpackedBool); + } + if (unpackedNestedEnum != null) { + $result.unpackedNestedEnum.addAll(unpackedNestedEnum); + } + if (oneofUint32 != null) { + $result.oneofUint32 = oneofUint32; + } + if (oneofNestedMessage != null) { + $result.oneofNestedMessage = oneofNestedMessage; + } + if (oneofString != null) { + $result.oneofString = oneofString; + } + if (oneofBytes != null) { + $result.oneofBytes = oneofBytes; + } + if (oneofBool != null) { + $result.oneofBool = oneofBool; + } + if (oneofUint64 != null) { + $result.oneofUint64 = oneofUint64; + } + if (oneofFloat != null) { + $result.oneofFloat = oneofFloat; + } + if (oneofDouble != null) { + $result.oneofDouble = oneofDouble; + } + if (oneofEnum != null) { + $result.oneofEnum = oneofEnum; + } + if (oneofNullValue != null) { + $result.oneofNullValue = oneofNullValue; + } + if (optionalBoolWrapper != null) { + $result.optionalBoolWrapper = optionalBoolWrapper; + } + if (optionalInt32Wrapper != null) { + $result.optionalInt32Wrapper = optionalInt32Wrapper; + } + if (optionalInt64Wrapper != null) { + $result.optionalInt64Wrapper = optionalInt64Wrapper; + } + if (optionalUint32Wrapper != null) { + $result.optionalUint32Wrapper = optionalUint32Wrapper; + } + if (optionalUint64Wrapper != null) { + $result.optionalUint64Wrapper = optionalUint64Wrapper; + } + if (optionalFloatWrapper != null) { + $result.optionalFloatWrapper = optionalFloatWrapper; + } + if (optionalDoubleWrapper != null) { + $result.optionalDoubleWrapper = optionalDoubleWrapper; + } + if (optionalStringWrapper != null) { + $result.optionalStringWrapper = optionalStringWrapper; + } + if (optionalBytesWrapper != null) { + $result.optionalBytesWrapper = optionalBytesWrapper; + } + if (repeatedBoolWrapper != null) { + $result.repeatedBoolWrapper.addAll(repeatedBoolWrapper); + } + if (repeatedInt32Wrapper != null) { + $result.repeatedInt32Wrapper.addAll(repeatedInt32Wrapper); + } + if (repeatedInt64Wrapper != null) { + $result.repeatedInt64Wrapper.addAll(repeatedInt64Wrapper); + } + if (repeatedUint32Wrapper != null) { + $result.repeatedUint32Wrapper.addAll(repeatedUint32Wrapper); + } + if (repeatedUint64Wrapper != null) { + $result.repeatedUint64Wrapper.addAll(repeatedUint64Wrapper); + } + if (repeatedFloatWrapper != null) { + $result.repeatedFloatWrapper.addAll(repeatedFloatWrapper); + } + if (repeatedDoubleWrapper != null) { + $result.repeatedDoubleWrapper.addAll(repeatedDoubleWrapper); + } + if (repeatedStringWrapper != null) { + $result.repeatedStringWrapper.addAll(repeatedStringWrapper); + } + if (repeatedBytesWrapper != null) { + $result.repeatedBytesWrapper.addAll(repeatedBytesWrapper); + } + if (optionalDuration != null) { + $result.optionalDuration = optionalDuration; + } + if (optionalTimestamp != null) { + $result.optionalTimestamp = optionalTimestamp; + } + if (optionalFieldMask != null) { + $result.optionalFieldMask = optionalFieldMask; + } + if (optionalStruct != null) { + $result.optionalStruct = optionalStruct; + } + if (optionalAny != null) { + $result.optionalAny = optionalAny; + } + if (optionalValue != null) { + $result.optionalValue = optionalValue; + } + if (optionalNullValue != null) { + $result.optionalNullValue = optionalNullValue; + } + if (repeatedDuration != null) { + $result.repeatedDuration.addAll(repeatedDuration); + } + if (repeatedTimestamp != null) { + $result.repeatedTimestamp.addAll(repeatedTimestamp); + } + if (repeatedFieldmask != null) { + $result.repeatedFieldmask.addAll(repeatedFieldmask); + } + if (repeatedAny != null) { + $result.repeatedAny.addAll(repeatedAny); + } + if (repeatedValue != null) { + $result.repeatedValue.addAll(repeatedValue); + } + if (repeatedListValue != null) { + $result.repeatedListValue.addAll(repeatedListValue); + } + if (repeatedStruct != null) { + $result.repeatedStruct.addAll(repeatedStruct); + } + if (fieldname1 != null) { + $result.fieldname1 = fieldname1; + } + if (fieldName2 != null) { + $result.fieldName2 = fieldName2; + } + if (fieldName3 != null) { + $result.fieldName3 = fieldName3; + } + if (fieldName4 != null) { + $result.fieldName4 = fieldName4; + } + if (field0name5 != null) { + $result.field0name5 = field0name5; + } + if (field0Name6 != null) { + $result.field0Name6 = field0Name6; + } + if (fieldName7 != null) { + $result.fieldName7 = fieldName7; + } + if (fieldName8 != null) { + $result.fieldName8 = fieldName8; + } + if (fieldName9 != null) { + $result.fieldName9 = fieldName9; + } + if (fieldName10 != null) { + $result.fieldName10 = fieldName10; + } + if (fIELDNAME11 != null) { + $result.fIELDNAME11 = fIELDNAME11; + } + if (fIELDName12 != null) { + $result.fIELDName12 = fIELDName12; + } + if (fieldName13 != null) { + $result.fieldName13 = fieldName13; + } + if (fieldName14 != null) { + $result.fieldName14 = fieldName14; + } + if (fieldName15 != null) { + $result.fieldName15 = fieldName15; + } + if (fieldName16 != null) { + $result.fieldName16 = fieldName16; + } + if (fieldName17 != null) { + $result.fieldName17 = fieldName17; + } + if (fieldName18 != null) { + $result.fieldName18 = fieldName18; + } + return $result; + } + TestAllTypesProto3._() : super(); + factory TestAllTypesProto3.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory TestAllTypesProto3.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, TestAllTypesProto3_OneofField> + _TestAllTypesProto3_OneofFieldByTag = { + 111: TestAllTypesProto3_OneofField.oneofUint32, + 112: TestAllTypesProto3_OneofField.oneofNestedMessage, + 113: TestAllTypesProto3_OneofField.oneofString, + 114: TestAllTypesProto3_OneofField.oneofBytes, + 115: TestAllTypesProto3_OneofField.oneofBool, + 116: TestAllTypesProto3_OneofField.oneofUint64, + 117: TestAllTypesProto3_OneofField.oneofFloat, + 118: TestAllTypesProto3_OneofField.oneofDouble, + 119: TestAllTypesProto3_OneofField.oneofEnum, + 120: TestAllTypesProto3_OneofField.oneofNullValue, + 0: TestAllTypesProto3_OneofField.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'TestAllTypesProto3', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto3'), + createEmptyInstance: create) + ..oo(0, [111, 112, 113, 114, 115, 116, 117, 118, 119, 120]) + ..a<$core.int>( + 1, _omitFieldNames ? '' : 'optionalInt32', $pb.PbFieldType.O3) + ..aInt64(2, _omitFieldNames ? '' : 'optionalInt64') + ..a<$core.int>( + 3, _omitFieldNames ? '' : 'optionalUint32', $pb.PbFieldType.OU3) + ..a<$fixnum.Int64>( + 4, _omitFieldNames ? '' : 'optionalUint64', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 5, _omitFieldNames ? '' : 'optionalSint32', $pb.PbFieldType.OS3) + ..a<$fixnum.Int64>( + 6, _omitFieldNames ? '' : 'optionalSint64', $pb.PbFieldType.OS6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 7, _omitFieldNames ? '' : 'optionalFixed32', $pb.PbFieldType.OF3) + ..a<$fixnum.Int64>( + 8, _omitFieldNames ? '' : 'optionalFixed64', $pb.PbFieldType.OF6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>( + 9, _omitFieldNames ? '' : 'optionalSfixed32', $pb.PbFieldType.OSF3) + ..a<$fixnum.Int64>( + 10, _omitFieldNames ? '' : 'optionalSfixed64', $pb.PbFieldType.OSF6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 11, _omitFieldNames ? '' : 'optionalFloat', $pb.PbFieldType.OF) + ..a<$core.double>( + 12, _omitFieldNames ? '' : 'optionalDouble', $pb.PbFieldType.OD) + ..aOB(13, _omitFieldNames ? '' : 'optionalBool') + ..aOS(14, _omitFieldNames ? '' : 'optionalString') + ..a<$core.List<$core.int>>( + 15, _omitFieldNames ? '' : 'optionalBytes', $pb.PbFieldType.OY) + ..aOM( + 18, _omitFieldNames ? '' : 'optionalNestedMessage', + subBuilder: TestAllTypesProto3_NestedMessage.create) + ..aOM(19, _omitFieldNames ? '' : 'optionalForeignMessage', + subBuilder: ForeignMessage.create) + ..e( + 21, _omitFieldNames ? '' : 'optionalNestedEnum', $pb.PbFieldType.OE, + defaultOrMaker: TestAllTypesProto3_NestedEnum.FOO, + valueOf: TestAllTypesProto3_NestedEnum.valueOf, + enumValues: TestAllTypesProto3_NestedEnum.values) + ..e( + 22, _omitFieldNames ? '' : 'optionalForeignEnum', $pb.PbFieldType.OE, + defaultOrMaker: ForeignEnum.FOREIGN_FOO, + valueOf: ForeignEnum.valueOf, + enumValues: ForeignEnum.values) + ..e( + 23, _omitFieldNames ? '' : 'optionalAliasedEnum', $pb.PbFieldType.OE, + defaultOrMaker: TestAllTypesProto3_AliasedEnum.ALIAS_FOO, + valueOf: TestAllTypesProto3_AliasedEnum.valueOf, + enumValues: TestAllTypesProto3_AliasedEnum.values) + ..aOS(24, _omitFieldNames ? '' : 'optionalStringPiece') + ..aOS(25, _omitFieldNames ? '' : 'optionalCord') + ..aOM(27, _omitFieldNames ? '' : 'recursiveMessage', + subBuilder: TestAllTypesProto3.create) + ..p<$core.int>( + 31, _omitFieldNames ? '' : 'repeatedInt32', $pb.PbFieldType.K3) + ..p<$fixnum.Int64>( + 32, _omitFieldNames ? '' : 'repeatedInt64', $pb.PbFieldType.K6) + ..p<$core.int>( + 33, _omitFieldNames ? '' : 'repeatedUint32', $pb.PbFieldType.KU3) + ..p<$fixnum.Int64>( + 34, _omitFieldNames ? '' : 'repeatedUint64', $pb.PbFieldType.KU6) + ..p<$core.int>( + 35, _omitFieldNames ? '' : 'repeatedSint32', $pb.PbFieldType.KS3) + ..p<$fixnum.Int64>( + 36, _omitFieldNames ? '' : 'repeatedSint64', $pb.PbFieldType.KS6) + ..p<$core.int>( + 37, _omitFieldNames ? '' : 'repeatedFixed32', $pb.PbFieldType.KF3) + ..p<$fixnum.Int64>( + 38, _omitFieldNames ? '' : 'repeatedFixed64', $pb.PbFieldType.KF6) + ..p<$core.int>( + 39, _omitFieldNames ? '' : 'repeatedSfixed32', $pb.PbFieldType.KSF3) + ..p<$fixnum.Int64>( + 40, _omitFieldNames ? '' : 'repeatedSfixed64', $pb.PbFieldType.KSF6) + ..p<$core.double>( + 41, _omitFieldNames ? '' : 'repeatedFloat', $pb.PbFieldType.KF) + ..p<$core.double>( + 42, _omitFieldNames ? '' : 'repeatedDouble', $pb.PbFieldType.KD) + ..p<$core.bool>( + 43, _omitFieldNames ? '' : 'repeatedBool', $pb.PbFieldType.KB) + ..pPS(44, _omitFieldNames ? '' : 'repeatedString') + ..p<$core.List<$core.int>>( + 45, _omitFieldNames ? '' : 'repeatedBytes', $pb.PbFieldType.PY) + ..pc( + 48, _omitFieldNames ? '' : 'repeatedNestedMessage', $pb.PbFieldType.PM, + subBuilder: TestAllTypesProto3_NestedMessage.create) + ..pc( + 49, _omitFieldNames ? '' : 'repeatedForeignMessage', $pb.PbFieldType.PM, + subBuilder: ForeignMessage.create) + ..pc( + 51, _omitFieldNames ? '' : 'repeatedNestedEnum', $pb.PbFieldType.KE, + valueOf: TestAllTypesProto3_NestedEnum.valueOf, + enumValues: TestAllTypesProto3_NestedEnum.values, + defaultEnumValue: TestAllTypesProto3_NestedEnum.FOO) + ..pc( + 52, _omitFieldNames ? '' : 'repeatedForeignEnum', $pb.PbFieldType.KE, + valueOf: ForeignEnum.valueOf, + enumValues: ForeignEnum.values, + defaultEnumValue: ForeignEnum.FOREIGN_FOO) + ..pPS(54, _omitFieldNames ? '' : 'repeatedStringPiece') + ..pPS(55, _omitFieldNames ? '' : 'repeatedCord') + ..m<$core.int, $core.int>(56, _omitFieldNames ? '' : 'mapInt32Int32', + entryClassName: 'TestAllTypesProto3.MapInt32Int32Entry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.O3, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 57, _omitFieldNames ? '' : 'mapInt64Int64', + entryClassName: 'TestAllTypesProto3.MapInt64Int64Entry', + keyFieldType: $pb.PbFieldType.O6, + valueFieldType: $pb.PbFieldType.O6, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.int, $core.int>(58, _omitFieldNames ? '' : 'mapUint32Uint32', + entryClassName: 'TestAllTypesProto3.MapUint32Uint32Entry', + keyFieldType: $pb.PbFieldType.OU3, + valueFieldType: $pb.PbFieldType.OU3, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 59, _omitFieldNames ? '' : 'mapUint64Uint64', + entryClassName: 'TestAllTypesProto3.MapUint64Uint64Entry', + keyFieldType: $pb.PbFieldType.OU6, + valueFieldType: $pb.PbFieldType.OU6, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.int, $core.int>(60, _omitFieldNames ? '' : 'mapSint32Sint32', + entryClassName: 'TestAllTypesProto3.MapSint32Sint32Entry', + keyFieldType: $pb.PbFieldType.OS3, + valueFieldType: $pb.PbFieldType.OS3, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 61, _omitFieldNames ? '' : 'mapSint64Sint64', + entryClassName: 'TestAllTypesProto3.MapSint64Sint64Entry', + keyFieldType: $pb.PbFieldType.OS6, + valueFieldType: $pb.PbFieldType.OS6, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.int, $core.int>(62, _omitFieldNames ? '' : 'mapFixed32Fixed32', + entryClassName: 'TestAllTypesProto3.MapFixed32Fixed32Entry', + keyFieldType: $pb.PbFieldType.OF3, + valueFieldType: $pb.PbFieldType.OF3, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 63, _omitFieldNames ? '' : 'mapFixed64Fixed64', + entryClassName: 'TestAllTypesProto3.MapFixed64Fixed64Entry', + keyFieldType: $pb.PbFieldType.OF6, + valueFieldType: $pb.PbFieldType.OF6, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.int, $core.int>(64, _omitFieldNames ? '' : 'mapSfixed32Sfixed32', + entryClassName: 'TestAllTypesProto3.MapSfixed32Sfixed32Entry', + keyFieldType: $pb.PbFieldType.OSF3, + valueFieldType: $pb.PbFieldType.OSF3, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$fixnum.Int64, $fixnum.Int64>( + 65, _omitFieldNames ? '' : 'mapSfixed64Sfixed64', + entryClassName: 'TestAllTypesProto3.MapSfixed64Sfixed64Entry', + keyFieldType: $pb.PbFieldType.OSF6, + valueFieldType: $pb.PbFieldType.OSF6, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.int, $core.double>(66, _omitFieldNames ? '' : 'mapInt32Float', + entryClassName: 'TestAllTypesProto3.MapInt32FloatEntry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.OF, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.int, $core.double>(67, _omitFieldNames ? '' : 'mapInt32Double', + entryClassName: 'TestAllTypesProto3.MapInt32DoubleEntry', + keyFieldType: $pb.PbFieldType.O3, + valueFieldType: $pb.PbFieldType.OD, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.bool, $core.bool>(68, _omitFieldNames ? '' : 'mapBoolBool', + entryClassName: 'TestAllTypesProto3.MapBoolBoolEntry', + keyFieldType: $pb.PbFieldType.OB, + valueFieldType: $pb.PbFieldType.OB, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.String, $core.String>( + 69, _omitFieldNames ? '' : 'mapStringString', + entryClassName: 'TestAllTypesProto3.MapStringStringEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OS, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.String, $core.List<$core.int>>( + 70, _omitFieldNames ? '' : 'mapStringBytes', + entryClassName: 'TestAllTypesProto3.MapStringBytesEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OY, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.String, TestAllTypesProto3_NestedMessage>( + 71, _omitFieldNames ? '' : 'mapStringNestedMessage', + entryClassName: 'TestAllTypesProto3.MapStringNestedMessageEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: TestAllTypesProto3_NestedMessage.create, + valueDefaultOrMaker: TestAllTypesProto3_NestedMessage.getDefault, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.String, ForeignMessage>( + 72, _omitFieldNames ? '' : 'mapStringForeignMessage', + entryClassName: 'TestAllTypesProto3.MapStringForeignMessageEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OM, + valueCreator: ForeignMessage.create, + valueDefaultOrMaker: ForeignMessage.getDefault, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.String, TestAllTypesProto3_NestedEnum>( + 73, _omitFieldNames ? '' : 'mapStringNestedEnum', + entryClassName: 'TestAllTypesProto3.MapStringNestedEnumEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OE, + valueOf: TestAllTypesProto3_NestedEnum.valueOf, + enumValues: TestAllTypesProto3_NestedEnum.values, + valueDefaultOrMaker: TestAllTypesProto3_NestedEnum.FOO, + defaultEnumValue: TestAllTypesProto3_NestedEnum.FOO, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..m<$core.String, ForeignEnum>( + 74, _omitFieldNames ? '' : 'mapStringForeignEnum', + entryClassName: 'TestAllTypesProto3.MapStringForeignEnumEntry', + keyFieldType: $pb.PbFieldType.OS, + valueFieldType: $pb.PbFieldType.OE, + valueOf: ForeignEnum.valueOf, + enumValues: ForeignEnum.values, + valueDefaultOrMaker: ForeignEnum.FOREIGN_FOO, + defaultEnumValue: ForeignEnum.FOREIGN_FOO, + packageName: const $pb.PackageName('protobuf_test_messages.proto3')) + ..p<$core.int>(75, _omitFieldNames ? '' : 'packedInt32', $pb.PbFieldType.K3) + ..p<$fixnum.Int64>( + 76, _omitFieldNames ? '' : 'packedInt64', $pb.PbFieldType.K6) + ..p<$core.int>( + 77, _omitFieldNames ? '' : 'packedUint32', $pb.PbFieldType.KU3) + ..p<$fixnum.Int64>( + 78, _omitFieldNames ? '' : 'packedUint64', $pb.PbFieldType.KU6) + ..p<$core.int>( + 79, _omitFieldNames ? '' : 'packedSint32', $pb.PbFieldType.KS3) + ..p<$fixnum.Int64>( + 80, _omitFieldNames ? '' : 'packedSint64', $pb.PbFieldType.KS6) + ..p<$core.int>( + 81, _omitFieldNames ? '' : 'packedFixed32', $pb.PbFieldType.KF3) + ..p<$fixnum.Int64>( + 82, _omitFieldNames ? '' : 'packedFixed64', $pb.PbFieldType.KF6) + ..p<$core.int>( + 83, _omitFieldNames ? '' : 'packedSfixed32', $pb.PbFieldType.KSF3) + ..p<$fixnum.Int64>( + 84, _omitFieldNames ? '' : 'packedSfixed64', $pb.PbFieldType.KSF6) + ..p<$core.double>( + 85, _omitFieldNames ? '' : 'packedFloat', $pb.PbFieldType.KF) + ..p<$core.double>( + 86, _omitFieldNames ? '' : 'packedDouble', $pb.PbFieldType.KD) + ..p<$core.bool>(87, _omitFieldNames ? '' : 'packedBool', $pb.PbFieldType.KB) + ..pc( + 88, _omitFieldNames ? '' : 'packedNestedEnum', $pb.PbFieldType.KE, + valueOf: TestAllTypesProto3_NestedEnum.valueOf, + enumValues: TestAllTypesProto3_NestedEnum.values, + defaultEnumValue: TestAllTypesProto3_NestedEnum.FOO) + ..p<$core.int>( + 89, _omitFieldNames ? '' : 'unpackedInt32', $pb.PbFieldType.P3) + ..p<$fixnum.Int64>( + 90, _omitFieldNames ? '' : 'unpackedInt64', $pb.PbFieldType.P6) + ..p<$core.int>( + 91, _omitFieldNames ? '' : 'unpackedUint32', $pb.PbFieldType.PU3) + ..p<$fixnum.Int64>( + 92, _omitFieldNames ? '' : 'unpackedUint64', $pb.PbFieldType.PU6) + ..p<$core.int>( + 93, _omitFieldNames ? '' : 'unpackedSint32', $pb.PbFieldType.PS3) + ..p<$fixnum.Int64>( + 94, _omitFieldNames ? '' : 'unpackedSint64', $pb.PbFieldType.PS6) + ..p<$core.int>( + 95, _omitFieldNames ? '' : 'unpackedFixed32', $pb.PbFieldType.PF3) + ..p<$fixnum.Int64>( + 96, _omitFieldNames ? '' : 'unpackedFixed64', $pb.PbFieldType.PF6) + ..p<$core.int>( + 97, _omitFieldNames ? '' : 'unpackedSfixed32', $pb.PbFieldType.PSF3) + ..p<$fixnum.Int64>( + 98, _omitFieldNames ? '' : 'unpackedSfixed64', $pb.PbFieldType.PSF6) + ..p<$core.double>( + 99, _omitFieldNames ? '' : 'unpackedFloat', $pb.PbFieldType.PF) + ..p<$core.double>( + 100, _omitFieldNames ? '' : 'unpackedDouble', $pb.PbFieldType.PD) + ..p<$core.bool>( + 101, _omitFieldNames ? '' : 'unpackedBool', $pb.PbFieldType.PB) + ..pc( + 102, _omitFieldNames ? '' : 'unpackedNestedEnum', $pb.PbFieldType.PE, + valueOf: TestAllTypesProto3_NestedEnum.valueOf, + enumValues: TestAllTypesProto3_NestedEnum.values, + defaultEnumValue: TestAllTypesProto3_NestedEnum.FOO) + ..a<$core.int>( + 111, _omitFieldNames ? '' : 'oneofUint32', $pb.PbFieldType.OU3) + ..aOM( + 112, _omitFieldNames ? '' : 'oneofNestedMessage', + subBuilder: TestAllTypesProto3_NestedMessage.create) + ..aOS(113, _omitFieldNames ? '' : 'oneofString') + ..a<$core.List<$core.int>>( + 114, _omitFieldNames ? '' : 'oneofBytes', $pb.PbFieldType.OY) + ..aOB(115, _omitFieldNames ? '' : 'oneofBool') + ..a<$fixnum.Int64>( + 116, _omitFieldNames ? '' : 'oneofUint64', $pb.PbFieldType.OU6, + defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>( + 117, _omitFieldNames ? '' : 'oneofFloat', $pb.PbFieldType.OF) + ..a<$core.double>( + 118, _omitFieldNames ? '' : 'oneofDouble', $pb.PbFieldType.OD) + ..e( + 119, _omitFieldNames ? '' : 'oneofEnum', $pb.PbFieldType.OE, + defaultOrMaker: TestAllTypesProto3_NestedEnum.FOO, + valueOf: TestAllTypesProto3_NestedEnum.valueOf, + enumValues: TestAllTypesProto3_NestedEnum.values) + ..e<$48.NullValue>( + 120, _omitFieldNames ? '' : 'oneofNullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..aOM<$73.BoolValue>(201, _omitFieldNames ? '' : 'optionalBoolWrapper', + subBuilder: $73.BoolValue.create) + ..aOM<$73.Int32Value>(202, _omitFieldNames ? '' : 'optionalInt32Wrapper', + subBuilder: $73.Int32Value.create) + ..aOM<$73.Int64Value>(203, _omitFieldNames ? '' : 'optionalInt64Wrapper', + subBuilder: $73.Int64Value.create) + ..aOM<$73.UInt32Value>(204, _omitFieldNames ? '' : 'optionalUint32Wrapper', + subBuilder: $73.UInt32Value.create) + ..aOM<$73.UInt64Value>(205, _omitFieldNames ? '' : 'optionalUint64Wrapper', + subBuilder: $73.UInt64Value.create) + ..aOM<$73.FloatValue>(206, _omitFieldNames ? '' : 'optionalFloatWrapper', + subBuilder: $73.FloatValue.create) + ..aOM<$73.DoubleValue>(207, _omitFieldNames ? '' : 'optionalDoubleWrapper', + subBuilder: $73.DoubleValue.create) + ..aOM<$73.StringValue>(208, _omitFieldNames ? '' : 'optionalStringWrapper', + subBuilder: $73.StringValue.create) + ..aOM<$73.BytesValue>(209, _omitFieldNames ? '' : 'optionalBytesWrapper', + subBuilder: $73.BytesValue.create) + ..pc<$73.BoolValue>( + 211, _omitFieldNames ? '' : 'repeatedBoolWrapper', $pb.PbFieldType.PM, + subBuilder: $73.BoolValue.create) + ..pc<$73.Int32Value>( + 212, _omitFieldNames ? '' : 'repeatedInt32Wrapper', $pb.PbFieldType.PM, + subBuilder: $73.Int32Value.create) + ..pc<$73.Int64Value>( + 213, _omitFieldNames ? '' : 'repeatedInt64Wrapper', $pb.PbFieldType.PM, + subBuilder: $73.Int64Value.create) + ..pc<$73.UInt32Value>( + 214, _omitFieldNames ? '' : 'repeatedUint32Wrapper', $pb.PbFieldType.PM, + subBuilder: $73.UInt32Value.create) + ..pc<$73.UInt64Value>( + 215, _omitFieldNames ? '' : 'repeatedUint64Wrapper', $pb.PbFieldType.PM, + subBuilder: $73.UInt64Value.create) + ..pc<$73.FloatValue>( + 216, _omitFieldNames ? '' : 'repeatedFloatWrapper', $pb.PbFieldType.PM, + subBuilder: $73.FloatValue.create) + ..pc<$73.DoubleValue>( + 217, _omitFieldNames ? '' : 'repeatedDoubleWrapper', $pb.PbFieldType.PM, + subBuilder: $73.DoubleValue.create) + ..pc<$73.StringValue>( + 218, _omitFieldNames ? '' : 'repeatedStringWrapper', $pb.PbFieldType.PM, + subBuilder: $73.StringValue.create) + ..pc<$73.BytesValue>( + 219, _omitFieldNames ? '' : 'repeatedBytesWrapper', $pb.PbFieldType.PM, + subBuilder: $73.BytesValue.create) + ..aOM<$51.Duration>(301, _omitFieldNames ? '' : 'optionalDuration', + subBuilder: $51.Duration.create) + ..aOM<$50.Timestamp>(302, _omitFieldNames ? '' : 'optionalTimestamp', + subBuilder: $50.Timestamp.create) + ..aOM<$58.FieldMask>(303, _omitFieldNames ? '' : 'optionalFieldMask', + subBuilder: $58.FieldMask.create) + ..aOM<$48.Struct>(304, _omitFieldNames ? '' : 'optionalStruct', + subBuilder: $48.Struct.create) + ..aOM<$49.Any>(305, _omitFieldNames ? '' : 'optionalAny', + subBuilder: $49.Any.create) + ..aOM<$48.Value>(306, _omitFieldNames ? '' : 'optionalValue', + subBuilder: $48.Value.create) + ..e<$48.NullValue>( + 307, _omitFieldNames ? '' : 'optionalNullValue', $pb.PbFieldType.OE, + defaultOrMaker: $48.NullValue.NULL_VALUE, + valueOf: $48.NullValue.valueOf, + enumValues: $48.NullValue.values) + ..pc<$51.Duration>( + 311, _omitFieldNames ? '' : 'repeatedDuration', $pb.PbFieldType.PM, + subBuilder: $51.Duration.create) + ..pc<$50.Timestamp>( + 312, _omitFieldNames ? '' : 'repeatedTimestamp', $pb.PbFieldType.PM, + subBuilder: $50.Timestamp.create) + ..pc<$58.FieldMask>( + 313, _omitFieldNames ? '' : 'repeatedFieldmask', $pb.PbFieldType.PM, + subBuilder: $58.FieldMask.create) + ..pc<$49.Any>(315, _omitFieldNames ? '' : 'repeatedAny', $pb.PbFieldType.PM, + subBuilder: $49.Any.create) + ..pc<$48.Value>( + 316, _omitFieldNames ? '' : 'repeatedValue', $pb.PbFieldType.PM, + subBuilder: $48.Value.create) + ..pc<$48.ListValue>( + 317, _omitFieldNames ? '' : 'repeatedListValue', $pb.PbFieldType.PM, + subBuilder: $48.ListValue.create) + ..pc<$48.Struct>( + 324, _omitFieldNames ? '' : 'repeatedStruct', $pb.PbFieldType.PM, + subBuilder: $48.Struct.create) + ..a<$core.int>(401, _omitFieldNames ? '' : 'fieldname1', $pb.PbFieldType.O3) + ..a<$core.int>(402, _omitFieldNames ? '' : 'fieldName2', $pb.PbFieldType.O3) + ..a<$core.int>(403, _omitFieldNames ? '' : 'FieldName3', $pb.PbFieldType.O3) + ..a<$core.int>(404, _omitFieldNames ? '' : 'fieldName4', $pb.PbFieldType.O3, + protoName: 'field__name4_') + ..a<$core.int>( + 405, _omitFieldNames ? '' : 'field0name5', $pb.PbFieldType.O3) + ..a<$core.int>( + 406, _omitFieldNames ? '' : 'field0Name6', $pb.PbFieldType.O3, + protoName: 'field_0_name6') + ..a<$core.int>(407, _omitFieldNames ? '' : 'fieldName7', $pb.PbFieldType.O3, + protoName: 'fieldName7') + ..a<$core.int>(408, _omitFieldNames ? '' : 'FieldName8', $pb.PbFieldType.O3, + protoName: 'FieldName8') + ..a<$core.int>(409, _omitFieldNames ? '' : 'fieldName9', $pb.PbFieldType.O3, + protoName: 'field_Name9') + ..a<$core.int>( + 410, _omitFieldNames ? '' : 'FieldName10', $pb.PbFieldType.O3, + protoName: 'Field_Name10') + ..a<$core.int>( + 411, _omitFieldNames ? '' : 'FIELDNAME11', $pb.PbFieldType.O3, + protoName: 'FIELD_NAME11') + ..a<$core.int>( + 412, _omitFieldNames ? '' : 'FIELDName12', $pb.PbFieldType.O3, + protoName: 'FIELD_name12') + ..a<$core.int>( + 413, _omitFieldNames ? '' : 'FieldName13', $pb.PbFieldType.O3, + protoName: '__field_name13') + ..a<$core.int>( + 414, _omitFieldNames ? '' : 'FieldName14', $pb.PbFieldType.O3, + protoName: '__Field_name14') + ..a<$core.int>( + 415, _omitFieldNames ? '' : 'fieldName15', $pb.PbFieldType.O3, + protoName: 'field__name15') + ..a<$core.int>( + 416, _omitFieldNames ? '' : 'fieldName16', $pb.PbFieldType.O3, + protoName: 'field__Name16') + ..a<$core.int>( + 417, _omitFieldNames ? '' : 'fieldName17', $pb.PbFieldType.O3, + protoName: 'field_name17__') + ..a<$core.int>( + 418, _omitFieldNames ? '' : 'FieldName18', $pb.PbFieldType.O3, + protoName: 'Field_name18__') + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestAllTypesProto3 clone() => TestAllTypesProto3()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestAllTypesProto3 copyWith(void Function(TestAllTypesProto3) updates) => + super.copyWith((message) => updates(message as TestAllTypesProto3)) + as TestAllTypesProto3; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestAllTypesProto3 create() => TestAllTypesProto3._(); + TestAllTypesProto3 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestAllTypesProto3 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static TestAllTypesProto3? _defaultInstance; + + TestAllTypesProto3_OneofField whichOneofField() => + _TestAllTypesProto3_OneofFieldByTag[$_whichOneof(0)]!; + void clearOneofField() => clearField($_whichOneof(0)); + + /// Singular + @$pb.TagNumber(1) + $core.int get optionalInt32 => $_getIZ(0); + @$pb.TagNumber(1) + set optionalInt32($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasOptionalInt32() => $_has(0); + @$pb.TagNumber(1) + void clearOptionalInt32() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get optionalInt64 => $_getI64(1); + @$pb.TagNumber(2) + set optionalInt64($fixnum.Int64 v) { + $_setInt64(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasOptionalInt64() => $_has(1); + @$pb.TagNumber(2) + void clearOptionalInt64() => clearField(2); + + @$pb.TagNumber(3) + $core.int get optionalUint32 => $_getIZ(2); + @$pb.TagNumber(3) + set optionalUint32($core.int v) { + $_setUnsignedInt32(2, v); + } + + @$pb.TagNumber(3) + $core.bool hasOptionalUint32() => $_has(2); + @$pb.TagNumber(3) + void clearOptionalUint32() => clearField(3); + + @$pb.TagNumber(4) + $fixnum.Int64 get optionalUint64 => $_getI64(3); + @$pb.TagNumber(4) + set optionalUint64($fixnum.Int64 v) { + $_setInt64(3, v); + } + + @$pb.TagNumber(4) + $core.bool hasOptionalUint64() => $_has(3); + @$pb.TagNumber(4) + void clearOptionalUint64() => clearField(4); + + @$pb.TagNumber(5) + $core.int get optionalSint32 => $_getIZ(4); + @$pb.TagNumber(5) + set optionalSint32($core.int v) { + $_setSignedInt32(4, v); + } + + @$pb.TagNumber(5) + $core.bool hasOptionalSint32() => $_has(4); + @$pb.TagNumber(5) + void clearOptionalSint32() => clearField(5); + + @$pb.TagNumber(6) + $fixnum.Int64 get optionalSint64 => $_getI64(5); + @$pb.TagNumber(6) + set optionalSint64($fixnum.Int64 v) { + $_setInt64(5, v); + } + + @$pb.TagNumber(6) + $core.bool hasOptionalSint64() => $_has(5); + @$pb.TagNumber(6) + void clearOptionalSint64() => clearField(6); + + @$pb.TagNumber(7) + $core.int get optionalFixed32 => $_getIZ(6); + @$pb.TagNumber(7) + set optionalFixed32($core.int v) { + $_setUnsignedInt32(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasOptionalFixed32() => $_has(6); + @$pb.TagNumber(7) + void clearOptionalFixed32() => clearField(7); + + @$pb.TagNumber(8) + $fixnum.Int64 get optionalFixed64 => $_getI64(7); + @$pb.TagNumber(8) + set optionalFixed64($fixnum.Int64 v) { + $_setInt64(7, v); + } + + @$pb.TagNumber(8) + $core.bool hasOptionalFixed64() => $_has(7); + @$pb.TagNumber(8) + void clearOptionalFixed64() => clearField(8); + + @$pb.TagNumber(9) + $core.int get optionalSfixed32 => $_getIZ(8); + @$pb.TagNumber(9) + set optionalSfixed32($core.int v) { + $_setSignedInt32(8, v); + } + + @$pb.TagNumber(9) + $core.bool hasOptionalSfixed32() => $_has(8); + @$pb.TagNumber(9) + void clearOptionalSfixed32() => clearField(9); + + @$pb.TagNumber(10) + $fixnum.Int64 get optionalSfixed64 => $_getI64(9); + @$pb.TagNumber(10) + set optionalSfixed64($fixnum.Int64 v) { + $_setInt64(9, v); + } + + @$pb.TagNumber(10) + $core.bool hasOptionalSfixed64() => $_has(9); + @$pb.TagNumber(10) + void clearOptionalSfixed64() => clearField(10); + + @$pb.TagNumber(11) + $core.double get optionalFloat => $_getN(10); + @$pb.TagNumber(11) + set optionalFloat($core.double v) { + $_setFloat(10, v); + } + + @$pb.TagNumber(11) + $core.bool hasOptionalFloat() => $_has(10); + @$pb.TagNumber(11) + void clearOptionalFloat() => clearField(11); + + @$pb.TagNumber(12) + $core.double get optionalDouble => $_getN(11); + @$pb.TagNumber(12) + set optionalDouble($core.double v) { + $_setDouble(11, v); + } + + @$pb.TagNumber(12) + $core.bool hasOptionalDouble() => $_has(11); + @$pb.TagNumber(12) + void clearOptionalDouble() => clearField(12); + + @$pb.TagNumber(13) + $core.bool get optionalBool => $_getBF(12); + @$pb.TagNumber(13) + set optionalBool($core.bool v) { + $_setBool(12, v); + } + + @$pb.TagNumber(13) + $core.bool hasOptionalBool() => $_has(12); + @$pb.TagNumber(13) + void clearOptionalBool() => clearField(13); + + @$pb.TagNumber(14) + $core.String get optionalString => $_getSZ(13); + @$pb.TagNumber(14) + set optionalString($core.String v) { + $_setString(13, v); + } + + @$pb.TagNumber(14) + $core.bool hasOptionalString() => $_has(13); + @$pb.TagNumber(14) + void clearOptionalString() => clearField(14); + + @$pb.TagNumber(15) + $core.List<$core.int> get optionalBytes => $_getN(14); + @$pb.TagNumber(15) + set optionalBytes($core.List<$core.int> v) { + $_setBytes(14, v); + } + + @$pb.TagNumber(15) + $core.bool hasOptionalBytes() => $_has(14); + @$pb.TagNumber(15) + void clearOptionalBytes() => clearField(15); + + @$pb.TagNumber(18) + TestAllTypesProto3_NestedMessage get optionalNestedMessage => $_getN(15); + @$pb.TagNumber(18) + set optionalNestedMessage(TestAllTypesProto3_NestedMessage v) { + setField(18, v); + } + + @$pb.TagNumber(18) + $core.bool hasOptionalNestedMessage() => $_has(15); + @$pb.TagNumber(18) + void clearOptionalNestedMessage() => clearField(18); + @$pb.TagNumber(18) + TestAllTypesProto3_NestedMessage ensureOptionalNestedMessage() => + $_ensure(15); + + @$pb.TagNumber(19) + ForeignMessage get optionalForeignMessage => $_getN(16); + @$pb.TagNumber(19) + set optionalForeignMessage(ForeignMessage v) { + setField(19, v); + } + + @$pb.TagNumber(19) + $core.bool hasOptionalForeignMessage() => $_has(16); + @$pb.TagNumber(19) + void clearOptionalForeignMessage() => clearField(19); + @$pb.TagNumber(19) + ForeignMessage ensureOptionalForeignMessage() => $_ensure(16); + + @$pb.TagNumber(21) + TestAllTypesProto3_NestedEnum get optionalNestedEnum => $_getN(17); + @$pb.TagNumber(21) + set optionalNestedEnum(TestAllTypesProto3_NestedEnum v) { + setField(21, v); + } + + @$pb.TagNumber(21) + $core.bool hasOptionalNestedEnum() => $_has(17); + @$pb.TagNumber(21) + void clearOptionalNestedEnum() => clearField(21); + + @$pb.TagNumber(22) + ForeignEnum get optionalForeignEnum => $_getN(18); + @$pb.TagNumber(22) + set optionalForeignEnum(ForeignEnum v) { + setField(22, v); + } + + @$pb.TagNumber(22) + $core.bool hasOptionalForeignEnum() => $_has(18); + @$pb.TagNumber(22) + void clearOptionalForeignEnum() => clearField(22); + + @$pb.TagNumber(23) + TestAllTypesProto3_AliasedEnum get optionalAliasedEnum => $_getN(19); + @$pb.TagNumber(23) + set optionalAliasedEnum(TestAllTypesProto3_AliasedEnum v) { + setField(23, v); + } + + @$pb.TagNumber(23) + $core.bool hasOptionalAliasedEnum() => $_has(19); + @$pb.TagNumber(23) + void clearOptionalAliasedEnum() => clearField(23); + + @$pb.TagNumber(24) + $core.String get optionalStringPiece => $_getSZ(20); + @$pb.TagNumber(24) + set optionalStringPiece($core.String v) { + $_setString(20, v); + } + + @$pb.TagNumber(24) + $core.bool hasOptionalStringPiece() => $_has(20); + @$pb.TagNumber(24) + void clearOptionalStringPiece() => clearField(24); + + @$pb.TagNumber(25) + $core.String get optionalCord => $_getSZ(21); + @$pb.TagNumber(25) + set optionalCord($core.String v) { + $_setString(21, v); + } + + @$pb.TagNumber(25) + $core.bool hasOptionalCord() => $_has(21); + @$pb.TagNumber(25) + void clearOptionalCord() => clearField(25); + + @$pb.TagNumber(27) + TestAllTypesProto3 get recursiveMessage => $_getN(22); + @$pb.TagNumber(27) + set recursiveMessage(TestAllTypesProto3 v) { + setField(27, v); + } + + @$pb.TagNumber(27) + $core.bool hasRecursiveMessage() => $_has(22); + @$pb.TagNumber(27) + void clearRecursiveMessage() => clearField(27); + @$pb.TagNumber(27) + TestAllTypesProto3 ensureRecursiveMessage() => $_ensure(22); + + /// Repeated + @$pb.TagNumber(31) + $core.List<$core.int> get repeatedInt32 => $_getList(23); + + @$pb.TagNumber(32) + $core.List<$fixnum.Int64> get repeatedInt64 => $_getList(24); + + @$pb.TagNumber(33) + $core.List<$core.int> get repeatedUint32 => $_getList(25); + + @$pb.TagNumber(34) + $core.List<$fixnum.Int64> get repeatedUint64 => $_getList(26); + + @$pb.TagNumber(35) + $core.List<$core.int> get repeatedSint32 => $_getList(27); + + @$pb.TagNumber(36) + $core.List<$fixnum.Int64> get repeatedSint64 => $_getList(28); + + @$pb.TagNumber(37) + $core.List<$core.int> get repeatedFixed32 => $_getList(29); + + @$pb.TagNumber(38) + $core.List<$fixnum.Int64> get repeatedFixed64 => $_getList(30); + + @$pb.TagNumber(39) + $core.List<$core.int> get repeatedSfixed32 => $_getList(31); + + @$pb.TagNumber(40) + $core.List<$fixnum.Int64> get repeatedSfixed64 => $_getList(32); + + @$pb.TagNumber(41) + $core.List<$core.double> get repeatedFloat => $_getList(33); + + @$pb.TagNumber(42) + $core.List<$core.double> get repeatedDouble => $_getList(34); + + @$pb.TagNumber(43) + $core.List<$core.bool> get repeatedBool => $_getList(35); + + @$pb.TagNumber(44) + $core.List<$core.String> get repeatedString => $_getList(36); + + @$pb.TagNumber(45) + $core.List<$core.List<$core.int>> get repeatedBytes => $_getList(37); + + @$pb.TagNumber(48) + $core.List get repeatedNestedMessage => + $_getList(38); + + @$pb.TagNumber(49) + $core.List get repeatedForeignMessage => $_getList(39); + + @$pb.TagNumber(51) + $core.List get repeatedNestedEnum => + $_getList(40); + + @$pb.TagNumber(52) + $core.List get repeatedForeignEnum => $_getList(41); + + @$pb.TagNumber(54) + $core.List<$core.String> get repeatedStringPiece => $_getList(42); + + @$pb.TagNumber(55) + $core.List<$core.String> get repeatedCord => $_getList(43); + + /// Map + @$pb.TagNumber(56) + $core.Map<$core.int, $core.int> get mapInt32Int32 => $_getMap(44); + + @$pb.TagNumber(57) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapInt64Int64 => $_getMap(45); + + @$pb.TagNumber(58) + $core.Map<$core.int, $core.int> get mapUint32Uint32 => $_getMap(46); + + @$pb.TagNumber(59) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapUint64Uint64 => $_getMap(47); + + @$pb.TagNumber(60) + $core.Map<$core.int, $core.int> get mapSint32Sint32 => $_getMap(48); + + @$pb.TagNumber(61) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapSint64Sint64 => $_getMap(49); + + @$pb.TagNumber(62) + $core.Map<$core.int, $core.int> get mapFixed32Fixed32 => $_getMap(50); + + @$pb.TagNumber(63) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapFixed64Fixed64 => $_getMap(51); + + @$pb.TagNumber(64) + $core.Map<$core.int, $core.int> get mapSfixed32Sfixed32 => $_getMap(52); + + @$pb.TagNumber(65) + $core.Map<$fixnum.Int64, $fixnum.Int64> get mapSfixed64Sfixed64 => + $_getMap(53); + + @$pb.TagNumber(66) + $core.Map<$core.int, $core.double> get mapInt32Float => $_getMap(54); + + @$pb.TagNumber(67) + $core.Map<$core.int, $core.double> get mapInt32Double => $_getMap(55); + + @$pb.TagNumber(68) + $core.Map<$core.bool, $core.bool> get mapBoolBool => $_getMap(56); + + @$pb.TagNumber(69) + $core.Map<$core.String, $core.String> get mapStringString => $_getMap(57); + + @$pb.TagNumber(70) + $core.Map<$core.String, $core.List<$core.int>> get mapStringBytes => + $_getMap(58); + + @$pb.TagNumber(71) + $core.Map<$core.String, TestAllTypesProto3_NestedMessage> + get mapStringNestedMessage => $_getMap(59); + + @$pb.TagNumber(72) + $core.Map<$core.String, ForeignMessage> get mapStringForeignMessage => + $_getMap(60); + + @$pb.TagNumber(73) + $core.Map<$core.String, TestAllTypesProto3_NestedEnum> + get mapStringNestedEnum => $_getMap(61); + + @$pb.TagNumber(74) + $core.Map<$core.String, ForeignEnum> get mapStringForeignEnum => $_getMap(62); + + /// Packed + @$pb.TagNumber(75) + $core.List<$core.int> get packedInt32 => $_getList(63); + + @$pb.TagNumber(76) + $core.List<$fixnum.Int64> get packedInt64 => $_getList(64); + + @$pb.TagNumber(77) + $core.List<$core.int> get packedUint32 => $_getList(65); + + @$pb.TagNumber(78) + $core.List<$fixnum.Int64> get packedUint64 => $_getList(66); + + @$pb.TagNumber(79) + $core.List<$core.int> get packedSint32 => $_getList(67); + + @$pb.TagNumber(80) + $core.List<$fixnum.Int64> get packedSint64 => $_getList(68); + + @$pb.TagNumber(81) + $core.List<$core.int> get packedFixed32 => $_getList(69); + + @$pb.TagNumber(82) + $core.List<$fixnum.Int64> get packedFixed64 => $_getList(70); + + @$pb.TagNumber(83) + $core.List<$core.int> get packedSfixed32 => $_getList(71); + + @$pb.TagNumber(84) + $core.List<$fixnum.Int64> get packedSfixed64 => $_getList(72); + + @$pb.TagNumber(85) + $core.List<$core.double> get packedFloat => $_getList(73); + + @$pb.TagNumber(86) + $core.List<$core.double> get packedDouble => $_getList(74); + + @$pb.TagNumber(87) + $core.List<$core.bool> get packedBool => $_getList(75); + + @$pb.TagNumber(88) + $core.List get packedNestedEnum => + $_getList(76); + + /// Unpacked + @$pb.TagNumber(89) + $core.List<$core.int> get unpackedInt32 => $_getList(77); + + @$pb.TagNumber(90) + $core.List<$fixnum.Int64> get unpackedInt64 => $_getList(78); + + @$pb.TagNumber(91) + $core.List<$core.int> get unpackedUint32 => $_getList(79); + + @$pb.TagNumber(92) + $core.List<$fixnum.Int64> get unpackedUint64 => $_getList(80); + + @$pb.TagNumber(93) + $core.List<$core.int> get unpackedSint32 => $_getList(81); + + @$pb.TagNumber(94) + $core.List<$fixnum.Int64> get unpackedSint64 => $_getList(82); + + @$pb.TagNumber(95) + $core.List<$core.int> get unpackedFixed32 => $_getList(83); + + @$pb.TagNumber(96) + $core.List<$fixnum.Int64> get unpackedFixed64 => $_getList(84); + + @$pb.TagNumber(97) + $core.List<$core.int> get unpackedSfixed32 => $_getList(85); + + @$pb.TagNumber(98) + $core.List<$fixnum.Int64> get unpackedSfixed64 => $_getList(86); + + @$pb.TagNumber(99) + $core.List<$core.double> get unpackedFloat => $_getList(87); + + @$pb.TagNumber(100) + $core.List<$core.double> get unpackedDouble => $_getList(88); + + @$pb.TagNumber(101) + $core.List<$core.bool> get unpackedBool => $_getList(89); + + @$pb.TagNumber(102) + $core.List get unpackedNestedEnum => + $_getList(90); + + @$pb.TagNumber(111) + $core.int get oneofUint32 => $_getIZ(91); + @$pb.TagNumber(111) + set oneofUint32($core.int v) { + $_setUnsignedInt32(91, v); + } + + @$pb.TagNumber(111) + $core.bool hasOneofUint32() => $_has(91); + @$pb.TagNumber(111) + void clearOneofUint32() => clearField(111); + + @$pb.TagNumber(112) + TestAllTypesProto3_NestedMessage get oneofNestedMessage => $_getN(92); + @$pb.TagNumber(112) + set oneofNestedMessage(TestAllTypesProto3_NestedMessage v) { + setField(112, v); + } + + @$pb.TagNumber(112) + $core.bool hasOneofNestedMessage() => $_has(92); + @$pb.TagNumber(112) + void clearOneofNestedMessage() => clearField(112); + @$pb.TagNumber(112) + TestAllTypesProto3_NestedMessage ensureOneofNestedMessage() => $_ensure(92); + + @$pb.TagNumber(113) + $core.String get oneofString => $_getSZ(93); + @$pb.TagNumber(113) + set oneofString($core.String v) { + $_setString(93, v); + } + + @$pb.TagNumber(113) + $core.bool hasOneofString() => $_has(93); + @$pb.TagNumber(113) + void clearOneofString() => clearField(113); + + @$pb.TagNumber(114) + $core.List<$core.int> get oneofBytes => $_getN(94); + @$pb.TagNumber(114) + set oneofBytes($core.List<$core.int> v) { + $_setBytes(94, v); + } + + @$pb.TagNumber(114) + $core.bool hasOneofBytes() => $_has(94); + @$pb.TagNumber(114) + void clearOneofBytes() => clearField(114); + + @$pb.TagNumber(115) + $core.bool get oneofBool => $_getBF(95); + @$pb.TagNumber(115) + set oneofBool($core.bool v) { + $_setBool(95, v); + } + + @$pb.TagNumber(115) + $core.bool hasOneofBool() => $_has(95); + @$pb.TagNumber(115) + void clearOneofBool() => clearField(115); + + @$pb.TagNumber(116) + $fixnum.Int64 get oneofUint64 => $_getI64(96); + @$pb.TagNumber(116) + set oneofUint64($fixnum.Int64 v) { + $_setInt64(96, v); + } + + @$pb.TagNumber(116) + $core.bool hasOneofUint64() => $_has(96); + @$pb.TagNumber(116) + void clearOneofUint64() => clearField(116); + + @$pb.TagNumber(117) + $core.double get oneofFloat => $_getN(97); + @$pb.TagNumber(117) + set oneofFloat($core.double v) { + $_setFloat(97, v); + } + + @$pb.TagNumber(117) + $core.bool hasOneofFloat() => $_has(97); + @$pb.TagNumber(117) + void clearOneofFloat() => clearField(117); + + @$pb.TagNumber(118) + $core.double get oneofDouble => $_getN(98); + @$pb.TagNumber(118) + set oneofDouble($core.double v) { + $_setDouble(98, v); + } + + @$pb.TagNumber(118) + $core.bool hasOneofDouble() => $_has(98); + @$pb.TagNumber(118) + void clearOneofDouble() => clearField(118); + + @$pb.TagNumber(119) + TestAllTypesProto3_NestedEnum get oneofEnum => $_getN(99); + @$pb.TagNumber(119) + set oneofEnum(TestAllTypesProto3_NestedEnum v) { + setField(119, v); + } + + @$pb.TagNumber(119) + $core.bool hasOneofEnum() => $_has(99); + @$pb.TagNumber(119) + void clearOneofEnum() => clearField(119); + + @$pb.TagNumber(120) + $48.NullValue get oneofNullValue => $_getN(100); + @$pb.TagNumber(120) + set oneofNullValue($48.NullValue v) { + setField(120, v); + } + + @$pb.TagNumber(120) + $core.bool hasOneofNullValue() => $_has(100); + @$pb.TagNumber(120) + void clearOneofNullValue() => clearField(120); + + /// Well-known types + @$pb.TagNumber(201) + $73.BoolValue get optionalBoolWrapper => $_getN(101); + @$pb.TagNumber(201) + set optionalBoolWrapper($73.BoolValue v) { + setField(201, v); + } + + @$pb.TagNumber(201) + $core.bool hasOptionalBoolWrapper() => $_has(101); + @$pb.TagNumber(201) + void clearOptionalBoolWrapper() => clearField(201); + @$pb.TagNumber(201) + $73.BoolValue ensureOptionalBoolWrapper() => $_ensure(101); + + @$pb.TagNumber(202) + $73.Int32Value get optionalInt32Wrapper => $_getN(102); + @$pb.TagNumber(202) + set optionalInt32Wrapper($73.Int32Value v) { + setField(202, v); + } + + @$pb.TagNumber(202) + $core.bool hasOptionalInt32Wrapper() => $_has(102); + @$pb.TagNumber(202) + void clearOptionalInt32Wrapper() => clearField(202); + @$pb.TagNumber(202) + $73.Int32Value ensureOptionalInt32Wrapper() => $_ensure(102); + + @$pb.TagNumber(203) + $73.Int64Value get optionalInt64Wrapper => $_getN(103); + @$pb.TagNumber(203) + set optionalInt64Wrapper($73.Int64Value v) { + setField(203, v); + } + + @$pb.TagNumber(203) + $core.bool hasOptionalInt64Wrapper() => $_has(103); + @$pb.TagNumber(203) + void clearOptionalInt64Wrapper() => clearField(203); + @$pb.TagNumber(203) + $73.Int64Value ensureOptionalInt64Wrapper() => $_ensure(103); + + @$pb.TagNumber(204) + $73.UInt32Value get optionalUint32Wrapper => $_getN(104); + @$pb.TagNumber(204) + set optionalUint32Wrapper($73.UInt32Value v) { + setField(204, v); + } + + @$pb.TagNumber(204) + $core.bool hasOptionalUint32Wrapper() => $_has(104); + @$pb.TagNumber(204) + void clearOptionalUint32Wrapper() => clearField(204); + @$pb.TagNumber(204) + $73.UInt32Value ensureOptionalUint32Wrapper() => $_ensure(104); + + @$pb.TagNumber(205) + $73.UInt64Value get optionalUint64Wrapper => $_getN(105); + @$pb.TagNumber(205) + set optionalUint64Wrapper($73.UInt64Value v) { + setField(205, v); + } + + @$pb.TagNumber(205) + $core.bool hasOptionalUint64Wrapper() => $_has(105); + @$pb.TagNumber(205) + void clearOptionalUint64Wrapper() => clearField(205); + @$pb.TagNumber(205) + $73.UInt64Value ensureOptionalUint64Wrapper() => $_ensure(105); + + @$pb.TagNumber(206) + $73.FloatValue get optionalFloatWrapper => $_getN(106); + @$pb.TagNumber(206) + set optionalFloatWrapper($73.FloatValue v) { + setField(206, v); + } + + @$pb.TagNumber(206) + $core.bool hasOptionalFloatWrapper() => $_has(106); + @$pb.TagNumber(206) + void clearOptionalFloatWrapper() => clearField(206); + @$pb.TagNumber(206) + $73.FloatValue ensureOptionalFloatWrapper() => $_ensure(106); + + @$pb.TagNumber(207) + $73.DoubleValue get optionalDoubleWrapper => $_getN(107); + @$pb.TagNumber(207) + set optionalDoubleWrapper($73.DoubleValue v) { + setField(207, v); + } + + @$pb.TagNumber(207) + $core.bool hasOptionalDoubleWrapper() => $_has(107); + @$pb.TagNumber(207) + void clearOptionalDoubleWrapper() => clearField(207); + @$pb.TagNumber(207) + $73.DoubleValue ensureOptionalDoubleWrapper() => $_ensure(107); + + @$pb.TagNumber(208) + $73.StringValue get optionalStringWrapper => $_getN(108); + @$pb.TagNumber(208) + set optionalStringWrapper($73.StringValue v) { + setField(208, v); + } + + @$pb.TagNumber(208) + $core.bool hasOptionalStringWrapper() => $_has(108); + @$pb.TagNumber(208) + void clearOptionalStringWrapper() => clearField(208); + @$pb.TagNumber(208) + $73.StringValue ensureOptionalStringWrapper() => $_ensure(108); + + @$pb.TagNumber(209) + $73.BytesValue get optionalBytesWrapper => $_getN(109); + @$pb.TagNumber(209) + set optionalBytesWrapper($73.BytesValue v) { + setField(209, v); + } + + @$pb.TagNumber(209) + $core.bool hasOptionalBytesWrapper() => $_has(109); + @$pb.TagNumber(209) + void clearOptionalBytesWrapper() => clearField(209); + @$pb.TagNumber(209) + $73.BytesValue ensureOptionalBytesWrapper() => $_ensure(109); + + @$pb.TagNumber(211) + $core.List<$73.BoolValue> get repeatedBoolWrapper => $_getList(110); + + @$pb.TagNumber(212) + $core.List<$73.Int32Value> get repeatedInt32Wrapper => $_getList(111); + + @$pb.TagNumber(213) + $core.List<$73.Int64Value> get repeatedInt64Wrapper => $_getList(112); + + @$pb.TagNumber(214) + $core.List<$73.UInt32Value> get repeatedUint32Wrapper => $_getList(113); + + @$pb.TagNumber(215) + $core.List<$73.UInt64Value> get repeatedUint64Wrapper => $_getList(114); + + @$pb.TagNumber(216) + $core.List<$73.FloatValue> get repeatedFloatWrapper => $_getList(115); + + @$pb.TagNumber(217) + $core.List<$73.DoubleValue> get repeatedDoubleWrapper => $_getList(116); + + @$pb.TagNumber(218) + $core.List<$73.StringValue> get repeatedStringWrapper => $_getList(117); + + @$pb.TagNumber(219) + $core.List<$73.BytesValue> get repeatedBytesWrapper => $_getList(118); + + @$pb.TagNumber(301) + $51.Duration get optionalDuration => $_getN(119); + @$pb.TagNumber(301) + set optionalDuration($51.Duration v) { + setField(301, v); + } + + @$pb.TagNumber(301) + $core.bool hasOptionalDuration() => $_has(119); + @$pb.TagNumber(301) + void clearOptionalDuration() => clearField(301); + @$pb.TagNumber(301) + $51.Duration ensureOptionalDuration() => $_ensure(119); + + @$pb.TagNumber(302) + $50.Timestamp get optionalTimestamp => $_getN(120); + @$pb.TagNumber(302) + set optionalTimestamp($50.Timestamp v) { + setField(302, v); + } + + @$pb.TagNumber(302) + $core.bool hasOptionalTimestamp() => $_has(120); + @$pb.TagNumber(302) + void clearOptionalTimestamp() => clearField(302); + @$pb.TagNumber(302) + $50.Timestamp ensureOptionalTimestamp() => $_ensure(120); + + @$pb.TagNumber(303) + $58.FieldMask get optionalFieldMask => $_getN(121); + @$pb.TagNumber(303) + set optionalFieldMask($58.FieldMask v) { + setField(303, v); + } + + @$pb.TagNumber(303) + $core.bool hasOptionalFieldMask() => $_has(121); + @$pb.TagNumber(303) + void clearOptionalFieldMask() => clearField(303); + @$pb.TagNumber(303) + $58.FieldMask ensureOptionalFieldMask() => $_ensure(121); + + @$pb.TagNumber(304) + $48.Struct get optionalStruct => $_getN(122); + @$pb.TagNumber(304) + set optionalStruct($48.Struct v) { + setField(304, v); + } + + @$pb.TagNumber(304) + $core.bool hasOptionalStruct() => $_has(122); + @$pb.TagNumber(304) + void clearOptionalStruct() => clearField(304); + @$pb.TagNumber(304) + $48.Struct ensureOptionalStruct() => $_ensure(122); + + @$pb.TagNumber(305) + $49.Any get optionalAny => $_getN(123); + @$pb.TagNumber(305) + set optionalAny($49.Any v) { + setField(305, v); + } + + @$pb.TagNumber(305) + $core.bool hasOptionalAny() => $_has(123); + @$pb.TagNumber(305) + void clearOptionalAny() => clearField(305); + @$pb.TagNumber(305) + $49.Any ensureOptionalAny() => $_ensure(123); + + @$pb.TagNumber(306) + $48.Value get optionalValue => $_getN(124); + @$pb.TagNumber(306) + set optionalValue($48.Value v) { + setField(306, v); + } + + @$pb.TagNumber(306) + $core.bool hasOptionalValue() => $_has(124); + @$pb.TagNumber(306) + void clearOptionalValue() => clearField(306); + @$pb.TagNumber(306) + $48.Value ensureOptionalValue() => $_ensure(124); + + @$pb.TagNumber(307) + $48.NullValue get optionalNullValue => $_getN(125); + @$pb.TagNumber(307) + set optionalNullValue($48.NullValue v) { + setField(307, v); + } + + @$pb.TagNumber(307) + $core.bool hasOptionalNullValue() => $_has(125); + @$pb.TagNumber(307) + void clearOptionalNullValue() => clearField(307); + + @$pb.TagNumber(311) + $core.List<$51.Duration> get repeatedDuration => $_getList(126); + + @$pb.TagNumber(312) + $core.List<$50.Timestamp> get repeatedTimestamp => $_getList(127); + + @$pb.TagNumber(313) + $core.List<$58.FieldMask> get repeatedFieldmask => $_getList(128); + + @$pb.TagNumber(315) + $core.List<$49.Any> get repeatedAny => $_getList(129); + + @$pb.TagNumber(316) + $core.List<$48.Value> get repeatedValue => $_getList(130); + + @$pb.TagNumber(317) + $core.List<$48.ListValue> get repeatedListValue => $_getList(131); + + @$pb.TagNumber(324) + $core.List<$48.Struct> get repeatedStruct => $_getList(132); + + /// Test field-name-to-JSON-name convention. + /// (protobuf says names can be any valid C/C++ identifier.) + @$pb.TagNumber(401) + $core.int get fieldname1 => $_getIZ(133); + @$pb.TagNumber(401) + set fieldname1($core.int v) { + $_setSignedInt32(133, v); + } + + @$pb.TagNumber(401) + $core.bool hasFieldname1() => $_has(133); + @$pb.TagNumber(401) + void clearFieldname1() => clearField(401); + + @$pb.TagNumber(402) + $core.int get fieldName2 => $_getIZ(134); + @$pb.TagNumber(402) + set fieldName2($core.int v) { + $_setSignedInt32(134, v); + } + + @$pb.TagNumber(402) + $core.bool hasFieldName2() => $_has(134); + @$pb.TagNumber(402) + void clearFieldName2() => clearField(402); + + @$pb.TagNumber(403) + $core.int get fieldName3 => $_getIZ(135); + @$pb.TagNumber(403) + set fieldName3($core.int v) { + $_setSignedInt32(135, v); + } + + @$pb.TagNumber(403) + $core.bool hasFieldName3() => $_has(135); + @$pb.TagNumber(403) + void clearFieldName3() => clearField(403); + + @$pb.TagNumber(404) + $core.int get fieldName4 => $_getIZ(136); + @$pb.TagNumber(404) + set fieldName4($core.int v) { + $_setSignedInt32(136, v); + } + + @$pb.TagNumber(404) + $core.bool hasFieldName4() => $_has(136); + @$pb.TagNumber(404) + void clearFieldName4() => clearField(404); + + @$pb.TagNumber(405) + $core.int get field0name5 => $_getIZ(137); + @$pb.TagNumber(405) + set field0name5($core.int v) { + $_setSignedInt32(137, v); + } + + @$pb.TagNumber(405) + $core.bool hasField0name5() => $_has(137); + @$pb.TagNumber(405) + void clearField0name5() => clearField(405); + + @$pb.TagNumber(406) + $core.int get field0Name6 => $_getIZ(138); + @$pb.TagNumber(406) + set field0Name6($core.int v) { + $_setSignedInt32(138, v); + } + + @$pb.TagNumber(406) + $core.bool hasField0Name6() => $_has(138); + @$pb.TagNumber(406) + void clearField0Name6() => clearField(406); + + @$pb.TagNumber(407) + $core.int get fieldName7 => $_getIZ(139); + @$pb.TagNumber(407) + set fieldName7($core.int v) { + $_setSignedInt32(139, v); + } + + @$pb.TagNumber(407) + $core.bool hasFieldName7() => $_has(139); + @$pb.TagNumber(407) + void clearFieldName7() => clearField(407); + + @$pb.TagNumber(408) + $core.int get fieldName8 => $_getIZ(140); + @$pb.TagNumber(408) + set fieldName8($core.int v) { + $_setSignedInt32(140, v); + } + + @$pb.TagNumber(408) + $core.bool hasFieldName8() => $_has(140); + @$pb.TagNumber(408) + void clearFieldName8() => clearField(408); + + @$pb.TagNumber(409) + $core.int get fieldName9 => $_getIZ(141); + @$pb.TagNumber(409) + set fieldName9($core.int v) { + $_setSignedInt32(141, v); + } + + @$pb.TagNumber(409) + $core.bool hasFieldName9() => $_has(141); + @$pb.TagNumber(409) + void clearFieldName9() => clearField(409); + + @$pb.TagNumber(410) + $core.int get fieldName10 => $_getIZ(142); + @$pb.TagNumber(410) + set fieldName10($core.int v) { + $_setSignedInt32(142, v); + } + + @$pb.TagNumber(410) + $core.bool hasFieldName10() => $_has(142); + @$pb.TagNumber(410) + void clearFieldName10() => clearField(410); + + @$pb.TagNumber(411) + $core.int get fIELDNAME11 => $_getIZ(143); + @$pb.TagNumber(411) + set fIELDNAME11($core.int v) { + $_setSignedInt32(143, v); + } + + @$pb.TagNumber(411) + $core.bool hasFIELDNAME11() => $_has(143); + @$pb.TagNumber(411) + void clearFIELDNAME11() => clearField(411); + + @$pb.TagNumber(412) + $core.int get fIELDName12 => $_getIZ(144); + @$pb.TagNumber(412) + set fIELDName12($core.int v) { + $_setSignedInt32(144, v); + } + + @$pb.TagNumber(412) + $core.bool hasFIELDName12() => $_has(144); + @$pb.TagNumber(412) + void clearFIELDName12() => clearField(412); + + @$pb.TagNumber(413) + $core.int get fieldName13 => $_getIZ(145); + @$pb.TagNumber(413) + set fieldName13($core.int v) { + $_setSignedInt32(145, v); + } + + @$pb.TagNumber(413) + $core.bool hasFieldName13() => $_has(145); + @$pb.TagNumber(413) + void clearFieldName13() => clearField(413); + + @$pb.TagNumber(414) + $core.int get fieldName14 => $_getIZ(146); + @$pb.TagNumber(414) + set fieldName14($core.int v) { + $_setSignedInt32(146, v); + } + + @$pb.TagNumber(414) + $core.bool hasFieldName14() => $_has(146); + @$pb.TagNumber(414) + void clearFieldName14() => clearField(414); + + @$pb.TagNumber(415) + $core.int get fieldName15 => $_getIZ(147); + @$pb.TagNumber(415) + set fieldName15($core.int v) { + $_setSignedInt32(147, v); + } + + @$pb.TagNumber(415) + $core.bool hasFieldName15() => $_has(147); + @$pb.TagNumber(415) + void clearFieldName15() => clearField(415); + + @$pb.TagNumber(416) + $core.int get fieldName16 => $_getIZ(148); + @$pb.TagNumber(416) + set fieldName16($core.int v) { + $_setSignedInt32(148, v); + } + + @$pb.TagNumber(416) + $core.bool hasFieldName16() => $_has(148); + @$pb.TagNumber(416) + void clearFieldName16() => clearField(416); + + @$pb.TagNumber(417) + $core.int get fieldName17 => $_getIZ(149); + @$pb.TagNumber(417) + set fieldName17($core.int v) { + $_setSignedInt32(149, v); + } + + @$pb.TagNumber(417) + $core.bool hasFieldName17() => $_has(149); + @$pb.TagNumber(417) + void clearFieldName17() => clearField(417); + + @$pb.TagNumber(418) + $core.int get fieldName18 => $_getIZ(150); + @$pb.TagNumber(418) + set fieldName18($core.int v) { + $_setSignedInt32(150, v); + } + + @$pb.TagNumber(418) + $core.bool hasFieldName18() => $_has(150); + @$pb.TagNumber(418) + void clearFieldName18() => clearField(418); +} + +class ForeignMessage extends $pb.GeneratedMessage { + factory ForeignMessage({ + $core.int? c, + }) { + final $result = create(); + if (c != null) { + $result.c = c; + } + return $result; + } + ForeignMessage._() : super(); + factory ForeignMessage.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory ForeignMessage.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'ForeignMessage', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto3'), + createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'c', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ForeignMessage clone() => ForeignMessage()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ForeignMessage copyWith(void Function(ForeignMessage) updates) => + super.copyWith((message) => updates(message as ForeignMessage)) + as ForeignMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ForeignMessage create() => ForeignMessage._(); + ForeignMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ForeignMessage getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static ForeignMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get c => $_getIZ(0); + @$pb.TagNumber(1) + set c($core.int v) { + $_setSignedInt32(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasC() => $_has(0); + @$pb.TagNumber(1) + void clearC() => clearField(1); +} + +class NullHypothesisProto3 extends $pb.GeneratedMessage { + factory NullHypothesisProto3() => create(); + NullHypothesisProto3._() : super(); + factory NullHypothesisProto3.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory NullHypothesisProto3.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'NullHypothesisProto3', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto3'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NullHypothesisProto3 clone() => + NullHypothesisProto3()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NullHypothesisProto3 copyWith(void Function(NullHypothesisProto3) updates) => + super.copyWith((message) => updates(message as NullHypothesisProto3)) + as NullHypothesisProto3; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NullHypothesisProto3 create() => NullHypothesisProto3._(); + NullHypothesisProto3 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NullHypothesisProto3 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static NullHypothesisProto3? _defaultInstance; +} + +class EnumOnlyProto3 extends $pb.GeneratedMessage { + factory EnumOnlyProto3() => create(); + EnumOnlyProto3._() : super(); + factory EnumOnlyProto3.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory EnumOnlyProto3.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'EnumOnlyProto3', + package: const $pb.PackageName( + _omitMessageNames ? '' : 'protobuf_test_messages.proto3'), + createEmptyInstance: create) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnumOnlyProto3 clone() => EnumOnlyProto3()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnumOnlyProto3 copyWith(void Function(EnumOnlyProto3) updates) => + super.copyWith((message) => updates(message as EnumOnlyProto3)) + as EnumOnlyProto3; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnumOnlyProto3 create() => EnumOnlyProto3._(); + EnumOnlyProto3 createEmptyInstance() => create(); + static $pb.PbList createRepeated() => + $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnumOnlyProto3 getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); + static EnumOnlyProto3? _defaultInstance; +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pbenum.dart new file mode 100644 index 00000000..34ea35a2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pbenum.dart @@ -0,0 +1,110 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/test_messages_proto3.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class ForeignEnum extends $pb.ProtobufEnum { + static const ForeignEnum FOREIGN_FOO = + ForeignEnum._(0, _omitEnumNames ? '' : 'FOREIGN_FOO'); + static const ForeignEnum FOREIGN_BAR = + ForeignEnum._(1, _omitEnumNames ? '' : 'FOREIGN_BAR'); + static const ForeignEnum FOREIGN_BAZ = + ForeignEnum._(2, _omitEnumNames ? '' : 'FOREIGN_BAZ'); + + static const $core.List values = [ + FOREIGN_FOO, + FOREIGN_BAR, + FOREIGN_BAZ, + ]; + + static final $core.Map<$core.int, ForeignEnum> _byValue = + $pb.ProtobufEnum.initByValue(values); + static ForeignEnum? valueOf($core.int value) => _byValue[value]; + + const ForeignEnum._($core.int v, $core.String n) : super(v, n); +} + +class TestAllTypesProto3_NestedEnum extends $pb.ProtobufEnum { + static const TestAllTypesProto3_NestedEnum FOO = + TestAllTypesProto3_NestedEnum._(0, _omitEnumNames ? '' : 'FOO'); + static const TestAllTypesProto3_NestedEnum BAR = + TestAllTypesProto3_NestedEnum._(1, _omitEnumNames ? '' : 'BAR'); + static const TestAllTypesProto3_NestedEnum BAZ = + TestAllTypesProto3_NestedEnum._(2, _omitEnumNames ? '' : 'BAZ'); + static const TestAllTypesProto3_NestedEnum NEG = + TestAllTypesProto3_NestedEnum._(-1, _omitEnumNames ? '' : 'NEG'); + + static const $core.List values = + [ + FOO, + BAR, + BAZ, + NEG, + ]; + + static final $core.Map<$core.int, TestAllTypesProto3_NestedEnum> _byValue = + $pb.ProtobufEnum.initByValue(values); + static TestAllTypesProto3_NestedEnum? valueOf($core.int value) => + _byValue[value]; + + const TestAllTypesProto3_NestedEnum._($core.int v, $core.String n) + : super(v, n); +} + +class TestAllTypesProto3_AliasedEnum extends $pb.ProtobufEnum { + static const TestAllTypesProto3_AliasedEnum ALIAS_FOO = + TestAllTypesProto3_AliasedEnum._(0, _omitEnumNames ? '' : 'ALIAS_FOO'); + static const TestAllTypesProto3_AliasedEnum ALIAS_BAR = + TestAllTypesProto3_AliasedEnum._(1, _omitEnumNames ? '' : 'ALIAS_BAR'); + static const TestAllTypesProto3_AliasedEnum ALIAS_BAZ = + TestAllTypesProto3_AliasedEnum._(2, _omitEnumNames ? '' : 'ALIAS_BAZ'); + + static const TestAllTypesProto3_AliasedEnum MOO = ALIAS_BAZ; + static const TestAllTypesProto3_AliasedEnum moo = ALIAS_BAZ; + static const TestAllTypesProto3_AliasedEnum bAz = ALIAS_BAZ; + + static const $core.List values = + [ + ALIAS_FOO, + ALIAS_BAR, + ALIAS_BAZ, + ]; + + static final $core.Map<$core.int, TestAllTypesProto3_AliasedEnum> _byValue = + $pb.ProtobufEnum.initByValue(values); + static TestAllTypesProto3_AliasedEnum? valueOf($core.int value) => + _byValue[value]; + + const TestAllTypesProto3_AliasedEnum._($core.int v, $core.String n) + : super(v, n); +} + +class EnumOnlyProto3_Bool extends $pb.ProtobufEnum { + static const EnumOnlyProto3_Bool kFalse = + EnumOnlyProto3_Bool._(0, _omitEnumNames ? '' : 'kFalse'); + static const EnumOnlyProto3_Bool kTrue = + EnumOnlyProto3_Bool._(1, _omitEnumNames ? '' : 'kTrue'); + + static const $core.List values = [ + kFalse, + kTrue, + ]; + + static final $core.Map<$core.int, EnumOnlyProto3_Bool> _byValue = + $pb.ProtobufEnum.initByValue(values); + static EnumOnlyProto3_Bool? valueOf($core.int value) => _byValue[value]; + + const EnumOnlyProto3_Bool._($core.int v, $core.String n) : super(v, n); +} + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pbjson.dart new file mode 100644 index 00000000..fa541bc5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/test_messages_proto3.pbjson.dart @@ -0,0 +1,1479 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/test_messages_proto3.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use foreignEnumDescriptor instead') +const ForeignEnum$json = { + '1': 'ForeignEnum', + '2': [ + {'1': 'FOREIGN_FOO', '2': 0}, + {'1': 'FOREIGN_BAR', '2': 1}, + {'1': 'FOREIGN_BAZ', '2': 2}, + ], +}; + +/// Descriptor for `ForeignEnum`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List foreignEnumDescriptor = $convert.base64Decode( + 'CgtGb3JlaWduRW51bRIPCgtGT1JFSUdOX0ZPTxAAEg8KC0ZPUkVJR05fQkFSEAESDwoLRk9SRU' + 'lHTl9CQVoQAg=='); + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3$json = { + '1': 'TestAllTypesProto3', + '2': [ + {'1': 'optional_int32', '3': 1, '4': 1, '5': 5, '10': 'optionalInt32'}, + {'1': 'optional_int64', '3': 2, '4': 1, '5': 3, '10': 'optionalInt64'}, + {'1': 'optional_uint32', '3': 3, '4': 1, '5': 13, '10': 'optionalUint32'}, + {'1': 'optional_uint64', '3': 4, '4': 1, '5': 4, '10': 'optionalUint64'}, + {'1': 'optional_sint32', '3': 5, '4': 1, '5': 17, '10': 'optionalSint32'}, + {'1': 'optional_sint64', '3': 6, '4': 1, '5': 18, '10': 'optionalSint64'}, + {'1': 'optional_fixed32', '3': 7, '4': 1, '5': 7, '10': 'optionalFixed32'}, + {'1': 'optional_fixed64', '3': 8, '4': 1, '5': 6, '10': 'optionalFixed64'}, + { + '1': 'optional_sfixed32', + '3': 9, + '4': 1, + '5': 15, + '10': 'optionalSfixed32' + }, + { + '1': 'optional_sfixed64', + '3': 10, + '4': 1, + '5': 16, + '10': 'optionalSfixed64' + }, + {'1': 'optional_float', '3': 11, '4': 1, '5': 2, '10': 'optionalFloat'}, + {'1': 'optional_double', '3': 12, '4': 1, '5': 1, '10': 'optionalDouble'}, + {'1': 'optional_bool', '3': 13, '4': 1, '5': 8, '10': 'optionalBool'}, + {'1': 'optional_string', '3': 14, '4': 1, '5': 9, '10': 'optionalString'}, + {'1': 'optional_bytes', '3': 15, '4': 1, '5': 12, '10': 'optionalBytes'}, + { + '1': 'optional_nested_message', + '3': 18, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage', + '10': 'optionalNestedMessage' + }, + { + '1': 'optional_foreign_message', + '3': 19, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.ForeignMessage', + '10': 'optionalForeignMessage' + }, + { + '1': 'optional_nested_enum', + '3': 21, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', + '10': 'optionalNestedEnum' + }, + { + '1': 'optional_foreign_enum', + '3': 22, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto3.ForeignEnum', + '10': 'optionalForeignEnum' + }, + { + '1': 'optional_aliased_enum', + '3': 23, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.AliasedEnum', + '10': 'optionalAliasedEnum' + }, + { + '1': 'optional_string_piece', + '3': 24, + '4': 1, + '5': 9, + '8': {'1': 2}, + '10': 'optionalStringPiece', + }, + { + '1': 'optional_cord', + '3': 25, + '4': 1, + '5': 9, + '8': {'1': 1}, + '10': 'optionalCord', + }, + { + '1': 'recursive_message', + '3': 27, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3', + '10': 'recursiveMessage' + }, + {'1': 'repeated_int32', '3': 31, '4': 3, '5': 5, '10': 'repeatedInt32'}, + {'1': 'repeated_int64', '3': 32, '4': 3, '5': 3, '10': 'repeatedInt64'}, + {'1': 'repeated_uint32', '3': 33, '4': 3, '5': 13, '10': 'repeatedUint32'}, + {'1': 'repeated_uint64', '3': 34, '4': 3, '5': 4, '10': 'repeatedUint64'}, + {'1': 'repeated_sint32', '3': 35, '4': 3, '5': 17, '10': 'repeatedSint32'}, + {'1': 'repeated_sint64', '3': 36, '4': 3, '5': 18, '10': 'repeatedSint64'}, + {'1': 'repeated_fixed32', '3': 37, '4': 3, '5': 7, '10': 'repeatedFixed32'}, + {'1': 'repeated_fixed64', '3': 38, '4': 3, '5': 6, '10': 'repeatedFixed64'}, + { + '1': 'repeated_sfixed32', + '3': 39, + '4': 3, + '5': 15, + '10': 'repeatedSfixed32' + }, + { + '1': 'repeated_sfixed64', + '3': 40, + '4': 3, + '5': 16, + '10': 'repeatedSfixed64' + }, + {'1': 'repeated_float', '3': 41, '4': 3, '5': 2, '10': 'repeatedFloat'}, + {'1': 'repeated_double', '3': 42, '4': 3, '5': 1, '10': 'repeatedDouble'}, + {'1': 'repeated_bool', '3': 43, '4': 3, '5': 8, '10': 'repeatedBool'}, + {'1': 'repeated_string', '3': 44, '4': 3, '5': 9, '10': 'repeatedString'}, + {'1': 'repeated_bytes', '3': 45, '4': 3, '5': 12, '10': 'repeatedBytes'}, + { + '1': 'repeated_nested_message', + '3': 48, + '4': 3, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage', + '10': 'repeatedNestedMessage' + }, + { + '1': 'repeated_foreign_message', + '3': 49, + '4': 3, + '5': 11, + '6': '.protobuf_test_messages.proto3.ForeignMessage', + '10': 'repeatedForeignMessage' + }, + { + '1': 'repeated_nested_enum', + '3': 51, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', + '10': 'repeatedNestedEnum' + }, + { + '1': 'repeated_foreign_enum', + '3': 52, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto3.ForeignEnum', + '10': 'repeatedForeignEnum' + }, + { + '1': 'repeated_string_piece', + '3': 54, + '4': 3, + '5': 9, + '8': {'1': 2}, + '10': 'repeatedStringPiece', + }, + { + '1': 'repeated_cord', + '3': 55, + '4': 3, + '5': 9, + '8': {'1': 1}, + '10': 'repeatedCord', + }, + { + '1': 'packed_int32', + '3': 75, + '4': 3, + '5': 5, + '8': {'2': true}, + '10': 'packedInt32', + }, + { + '1': 'packed_int64', + '3': 76, + '4': 3, + '5': 3, + '8': {'2': true}, + '10': 'packedInt64', + }, + { + '1': 'packed_uint32', + '3': 77, + '4': 3, + '5': 13, + '8': {'2': true}, + '10': 'packedUint32', + }, + { + '1': 'packed_uint64', + '3': 78, + '4': 3, + '5': 4, + '8': {'2': true}, + '10': 'packedUint64', + }, + { + '1': 'packed_sint32', + '3': 79, + '4': 3, + '5': 17, + '8': {'2': true}, + '10': 'packedSint32', + }, + { + '1': 'packed_sint64', + '3': 80, + '4': 3, + '5': 18, + '8': {'2': true}, + '10': 'packedSint64', + }, + { + '1': 'packed_fixed32', + '3': 81, + '4': 3, + '5': 7, + '8': {'2': true}, + '10': 'packedFixed32', + }, + { + '1': 'packed_fixed64', + '3': 82, + '4': 3, + '5': 6, + '8': {'2': true}, + '10': 'packedFixed64', + }, + { + '1': 'packed_sfixed32', + '3': 83, + '4': 3, + '5': 15, + '8': {'2': true}, + '10': 'packedSfixed32', + }, + { + '1': 'packed_sfixed64', + '3': 84, + '4': 3, + '5': 16, + '8': {'2': true}, + '10': 'packedSfixed64', + }, + { + '1': 'packed_float', + '3': 85, + '4': 3, + '5': 2, + '8': {'2': true}, + '10': 'packedFloat', + }, + { + '1': 'packed_double', + '3': 86, + '4': 3, + '5': 1, + '8': {'2': true}, + '10': 'packedDouble', + }, + { + '1': 'packed_bool', + '3': 87, + '4': 3, + '5': 8, + '8': {'2': true}, + '10': 'packedBool', + }, + { + '1': 'packed_nested_enum', + '3': 88, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', + '8': {'2': true}, + '10': 'packedNestedEnum', + }, + { + '1': 'unpacked_int32', + '3': 89, + '4': 3, + '5': 5, + '8': {'2': false}, + '10': 'unpackedInt32', + }, + { + '1': 'unpacked_int64', + '3': 90, + '4': 3, + '5': 3, + '8': {'2': false}, + '10': 'unpackedInt64', + }, + { + '1': 'unpacked_uint32', + '3': 91, + '4': 3, + '5': 13, + '8': {'2': false}, + '10': 'unpackedUint32', + }, + { + '1': 'unpacked_uint64', + '3': 92, + '4': 3, + '5': 4, + '8': {'2': false}, + '10': 'unpackedUint64', + }, + { + '1': 'unpacked_sint32', + '3': 93, + '4': 3, + '5': 17, + '8': {'2': false}, + '10': 'unpackedSint32', + }, + { + '1': 'unpacked_sint64', + '3': 94, + '4': 3, + '5': 18, + '8': {'2': false}, + '10': 'unpackedSint64', + }, + { + '1': 'unpacked_fixed32', + '3': 95, + '4': 3, + '5': 7, + '8': {'2': false}, + '10': 'unpackedFixed32', + }, + { + '1': 'unpacked_fixed64', + '3': 96, + '4': 3, + '5': 6, + '8': {'2': false}, + '10': 'unpackedFixed64', + }, + { + '1': 'unpacked_sfixed32', + '3': 97, + '4': 3, + '5': 15, + '8': {'2': false}, + '10': 'unpackedSfixed32', + }, + { + '1': 'unpacked_sfixed64', + '3': 98, + '4': 3, + '5': 16, + '8': {'2': false}, + '10': 'unpackedSfixed64', + }, + { + '1': 'unpacked_float', + '3': 99, + '4': 3, + '5': 2, + '8': {'2': false}, + '10': 'unpackedFloat', + }, + { + '1': 'unpacked_double', + '3': 100, + '4': 3, + '5': 1, + '8': {'2': false}, + '10': 'unpackedDouble', + }, + { + '1': 'unpacked_bool', + '3': 101, + '4': 3, + '5': 8, + '8': {'2': false}, + '10': 'unpackedBool', + }, + { + '1': 'unpacked_nested_enum', + '3': 102, + '4': 3, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', + '8': {'2': false}, + '10': 'unpackedNestedEnum', + }, + { + '1': 'map_int32_int32', + '3': 56, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry', + '10': 'mapInt32Int32' + }, + { + '1': 'map_int64_int64', + '3': 57, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry', + '10': 'mapInt64Int64' + }, + { + '1': 'map_uint32_uint32', + '3': 58, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry', + '10': 'mapUint32Uint32' + }, + { + '1': 'map_uint64_uint64', + '3': 59, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry', + '10': 'mapUint64Uint64' + }, + { + '1': 'map_sint32_sint32', + '3': 60, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry', + '10': 'mapSint32Sint32' + }, + { + '1': 'map_sint64_sint64', + '3': 61, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry', + '10': 'mapSint64Sint64' + }, + { + '1': 'map_fixed32_fixed32', + '3': 62, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry', + '10': 'mapFixed32Fixed32' + }, + { + '1': 'map_fixed64_fixed64', + '3': 63, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry', + '10': 'mapFixed64Fixed64' + }, + { + '1': 'map_sfixed32_sfixed32', + '3': 64, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry', + '10': 'mapSfixed32Sfixed32' + }, + { + '1': 'map_sfixed64_sfixed64', + '3': 65, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry', + '10': 'mapSfixed64Sfixed64' + }, + { + '1': 'map_int32_float', + '3': 66, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry', + '10': 'mapInt32Float' + }, + { + '1': 'map_int32_double', + '3': 67, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry', + '10': 'mapInt32Double' + }, + { + '1': 'map_bool_bool', + '3': 68, + '4': 3, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry', + '10': 'mapBoolBool' + }, + { + '1': 'map_string_string', + '3': 69, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry', + '10': 'mapStringString' + }, + { + '1': 'map_string_bytes', + '3': 70, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry', + '10': 'mapStringBytes' + }, + { + '1': 'map_string_nested_message', + '3': 71, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry', + '10': 'mapStringNestedMessage' + }, + { + '1': 'map_string_foreign_message', + '3': 72, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry', + '10': 'mapStringForeignMessage' + }, + { + '1': 'map_string_nested_enum', + '3': 73, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry', + '10': 'mapStringNestedEnum' + }, + { + '1': 'map_string_foreign_enum', + '3': 74, + '4': 3, + '5': 11, + '6': + '.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry', + '10': 'mapStringForeignEnum' + }, + { + '1': 'oneof_uint32', + '3': 111, + '4': 1, + '5': 13, + '9': 0, + '10': 'oneofUint32' + }, + { + '1': 'oneof_nested_message', + '3': 112, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage', + '9': 0, + '10': 'oneofNestedMessage' + }, + { + '1': 'oneof_string', + '3': 113, + '4': 1, + '5': 9, + '9': 0, + '10': 'oneofString' + }, + {'1': 'oneof_bytes', '3': 114, '4': 1, '5': 12, '9': 0, '10': 'oneofBytes'}, + {'1': 'oneof_bool', '3': 115, '4': 1, '5': 8, '9': 0, '10': 'oneofBool'}, + { + '1': 'oneof_uint64', + '3': 116, + '4': 1, + '5': 4, + '9': 0, + '10': 'oneofUint64' + }, + {'1': 'oneof_float', '3': 117, '4': 1, '5': 2, '9': 0, '10': 'oneofFloat'}, + { + '1': 'oneof_double', + '3': 118, + '4': 1, + '5': 1, + '9': 0, + '10': 'oneofDouble' + }, + { + '1': 'oneof_enum', + '3': 119, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', + '9': 0, + '10': 'oneofEnum' + }, + { + '1': 'oneof_null_value', + '3': 120, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '9': 0, + '10': 'oneofNullValue' + }, + { + '1': 'optional_bool_wrapper', + '3': 201, + '4': 1, + '5': 11, + '6': '.google.protobuf.BoolValue', + '10': 'optionalBoolWrapper' + }, + { + '1': 'optional_int32_wrapper', + '3': 202, + '4': 1, + '5': 11, + '6': '.google.protobuf.Int32Value', + '10': 'optionalInt32Wrapper' + }, + { + '1': 'optional_int64_wrapper', + '3': 203, + '4': 1, + '5': 11, + '6': '.google.protobuf.Int64Value', + '10': 'optionalInt64Wrapper' + }, + { + '1': 'optional_uint32_wrapper', + '3': 204, + '4': 1, + '5': 11, + '6': '.google.protobuf.UInt32Value', + '10': 'optionalUint32Wrapper' + }, + { + '1': 'optional_uint64_wrapper', + '3': 205, + '4': 1, + '5': 11, + '6': '.google.protobuf.UInt64Value', + '10': 'optionalUint64Wrapper' + }, + { + '1': 'optional_float_wrapper', + '3': 206, + '4': 1, + '5': 11, + '6': '.google.protobuf.FloatValue', + '10': 'optionalFloatWrapper' + }, + { + '1': 'optional_double_wrapper', + '3': 207, + '4': 1, + '5': 11, + '6': '.google.protobuf.DoubleValue', + '10': 'optionalDoubleWrapper' + }, + { + '1': 'optional_string_wrapper', + '3': 208, + '4': 1, + '5': 11, + '6': '.google.protobuf.StringValue', + '10': 'optionalStringWrapper' + }, + { + '1': 'optional_bytes_wrapper', + '3': 209, + '4': 1, + '5': 11, + '6': '.google.protobuf.BytesValue', + '10': 'optionalBytesWrapper' + }, + { + '1': 'repeated_bool_wrapper', + '3': 211, + '4': 3, + '5': 11, + '6': '.google.protobuf.BoolValue', + '10': 'repeatedBoolWrapper' + }, + { + '1': 'repeated_int32_wrapper', + '3': 212, + '4': 3, + '5': 11, + '6': '.google.protobuf.Int32Value', + '10': 'repeatedInt32Wrapper' + }, + { + '1': 'repeated_int64_wrapper', + '3': 213, + '4': 3, + '5': 11, + '6': '.google.protobuf.Int64Value', + '10': 'repeatedInt64Wrapper' + }, + { + '1': 'repeated_uint32_wrapper', + '3': 214, + '4': 3, + '5': 11, + '6': '.google.protobuf.UInt32Value', + '10': 'repeatedUint32Wrapper' + }, + { + '1': 'repeated_uint64_wrapper', + '3': 215, + '4': 3, + '5': 11, + '6': '.google.protobuf.UInt64Value', + '10': 'repeatedUint64Wrapper' + }, + { + '1': 'repeated_float_wrapper', + '3': 216, + '4': 3, + '5': 11, + '6': '.google.protobuf.FloatValue', + '10': 'repeatedFloatWrapper' + }, + { + '1': 'repeated_double_wrapper', + '3': 217, + '4': 3, + '5': 11, + '6': '.google.protobuf.DoubleValue', + '10': 'repeatedDoubleWrapper' + }, + { + '1': 'repeated_string_wrapper', + '3': 218, + '4': 3, + '5': 11, + '6': '.google.protobuf.StringValue', + '10': 'repeatedStringWrapper' + }, + { + '1': 'repeated_bytes_wrapper', + '3': 219, + '4': 3, + '5': 11, + '6': '.google.protobuf.BytesValue', + '10': 'repeatedBytesWrapper' + }, + { + '1': 'optional_duration', + '3': 301, + '4': 1, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'optionalDuration' + }, + { + '1': 'optional_timestamp', + '3': 302, + '4': 1, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'optionalTimestamp' + }, + { + '1': 'optional_field_mask', + '3': 303, + '4': 1, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'optionalFieldMask' + }, + { + '1': 'optional_struct', + '3': 304, + '4': 1, + '5': 11, + '6': '.google.protobuf.Struct', + '10': 'optionalStruct' + }, + { + '1': 'optional_any', + '3': 305, + '4': 1, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'optionalAny' + }, + { + '1': 'optional_value', + '3': 306, + '4': 1, + '5': 11, + '6': '.google.protobuf.Value', + '10': 'optionalValue' + }, + { + '1': 'optional_null_value', + '3': 307, + '4': 1, + '5': 14, + '6': '.google.protobuf.NullValue', + '10': 'optionalNullValue' + }, + { + '1': 'repeated_duration', + '3': 311, + '4': 3, + '5': 11, + '6': '.google.protobuf.Duration', + '10': 'repeatedDuration' + }, + { + '1': 'repeated_timestamp', + '3': 312, + '4': 3, + '5': 11, + '6': '.google.protobuf.Timestamp', + '10': 'repeatedTimestamp' + }, + { + '1': 'repeated_fieldmask', + '3': 313, + '4': 3, + '5': 11, + '6': '.google.protobuf.FieldMask', + '10': 'repeatedFieldmask' + }, + { + '1': 'repeated_struct', + '3': 324, + '4': 3, + '5': 11, + '6': '.google.protobuf.Struct', + '10': 'repeatedStruct' + }, + { + '1': 'repeated_any', + '3': 315, + '4': 3, + '5': 11, + '6': '.google.protobuf.Any', + '10': 'repeatedAny' + }, + { + '1': 'repeated_value', + '3': 316, + '4': 3, + '5': 11, + '6': '.google.protobuf.Value', + '10': 'repeatedValue' + }, + { + '1': 'repeated_list_value', + '3': 317, + '4': 3, + '5': 11, + '6': '.google.protobuf.ListValue', + '10': 'repeatedListValue' + }, + {'1': 'fieldname1', '3': 401, '4': 1, '5': 5, '10': 'fieldname1'}, + {'1': 'field_name2', '3': 402, '4': 1, '5': 5, '10': 'fieldName2'}, + {'1': '_field_name3', '3': 403, '4': 1, '5': 5, '10': 'FieldName3'}, + {'1': 'field__name4_', '3': 404, '4': 1, '5': 5, '10': 'fieldName4'}, + {'1': 'field0name5', '3': 405, '4': 1, '5': 5, '10': 'field0name5'}, + {'1': 'field_0_name6', '3': 406, '4': 1, '5': 5, '10': 'field0Name6'}, + {'1': 'fieldName7', '3': 407, '4': 1, '5': 5, '10': 'fieldName7'}, + {'1': 'FieldName8', '3': 408, '4': 1, '5': 5, '10': 'FieldName8'}, + {'1': 'field_Name9', '3': 409, '4': 1, '5': 5, '10': 'fieldName9'}, + {'1': 'Field_Name10', '3': 410, '4': 1, '5': 5, '10': 'FieldName10'}, + {'1': 'FIELD_NAME11', '3': 411, '4': 1, '5': 5, '10': 'FIELDNAME11'}, + {'1': 'FIELD_name12', '3': 412, '4': 1, '5': 5, '10': 'FIELDName12'}, + {'1': '__field_name13', '3': 413, '4': 1, '5': 5, '10': 'FieldName13'}, + {'1': '__Field_name14', '3': 414, '4': 1, '5': 5, '10': 'FieldName14'}, + {'1': 'field__name15', '3': 415, '4': 1, '5': 5, '10': 'fieldName15'}, + {'1': 'field__Name16', '3': 416, '4': 1, '5': 5, '10': 'fieldName16'}, + {'1': 'field_name17__', '3': 417, '4': 1, '5': 5, '10': 'fieldName17'}, + {'1': 'Field_name18__', '3': 418, '4': 1, '5': 5, '10': 'FieldName18'}, + ], + '3': [ + TestAllTypesProto3_NestedMessage$json, + TestAllTypesProto3_MapInt32Int32Entry$json, + TestAllTypesProto3_MapInt64Int64Entry$json, + TestAllTypesProto3_MapUint32Uint32Entry$json, + TestAllTypesProto3_MapUint64Uint64Entry$json, + TestAllTypesProto3_MapSint32Sint32Entry$json, + TestAllTypesProto3_MapSint64Sint64Entry$json, + TestAllTypesProto3_MapFixed32Fixed32Entry$json, + TestAllTypesProto3_MapFixed64Fixed64Entry$json, + TestAllTypesProto3_MapSfixed32Sfixed32Entry$json, + TestAllTypesProto3_MapSfixed64Sfixed64Entry$json, + TestAllTypesProto3_MapInt32FloatEntry$json, + TestAllTypesProto3_MapInt32DoubleEntry$json, + TestAllTypesProto3_MapBoolBoolEntry$json, + TestAllTypesProto3_MapStringStringEntry$json, + TestAllTypesProto3_MapStringBytesEntry$json, + TestAllTypesProto3_MapStringNestedMessageEntry$json, + TestAllTypesProto3_MapStringForeignMessageEntry$json, + TestAllTypesProto3_MapStringNestedEnumEntry$json, + TestAllTypesProto3_MapStringForeignEnumEntry$json + ], + '4': [ + TestAllTypesProto3_NestedEnum$json, + TestAllTypesProto3_AliasedEnum$json + ], + '8': [ + {'1': 'oneof_field'}, + ], + '9': [ + {'1': 501, '2': 511}, + ], +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_NestedMessage$json = { + '1': 'NestedMessage', + '2': [ + {'1': 'a', '3': 1, '4': 1, '5': 5, '10': 'a'}, + { + '1': 'corecursive', + '3': 2, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3', + '10': 'corecursive' + }, + ], +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapInt32Int32Entry$json = { + '1': 'MapInt32Int32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapInt64Int64Entry$json = { + '1': 'MapInt64Int64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 3, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 3, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapUint32Uint32Entry$json = { + '1': 'MapUint32Uint32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 13, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 13, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapUint64Uint64Entry$json = { + '1': 'MapUint64Uint64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 4, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 4, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapSint32Sint32Entry$json = { + '1': 'MapSint32Sint32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 17, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 17, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapSint64Sint64Entry$json = { + '1': 'MapSint64Sint64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 18, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 18, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapFixed32Fixed32Entry$json = { + '1': 'MapFixed32Fixed32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 7, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 7, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapFixed64Fixed64Entry$json = { + '1': 'MapFixed64Fixed64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 6, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 6, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapSfixed32Sfixed32Entry$json = { + '1': 'MapSfixed32Sfixed32Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 15, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 15, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapSfixed64Sfixed64Entry$json = { + '1': 'MapSfixed64Sfixed64Entry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 16, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 16, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapInt32FloatEntry$json = { + '1': 'MapInt32FloatEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 2, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapInt32DoubleEntry$json = { + '1': 'MapInt32DoubleEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 5, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 1, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapBoolBoolEntry$json = { + '1': 'MapBoolBoolEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 8, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 8, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapStringStringEntry$json = { + '1': 'MapStringStringEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapStringBytesEntry$json = { + '1': 'MapStringBytesEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + {'1': 'value', '3': 2, '4': 1, '5': 12, '10': 'value'}, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapStringNestedMessageEntry$json = { + '1': 'MapStringNestedMessageEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapStringForeignMessageEntry$json = { + '1': 'MapStringForeignMessageEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.protobuf_test_messages.proto3.ForeignMessage', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapStringNestedEnumEntry$json = { + '1': 'MapStringNestedEnumEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_MapStringForeignEnumEntry$json = { + '1': 'MapStringForeignEnumEntry', + '2': [ + {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, + { + '1': 'value', + '3': 2, + '4': 1, + '5': 14, + '6': '.protobuf_test_messages.proto3.ForeignEnum', + '10': 'value' + }, + ], + '7': {'7': true}, +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_NestedEnum$json = { + '1': 'NestedEnum', + '2': [ + {'1': 'FOO', '2': 0}, + {'1': 'BAR', '2': 1}, + {'1': 'BAZ', '2': 2}, + {'1': 'NEG', '2': -1}, + ], +}; + +@$core.Deprecated('Use testAllTypesProto3Descriptor instead') +const TestAllTypesProto3_AliasedEnum$json = { + '1': 'AliasedEnum', + '2': [ + {'1': 'ALIAS_FOO', '2': 0}, + {'1': 'ALIAS_BAR', '2': 1}, + {'1': 'ALIAS_BAZ', '2': 2}, + {'1': 'MOO', '2': 2}, + {'1': 'moo', '2': 2}, + {'1': 'bAz', '2': 2}, + ], + '3': {'2': true}, +}; + +/// Descriptor for `TestAllTypesProto3`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testAllTypesProto3Descriptor = $convert.base64Decode( + 'ChJUZXN0QWxsVHlwZXNQcm90bzMSJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW' + '50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxf' + 'dWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm' + '9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzIS' + 'JwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maX' + 'hlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIP' + 'b3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaX' + 'hlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9w' + 'dGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIA' + 'EoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29s' + 'EicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYn' + 'l0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSdwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiAB' + 'KAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTm' + 'VzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEmcKGG9wdGlvbmFsX2ZvcmVpZ25f' + 'bWVzc2FnZRgTIAEoCzItLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZX' + 'NzYWdlUhZvcHRpb25hbEZvcmVpZ25NZXNzYWdlEm4KFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUg' + 'ASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk' + '5lc3RlZEVudW1SEm9wdGlvbmFsTmVzdGVkRW51bRJeChVvcHRpb25hbF9mb3JlaWduX2VudW0Y' + 'FiABKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVITb3B0aW' + '9uYWxGb3JlaWduRW51bRJxChVvcHRpb25hbF9hbGlhc2VkX2VudW0YFyABKA4yPS5wcm90b2J1' + 'Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuQWxpYXNlZEVudW1SE2' + '9wdGlvbmFsQWxpYXNlZEVudW0SNgoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBggASgJQgIIAlIT' + 'b3B0aW9uYWxTdHJpbmdQaWVjZRInCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIAVIMb3B0aW9uYW' + 'xDb3JkEl4KEXJlY3Vyc2l2ZV9tZXNzYWdlGBsgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdl' + 'cy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zUhByZWN1cnNpdmVNZXNzYWdlEiUKDnJlcGVhdG' + 'VkX2ludDMyGB8gAygFUg1yZXBlYXRlZEludDMyEiUKDnJlcGVhdGVkX2ludDY0GCAgAygDUg1y' + 'ZXBlYXRlZEludDY0EicKD3JlcGVhdGVkX3VpbnQzMhghIAMoDVIOcmVwZWF0ZWRVaW50MzISJw' + 'oPcmVwZWF0ZWRfdWludDY0GCIgAygEUg5yZXBlYXRlZFVpbnQ2NBInCg9yZXBlYXRlZF9zaW50' + 'MzIYIyADKBFSDnJlcGVhdGVkU2ludDMyEicKD3JlcGVhdGVkX3NpbnQ2NBgkIAMoElIOcmVwZW' + 'F0ZWRTaW50NjQSKQoQcmVwZWF0ZWRfZml4ZWQzMhglIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEikK' + 'EHJlcGVhdGVkX2ZpeGVkNjQYJiADKAZSD3JlcGVhdGVkRml4ZWQ2NBIrChFyZXBlYXRlZF9zZm' + 'l4ZWQzMhgnIAMoD1IQcmVwZWF0ZWRTZml4ZWQzMhIrChFyZXBlYXRlZF9zZml4ZWQ2NBgoIAMo' + 'EFIQcmVwZWF0ZWRTZml4ZWQ2NBIlCg5yZXBlYXRlZF9mbG9hdBgpIAMoAlINcmVwZWF0ZWRGbG' + '9hdBInCg9yZXBlYXRlZF9kb3VibGUYKiADKAFSDnJlcGVhdGVkRG91YmxlEiMKDXJlcGVhdGVk' + 'X2Jvb2wYKyADKAhSDHJlcGVhdGVkQm9vbBInCg9yZXBlYXRlZF9zdHJpbmcYLCADKAlSDnJlcG' + 'VhdGVkU3RyaW5nEiUKDnJlcGVhdGVkX2J5dGVzGC0gAygMUg1yZXBlYXRlZEJ5dGVzEncKF3Jl' + 'cGVhdGVkX25lc3RlZF9tZXNzYWdlGDAgAygLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm' + '90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVz' + 'c2FnZRJnChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyLS5wcm90b2J1Zl90ZXN0X2' + '1lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZVIWcmVwZWF0ZWRGb3JlaWduTWVzc2FnZRJu' + 'ChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucH' + 'JvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0S' + 'XgoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy' + '5wcm90bzMuRm9yZWlnbkVudW1SE3JlcGVhdGVkRm9yZWlnbkVudW0SNgoVcmVwZWF0ZWRfc3Ry' + 'aW5nX3BpZWNlGDYgAygJQgIIAlITcmVwZWF0ZWRTdHJpbmdQaWVjZRInCg1yZXBlYXRlZF9jb3' + 'JkGDcgAygJQgIIAVIMcmVwZWF0ZWRDb3JkEiUKDHBhY2tlZF9pbnQzMhhLIAMoBUICEAFSC3Bh' + 'Y2tlZEludDMyEiUKDHBhY2tlZF9pbnQ2NBhMIAMoA0ICEAFSC3BhY2tlZEludDY0EicKDXBhY2' + 'tlZF91aW50MzIYTSADKA1CAhABUgxwYWNrZWRVaW50MzISJwoNcGFja2VkX3VpbnQ2NBhOIAMo' + 'BEICEAFSDHBhY2tlZFVpbnQ2NBInCg1wYWNrZWRfc2ludDMyGE8gAygRQgIQAVIMcGFja2VkU2' + 'ludDMyEicKDXBhY2tlZF9zaW50NjQYUCADKBJCAhABUgxwYWNrZWRTaW50NjQSKQoOcGFja2Vk' + 'X2ZpeGVkMzIYUSADKAdCAhABUg1wYWNrZWRGaXhlZDMyEikKDnBhY2tlZF9maXhlZDY0GFIgAy' + 'gGQgIQAVINcGFja2VkRml4ZWQ2NBIrCg9wYWNrZWRfc2ZpeGVkMzIYUyADKA9CAhABUg5wYWNr' + 'ZWRTZml4ZWQzMhIrCg9wYWNrZWRfc2ZpeGVkNjQYVCADKBBCAhABUg5wYWNrZWRTZml4ZWQ2NB' + 'IlCgxwYWNrZWRfZmxvYXQYVSADKAJCAhABUgtwYWNrZWRGbG9hdBInCg1wYWNrZWRfZG91Ymxl' + 'GFYgAygBQgIQAVIMcGFja2VkRG91YmxlEiMKC3BhY2tlZF9ib29sGFcgAygIQgIQAVIKcGFja2' + 'VkQm9vbBJuChJwYWNrZWRfbmVzdGVkX2VudW0YWCADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3Nh' + 'Z2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bUICEAFSEHBhY2tlZE5lc3' + 'RlZEVudW0SKQoOdW5wYWNrZWRfaW50MzIYWSADKAVCAhAAUg11bnBhY2tlZEludDMyEikKDnVu' + 'cGFja2VkX2ludDY0GFogAygDQgIQAFINdW5wYWNrZWRJbnQ2NBIrCg91bnBhY2tlZF91aW50Mz' + 'IYWyADKA1CAhAAUg51bnBhY2tlZFVpbnQzMhIrCg91bnBhY2tlZF91aW50NjQYXCADKARCAhAA' + 'Ug51bnBhY2tlZFVpbnQ2NBIrCg91bnBhY2tlZF9zaW50MzIYXSADKBFCAhAAUg51bnBhY2tlZF' + 'NpbnQzMhIrCg91bnBhY2tlZF9zaW50NjQYXiADKBJCAhAAUg51bnBhY2tlZFNpbnQ2NBItChB1' + 'bnBhY2tlZF9maXhlZDMyGF8gAygHQgIQAFIPdW5wYWNrZWRGaXhlZDMyEi0KEHVucGFja2VkX2' + 'ZpeGVkNjQYYCADKAZCAhAAUg91bnBhY2tlZEZpeGVkNjQSLwoRdW5wYWNrZWRfc2ZpeGVkMzIY' + 'YSADKA9CAhAAUhB1bnBhY2tlZFNmaXhlZDMyEi8KEXVucGFja2VkX3NmaXhlZDY0GGIgAygQQg' + 'IQAFIQdW5wYWNrZWRTZml4ZWQ2NBIpCg51bnBhY2tlZF9mbG9hdBhjIAMoAkICEABSDXVucGFj' + 'a2VkRmxvYXQSKwoPdW5wYWNrZWRfZG91YmxlGGQgAygBQgIQAFIOdW5wYWNrZWREb3VibGUSJw' + 'oNdW5wYWNrZWRfYm9vbBhlIAMoCEICEABSDHVucGFja2VkQm9vbBJyChR1bnBhY2tlZF9uZXN0' + 'ZWRfZW51bRhmIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeX' + 'Blc1Byb3RvMy5OZXN0ZWRFbnVtQgIQAFISdW5wYWNrZWROZXN0ZWRFbnVtEmwKD21hcF9pbnQz' + 'Ml9pbnQzMhg4IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeX' + 'Blc1Byb3RvMy5NYXBJbnQzMkludDMyRW50cnlSDW1hcEludDMySW50MzISbAoPbWFwX2ludDY0' + 'X2ludDY0GDkgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cG' + 'VzUHJvdG8zLk1hcEludDY0SW50NjRFbnRyeVINbWFwSW50NjRJbnQ2NBJyChFtYXBfdWludDMy' + 'X3VpbnQzMhg6IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeX' + 'Blc1Byb3RvMy5NYXBVaW50MzJVaW50MzJFbnRyeVIPbWFwVWludDMyVWludDMyEnIKEW1hcF91' + 'aW50NjRfdWludDY0GDsgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdE' + 'FsbFR5cGVzUHJvdG8zLk1hcFVpbnQ2NFVpbnQ2NEVudHJ5Ug9tYXBVaW50NjRVaW50NjQScgoR' + 'bWFwX3NpbnQzMl9zaW50MzIYPCADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy' + '5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU2ludDMyU2ludDMyRW50cnlSD21hcFNpbnQzMlNpbnQz' + 'MhJyChFtYXBfc2ludDY0X3NpbnQ2NBg9IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucH' + 'JvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTaW50NjRTaW50NjRFbnRyeVIPbWFwU2ludDY0' + 'U2ludDY0EngKE21hcF9maXhlZDMyX2ZpeGVkMzIYPiADKAsySC5wcm90b2J1Zl90ZXN0X21lc3' + 'NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwRml4ZWQzMkZpeGVkMzJFbnRyeVIR' + 'bWFwRml4ZWQzMkZpeGVkMzISeAoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBg/IAMoCzJILnByb3RvYn' + 'VmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBGaXhlZDY0Rml4' + 'ZWQ2NEVudHJ5UhFtYXBGaXhlZDY0Rml4ZWQ2NBJ+ChVtYXBfc2ZpeGVkMzJfc2ZpeGVkMzIYQC' + 'ADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMu' + 'TWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5UhNtYXBTZml4ZWQzMlNmaXhlZDMyEn4KFW1hcF9zZm' + 'l4ZWQ2NF9zZml4ZWQ2NBhBIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRl' + 'c3RBbGxUeXBlc1Byb3RvMy5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnlSE21hcFNmaXhlZDY0U2' + 'ZpeGVkNjQSbAoPbWFwX2ludDMyX2Zsb2F0GEIgAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdl' + 'cy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRmxvYXRFbnRyeVINbWFwSW50Mz' + 'JGbG9hdBJvChBtYXBfaW50MzJfZG91YmxlGEMgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdl' + 'cy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMyRG91YmxlRW50cnlSDm1hcEludD' + 'MyRG91YmxlEmYKDW1hcF9ib29sX2Jvb2wYRCADKAsyQi5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz' + 'LnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwQm9vbEJvb2xFbnRyeVILbWFwQm9vbEJvb2' + 'wScgoRbWFwX3N0cmluZ19zdHJpbmcYRSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnBy' + 'b3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nU3RyaW5nRW50cnlSD21hcFN0cmluZ1' + 'N0cmluZxJvChBtYXBfc3RyaW5nX2J5dGVzGEYgAygLMkUucHJvdG9idWZfdGVzdF9tZXNzYWdl' + 'cy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ0J5dGVzRW50cnlSDm1hcFN0cm' + 'luZ0J5dGVzEogBChltYXBfc3RyaW5nX25lc3RlZF9tZXNzYWdlGEcgAygLMk0ucHJvdG9idWZf' + 'dGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ05lc3RlZE' + '1lc3NhZ2VFbnRyeVIWbWFwU3RyaW5nTmVzdGVkTWVzc2FnZRKLAQoabWFwX3N0cmluZ19mb3Jl' + 'aWduX21lc3NhZ2UYSCADKAsyTi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QW' + 'xsVHlwZXNQcm90bzMuTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VFbnRyeVIXbWFwU3RyaW5nRm9y' + 'ZWlnbk1lc3NhZ2USfwoWbWFwX3N0cmluZ19uZXN0ZWRfZW51bRhJIAMoCzJKLnByb3RvYnVmX3' + 'Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdOZXN0ZWRF' + 'bnVtRW50cnlSE21hcFN0cmluZ05lc3RlZEVudW0SggEKF21hcF9zdHJpbmdfZm9yZWlnbl9lbn' + 'VtGEogAygLMksucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJv' + 'dG8zLk1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnlSFG1hcFN0cmluZ0ZvcmVpZ25FbnVtEiMKDG' + '9uZW9mX3VpbnQzMhhvIAEoDUgAUgtvbmVvZlVpbnQzMhJzChRvbmVvZl9uZXN0ZWRfbWVzc2Fn' + 'ZRhwIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3' + 'RvMy5OZXN0ZWRNZXNzYWdlSABSEm9uZW9mTmVzdGVkTWVzc2FnZRIjCgxvbmVvZl9zdHJpbmcY' + 'cSABKAlIAFILb25lb2ZTdHJpbmcSIQoLb25lb2ZfYnl0ZXMYciABKAxIAFIKb25lb2ZCeXRlcx' + 'IfCgpvbmVvZl9ib29sGHMgASgISABSCW9uZW9mQm9vbBIjCgxvbmVvZl91aW50NjQYdCABKARI' + 'AFILb25lb2ZVaW50NjQSIQoLb25lb2ZfZmxvYXQYdSABKAJIAFIKb25lb2ZGbG9hdBIjCgxvbm' + 'VvZl9kb3VibGUYdiABKAFIAFILb25lb2ZEb3VibGUSXQoKb25lb2ZfZW51bRh3IAEoDjI8LnBy' + 'b3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbn' + 'VtSABSCW9uZW9mRW51bRJGChBvbmVvZl9udWxsX3ZhbHVlGHggASgOMhouZ29vZ2xlLnByb3Rv' + 'YnVmLk51bGxWYWx1ZUgAUg5vbmVvZk51bGxWYWx1ZRJPChVvcHRpb25hbF9ib29sX3dyYXBwZX' + 'IYyQEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVITb3B0aW9uYWxCb29sV3JhcHBl' + 'chJSChZvcHRpb25hbF9pbnQzMl93cmFwcGVyGMoBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5Jbn' + 'QzMlZhbHVlUhRvcHRpb25hbEludDMyV3JhcHBlchJSChZvcHRpb25hbF9pbnQ2NF93cmFwcGVy' + 'GMsBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUhRvcHRpb25hbEludDY0V3JhcH' + 'BlchJVChdvcHRpb25hbF91aW50MzJfd3JhcHBlchjMASABKAsyHC5nb29nbGUucHJvdG9idWYu' + 'VUludDMyVmFsdWVSFW9wdGlvbmFsVWludDMyV3JhcHBlchJVChdvcHRpb25hbF91aW50NjRfd3' + 'JhcHBlchjNASABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSFW9wdGlvbmFsVWlu' + 'dDY0V3JhcHBlchJSChZvcHRpb25hbF9mbG9hdF93cmFwcGVyGM4BIAEoCzIbLmdvb2dsZS5wcm' + '90b2J1Zi5GbG9hdFZhbHVlUhRvcHRpb25hbEZsb2F0V3JhcHBlchJVChdvcHRpb25hbF9kb3Vi' + 'bGVfd3JhcHBlchjPASABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSFW9wdGlvbm' + 'FsRG91YmxlV3JhcHBlchJVChdvcHRpb25hbF9zdHJpbmdfd3JhcHBlchjQASABKAsyHC5nb29n' + 'bGUucHJvdG9idWYuU3RyaW5nVmFsdWVSFW9wdGlvbmFsU3RyaW5nV3JhcHBlchJSChZvcHRpb2' + '5hbF9ieXRlc193cmFwcGVyGNEBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUhRv' + 'cHRpb25hbEJ5dGVzV3JhcHBlchJPChVyZXBlYXRlZF9ib29sX3dyYXBwZXIY0wEgAygLMhouZ2' + '9vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVITcmVwZWF0ZWRCb29sV3JhcHBlchJSChZyZXBlYXRl' + 'ZF9pbnQzMl93cmFwcGVyGNQBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhRyZX' + 'BlYXRlZEludDMyV3JhcHBlchJSChZyZXBlYXRlZF9pbnQ2NF93cmFwcGVyGNUBIAMoCzIbLmdv' + 'b2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUhRyZXBlYXRlZEludDY0V3JhcHBlchJVChdyZXBlYX' + 'RlZF91aW50MzJfd3JhcHBlchjWASADKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVS' + 'FXJlcGVhdGVkVWludDMyV3JhcHBlchJVChdyZXBlYXRlZF91aW50NjRfd3JhcHBlchjXASADKA' + 'syHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSFXJlcGVhdGVkVWludDY0V3JhcHBlchJS' + 'ChZyZXBlYXRlZF9mbG9hdF93cmFwcGVyGNgBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdF' + 'ZhbHVlUhRyZXBlYXRlZEZsb2F0V3JhcHBlchJVChdyZXBlYXRlZF9kb3VibGVfd3JhcHBlchjZ' + 'ASADKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVSFXJlcGVhdGVkRG91YmxlV3JhcH' + 'BlchJVChdyZXBlYXRlZF9zdHJpbmdfd3JhcHBlchjaASADKAsyHC5nb29nbGUucHJvdG9idWYu' + 'U3RyaW5nVmFsdWVSFXJlcGVhdGVkU3RyaW5nV3JhcHBlchJSChZyZXBlYXRlZF9ieXRlc193cm' + 'FwcGVyGNsBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUhRyZXBlYXRlZEJ5dGVz' + 'V3JhcHBlchJHChFvcHRpb25hbF9kdXJhdGlvbhitAiABKAsyGS5nb29nbGUucHJvdG9idWYuRH' + 'VyYXRpb25SEG9wdGlvbmFsRHVyYXRpb24SSgoSb3B0aW9uYWxfdGltZXN0YW1wGK4CIAEoCzIa' + 'Lmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEW9wdGlvbmFsVGltZXN0YW1wEksKE29wdGlvbm' + 'FsX2ZpZWxkX21hc2sYrwIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IRb3B0aW9u' + 'YWxGaWVsZE1hc2sSQQoPb3B0aW9uYWxfc3RydWN0GLACIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi' + '5TdHJ1Y3RSDm9wdGlvbmFsU3RydWN0EjgKDG9wdGlvbmFsX2FueRixAiABKAsyFC5nb29nbGUu' + 'cHJvdG9idWYuQW55UgtvcHRpb25hbEFueRI+Cg5vcHRpb25hbF92YWx1ZRiyAiABKAsyFi5nb2' + '9nbGUucHJvdG9idWYuVmFsdWVSDW9wdGlvbmFsVmFsdWUSSwoTb3B0aW9uYWxfbnVsbF92YWx1' + 'ZRizAiABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlUhFvcHRpb25hbE51bGxWYWx1ZR' + 'JHChFyZXBlYXRlZF9kdXJhdGlvbhi3AiADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25S' + 'EHJlcGVhdGVkRHVyYXRpb24SSgoScmVwZWF0ZWRfdGltZXN0YW1wGLgCIAMoCzIaLmdvb2dsZS' + '5wcm90b2J1Zi5UaW1lc3RhbXBSEXJlcGVhdGVkVGltZXN0YW1wEkoKEnJlcGVhdGVkX2ZpZWxk' + 'bWFzaxi5AiADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUhFyZXBlYXRlZEZpZWxkbW' + 'FzaxJBCg9yZXBlYXRlZF9zdHJ1Y3QYxAIgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIO' + 'cmVwZWF0ZWRTdHJ1Y3QSOAoMcmVwZWF0ZWRfYW55GLsCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi' + '5BbnlSC3JlcGVhdGVkQW55Ej4KDnJlcGVhdGVkX3ZhbHVlGLwCIAMoCzIWLmdvb2dsZS5wcm90' + 'b2J1Zi5WYWx1ZVINcmVwZWF0ZWRWYWx1ZRJLChNyZXBlYXRlZF9saXN0X3ZhbHVlGL0CIAMoCz' + 'IaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVSEXJlcGVhdGVkTGlzdFZhbHVlEh8KCmZpZWxk' + 'bmFtZTEYkQMgASgFUgpmaWVsZG5hbWUxEiAKC2ZpZWxkX25hbWUyGJIDIAEoBVIKZmllbGROYW' + '1lMhIhCgxfZmllbGRfbmFtZTMYkwMgASgFUgpGaWVsZE5hbWUzEiIKDWZpZWxkX19uYW1lNF8Y' + 'lAMgASgFUgpmaWVsZE5hbWU0EiEKC2ZpZWxkMG5hbWU1GJUDIAEoBVILZmllbGQwbmFtZTUSIw' + 'oNZmllbGRfMF9uYW1lNhiWAyABKAVSC2ZpZWxkME5hbWU2Eh8KCmZpZWxkTmFtZTcYlwMgASgF' + 'UgpmaWVsZE5hbWU3Eh8KCkZpZWxkTmFtZTgYmAMgASgFUgpGaWVsZE5hbWU4EiAKC2ZpZWxkX0' + '5hbWU5GJkDIAEoBVIKZmllbGROYW1lORIiCgxGaWVsZF9OYW1lMTAYmgMgASgFUgtGaWVsZE5h' + 'bWUxMBIiCgxGSUVMRF9OQU1FMTEYmwMgASgFUgtGSUVMRE5BTUUxMRIiCgxGSUVMRF9uYW1lMT' + 'IYnAMgASgFUgtGSUVMRE5hbWUxMhIkCg5fX2ZpZWxkX25hbWUxMxidAyABKAVSC0ZpZWxkTmFt' + 'ZTEzEiQKDl9fRmllbGRfbmFtZTE0GJ4DIAEoBVILRmllbGROYW1lMTQSIwoNZmllbGRfX25hbW' + 'UxNRifAyABKAVSC2ZpZWxkTmFtZTE1EiMKDWZpZWxkX19OYW1lMTYYoAMgASgFUgtmaWVsZE5h' + 'bWUxNhIkCg5maWVsZF9uYW1lMTdfXxihAyABKAVSC2ZpZWxkTmFtZTE3EiQKDkZpZWxkX25hbW' + 'UxOF9fGKIDIAEoBVILRmllbGROYW1lMTgacgoNTmVzdGVkTWVzc2FnZRIMCgFhGAEgASgFUgFh' + 'ElMKC2NvcmVjdXJzaXZlGAIgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVG' + 'VzdEFsbFR5cGVzUHJvdG8zUgtjb3JlY3Vyc2l2ZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoD' + 'a2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludD' + 'Y0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRN' + 'YXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdm' + 'FsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZh' + 'bHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgAS' + 'gRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRy' + 'eRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeG' + 'VkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVl' + 'OgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbH' + 'VlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgB' + 'IAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZW' + 'Q2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoS' + 'TWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YW' + 'x1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1' + 'ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZX' + 'kSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpCChRNYXBTdHJpbmdTdHJpbmdFbnRyeRIQCgNr' + 'ZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkEKE01hcFN0cmluZ0J5dG' + 'VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAxSBXZhbHVlOgI4ARqKAQob' + 'TWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElUKBXZhbHVlGA' + 'IgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8z' + 'Lk5lc3RlZE1lc3NhZ2VSBXZhbHVlOgI4ARp5ChxNYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudH' + 'J5EhAKA2tleRgBIAEoCVIDa2V5EkMKBXZhbHVlGAIgASgLMi0ucHJvdG9idWZfdGVzdF9tZXNz' + 'YWdlcy5wcm90bzMuRm9yZWlnbk1lc3NhZ2VSBXZhbHVlOgI4ARqEAQoYTWFwU3RyaW5nTmVzdG' + 'VkRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElIKBXZhbHVlGAIgASgOMjwucHJvdG9idWZf' + 'dGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SBXZhbH' + 'VlOgI4ARpzChlNYXBTdHJpbmdGb3JlaWduRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkAK' + 'BXZhbHVlGAIgASgOMioucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbkVudW' + '1SBXZhbHVlOgI4ASI5CgpOZXN0ZWRFbnVtEgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAK' + 'A05FRxD///////////8BIlkKC0FsaWFzZWRFbnVtEg0KCUFMSUFTX0ZPTxAAEg0KCUFMSUFTX0' + 'JBUhABEg0KCUFMSUFTX0JBWhACEgcKA01PTxACEgcKA21vbxACEgcKA2JBehACGgIQAUINCgtv' + 'bmVvZl9maWVsZEoGCPUDEP8D'); + +@$core.Deprecated('Use foreignMessageDescriptor instead') +const ForeignMessage$json = { + '1': 'ForeignMessage', + '2': [ + {'1': 'c', '3': 1, '4': 1, '5': 5, '10': 'c'}, + ], +}; + +/// Descriptor for `ForeignMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List foreignMessageDescriptor = + $convert.base64Decode('Cg5Gb3JlaWduTWVzc2FnZRIMCgFjGAEgASgFUgFj'); + +@$core.Deprecated('Use nullHypothesisProto3Descriptor instead') +const NullHypothesisProto3$json = { + '1': 'NullHypothesisProto3', +}; + +/// Descriptor for `NullHypothesisProto3`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List nullHypothesisProto3Descriptor = + $convert.base64Decode('ChROdWxsSHlwb3RoZXNpc1Byb3RvMw=='); + +@$core.Deprecated('Use enumOnlyProto3Descriptor instead') +const EnumOnlyProto3$json = { + '1': 'EnumOnlyProto3', + '4': [EnumOnlyProto3_Bool$json], +}; + +@$core.Deprecated('Use enumOnlyProto3Descriptor instead') +const EnumOnlyProto3_Bool$json = { + '1': 'Bool', + '2': [ + {'1': 'kFalse', '2': 0}, + {'1': 'kTrue', '2': 1}, + ], +}; + +/// Descriptor for `EnumOnlyProto3`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enumOnlyProto3Descriptor = $convert.base64Decode( + 'Cg5FbnVtT25seVByb3RvMyIdCgRCb29sEgoKBmtGYWxzZRAAEgkKBWtUcnVlEAE='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pb.dart new file mode 100644 index 00000000..48e11b93 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pb.dart @@ -0,0 +1,204 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; +import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; + +/// A Timestamp represents a point in time independent of any time zone or local +/// calendar, encoded as a count of seconds and fractions of seconds at +/// nanosecond resolution. The count is relative to an epoch at UTC midnight on +/// January 1, 1970, in the proleptic Gregorian calendar which extends the +/// Gregorian calendar backwards to year one. +/// +/// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +/// second table is needed for interpretation, using a [24-hour linear +/// smear](https://developers.google.com/time/smear). +/// +/// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +/// restricting to that range, we ensure that we can convert to and from [RFC +/// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +/// +/// # Examples +/// +/// Example 1: Compute Timestamp from POSIX `time()`. +/// +/// Timestamp timestamp; +/// timestamp.set_seconds(time(NULL)); +/// timestamp.set_nanos(0); +/// +/// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +/// +/// struct timeval tv; +/// gettimeofday(&tv, NULL); +/// +/// Timestamp timestamp; +/// timestamp.set_seconds(tv.tv_sec); +/// timestamp.set_nanos(tv.tv_usec * 1000); +/// +/// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +/// +/// FILETIME ft; +/// GetSystemTimeAsFileTime(&ft); +/// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +/// +/// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +/// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +/// Timestamp timestamp; +/// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +/// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +/// +/// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +/// +/// long millis = System.currentTimeMillis(); +/// +/// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +/// .setNanos((int) ((millis % 1000) * 1000000)).build(); +/// +/// Example 5: Compute Timestamp from Java `Instant.now()`. +/// +/// Instant now = Instant.now(); +/// +/// Timestamp timestamp = +/// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +/// .setNanos(now.getNano()).build(); +/// +/// Example 6: Compute Timestamp from current time in Python. +/// +/// timestamp = Timestamp() +/// timestamp.GetCurrentTime() +/// +/// # JSON Mapping +/// +/// In JSON format, the Timestamp type is encoded as a string in the +/// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +/// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +/// where {year} is always expressed using four digits while {month}, {day}, +/// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +/// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +/// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +/// is required. A proto3 JSON serializer should always use UTC (as indicated by +/// "Z") when printing the Timestamp type and a proto3 JSON parser should be +/// able to accept both UTC and other timezones (as indicated by an offset). +/// +/// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +/// 01:30 UTC on January 15, 2017. +/// +/// In JavaScript, one can convert a Date object to this format using the +/// standard +/// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +/// method. In Python, a standard `datetime.datetime` object can be converted +/// to this format using +/// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +/// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +/// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +/// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +/// ) to obtain a formatter capable of generating timestamps in this format. +class Timestamp extends $pb.GeneratedMessage with $mixin.TimestampMixin { + factory Timestamp({ + $fixnum.Int64? seconds, + $core.int? nanos, + }) { + final $result = create(); + if (seconds != null) { + $result.seconds = seconds; + } + if (nanos != null) { + $result.nanos = nanos; + } + return $result; + } + Timestamp._() : super(); + factory Timestamp.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromBuffer(i, r); + factory Timestamp.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo( + _omitMessageNames ? '' : 'Timestamp', + package: + const $pb.PackageName(_omitMessageNames ? '' : 'google.protobuf'), + createEmptyInstance: create, + toProto3Json: $mixin.TimestampMixin.toProto3JsonHelper, + fromProto3Json: $mixin.TimestampMixin.fromProto3JsonHelper) + ..aInt64(1, _omitFieldNames ? '' : 'seconds') + ..a<$core.int>(2, _omitFieldNames ? '' : 'nanos', $pb.PbFieldType.O3) + ..hasRequiredFields = false; + + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Timestamp clone() => Timestamp()..mergeFromMessage(this); + @$core.Deprecated('Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Timestamp copyWith(void Function(Timestamp) updates) => + super.copyWith((message) => updates(message as Timestamp)) as Timestamp; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Timestamp create() => Timestamp._(); + Timestamp createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Timestamp getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Timestamp? _defaultInstance; + + /// Represents seconds of UTC time since Unix epoch + /// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + /// 9999-12-31T23:59:59Z inclusive. + @$pb.TagNumber(1) + $fixnum.Int64 get seconds => $_getI64(0); + @$pb.TagNumber(1) + set seconds($fixnum.Int64 v) { + $_setInt64(0, v); + } + + @$pb.TagNumber(1) + $core.bool hasSeconds() => $_has(0); + @$pb.TagNumber(1) + void clearSeconds() => clearField(1); + + /// Non-negative fractions of a second at nanosecond resolution. Negative + /// second values with fractions must still have non-negative nanos values + /// that count forward in time. Must be from 0 to 999,999,999 + /// inclusive. + @$pb.TagNumber(2) + $core.int get nanos => $_getIZ(1); + @$pb.TagNumber(2) + set nanos($core.int v) { + $_setSignedInt32(1, v); + } + + @$pb.TagNumber(2) + $core.bool hasNanos() => $_has(1); + @$pb.TagNumber(2) + void clearNanos() => clearField(2); + + /// Creates a new instance from [dateTime]. + /// + /// Time zone information will not be preserved. + static Timestamp fromDateTime($core.DateTime dateTime) { + final result = create(); + $mixin.TimestampMixin.setFromDateTime(result, dateTime); + return result; + } +} + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = + $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pbenum.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pbenum.dart new file mode 100644 index 00000000..a194b805 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pbenum.dart @@ -0,0 +1,10 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pbjson.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pbjson.dart new file mode 100644 index 00000000..39ab20fa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/timestamp.pbjson.dart @@ -0,0 +1,28 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/timestamp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use timestampDescriptor instead') +const Timestamp$json = { + '1': 'Timestamp', + '2': [ + {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'}, + {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'}, + ], +}; + +/// Descriptor for `Timestamp`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List timestampDescriptor = $convert.base64Decode( + 'CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbm' + 'Fub3M='); diff --git a/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/type.pb.dart b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/type.pb.dart new file mode 100644 index 00000000..d9eebdce --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/dart/google/protobuf/type.pb.dart @@ -0,0 +1,722 @@ +// +// Generated code. Do not modify. +// source: google/protobuf/type.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'any.pb.dart' as $49; +import 'source_context.pb.dart' as $82; +import 'type.pbenum.dart'; + +export 'type.pbenum.dart'; + +/// A protocol buffer message type. +class Type extends $pb.GeneratedMessage { + factory Type({ + $core.String? name, + $core.Iterable? fields, + $core.Iterable<$core.String>? oneofs, + $core.Iterable

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: >
+//       ...
+// 
+// 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: +//
[fully.qualified.proto.name][]
+// To override the display text used for the link, this can be used: +//
[display text][fully.qualified.proto.name]
+// Text can be excluded from doc using the following notation: +//
(-- internal comment --)
+// +// 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: +//
(== include path/to/file ==)
+// 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: +//
(== resource_for v1.shelves.books ==)
+// The directive `suppress_warning` does not directly affect documentation +// and is documented together with service config validation. +message Documentation { + // A short description of what the service does. The summary must be plain + // text. It becomes the overview of the service displayed in Google Cloud + // Console. + // NOTE: This field is equivalent to the standard field `description`. + 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; + + // Specifies the service root url if the default one (the service name + // from the yaml file) is not suitable. This can be seen in any fully + // specified service urls as well as sections that show a base that other + // urls are relative to. + string service_root_url = 6; + + // Declares a single overview page. For example: + //
documentation:
+  //   summary: ...
+  //   overview: (== include overview.md ==)
+  // 
+ // This is a shortcut for the following declaration (using pages style): + //
documentation:
+  //   summary: ...
+  //   pages:
+  //   - name: Overview
+  //     content: (== include overview.md ==)
+  // 
+ // 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 for any element such as + // a method, a field, an enum value. 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". A wildcard will match + // one or more components. To specify a default for all applicable elements, + // the whole pattern "*" is used. + string selector = 1; + + // Description of the selected proto element (e.g. a message, a method, a + // 'service' definition, or a field). Defaults to leading & trailing comments + // taken from the proto source definition of the proto element. + 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: + //
pages:
+  // - name: Tutorial
+  //   content: (== include tutorial.md ==)
+  //   subpages:
+  //   - name: Java
+  //     content: (== include tutorial_java.md ==)
+  // 
+ // 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 (== include {path} + // ==) to include content from a Markdown file. The content can be + // used to produce the documentation page such as HTML format page. + 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/endpoint.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/endpoint.proto new file mode 100644 index 00000000..07c1b4f0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/endpoint.proto @@ -0,0 +1,69 @@ +// Copyright 2024 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 = "EndpointProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +// `Endpoint` describes a network address of a service that serves a set of +// APIs. It is commonly known as a service endpoint. A service may expose +// any number of service endpoints, and all service endpoints share the same +// service definition, such as quota limits and monitoring metrics. +// +// Example: +// +// type: google.api.Service +// name: library-example.googleapis.com +// endpoints: +// # Declares network address `https://library-example.googleapis.com` +// # for service `library-example.googleapis.com`. The `https` scheme +// # is implicit for all service endpoints. Other schemes may be +// # supported in the future. +// - name: library-example.googleapis.com +// allow_cors: false +// - name: content-staging-library-example.googleapis.com +// # Allows HTTP OPTIONS calls to be passed to the API frontend, for it +// # to decide whether the subsequent cross-origin request is allowed +// # to proceed. +// allow_cors: true +message Endpoint { + // The canonical name of this endpoint. + string name = 1; + + // Aliases for this endpoint, these will be served by the same UrlMap as the + // parent endpoint, and will be provisioned in the GCP stack for the Regional + // Endpoints. + repeated string aliases = 2; + + // 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/error_reason.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/error_reason.proto new file mode 100644 index 00000000..a5a8ca57 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/error_reason.proto @@ -0,0 +1,589 @@ +// Copyright 2024 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/error_reason;error_reason"; +option java_multiple_files = true; +option java_outer_classname = "ErrorReasonProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +// Defines the supported values for `google.rpc.ErrorInfo.reason` for the +// `googleapis.com` error domain. This error domain is reserved for [Service +// Infrastructure](https://cloud.google.com/service-infrastructure/docs/overview). +// For each error info of this domain, the metadata key "service" refers to the +// logical identifier of an API service, such as "pubsub.googleapis.com". The +// "consumer" refers to the entity that consumes an API Service. It typically is +// a Google project that owns the client application or the server resource, +// such as "projects/123". Other metadata keys are specific to each error +// reason. For more information, see the definition of the specific error +// reason. +enum ErrorReason { + // Do not use this default value. + ERROR_REASON_UNSPECIFIED = 0; + + // The request is calling a disabled service for a consumer. + // + // Example of an ErrorInfo when the consumer "projects/123" contacting + // "pubsub.googleapis.com" service which is disabled: + // + // { "reason": "SERVICE_DISABLED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "pubsub.googleapis.com" + // } + // } + // + // This response indicates the "pubsub.googleapis.com" has been disabled in + // "projects/123". + SERVICE_DISABLED = 1; + + // The request whose associated billing account is disabled. + // + // Example of an ErrorInfo when the consumer "projects/123" fails to contact + // "pubsub.googleapis.com" service because the associated billing account is + // disabled: + // + // { "reason": "BILLING_DISABLED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "pubsub.googleapis.com" + // } + // } + // + // This response indicates the billing account associated has been disabled. + BILLING_DISABLED = 2; + + // The request is denied because the provided [API + // key](https://cloud.google.com/docs/authentication/api-keys) is invalid. It + // may be in a bad format, cannot be found, or has been expired). + // + // Example of an ErrorInfo when the request is contacting + // "storage.googleapis.com" service with an invalid API key: + // + // { "reason": "API_KEY_INVALID", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // } + // } + API_KEY_INVALID = 3; + + // The request is denied because it violates [API key API + // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_api_restrictions). + // + // Example of an ErrorInfo when the consumer "projects/123" fails to call the + // "storage.googleapis.com" service because this service is restricted in the + // API key: + // + // { "reason": "API_KEY_SERVICE_BLOCKED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + API_KEY_SERVICE_BLOCKED = 4; + + // The request is denied because it violates [API key HTTP + // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions). + // + // Example of an ErrorInfo when the consumer "projects/123" fails to call + // "storage.googleapis.com" service because the http referrer of the request + // violates API key HTTP restrictions: + // + // { "reason": "API_KEY_HTTP_REFERRER_BLOCKED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com", + // } + // } + API_KEY_HTTP_REFERRER_BLOCKED = 7; + + // The request is denied because it violates [API key IP address + // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + // + // Example of an ErrorInfo when the consumer "projects/123" fails to call + // "storage.googleapis.com" service because the caller IP of the request + // violates API key IP address restrictions: + // + // { "reason": "API_KEY_IP_ADDRESS_BLOCKED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com", + // } + // } + API_KEY_IP_ADDRESS_BLOCKED = 8; + + // The request is denied because it violates [API key Android application + // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + // + // Example of an ErrorInfo when the consumer "projects/123" fails to call + // "storage.googleapis.com" service because the request from the Android apps + // violates the API key Android application restrictions: + // + // { "reason": "API_KEY_ANDROID_APP_BLOCKED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + API_KEY_ANDROID_APP_BLOCKED = 9; + + // The request is denied because it violates [API key iOS application + // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + // + // Example of an ErrorInfo when the consumer "projects/123" fails to call + // "storage.googleapis.com" service because the request from the iOS apps + // violates the API key iOS application restrictions: + // + // { "reason": "API_KEY_IOS_APP_BLOCKED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + API_KEY_IOS_APP_BLOCKED = 13; + + // The request is denied because there is not enough rate quota for the + // consumer. + // + // Example of an ErrorInfo when the consumer "projects/123" fails to contact + // "pubsub.googleapis.com" service because consumer's rate quota usage has + // reached the maximum value set for the quota limit + // "ReadsPerMinutePerProject" on the quota metric + // "pubsub.googleapis.com/read_requests": + // + // { "reason": "RATE_LIMIT_EXCEEDED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "pubsub.googleapis.com", + // "quota_metric": "pubsub.googleapis.com/read_requests", + // "quota_limit": "ReadsPerMinutePerProject" + // } + // } + // + // Example of an ErrorInfo when the consumer "projects/123" checks quota on + // the service "dataflow.googleapis.com" and hits the organization quota + // limit "DefaultRequestsPerMinutePerOrganization" on the metric + // "dataflow.googleapis.com/default_requests". + // + // { "reason": "RATE_LIMIT_EXCEEDED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "dataflow.googleapis.com", + // "quota_metric": "dataflow.googleapis.com/default_requests", + // "quota_limit": "DefaultRequestsPerMinutePerOrganization" + // } + // } + RATE_LIMIT_EXCEEDED = 5; + + // The request is denied because there is not enough resource quota for the + // consumer. + // + // Example of an ErrorInfo when the consumer "projects/123" fails to contact + // "compute.googleapis.com" service because consumer's resource quota usage + // has reached the maximum value set for the quota limit "VMsPerProject" + // on the quota metric "compute.googleapis.com/vms": + // + // { "reason": "RESOURCE_QUOTA_EXCEEDED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "compute.googleapis.com", + // "quota_metric": "compute.googleapis.com/vms", + // "quota_limit": "VMsPerProject" + // } + // } + // + // Example of an ErrorInfo when the consumer "projects/123" checks resource + // quota on the service "dataflow.googleapis.com" and hits the organization + // quota limit "jobs-per-organization" on the metric + // "dataflow.googleapis.com/job_count". + // + // { "reason": "RESOURCE_QUOTA_EXCEEDED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "dataflow.googleapis.com", + // "quota_metric": "dataflow.googleapis.com/job_count", + // "quota_limit": "jobs-per-organization" + // } + // } + RESOURCE_QUOTA_EXCEEDED = 6; + + // The request whose associated billing account address is in a tax restricted + // location, violates the local tax restrictions when creating resources in + // the restricted region. + // + // Example of an ErrorInfo when creating the Cloud Storage Bucket in the + // container "projects/123" under a tax restricted region + // "locations/asia-northeast3": + // + // { "reason": "LOCATION_TAX_POLICY_VIOLATED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com", + // "location": "locations/asia-northeast3" + // } + // } + // + // This response indicates creating the Cloud Storage Bucket in + // "locations/asia-northeast3" violates the location tax restriction. + LOCATION_TAX_POLICY_VIOLATED = 10; + + // The request is denied because the caller does not have required permission + // on the user project "projects/123" or the user project is invalid. For more + // information, check the [userProject System + // Parameters](https://cloud.google.com/apis/docs/system-parameters). + // + // Example of an ErrorInfo when the caller is calling Cloud Storage service + // with insufficient permissions on the user project: + // + // { "reason": "USER_PROJECT_DENIED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + USER_PROJECT_DENIED = 11; + + // The request is denied because the consumer "projects/123" is suspended due + // to Terms of Service(Tos) violations. Check [Project suspension + // guidelines](https://cloud.google.com/resource-manager/docs/project-suspension-guidelines) + // for more information. + // + // Example of an ErrorInfo when calling Cloud Storage service with the + // suspended consumer "projects/123": + // + // { "reason": "CONSUMER_SUSPENDED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + CONSUMER_SUSPENDED = 12; + + // The request is denied because the associated consumer is invalid. It may be + // in a bad format, cannot be found, or have been deleted. + // + // Example of an ErrorInfo when calling Cloud Storage service with the + // invalid consumer "projects/123": + // + // { "reason": "CONSUMER_INVALID", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + CONSUMER_INVALID = 14; + + // The request is denied because it violates [VPC Service + // Controls](https://cloud.google.com/vpc-service-controls/docs/overview). + // The 'uid' field is a random generated identifier that customer can use it + // to search the audit log for a request rejected by VPC Service Controls. For + // more information, please refer [VPC Service Controls + // Troubleshooting](https://cloud.google.com/vpc-service-controls/docs/troubleshooting#unique-id) + // + // Example of an ErrorInfo when the consumer "projects/123" fails to call + // Cloud Storage service because the request is prohibited by the VPC Service + // Controls. + // + // { "reason": "SECURITY_POLICY_VIOLATED", + // "domain": "googleapis.com", + // "metadata": { + // "uid": "123456789abcde", + // "consumer": "projects/123", + // "service": "storage.googleapis.com" + // } + // } + SECURITY_POLICY_VIOLATED = 15; + + // The request is denied because the provided access token has expired. + // + // Example of an ErrorInfo when the request is calling Cloud Storage service + // with an expired access token: + // + // { "reason": "ACCESS_TOKEN_EXPIRED", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject" + // } + // } + ACCESS_TOKEN_EXPIRED = 16; + + // The request is denied because the provided access token doesn't have at + // least one of the acceptable scopes required for the API. Please check + // [OAuth 2.0 Scopes for Google + // APIs](https://developers.google.com/identity/protocols/oauth2/scopes) for + // the list of the OAuth 2.0 scopes that you might need to request to access + // the API. + // + // Example of an ErrorInfo when the request is calling Cloud Storage service + // with an access token that is missing required scopes: + // + // { "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject" + // } + // } + ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17; + + // The request is denied because the account associated with the provided + // access token is in an invalid state, such as disabled or deleted. + // For more information, see https://cloud.google.com/docs/authentication. + // + // Warning: For privacy reasons, the server may not be able to disclose the + // email address for some accounts. The client MUST NOT depend on the + // availability of the `email` attribute. + // + // Example of an ErrorInfo when the request is to the Cloud Storage API with + // an access token that is associated with a disabled or deleted [service + // account](http://cloud/iam/docs/service-accounts): + // + // { "reason": "ACCOUNT_STATE_INVALID", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject", + // "email": "user@123.iam.gserviceaccount.com" + // } + // } + ACCOUNT_STATE_INVALID = 18; + + // The request is denied because the type of the provided access token is not + // supported by the API being called. + // + // Example of an ErrorInfo when the request is to the Cloud Storage API with + // an unsupported token type. + // + // { "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject" + // } + // } + ACCESS_TOKEN_TYPE_UNSUPPORTED = 19; + + // The request is denied because the request doesn't have any authentication + // credentials. For more information regarding the supported authentication + // strategies for Google Cloud APIs, see + // https://cloud.google.com/docs/authentication. + // + // Example of an ErrorInfo when the request is to the Cloud Storage API + // without any authentication credentials. + // + // { "reason": "CREDENTIALS_MISSING", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject" + // } + // } + CREDENTIALS_MISSING = 20; + + // The request is denied because the provided project owning the resource + // which acts as the [API + // consumer](https://cloud.google.com/apis/design/glossary#api_consumer) is + // invalid. It may be in a bad format or empty. + // + // Example of an ErrorInfo when the request is to the Cloud Functions API, + // but the offered resource project in the request in a bad format which can't + // perform the ListFunctions method. + // + // { "reason": "RESOURCE_PROJECT_INVALID", + // "domain": "googleapis.com", + // "metadata": { + // "service": "cloudfunctions.googleapis.com", + // "method": + // "google.cloud.functions.v1.CloudFunctionsService.ListFunctions" + // } + // } + RESOURCE_PROJECT_INVALID = 21; + + // The request is denied because the provided session cookie is missing, + // invalid or failed to decode. + // + // Example of an ErrorInfo when the request is calling Cloud Storage service + // with a SID cookie which can't be decoded. + // + // { "reason": "SESSION_COOKIE_INVALID", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject", + // "cookie": "SID" + // } + // } + SESSION_COOKIE_INVALID = 23; + + // The request is denied because the user is from a Google Workspace customer + // that blocks their users from accessing a particular service. + // + // Example scenario: https://support.google.com/a/answer/9197205?hl=en + // + // Example of an ErrorInfo when access to Google Cloud Storage service is + // blocked by the Google Workspace administrator: + // + // { "reason": "USER_BLOCKED_BY_ADMIN", + // "domain": "googleapis.com", + // "metadata": { + // "service": "storage.googleapis.com", + // "method": "google.storage.v1.Storage.GetObject", + // } + // } + USER_BLOCKED_BY_ADMIN = 24; + + // The request is denied because the resource service usage is restricted + // by administrators according to the organization policy constraint. + // For more information see + // https://cloud.google.com/resource-manager/docs/organization-policy/restricting-services. + // + // Example of an ErrorInfo when access to Google Cloud Storage service is + // restricted by Resource Usage Restriction policy: + // + // { "reason": "RESOURCE_USAGE_RESTRICTION_VIOLATED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/project-123", + // "service": "storage.googleapis.com" + // } + // } + RESOURCE_USAGE_RESTRICTION_VIOLATED = 25; + + // Unimplemented. Do not use. + // + // The request is denied because it contains unsupported system parameters in + // URL query parameters or HTTP headers. For more information, + // see https://cloud.google.com/apis/docs/system-parameters + // + // Example of an ErrorInfo when access "pubsub.googleapis.com" service with + // a request header of "x-goog-user-ip": + // + // { "reason": "SYSTEM_PARAMETER_UNSUPPORTED", + // "domain": "googleapis.com", + // "metadata": { + // "service": "pubsub.googleapis.com" + // "parameter": "x-goog-user-ip" + // } + // } + SYSTEM_PARAMETER_UNSUPPORTED = 26; + + // The request is denied because it violates Org Restriction: the requested + // resource does not belong to allowed organizations specified in + // "X-Goog-Allowed-Resources" header. + // + // Example of an ErrorInfo when accessing a GCP resource that is restricted by + // Org Restriction for "pubsub.googleapis.com" service. + // + // { + // reason: "ORG_RESTRICTION_VIOLATION" + // domain: "googleapis.com" + // metadata { + // "consumer":"projects/123456" + // "service": "pubsub.googleapis.com" + // } + // } + ORG_RESTRICTION_VIOLATION = 27; + + // The request is denied because "X-Goog-Allowed-Resources" header is in a bad + // format. + // + // Example of an ErrorInfo when + // accessing "pubsub.googleapis.com" service with an invalid + // "X-Goog-Allowed-Resources" request header. + // + // { + // reason: "ORG_RESTRICTION_HEADER_INVALID" + // domain: "googleapis.com" + // metadata { + // "consumer":"projects/123456" + // "service": "pubsub.googleapis.com" + // } + // } + ORG_RESTRICTION_HEADER_INVALID = 28; + + // Unimplemented. Do not use. + // + // The request is calling a service that is not visible to the consumer. + // + // Example of an ErrorInfo when the consumer "projects/123" contacting + // "pubsub.googleapis.com" service which is not visible to the consumer. + // + // { "reason": "SERVICE_NOT_VISIBLE", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "pubsub.googleapis.com" + // } + // } + // + // This response indicates the "pubsub.googleapis.com" is not visible to + // "projects/123" (or it may not exist). + SERVICE_NOT_VISIBLE = 29; + + // The request is related to a project for which GCP access is suspended. + // + // Example of an ErrorInfo when the consumer "projects/123" fails to contact + // "pubsub.googleapis.com" service because GCP access is suspended: + // + // { "reason": "GCP_SUSPENDED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "pubsub.googleapis.com" + // } + // } + // + // This response indicates the associated GCP account has been suspended. + GCP_SUSPENDED = 30; + + // The request violates the location policies when creating resources in + // the restricted region. + // + // Example of an ErrorInfo when creating the Cloud Storage Bucket by + // "projects/123" for service storage.googleapis.com: + // + // { "reason": "LOCATION_POLICY_VIOLATED", + // "domain": "googleapis.com", + // "metadata": { + // "consumer": "projects/123", + // "service": "storage.googleapis.com", + // } + // } + // + // This response indicates creating the Cloud Storage Bucket in + // "locations/asia-northeast3" violates at least one location policy. + // The troubleshooting guidance is provided in the Help links. + LOCATION_POLICY_VIOLATED = 31; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/BUILD.bazel new file mode 100644 index 00000000..a87c57fe --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/BUILD.bazel @@ -0,0 +1 @@ +exports_files(glob(["*.yaml"])) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/cel.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/cel.yaml new file mode 100644 index 00000000..bbe7fbde --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/cel.yaml @@ -0,0 +1,61 @@ +type: google.api.Service +config_version: 3 +name: cel.googleapis.com +title: Common Expression Language + +apis: +- name: google.api.expr.v1alpha1.ConformanceService +- name: google.api.expr.v1alpha1.CelService + +documentation: + summary: Defines common types for the Common Expression Language. + overview: |- + # Common Expression Language + + The Common Expression Language (CEL) implements common semantics for + expression evaluation, enabling different applications to more easily + interoperate. + + Key Applications + + * Security policy: organization have complex infrastructure and need + common tooling to reason about the system as a whole * Protocols: + expressions are a useful data type and require interoperability across + programming languages and platforms. + + + + Guiding philosophy: + + 1. Keep it small & fast. * CEL evaluates in linear time, is mutation + free, and not Turing-complete. This limitation is a feature of the language + design, which allows the implementation to evaluate orders of magnitude + faster than equivalently sandboxed JavaScript. 2. Make it extensible. * + CEL is designed to be embedded in applications, and allows for extensibility + via its context which allows for functions and data to be provided by the + software that embeds it. 3. Developer-friendly * The language is + approachable to developers. The initial spec was based on the experience of + developing Firebase Rules and usability testing many prior iterations. * + The library itself and accompanying toolings should be easy to adopt by + teams that seek to integrate CEL into their platforms. + + The required components of a system that supports CEL are: + + * The textual representation of an expression as written by a developer. + It is of similar syntax of expressions in C/C++/Java/JavaScript * A binary + representation of an expression. It is an abstract syntax tree (AST). * A + compiler library that converts the textual representation to the binary + representation. This can be done ahead of time (in the control plane) or + just before evaluation (in the data plane). * A context containing one or + more typed variables, often protobuf messages. Most use-case will use + attribute_context.proto * An evaluator library that takes the binary + format in the context and produces a result, usually a Boolean. + + Example of boolean conditions and object construction: + + ``` c // Condition account.balance >= transaction.withdrawal || + (account.overdraftProtection && account.overdraftLimit >= + transaction.withdrawal - account.balance) + + // Object construction common.GeoPoint{ latitude: 10.0, longitude: -5.5 } + ``` diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel new file mode 100644 index 00000000..674c650c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/conformance/v1alpha1/BUILD.bazel @@ -0,0 +1,171 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "conformance_proto", + srcs = [ + "conformance_service.proto", + ], + deps = [ + "//google/api:client_proto", + "//google/api/expr/v1alpha1:checked_proto", + "//google/api/expr/v1alpha1:eval_proto", + "//google/api/expr/v1alpha1:syntax_proto", + "//google/rpc:status_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "conformance_java_proto", + deps = [":conformance_proto"], +) + +java_grpc_library( + name = "conformance_java_grpc", + srcs = [":conformance_proto"], + deps = [":conformance_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "conformance_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1", + protos = [":conformance_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api/expr/v1alpha1:expr_go_proto", + "//google/rpc:status_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "conformance_moved_proto", + srcs = [":conformance_proto"], + deps = [ + "//google/api:client_proto", + "//google/api/expr/v1alpha1:checked_proto", + "//google/api/expr/v1alpha1:eval_proto", + "//google/api/expr/v1alpha1:syntax_proto", + "//google/rpc:status_proto", + ], +) + +py_proto_library( + name = "conformance_py_proto", + deps = [":conformance_moved_proto"], +) + +py_grpc_library( + name = "conformance_py_grpc", + srcs = [":conformance_moved_proto"], + deps = [":conformance_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "conformance_php_proto", + deps = [":conformance_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "conformance_ruby_proto", + deps = [":conformance_proto"], +) + +ruby_grpc_library( + name = "conformance_ruby_grpc", + srcs = [":conformance_proto"], + deps = [":conformance_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "conformance_csharp_proto", + deps = [":conformance_proto"], +) + +csharp_grpc_library( + name = "conformance_csharp_grpc", + srcs = [":conformance_proto"], + deps = [":conformance_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "conformance_cc_proto", + deps = [":conformance_proto"], +) + +cc_grpc_library( + name = "conformance_cc_grpc", + srcs = [":conformance_proto"], + generate_mocks = True, + grpc_only = True, + deps = [":conformance_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/conformance/v1alpha1/conformance_service.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/conformance/v1alpha1/conformance_service.proto new file mode 100644 index 00000000..c0cf2bd1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/conformance/v1alpha1/conformance_service.proto @@ -0,0 +1,183 @@ +// Copyright 2024 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.expr.conformance.v1alpha1; + +import "google/api/client.proto"; +import "google/api/expr/v1alpha1/checked.proto"; +import "google/api/expr/v1alpha1/eval.proto"; +import "google/api/expr/v1alpha1/syntax.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/conformance/v1alpha1;confpb"; +option java_multiple_files = true; +option java_outer_classname = "ConformanceServiceProto"; +option java_package = "com.google.api.expr.conformance.v1alpha1"; + +// Access a CEL implementation from another process or machine. +// A CEL implementation is decomposed as a parser, a static checker, +// and an evaluator. Every CEL implementation is expected to provide +// a server for this API. The API will be used for conformance testing +// and other utilities. +service ConformanceService { + option (google.api.default_host) = "cel.googleapis.com"; + + // Transforms CEL source text into a parsed representation. + rpc Parse(ParseRequest) returns (ParseResponse) { + } + + // Runs static checks on a parsed CEL representation and return + // an annotated representation, or a set of issues. + rpc Check(CheckRequest) returns (CheckResponse) { + } + + // Evaluates a parsed or annotation CEL representation given + // values of external bindings. + rpc Eval(EvalRequest) returns (EvalResponse) { + } +} + +// Request message for the Parse method. +message ParseRequest { + // Required. Source text in CEL syntax. + string cel_source = 1; + + // Tag for version of CEL syntax, for future use. + string syntax_version = 2; + + // File or resource for source text, used in [SourceInfo][google.api.SourceInfo]. + string source_location = 3; + + // Prevent macro expansion. See "Macros" in Language Defiinition. + bool disable_macros = 4; +} + +// Response message for the Parse method. +message ParseResponse { + // The parsed representation, or unset if parsing failed. + google.api.expr.v1alpha1.ParsedExpr parsed_expr = 1; + + // Any number of issues with [StatusDetails][] as the details. + repeated google.rpc.Status issues = 2; +} + +// Request message for the Check method. +message CheckRequest { + // Required. The parsed representation of the CEL program. + google.api.expr.v1alpha1.ParsedExpr parsed_expr = 1; + + // Declarations of types for external variables and functions. + // Required if program uses external variables or functions + // not in the default environment. + repeated google.api.expr.v1alpha1.Decl type_env = 2; + + // The protocol buffer context. See "Name Resolution" in the + // Language Definition. + string container = 3; + + // If true, use only the declarations in [type_env][google.api.expr.conformance.v1alpha1.CheckRequest.type_env]. If false (default), + // add declarations for the standard definitions to the type environment. See + // "Standard Definitions" in the Language Definition. + bool no_std_env = 4; +} + +// Response message for the Check method. +message CheckResponse { + // The annotated representation, or unset if checking failed. + google.api.expr.v1alpha1.CheckedExpr checked_expr = 1; + + // Any number of issues with [StatusDetails][] as the details. + repeated google.rpc.Status issues = 2; +} + +// Request message for the Eval method. +message EvalRequest { + // Required. Either the parsed or annotated representation of the CEL program. + oneof expr_kind { + // Evaluate based on the parsed representation. + google.api.expr.v1alpha1.ParsedExpr parsed_expr = 1; + + // Evaluate based on the checked representation. + google.api.expr.v1alpha1.CheckedExpr checked_expr = 2; + } + + // Bindings for the external variables. The types SHOULD be compatible + // with the type environment in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked. + map bindings = 3; + + // SHOULD be the same container as used in [CheckRequest][google.api.expr.conformance.v1alpha1.CheckRequest], if checked. + string container = 4; +} + +// Response message for the Eval method. +message EvalResponse { + // The execution result, or unset if execution couldn't start. + google.api.expr.v1alpha1.ExprValue result = 1; + + // Any number of issues with [StatusDetails][] as the details. + // Note that CEL execution errors are reified into [ExprValue][]. + // Nevertheless, we'll allow out-of-band issues to be raised, + // which also makes the replies more regular. + repeated google.rpc.Status issues = 2; +} + +// A specific position in source. +message SourcePosition { + // The source location name (e.g. file name). + string location = 1; + + // The UTF-8 code unit offset. + int32 offset = 2; + + // The 1-based index of the starting line in the source text + // where the issue occurs, or 0 if unknown. + int32 line = 3; + + // The 0-based index of the starting position within the line of source text + // where the issue occurs. Only meaningful if line is nonzero. + int32 column = 4; +} + +// Warnings or errors in service execution are represented by +// [google.rpc.Status][google.rpc.Status] messages, with the following message +// in the details field. +message IssueDetails { + // Severities of issues. + enum Severity { + // An unspecified severity. + SEVERITY_UNSPECIFIED = 0; + + // Deprecation issue for statements and method that may no longer be + // supported or maintained. + DEPRECATION = 1; + + // Warnings such as: unused variables. + WARNING = 2; + + // Errors such as: unmatched curly braces or variable redefinition. + ERROR = 3; + } + + // The severity of the issue. + Severity severity = 1; + + // Position in the source, if known. + SourcePosition position = 2; + + // Expression ID from [Expr][], 0 if unknown. + int64 id = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/BUILD.bazel new file mode 100644 index 00000000..1a3539f5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/BUILD.bazel @@ -0,0 +1,232 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "expr_proto", + srcs = [ + "checked.proto", + "eval.proto", + "explain.proto", + "syntax.proto", + "value.proto", + ], + deps = [ + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library( + name = "checked_proto", + srcs = ["checked.proto"], + deps = [ + ":syntax_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +proto_library( + name = "eval_proto", + srcs = ["eval.proto"], + deps = [ + ":value_proto", + "//google/rpc:status_proto", + ], +) + +proto_library( + name = "explain_proto", + srcs = ["explain.proto"], + deps = [ + ":value_proto", + ], +) + +proto_library( + name = "syntax_proto", + srcs = ["syntax.proto"], + deps = [ + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library( + name = "value_proto", + srcs = ["value.proto"], + deps = [ + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "expr_java_proto", + deps = [":expr_proto"], +) + +java_grpc_library( + name = "expr_java_grpc", + srcs = [":expr_proto"], + deps = [":expr_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "expr_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/expr/v1alpha1", + protos = [":expr_proto"], + deps = [ + "//google/rpc:status_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "expr_moved_proto", + srcs = [":expr_proto"], + deps = [ + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +py_proto_library( + name = "expr_py_proto", + deps = [":expr_moved_proto"], +) + +py_grpc_library( + name = "expr_py_grpc", + srcs = [":expr_moved_proto"], + deps = [":expr_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "expr_php_proto", + deps = [":expr_proto"], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "expr_ruby_proto", + deps = [":expr_proto"], +) + +ruby_grpc_library( + name = "expr_ruby_grpc", + srcs = [":expr_proto"], + deps = [":expr_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "expr_csharp_proto", + deps = [":expr_proto"], +) + +csharp_grpc_library( + name = "expr_csharp_grpc", + srcs = [":expr_proto"], + deps = [":expr_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_proto_library", +) + +cc_proto_library( + name = "checked_cc_proto", + deps = [":checked_proto"], +) + +cc_proto_library( + name = "eval_cc_proto", + deps = [":eval_proto"], +) + +cc_proto_library( + name = "explain_cc_proto", + deps = [":explain_proto"], +) + +cc_proto_library( + name = "syntax_cc_proto", + deps = [":syntax_proto"], +) + +cc_proto_library( + name = "value_cc_proto", + deps = [":value_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/checked.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/checked.proto new file mode 100644 index 00000000..c6849348 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/checked.proto @@ -0,0 +1,343 @@ +// Copyright 2024 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.expr.v1alpha1; + +import "google/api/expr/v1alpha1/syntax.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option java_multiple_files = true; +option java_outer_classname = "DeclProto"; +option java_package = "com.google.api.expr.v1alpha1"; + +// Protos for representing CEL declarations and typed checked expressions. + +// A CEL expression which has been successfully type checked. +message CheckedExpr { + // A map from expression ids to resolved references. + // + // The following entries are in this table: + // + // - An Ident or Select expression is represented here if it resolves to a + // declaration. For instance, if `a.b.c` is represented by + // `select(select(id(a), b), c)`, and `a.b` resolves to a declaration, + // while `c` is a field selection, then the reference is attached to the + // nested select expression (but not to the id or or the outer select). + // In turn, if `a` resolves to a declaration and `b.c` are field selections, + // the reference is attached to the ident expression. + // - Every Call expression has an entry here, identifying the function being + // called. + // - Every CreateStruct expression for a message has an entry, identifying + // the message. + map reference_map = 2; + + // A map from expression ids to types. + // + // Every expression node which has a type different than DYN has a mapping + // here. If an expression has type DYN, it is omitted from this map to save + // space. + map type_map = 3; + + // The source info derived from input that generated the parsed `expr` and + // any optimizations made during the type-checking pass. + SourceInfo source_info = 5; + + // The expr version indicates the major / minor version number of the `expr` + // representation. + // + // The most common reason for a version change will be to indicate to the CEL + // runtimes that transformations have been performed on the expr during static + // analysis. In some cases, this will save the runtime the work of applying + // the same or similar transformations prior to evaluation. + string expr_version = 6; + + // The checked expression. Semantically equivalent to the parsed `expr`, but + // may have structural differences. + Expr expr = 4; +} + +// Represents a CEL type. +message Type { + // List type with typed elements, e.g. `list`. + message ListType { + // The element type. + Type elem_type = 1; + } + + // Map type with parameterized key and value types, e.g. `map`. + message MapType { + // The type of the key. + Type key_type = 1; + + // The type of the value. + Type value_type = 2; + } + + // Function type with result and arg types. + message FunctionType { + // Result type of the function. + Type result_type = 1; + + // Argument types of the function. + repeated Type arg_types = 2; + } + + // Application defined abstract type. + message AbstractType { + // The fully qualified name of this abstract type. + string name = 1; + + // Parameter types for this abstract type. + repeated Type parameter_types = 2; + } + + // CEL primitive types. + enum PrimitiveType { + // Unspecified type. + PRIMITIVE_TYPE_UNSPECIFIED = 0; + + // Boolean type. + BOOL = 1; + + // Int64 type. + // + // Proto-based integer values are widened to int64. + INT64 = 2; + + // Uint64 type. + // + // Proto-based unsigned integer values are widened to uint64. + UINT64 = 3; + + // Double type. + // + // Proto-based float values are widened to double values. + DOUBLE = 4; + + // String type. + STRING = 5; + + // Bytes type. + BYTES = 6; + } + + // Well-known protobuf types treated with first-class support in CEL. + enum WellKnownType { + // Unspecified type. + WELL_KNOWN_TYPE_UNSPECIFIED = 0; + + // Well-known protobuf.Any type. + // + // Any types are a polymorphic message type. During type-checking they are + // treated like `DYN` types, but at runtime they are resolved to a specific + // message type specified at evaluation time. + ANY = 1; + + // Well-known protobuf.Timestamp type, internally referenced as `timestamp`. + TIMESTAMP = 2; + + // Well-known protobuf.Duration type, internally referenced as `duration`. + DURATION = 3; + } + + // The kind of type. + oneof type_kind { + // Dynamic type. + google.protobuf.Empty dyn = 1; + + // Null value. + google.protobuf.NullValue null = 2; + + // Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`. + PrimitiveType primitive = 3; + + // Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`. + PrimitiveType wrapper = 4; + + // Well-known protobuf type such as `google.protobuf.Timestamp`. + WellKnownType well_known = 5; + + // Parameterized list with elements of `list_type`, e.g. `list`. + ListType list_type = 6; + + // Parameterized map with typed keys and values. + MapType map_type = 7; + + // Function type. + FunctionType function = 8; + + // Protocol buffer message type. + // + // The `message_type` string specifies the qualified message type name. For + // example, `google.plus.Profile`. + string message_type = 9; + + // Type param type. + // + // The `type_param` string specifies the type parameter name, e.g. `list` + // would be a `list_type` whose element type was a `type_param` type + // named `E`. + string type_param = 10; + + // Type type. + // + // The `type` value specifies the target type. e.g. int is type with a + // target type of `Primitive.INT`. + Type type = 11; + + // Error type. + // + // During type-checking if an expression is an error, its type is propagated + // as the `ERROR` type. This permits the type-checker to discover other + // errors present in the expression. + google.protobuf.Empty error = 12; + + // Abstract, application defined type. + AbstractType abstract_type = 14; + } +} + +// Represents a declaration of a named value or function. +// +// A declaration is part of the contract between the expression, the agent +// evaluating that expression, and the caller requesting evaluation. +message Decl { + // Identifier declaration which specifies its type and optional `Expr` value. + // + // An identifier without a value is a declaration that must be provided at + // evaluation time. An identifier with a value should resolve to a constant, + // but may be used in conjunction with other identifiers bound at evaluation + // time. + message IdentDecl { + // Required. The type of the identifier. + Type type = 1; + + // The constant value of the identifier. If not specified, the identifier + // must be supplied at evaluation time. + Constant value = 2; + + // Documentation string for the identifier. + string doc = 3; + } + + // Function declaration specifies one or more overloads which indicate the + // function's parameter types and return type. + // + // Functions have no observable side-effects (there may be side-effects like + // logging which are not observable from CEL). + message FunctionDecl { + // An overload indicates a function's parameter types and return type, and + // may optionally include a function body described in terms of + // [Expr][google.api.expr.v1alpha1.Expr] values. + // + // Functions overloads are declared in either a function or method + // call-style. For methods, the `params[0]` is the expected type of the + // target receiver. + // + // Overloads must have non-overlapping argument types after erasure of all + // parameterized type variables (similar as type erasure in Java). + message Overload { + // Required. Globally unique overload name of the function which reflects + // the function name and argument types. + // + // This will be used by a [Reference][google.api.expr.v1alpha1.Reference] + // to indicate the `overload_id` that was resolved for the function + // `name`. + string overload_id = 1; + + // List of function parameter [Type][google.api.expr.v1alpha1.Type] + // values. + // + // Param types are disjoint after generic type parameters have been + // replaced with the type `DYN`. Since the `DYN` type is compatible with + // any other type, this means that if `A` is a type parameter, the + // function types `int` and `int` are not disjoint. Likewise, + // `map` is not disjoint from `map`. + // + // When the `result_type` of a function is a generic type param, the + // type param name also appears as the `type` of on at least one params. + repeated Type params = 2; + + // The type param names associated with the function declaration. + // + // For example, `function ex(K key, map map) : V` would yield + // the type params of `K, V`. + repeated string type_params = 3; + + // Required. The result type of the function. For example, the operator + // `string.isEmpty()` would have `result_type` of `kind: BOOL`. + Type result_type = 4; + + // Whether the function is to be used in a method call-style `x.f(...)` + // or a function call-style `f(x, ...)`. + // + // For methods, the first parameter declaration, `params[0]` is the + // expected type of the target receiver. + bool is_instance_function = 5; + + // Documentation string for the overload. + string doc = 6; + } + + // Required. List of function overloads, must contain at least one overload. + repeated Overload overloads = 1; + } + + // The fully qualified name of the declaration. + // + // Declarations are organized in containers and this represents the full path + // to the declaration in its container, as in `google.api.expr.Decl`. + // + // Declarations used as + // [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] + // parameters may or may not have a name depending on whether the overload is + // function declaration or a function definition containing a result + // [Expr][google.api.expr.v1alpha1.Expr]. + string name = 1; + + // Required. The declaration kind. + oneof decl_kind { + // Identifier declaration. + IdentDecl ident = 2; + + // Function declaration. + FunctionDecl function = 3; + } +} + +// Describes a resolved reference to a declaration. +message Reference { + // The fully qualified name of the declaration. + string name = 1; + + // For references to functions, this is a list of `Overload.overload_id` + // values which match according to typing rules. + // + // If the list has more than one element, overload resolution among the + // presented candidates must happen at runtime because of dynamic types. The + // type checker attempts to narrow down this list as much as possible. + // + // Empty if this is not a reference to a + // [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl]. + repeated string overload_id = 3; + + // For references to constants, this may contain the value of the + // constant if known at compile time. + Constant value = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/eval.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/eval.proto new file mode 100644 index 00000000..541bb0bb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/eval.proto @@ -0,0 +1,118 @@ +// Copyright 2024 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.expr.v1alpha1; + +import "google/api/expr/v1alpha1/value.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option java_multiple_files = true; +option java_outer_classname = "EvalProto"; +option java_package = "com.google.api.expr.v1alpha1"; + +// The state of an evaluation. +// +// Can represent an inital, partial, or completed state of evaluation. +message EvalState { + // A single evalution result. + message Result { + // The id of the expression this result if for. + int64 expr = 1; + + // The index in `values` of the resulting value. + int64 value = 2; + } + + // The unique values referenced in this message. + repeated ExprValue values = 1; + + // An ordered list of results. + // + // Tracks the flow of evaluation through the expression. + // May be sparse. + repeated Result results = 3; +} + +// The value of an evaluated expression. +message ExprValue { + // An expression can resolve to a value, error or unknown. + oneof kind { + // A concrete value. + Value value = 1; + + // The set of errors in the critical path of evalution. + // + // Only errors in the critical path are included. For example, + // `( || true) && ` will only result in ``, + // while ` || ` will result in both `` and + // ``. + // + // Errors cause by the presence of other errors are not included in the + // set. For example `.foo`, `foo()`, and ` + 1` will + // only result in ``. + // + // Multiple errors *might* be included when evaluation could result + // in different errors. For example ` + ` and + // `foo(, )` may result in ``, `` or both. + // The exact subset of errors included for this case is unspecified and + // depends on the implementation details of the evaluator. + ErrorSet error = 2; + + // The set of unknowns in the critical path of evaluation. + // + // Unknown behaves identically to Error with regards to propagation. + // Specifically, only unknowns in the critical path are included, unknowns + // caused by the presence of other unknowns are not included, and multiple + // unknowns *might* be included included when evaluation could result in + // different unknowns. For example: + // + // ( || true) && -> + // || -> + // .foo -> + // foo() -> + // + -> or + // + // Unknown takes precidence over Error in cases where a `Value` can short + // circuit the result: + // + // || -> + // && -> + // + // Errors take precidence in all other cases: + // + // + -> + // foo(, ) -> + UnknownSet unknown = 3; + } +} + +// A set of errors. +// +// The errors included depend on the context. See `ExprValue.error`. +message ErrorSet { + // The errors in the set. + repeated google.rpc.Status errors = 1; +} + +// A set of expressions for which the value is unknown. +// +// The unknowns included depend on the context. See `ExprValue.unknown`. +message UnknownSet { + // The ids of the expressions with unknown values. + repeated int64 exprs = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/explain.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/explain.proto new file mode 100644 index 00000000..06b6720d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/explain.proto @@ -0,0 +1,53 @@ +// Copyright 2024 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.expr.v1alpha1; + +import "google/api/expr/v1alpha1/value.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option java_multiple_files = true; +option java_outer_classname = "ExplainProto"; +option java_package = "com.google.api.expr.v1alpha1"; + +// Values of intermediate expressions produced when evaluating expression. +// Deprecated, use `EvalState` instead. +message Explain { + option deprecated = true; + + // ID and value index of one step. + message ExprStep { + // ID of corresponding Expr node. + int64 id = 1; + + // Index of the value in the values list. + int32 value_index = 2; + } + + // All of the observed values. + // + // The field value_index is an index in the values list. + // Separating values from steps is needed to remove redundant values. + repeated Value values = 1; + + // List of steps. + // + // Repeated evaluations of the same expression generate new ExprStep + // instances. The order of such ExprStep instances matches the order of + // elements returned by Comprehension.iter_range. + repeated ExprStep expr_steps = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/syntax.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/syntax.proto new file mode 100644 index 00000000..7b6668db --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/syntax.proto @@ -0,0 +1,438 @@ +// Copyright 2024 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.expr.v1alpha1; + +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option java_multiple_files = true; +option java_outer_classname = "SyntaxProto"; +option java_package = "com.google.api.expr.v1alpha1"; + +// A representation of the abstract syntax of the Common Expression Language. + +// An expression together with source information as returned by the parser. +message ParsedExpr { + // The parsed expression. + Expr expr = 2; + + // The source info derived from input that generated the parsed `expr`. + SourceInfo source_info = 3; +} + +// An abstract representation of a common expression. +// +// Expressions are abstractly represented as a collection of identifiers, +// select statements, function calls, literals, and comprehensions. All +// operators with the exception of the '.' operator are modelled as function +// calls. This makes it easy to represent new operators into the existing AST. +// +// All references within expressions must resolve to a +// [Decl][google.api.expr.v1alpha1.Decl] provided at type-check for an +// expression to be valid. A reference may either be a bare identifier `name` or +// a qualified identifier `google.api.name`. References may either refer to a +// value or a function declaration. +// +// For example, the expression `google.api.name.startsWith('expr')` references +// the declaration `google.api.name` within a +// [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and the +// function declaration `startsWith`. +message Expr { + // An identifier expression. e.g. `request`. + message Ident { + // Required. Holds a single, unqualified identifier, possibly preceded by a + // '.'. + // + // Qualified names are represented by the + // [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression. + string name = 1; + } + + // A field selection expression. e.g. `request.auth`. + message Select { + // Required. The target of the selection expression. + // + // For example, in the select expression `request.auth`, the `request` + // portion of the expression is the `operand`. + Expr operand = 1; + + // Required. The name of the field to select. + // + // For example, in the select expression `request.auth`, the `auth` portion + // of the expression would be the `field`. + string field = 2; + + // Whether the select is to be interpreted as a field presence test. + // + // This results from the macro `has(request.auth)`. + bool test_only = 3; + } + + // A call expression, including calls to predefined functions and operators. + // + // For example, `value == 10`, `size(map_value)`. + message Call { + // The target of an method call-style expression. For example, `x` in + // `x.f()`. + Expr target = 1; + + // Required. The name of the function or method being called. + string function = 2; + + // The arguments. + repeated Expr args = 3; + } + + // A list creation expression. + // + // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g. + // `dyn([1, 'hello', 2.0])` + message CreateList { + // The elements part of the list. + repeated Expr elements = 1; + + // The indices within the elements list which are marked as optional + // elements. + // + // When an optional-typed value is present, the value it contains + // is included in the list. If the optional-typed value is absent, the list + // element is omitted from the CreateList result. + repeated int32 optional_indices = 2; + } + + // A map or message creation expression. + // + // Maps are constructed as `{'key_name': 'value'}`. Message construction is + // similar, but prefixed with a type name and composed of field ids: + // `types.MyType{field_id: 'value'}`. + message CreateStruct { + // Represents an entry. + message Entry { + // Required. An id assigned to this node by the parser which is unique + // in a given expression tree. This is used to associate type + // information and other attributes to the node. + int64 id = 1; + + // The `Entry` key kinds. + oneof key_kind { + // The field key for a message creator statement. + string field_key = 2; + + // The key expression for a map creation statement. + Expr map_key = 3; + } + + // Required. The value assigned to the key. + // + // If the optional_entry field is true, the expression must resolve to an + // optional-typed value. If the optional value is present, the key will be + // set; however, if the optional value is absent, the key will be unset. + Expr value = 4; + + // Whether the key-value pair is optional. + bool optional_entry = 5; + } + + // The type name of the message to be created, empty when creating map + // literals. + string message_name = 1; + + // The entries in the creation expression. + repeated Entry entries = 2; + } + + // A comprehension expression applied to a list or map. + // + // Comprehensions are not part of the core syntax, but enabled with macros. + // A macro matches a specific call signature within a parsed AST and replaces + // the call with an alternate AST block. Macro expansion happens at parse + // time. + // + // The following macros are supported within CEL: + // + // Aggregate type macros may be applied to all elements in a list or all keys + // in a map: + // + // * `all`, `exists`, `exists_one` - test a predicate expression against + // the inputs and return `true` if the predicate is satisfied for all, + // any, or only one value `list.all(x, x < 10)`. + // * `filter` - test a predicate expression against the inputs and return + // the subset of elements which satisfy the predicate: + // `payments.filter(p, p > 1000)`. + // * `map` - apply an expression to all elements in the input and return the + // output aggregate type: `[1, 2, 3].map(i, i * i)`. + // + // The `has(m.x)` macro tests whether the property `x` is present in struct + // `m`. The semantics of this macro depend on the type of `m`. For proto2 + // messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the + // macro tests whether the property is set to its default. For map and struct + // types, the macro tests whether the property `x` is defined on `m`. + // + // Comprehensions for the standard environment macros evaluation can be best + // visualized as the following pseudocode: + // + // ``` + // let `accu_var` = `accu_init` + // for (let `iter_var` in `iter_range`) { + // if (!`loop_condition`) { + // break + // } + // `accu_var` = `loop_step` + // } + // return `result` + // ``` + // + // Comprehensions for the optional V2 macros which support map-to-map + // translation differ slightly from the standard environment macros in that + // they expose both the key or index in addition to the value for each list + // or map entry: + // + // ``` + // let `accu_var` = `accu_init` + // for (let `iter_var`, `iter_var2` in `iter_range`) { + // if (!`loop_condition`) { + // break + // } + // `accu_var` = `loop_step` + // } + // return `result` + // ``` + message Comprehension { + // The name of the first iteration variable. + // When the iter_range is a list, this variable is the list element. + // When the iter_range is a map, this variable is the map entry key. + string iter_var = 1; + + // The name of the second iteration variable, empty if not set. + // When the iter_range is a list, this variable is the integer index. + // When the iter_range is a map, this variable is the map entry value. + // This field is only set for comprehension v2 macros. + string iter_var2 = 8; + + // The range over which the comprehension iterates. + Expr iter_range = 2; + + // The name of the variable used for accumulation of the result. + string accu_var = 3; + + // The initial value of the accumulator. + Expr accu_init = 4; + + // An expression which can contain iter_var, iter_var2, and accu_var. + // + // Returns false when the result has been computed and may be used as + // a hint to short-circuit the remainder of the comprehension. + Expr loop_condition = 5; + + // An expression which can contain iter_var, iter_var2, and accu_var. + // + // Computes the next value of accu_var. + Expr loop_step = 6; + + // An expression which can contain accu_var. + // + // Computes the result. + Expr result = 7; + } + + // Required. An id assigned to this node by the parser which is unique in a + // given expression tree. This is used to associate type information and other + // attributes to a node in the parse tree. + int64 id = 2; + + // Required. Variants of expressions. + oneof expr_kind { + // A literal expression. + Constant const_expr = 3; + + // An identifier expression. + Ident ident_expr = 4; + + // A field selection expression, e.g. `request.auth`. + Select select_expr = 5; + + // A call expression, including calls to predefined functions and operators. + Call call_expr = 6; + + // A list creation expression. + CreateList list_expr = 7; + + // A map or message creation expression. + CreateStruct struct_expr = 8; + + // A comprehension expression. + Comprehension comprehension_expr = 9; + } +} + +// Represents a primitive literal. +// +// Named 'Constant' here for backwards compatibility. +// +// This is similar as the primitives supported in the well-known type +// `google.protobuf.Value`, but richer so it can represent CEL's full range of +// primitives. +// +// Lists and structs are not included as constants as these aggregate types may +// contain [Expr][google.api.expr.v1alpha1.Expr] elements which require +// evaluation and are thus not constant. +// +// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, +// `true`, `null`. +message Constant { + // Required. The valid constant kinds. + oneof constant_kind { + // null value. + google.protobuf.NullValue null_value = 1; + + // boolean value. + bool bool_value = 2; + + // int64 value. + int64 int64_value = 3; + + // uint64 value. + uint64 uint64_value = 4; + + // double value. + double double_value = 5; + + // string value. + string string_value = 6; + + // bytes value. + bytes bytes_value = 7; + + // protobuf.Duration value. + // + // Deprecated: duration is no longer considered a builtin cel type. + google.protobuf.Duration duration_value = 8 [deprecated = true]; + + // protobuf.Timestamp value. + // + // Deprecated: timestamp is no longer considered a builtin cel type. + google.protobuf.Timestamp timestamp_value = 9 [deprecated = true]; + } +} + +// Source information collected at parse time. +message SourceInfo { + // An extension that was requested for the source expression. + message Extension { + // Version + message Version { + // Major version changes indicate different required support level from + // the required components. + int64 major = 1; + + // Minor version changes must not change the observed behavior from + // existing implementations, but may be provided informationally. + int64 minor = 2; + } + + // CEL component specifier. + enum Component { + // Unspecified, default. + COMPONENT_UNSPECIFIED = 0; + + // Parser. Converts a CEL string to an AST. + COMPONENT_PARSER = 1; + + // Type checker. Checks that references in an AST are defined and types + // agree. + COMPONENT_TYPE_CHECKER = 2; + + // Runtime. Evaluates a parsed and optionally checked CEL AST against a + // context. + COMPONENT_RUNTIME = 3; + } + + // Identifier for the extension. Example: constant_folding + string id = 1; + + // If set, the listed components must understand the extension for the + // expression to evaluate correctly. + // + // This field has set semantics, repeated values should be deduplicated. + repeated Component affected_components = 2; + + // Version info. May be skipped if it isn't meaningful for the extension. + // (for example constant_folding might always be v0.0). + Version version = 3; + } + + // The syntax version of the source, e.g. `cel1`. + string syntax_version = 1; + + // The location name. All position information attached to an expression is + // relative to this location. + // + // The location could be a file, UI element, or similar. For example, + // `acme/app/AnvilPolicy.cel`. + string location = 2; + + // Monotonically increasing list of code point offsets where newlines + // `\n` appear. + // + // The line number of a given position is the index `i` where for a given + // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The + // column may be derivd from `id_positions[id] - line_offsets[i]`. + repeated int32 line_offsets = 3; + + // A map from the parse node id (e.g. `Expr.id`) to the code point offset + // within the source. + map positions = 4; + + // A map from the parse node id where a macro replacement was made to the + // call `Expr` that resulted in a macro expansion. + // + // For example, `has(value.field)` is a function call that is replaced by a + // `test_only` field selection in the AST. Likewise, the call + // `list.exists(e, e > 10)` translates to a comprehension expression. The key + // in the map corresponds to the expression id of the expanded macro, and the + // value is the call `Expr` that was replaced. + map macro_calls = 5; + + // A list of tags for extensions that were used while parsing or type checking + // the source expression. For example, optimizations that require special + // runtime support may be specified. + // + // These are used to check feature support between components in separate + // implementations. This can be used to either skip redundant work or + // report an error if the extension is unsupported. + repeated Extension extensions = 6; +} + +// A specific position in source. +message SourcePosition { + // The soucre location name (e.g. file name). + string location = 1; + + // The UTF-8 code unit offset. + int32 offset = 2; + + // The 1-based index of the starting line in the source text + // where the issue occurs, or 0 if unknown. + int32 line = 3; + + // The 0-based index of the starting position within the line of source text + // where the issue occurs. Only meaningful if line is nonzero. + int32 column = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/value.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/value.proto new file mode 100644 index 00000000..69d171d0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1alpha1/value.proto @@ -0,0 +1,115 @@ +// Copyright 2024 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.expr.v1alpha1; + +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.api.expr.v1alpha1"; + +// Contains representations for CEL runtime values. + +// Represents a CEL value. +// +// This is similar to `google.protobuf.Value`, but can represent CEL's full +// range of values. +message Value { + // Required. The valid kinds of values. + oneof kind { + // Null value. + google.protobuf.NullValue null_value = 1; + + // Boolean value. + bool bool_value = 2; + + // Signed integer value. + int64 int64_value = 3; + + // Unsigned integer value. + uint64 uint64_value = 4; + + // Floating point value. + double double_value = 5; + + // UTF-8 string value. + string string_value = 6; + + // Byte string value. + bytes bytes_value = 7; + + // An enum value. + EnumValue enum_value = 9; + + // The proto message backing an object value. + google.protobuf.Any object_value = 10; + + // Map value. + MapValue map_value = 11; + + // List value. + ListValue list_value = 12; + + // Type value. + string type_value = 15; + } +} + +// An enum value. +message EnumValue { + // The fully qualified name of the enum type. + string type = 1; + + // The value of the enum. + int32 value = 2; +} + +// A list. +// +// Wrapped in a message so 'not set' and empty can be differentiated, which is +// required for use in a 'oneof'. +message ListValue { + // The ordered values in the list. + repeated Value values = 1; +} + +// A map. +// +// Wrapped in a message so 'not set' and empty can be differentiated, which is +// required for use in a 'oneof'. +message MapValue { + // An entry in the map. + message Entry { + // The key. + // + // Must be unique with in the map. + // Currently only boolean, int, uint, and string values can be keys. + Value key = 1; + + // The value. + Value value = 2; + } + + // The set of map entries. + // + // CEL has fewer restrictions on keys, so a protobuf map represenation + // cannot be used. + repeated Entry entries = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/BUILD.bazel new file mode 100644 index 00000000..819e1364 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/BUILD.bazel @@ -0,0 +1,91 @@ +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "decl_proto", + srcs = ["decl.proto"], + deps = [ + ":expr_proto", + ], +) + +proto_library( + name = "eval_proto", + srcs = ["eval.proto"], + deps = [ + ":value_proto", + "//google/rpc:status_proto", + ], +) + +proto_library( + name = "expr_proto", + srcs = ["expr.proto"], + deps = [ + ":source_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +proto_library( + name = "source_proto", + srcs = ["source.proto"], +) + +proto_library( + name = "value_proto", + srcs = ["value.proto"], + deps = [ + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +proto_library( + name = "cel_proto", + deps = [ + ":decl_proto", + ":eval_proto", + ":expr_proto", + ":source_proto", + ":value_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_proto_library", +) + +cc_proto_library( + name = "decl_cc_proto", + deps = [":decl_proto"], +) + +cc_proto_library( + name = "eval_cc_proto", + deps = [":eval_proto"], +) + +cc_proto_library( + name = "expr_cc_proto", + deps = [":expr_proto"], +) + +cc_proto_library( + name = "source_cc_proto", + deps = [":source_proto"], +) + +cc_proto_library( + name = "value_cc_proto", + deps = [":value_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/decl.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/decl.proto new file mode 100644 index 00000000..652af36a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/decl.proto @@ -0,0 +1,84 @@ +// Copyright 2024 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.expr.v1beta1; + +import "google/api/expr/v1beta1/expr.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; +option java_multiple_files = true; +option java_outer_classname = "DeclProto"; +option java_package = "com.google.api.expr.v1beta1"; + +// A declaration. +message Decl { + // The id of the declaration. + int32 id = 1; + + // The name of the declaration. + string name = 2; + + // The documentation string for the declaration. + string doc = 3; + + // The kind of declaration. + oneof kind { + // An identifier declaration. + IdentDecl ident = 4; + + // A function declaration. + FunctionDecl function = 5; + } +} + +// The declared type of a variable. +// +// Extends runtime type values with extra information used for type checking +// and dispatching. +message DeclType { + // The expression id of the declared type, if applicable. + int32 id = 1; + + // The type name, e.g. 'int', 'my.type.Type' or 'T' + string type = 2; + + // An ordered list of type parameters, e.g. ``. + // Only applies to a subset of types, e.g. `map`, `list`. + repeated DeclType type_params = 4; +} + +// An identifier declaration. +message IdentDecl { + // Optional type of the identifier. + DeclType type = 3; + + // Optional value of the identifier. + Expr value = 4; +} + +// A function declaration. +message FunctionDecl { + // The function arguments. + repeated IdentDecl args = 1; + + // Optional declared return type. + DeclType return_type = 2; + + // If the first argument of the function is the receiver. + bool receiver_function = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/eval.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/eval.proto new file mode 100644 index 00000000..eb6bd8d3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/eval.proto @@ -0,0 +1,125 @@ +// Copyright 2024 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.expr.v1beta1; + +import "google/api/expr/v1beta1/value.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; +option java_multiple_files = true; +option java_outer_classname = "EvalProto"; +option java_package = "com.google.api.expr.v1beta1"; + +// The state of an evaluation. +// +// Can represent an initial, partial, or completed state of evaluation. +message EvalState { + // A single evaluation result. + message Result { + // The expression this result is for. + IdRef expr = 1; + + // The index in `values` of the resulting value. + int32 value = 2; + } + + // The unique values referenced in this message. + repeated ExprValue values = 1; + + // An ordered list of results. + // + // Tracks the flow of evaluation through the expression. + // May be sparse. + repeated Result results = 3; +} + +// The value of an evaluated expression. +message ExprValue { + // An expression can resolve to a value, error or unknown. + oneof kind { + // A concrete value. + Value value = 1; + + // The set of errors in the critical path of evalution. + // + // Only errors in the critical path are included. For example, + // `( || true) && ` will only result in ``, + // while ` || ` will result in both `` and + // ``. + // + // Errors cause by the presence of other errors are not included in the + // set. For example `.foo`, `foo()`, and ` + 1` will + // only result in ``. + // + // Multiple errors *might* be included when evaluation could result + // in different errors. For example ` + ` and + // `foo(, )` may result in ``, `` or both. + // The exact subset of errors included for this case is unspecified and + // depends on the implementation details of the evaluator. + ErrorSet error = 2; + + // The set of unknowns in the critical path of evaluation. + // + // Unknown behaves identically to Error with regards to propagation. + // Specifically, only unknowns in the critical path are included, unknowns + // caused by the presence of other unknowns are not included, and multiple + // unknowns *might* be included included when evaluation could result in + // different unknowns. For example: + // + // ( || true) && -> + // || -> + // .foo -> + // foo() -> + // + -> or + // + // Unknown takes precidence over Error in cases where a `Value` can short + // circuit the result: + // + // || -> + // && -> + // + // Errors take precidence in all other cases: + // + // + -> + // foo(, ) -> + UnknownSet unknown = 3; + } +} + +// A set of errors. +// +// The errors included depend on the context. See `ExprValue.error`. +message ErrorSet { + // The errors in the set. + repeated google.rpc.Status errors = 1; +} + +// A set of expressions for which the value is unknown. +// +// The unknowns included depend on the context. See `ExprValue.unknown`. +message UnknownSet { + // The ids of the expressions with unknown values. + repeated IdRef exprs = 1; +} + +// A reference to an expression id. +message IdRef { + // The expression id. + int32 id = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/expr.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/expr.proto new file mode 100644 index 00000000..fb36385d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/expr.proto @@ -0,0 +1,265 @@ +// Copyright 2024 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.expr.v1beta1; + +import "google/api/expr/v1beta1/source.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; +option java_multiple_files = true; +option java_outer_classname = "ExprProto"; +option java_package = "com.google.api.expr.v1beta1"; + +// An expression together with source information as returned by the parser. +message ParsedExpr { + // The parsed expression. + Expr expr = 2; + + // The source info derived from input that generated the parsed `expr`. + SourceInfo source_info = 3; + + // The syntax version of the source, e.g. `cel1`. + string syntax_version = 4; +} + +// An abstract representation of a common expression. +// +// Expressions are abstractly represented as a collection of identifiers, +// select statements, function calls, literals, and comprehensions. All +// operators with the exception of the '.' operator are modelled as function +// calls. This makes it easy to represent new operators into the existing AST. +// +// All references within expressions must resolve to a [Decl][google.api.expr.v1beta1.Decl] provided at +// type-check for an expression to be valid. A reference may either be a bare +// identifier `name` or a qualified identifier `google.api.name`. References +// may either refer to a value or a function declaration. +// +// For example, the expression `google.api.name.startsWith('expr')` references +// the declaration `google.api.name` within a [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression, and +// the function declaration `startsWith`. +message Expr { + // An identifier expression. e.g. `request`. + message Ident { + // Required. Holds a single, unqualified identifier, possibly preceded by a + // '.'. + // + // Qualified names are represented by the [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression. + string name = 1; + } + + // A field selection expression. e.g. `request.auth`. + message Select { + // Required. The target of the selection expression. + // + // For example, in the select expression `request.auth`, the `request` + // portion of the expression is the `operand`. + Expr operand = 1; + + // Required. The name of the field to select. + // + // For example, in the select expression `request.auth`, the `auth` portion + // of the expression would be the `field`. + string field = 2; + + // Whether the select is to be interpreted as a field presence test. + // + // This results from the macro `has(request.auth)`. + bool test_only = 3; + } + + // A call expression, including calls to predefined functions and operators. + // + // For example, `value == 10`, `size(map_value)`. + message Call { + // The target of an method call-style expression. For example, `x` in + // `x.f()`. + Expr target = 1; + + // Required. The name of the function or method being called. + string function = 2; + + // The arguments. + repeated Expr args = 3; + } + + // A list creation expression. + // + // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g. + // `dyn([1, 'hello', 2.0])` + message CreateList { + // The elements part of the list. + repeated Expr elements = 1; + } + + // A map or message creation expression. + // + // Maps are constructed as `{'key_name': 'value'}`. Message construction is + // similar, but prefixed with a type name and composed of field ids: + // `types.MyType{field_id: 'value'}`. + message CreateStruct { + // Represents an entry. + message Entry { + // Required. An id assigned to this node by the parser which is unique + // in a given expression tree. This is used to associate type + // information and other attributes to the node. + int32 id = 1; + + // The `Entry` key kinds. + oneof key_kind { + // The field key for a message creator statement. + string field_key = 2; + + // The key expression for a map creation statement. + Expr map_key = 3; + } + + // Required. The value assigned to the key. + Expr value = 4; + } + + // The type name of the message to be created, empty when creating map + // literals. + string type = 1; + + // The entries in the creation expression. + repeated Entry entries = 2; + } + + // A comprehension expression applied to a list or map. + // + // Comprehensions are not part of the core syntax, but enabled with macros. + // A macro matches a specific call signature within a parsed AST and replaces + // the call with an alternate AST block. Macro expansion happens at parse + // time. + // + // The following macros are supported within CEL: + // + // Aggregate type macros may be applied to all elements in a list or all keys + // in a map: + // + // * `all`, `exists`, `exists_one` - test a predicate expression against + // the inputs and return `true` if the predicate is satisfied for all, + // any, or only one value `list.all(x, x < 10)`. + // * `filter` - test a predicate expression against the inputs and return + // the subset of elements which satisfy the predicate: + // `payments.filter(p, p > 1000)`. + // * `map` - apply an expression to all elements in the input and return the + // output aggregate type: `[1, 2, 3].map(i, i * i)`. + // + // The `has(m.x)` macro tests whether the property `x` is present in struct + // `m`. The semantics of this macro depend on the type of `m`. For proto2 + // messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the + // macro tests whether the property is set to its default. For map and struct + // types, the macro tests whether the property `x` is defined on `m`. + message Comprehension { + // The name of the iteration variable. + string iter_var = 1; + + // The range over which var iterates. + Expr iter_range = 2; + + // The name of the variable used for accumulation of the result. + string accu_var = 3; + + // The initial value of the accumulator. + Expr accu_init = 4; + + // An expression which can contain iter_var and accu_var. + // + // Returns false when the result has been computed and may be used as + // a hint to short-circuit the remainder of the comprehension. + Expr loop_condition = 5; + + // An expression which can contain iter_var and accu_var. + // + // Computes the next value of accu_var. + Expr loop_step = 6; + + // An expression which can contain accu_var. + // + // Computes the result. + Expr result = 7; + } + + // Required. An id assigned to this node by the parser which is unique in a + // given expression tree. This is used to associate type information and other + // attributes to a node in the parse tree. + int32 id = 2; + + // Required. Variants of expressions. + oneof expr_kind { + // A literal expression. + Literal literal_expr = 3; + + // An identifier expression. + Ident ident_expr = 4; + + // A field selection expression, e.g. `request.auth`. + Select select_expr = 5; + + // A call expression, including calls to predefined functions and operators. + Call call_expr = 6; + + // A list creation expression. + CreateList list_expr = 7; + + // A map or object creation expression. + CreateStruct struct_expr = 8; + + // A comprehension expression. + Comprehension comprehension_expr = 9; + } +} + +// Represents a primitive literal. +// +// This is similar to the primitives supported in the well-known type +// `google.protobuf.Value`, but richer so it can represent CEL's full range of +// primitives. +// +// Lists and structs are not included as constants as these aggregate types may +// contain [Expr][google.api.expr.v1beta1.Expr] elements which require evaluation and are thus not constant. +// +// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, +// `true`, `null`. +message Literal { + // Required. The valid constant kinds. + oneof constant_kind { + // null value. + google.protobuf.NullValue null_value = 1; + + // boolean value. + bool bool_value = 2; + + // int64 value. + int64 int64_value = 3; + + // uint64 value. + uint64 uint64_value = 4; + + // double value. + double double_value = 5; + + // string value. + string string_value = 6; + + // bytes value. + bytes bytes_value = 7; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/source.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/source.proto new file mode 100644 index 00000000..9906327b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/source.proto @@ -0,0 +1,62 @@ +// Copyright 2024 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.expr.v1beta1; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; +option java_multiple_files = true; +option java_outer_classname = "SourceProto"; +option java_package = "com.google.api.expr.v1beta1"; + +// Source information collected at parse time. +message SourceInfo { + // The location name. All position information attached to an expression is + // relative to this location. + // + // The location could be a file, UI element, or similar. For example, + // `acme/app/AnvilPolicy.cel`. + string location = 2; + + // Monotonically increasing list of character offsets where newlines appear. + // + // The line number of a given position is the index `i` where for a given + // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The + // column may be derivd from `id_positions[id] - line_offsets[i]`. + repeated int32 line_offsets = 3; + + // A map from the parse node id (e.g. `Expr.id`) to the character offset + // within source. + map positions = 4; +} + +// A specific position in source. +message SourcePosition { + // The soucre location name (e.g. file name). + string location = 1; + + // The character offset. + int32 offset = 2; + + // The 1-based index of the starting line in the source text + // where the issue occurs, or 0 if unknown. + int32 line = 3; + + // The 0-based index of the starting position within the line of source text + // where the issue occurs. Only meaningful if line is nonzer.. + int32 column = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/value.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/value.proto new file mode 100644 index 00000000..74f225ae --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/expr/v1beta1/value.proto @@ -0,0 +1,114 @@ +// Copyright 2024 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.expr.v1beta1; + +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; +option java_multiple_files = true; +option java_outer_classname = "ValueProto"; +option java_package = "com.google.api.expr.v1beta1"; + +// Represents a CEL value. +// +// This is similar to `google.protobuf.Value`, but can represent CEL's full +// range of values. +message Value { + // Required. The valid kinds of values. + oneof kind { + // Null value. + google.protobuf.NullValue null_value = 1; + + // Boolean value. + bool bool_value = 2; + + // Signed integer value. + int64 int64_value = 3; + + // Unsigned integer value. + uint64 uint64_value = 4; + + // Floating point value. + double double_value = 5; + + // UTF-8 string value. + string string_value = 6; + + // Byte string value. + bytes bytes_value = 7; + + // An enum value. + EnumValue enum_value = 9; + + // The proto message backing an object value. + google.protobuf.Any object_value = 10; + + // Map value. + MapValue map_value = 11; + + // List value. + ListValue list_value = 12; + + // A Type value represented by the fully qualified name of the type. + string type_value = 15; + } +} + +// An enum value. +message EnumValue { + // The fully qualified name of the enum type. + string type = 1; + + // The value of the enum. + int32 value = 2; +} + +// A list. +// +// Wrapped in a message so 'not set' and empty can be differentiated, which is +// required for use in a 'oneof'. +message ListValue { + // The ordered values in the list. + repeated Value values = 1; +} + +// A map. +// +// Wrapped in a message so 'not set' and empty can be differentiated, which is +// required for use in a 'oneof'. +message MapValue { + // An entry in the map. + message Entry { + // The key. + // + // Must be unique with in the map. + // Currently only boolean, int, uint, and string values can be keys. + Value key = 1; + + // The value. + Value value = 2; + } + + // The set of map entries. + // + // CEL has fewer restrictions on keys, so a protobuf map represenation + // cannot be used. + repeated Entry entries = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/field_behavior.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/field_behavior.proto new file mode 100644 index 00000000..2865ba05 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/field_behavior.proto @@ -0,0 +1,104 @@ +// Copyright 2024 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 [packed = false]; +} + +// 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; + + // Denotes that this field returns a non-empty default value if not set. + // This indicates that if the user provides the empty value in a request, + // a non-empty value will be returned. The user will not be aware of what + // non-empty value to expect. + NON_EMPTY_DEFAULT = 7; + + // Denotes that the field in a resource (a message annotated with + // google.api.resource) is used in the resource name to uniquely identify the + // resource. For AIP-compliant APIs, this should only be applied to the + // `name` field on the resource. + // + // This behavior should not be applied to references to other resources within + // the message. + // + // The identifier field of resources often have different field behavior + // depending on the request it is embedded in (e.g. for Create methods name + // is optional and unused, while for Update methods it is required). Instead + // of method-specific annotations, only `IDENTIFIER` is required. + IDENTIFIER = 8; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/field_info.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/field_info.proto new file mode 100644 index 00000000..2cc0876d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/field_info.proto @@ -0,0 +1,106 @@ +// Copyright 2024 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 = "FieldInfoProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.FieldOptions { + // Rich semantic descriptor of an API field beyond the basic typing. + // + // Examples: + // + // string request_id = 1 [(google.api.field_info).format = UUID4]; + // string old_ip_address = 2 [(google.api.field_info).format = IPV4]; + // string new_ip_address = 3 [(google.api.field_info).format = IPV6]; + // string actual_ip_address = 4 [ + // (google.api.field_info).format = IPV4_OR_IPV6 + // ]; + // google.protobuf.Any generic_field = 5 [ + // (google.api.field_info).referenced_types = {type_name: "ActualType"}, + // (google.api.field_info).referenced_types = {type_name: "OtherType"}, + // ]; + // google.protobuf.Any generic_user_input = 5 [ + // (google.api.field_info).referenced_types = {type_name: "*"}, + // ]; + google.api.FieldInfo field_info = 291403980; +} + +// Rich semantic information of an API field beyond basic typing. +message FieldInfo { + // The standard format of a field value. The supported formats are all backed + // by either an RFC defined by the IETF or a Google-defined AIP. + enum Format { + // Default, unspecified value. + FORMAT_UNSPECIFIED = 0; + + // Universally Unique Identifier, version 4, value as defined by + // https://datatracker.ietf.org/doc/html/rfc4122. The value may be + // normalized to entirely lowercase letters. For example, the value + // `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to + // `f47ac10b-58cc-0372-8567-0e02b2c3d479`. + UUID4 = 1; + + // Internet Protocol v4 value as defined by [RFC + // 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be + // condensed, with leading zeros in each octet stripped. For example, + // `001.022.233.040` would be condensed to `1.22.233.40`. + IPV4 = 2; + + // Internet Protocol v6 value as defined by [RFC + // 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be + // normalized to entirely lowercase letters with zeros compressed, following + // [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example, + // the value `2001:0DB8:0::0` would be normalized to `2001:db8::`. + IPV6 = 3; + + // An IP address in either v4 or v6 format as described by the individual + // values defined herein. See the comments on the IPV4 and IPV6 types for + // allowed normalizations of each. + IPV4_OR_IPV6 = 4; + } + + // The standard format of a field value. This does not explicitly configure + // any API consumer, just documents the API's format for the field it is + // applied to. + Format format = 1; + + // The type(s) that the annotated, generic field may represent. + // + // Currently, this must only be used on fields of type `google.protobuf.Any`. + // Supporting other generic types may be considered in the future. + repeated TypeReference referenced_types = 2; +} + +// A reference to a message type, for use in [FieldInfo][google.api.FieldInfo]. +message TypeReference { + // The name of the type that the annotated, generic field may represent. + // If the type is in the same protobuf package, the value can be the simple + // message name e.g., `"MyMessage"`. Otherwise, the value must be the + // fully-qualified message name e.g., `"google.library.v1.Book"`. + // + // If the type(s) are unknown to the service (e.g. the field accepts generic + // user input), use the wildcard `"*"` to denote this behavior. + // + // See [AIP-202](https://google.aip.dev/202#type-references) for more details. + string type_name = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/http.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/http.proto new file mode 100644 index 00000000..e3270371 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/http.proto @@ -0,0 +1,371 @@ +// Copyright 2024 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 parameters 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; +} + +// gRPC Transcoding +// +// gRPC Transcoding is a feature for mapping between a gRPC method and one or +// more HTTP REST endpoints. It allows developers to build a single API service +// that supports both gRPC APIs and REST APIs. Many systems, including [Google +// APIs](https://github.com/googleapis/googleapis), +// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC +// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), +// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +// and use it for large scale production services. +// +// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies +// how different portions of the gRPC request message are mapped to the URL +// path, URL query parameters, and HTTP request body. It also controls how the +// gRPC response message is mapped to the HTTP response body. `HttpRule` is +// typically specified as an `google.api.http` annotation on the gRPC method. +// +// Each mapping specifies a URL path template and an HTTP method. The path +// template may refer to one or more fields in the gRPC request message, as long +// as each field is a non-repeated field with a primitive (non-message) type. +// The path template controls how fields of the request message are mapped to +// the URL path. +// +// Example: +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http) = { +// get: "/v1/{name=messages/*}" +// }; +// } +// } +// message GetMessageRequest { +// string name = 1; // Mapped to URL path. +// } +// message Message { +// string text = 1; // The resource content. +// } +// +// This enables an HTTP REST to gRPC mapping as below: +// +// - HTTP: `GET /v1/messages/123456` +// - gRPC: `GetMessage(name: "messages/123456")` +// +// Any fields in the request message which are not bound by the path template +// automatically become HTTP query parameters if there is no HTTP request body. +// For example: +// +// 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 URL path. +// int64 revision = 2; // Mapped to URL query parameter `revision`. +// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. +// } +// +// This enables a HTTP JSON to RPC mapping as below: +// +// - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo` +// - gRPC: `GetMessage(message_id: "123456" revision: 2 sub: +// SubMessage(subfield: "foo"))` +// +// Note that fields which are mapped to URL query parameters must have a +// primitive type or a repeated primitive type or a non-repeated message type. +// In the case of a repeated type, the parameter can be repeated in the URL +// as `...?param=A¶m=B`. In the case of a message type, each field of the +// message is mapped to a separate parameter, such as +// `...?foo.a=A&foo.b=B&foo.c=C`. +// +// For HTTP methods that 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) = { +// patch: "/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: `PATCH /v1/messages/123456 { "text": "Hi!" }` +// - gRPC: `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) = { +// patch: "/v1/messages/{message_id}" +// body: "*" +// }; +// } +// } +// message Message { +// string message_id = 1; +// string text = 2; +// } +// +// +// The following HTTP JSON to RPC mapping is enabled: +// +// - HTTP: `PATCH /v1/messages/123456 { "text": "Hi!" }` +// - gRPC: `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 when +// 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: `GET /v1/messages/123456` +// - gRPC: `GetMessage(message_id: "123456")` +// +// - HTTP: `GET /v1/users/me/messages/123456` +// - gRPC: `GetMessage(user_id: "me" message_id: "123456")` +// +// Rules for HTTP mapping +// +// 1. Leaf request fields (recursive expansion nested messages in the request +// message) are classified into three categories: +// - Fields referred by the path template. They are passed via the URL path. +// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They +// are passed via the HTTP +// request body. +// - All other fields are passed via the URL query parameters, and the +// parameter name is the field path in the request message. A repeated +// field can be represented as multiple query parameters under the same +// name. +// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL +// query parameter, all fields +// are passed via URL path and HTTP request body. +// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP +// request body, all +// fields are passed via URL path and URL query parameters. +// +// Path template syntax +// +// Template = "/" Segments [ Verb ] ; +// Segments = Segment { "/" Segment } ; +// Segment = "*" | "**" | LITERAL | Variable ; +// Variable = "{" FieldPath [ "=" Segments ] "}" ; +// FieldPath = IDENT { "." IDENT } ; +// Verb = ":" LITERAL ; +// +// The syntax `*` matches a single URL path segment. The syntax `**` matches +// zero or more URL path segments, which must be the last part of the URL path +// except the `Verb`. +// +// 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=*}`. +// +// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` +// contains any reserved character, such characters should be percent-encoded +// before the matching. +// +// If a variable contains exactly one path segment, such as `"{var}"` or +// `"{var=*}"`, when such a variable is expanded into a URL path on the client +// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The +// server side does the reverse decoding. Such variables show up in the +// [Discovery +// Document](https://developers.google.com/discovery/v1/reference/apis) as +// `{var}`. +// +// If a variable contains multiple path segments, such as `"{var=foo/*}"` +// or `"{var=**}"`, when such a variable is expanded into a URL path on the +// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. +// The server side does the reverse decoding, except "%2F" and "%2f" are left +// unchanged. Such variables show up in the +// [Discovery +// Document](https://developers.google.com/discovery/v1/reference/apis) as +// `{+var}`. +// +// Using gRPC API Service Configuration +// +// gRPC API Service Configuration (service config) is a configuration language +// for configuring a gRPC service to become a user-facing product. The +// service config is simply the YAML representation of the `google.api.Service` +// proto message. +// +// As an alternative to annotating your proto file, you can configure gRPC +// transcoding in your service config YAML files. You do this by specifying a +// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same +// effect as the proto annotation. This can be particularly useful if you +// have a proto that is reused in multiple services. Note that any transcoding +// specified in the service config will override any matching transcoding +// configuration in the proto. +// +// The following example selects a gRPC method and applies an `HttpRule` to it: +// +// http: +// rules: +// - selector: example.v1.Messaging.GetMessage +// get: /v1/messages/{message_id}/{sub.subfield} +// +// Special notes +// +// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the +// proto to JSON conversion must follow the [proto3 +// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +// +// While the single segment variable follows the semantics of +// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String +// Expansion, the multi segment variable **does not** follow RFC 6570 Section +// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion +// does not expand special characters like `?` and `#`, which would lead +// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding +// for multi segment variables. +// +// The path variables **must not** refer to any repeated or mapped field, +// because client libraries are not capable of handling such variable expansion. +// +// The path variables **must not** capture the leading "/" character. The reason +// is that the most common use case "{var}" does not capture the leading "/" +// character. For consistency, all path variables must share the same behavior. +// +// Repeated message fields must not be mapped to URL query parameters, because +// no client library can support such complicated mapping. +// +// If an API needs to use a JSON array for request or response body, it can map +// the request or response body to a repeated field. However, some gRPC +// Transcoding implementations may not support this feature. +message HttpRule { + // Selects a method 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 { + // Maps to HTTP GET. Used for listing and getting information about + // resources. + string get = 2; + + // Maps to HTTP PUT. Used for replacing a resource. + string put = 3; + + // Maps to HTTP POST. Used for creating a resource or performing an action. + string post = 4; + + // Maps to HTTP DELETE. Used for deleting a resource. + string delete = 5; + + // Maps to HTTP PATCH. 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 request + // body, or `*` for mapping all request fields not captured by the path + // pattern to the HTTP body, or omitted for not having any HTTP request body. + // + // NOTE: the referred field must be present at the top-level of the request + // message type. + string body = 7; + + // Optional. The name of the response field whose value is mapped to the HTTP + // response body. When omitted, the entire response message will be used + // as the HTTP response body. + // + // NOTE: The referred field must be present at the top-level of the response + // message type. + 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/httpbody.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/httpbody.proto new file mode 100644 index 00000000..920612dc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/httpbody.proto @@ -0,0 +1,81 @@ +// Copyright 2024 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 cc_enable_arenas = true; +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 header value specifying the content type of the body. + string content_type = 1; + + // The HTTP request/response body as raw binary. + 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/label.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/label.proto new file mode 100644 index 00000000..3c5588b8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/label.proto @@ -0,0 +1,48 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/launch_stage.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/launch_stage.proto new file mode 100644 index 00000000..9863fc23 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/launch_stage.proto @@ -0,0 +1,72 @@ +// Copyright 2024 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](https://cloud.google.com/terms/launch-stages). +enum LaunchStage { + // Do not use this default value. + LAUNCH_STAGE_UNSPECIFIED = 0; + + // The feature is not yet implemented. Users can not use it. + UNIMPLEMENTED = 6; + + // Prelaunch features are hidden from users and are only visible internally. + PRELAUNCH = 7; + + // 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 allowlisted. 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/log.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/log.proto new file mode 100644 index 00000000..5a458e77 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/log.proto @@ -0,0 +1,54 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/logging.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/logging.proto new file mode 100644 index 00000000..ccefb120 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/logging.proto @@ -0,0 +1,81 @@ +// Copyright 2024 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 = "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/pkgs/appengine/lib/src/grpc_api/protos/google/api/metric.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/metric.proto new file mode 100644 index 00000000..126f526c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/metric.proto @@ -0,0 +1,268 @@ +// Copyright 2024 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/api/launch_stage.proto"; +import "google/protobuf/duration.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. + // For information on setting the start time and end time based on + // the MetricKind, see [TimeInterval][google.monitoring.v3.TimeInterval]. + 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; + } + + // Additional annotations that can be used to guide the usage of a metric. + message MetricDescriptorMetadata { + // Deprecated. Must use the + // [MetricDescriptor.launch_stage][google.api.MetricDescriptor.launch_stage] + // instead. + LaunchStage launch_stage = 1 [deprecated = true]; + + // The sampling period of metric data points. For metrics which are written + // periodically, consecutive data points are stored at this time interval, + // excluding data loss due to errors. Metrics with a higher granularity have + // a smaller sampling period. + google.protobuf.Duration sample_period = 2; + + // The delay of data points caused by ingestion. Data points older than this + // age are guaranteed to be ingested and available to be read, excluding + // data loss due to errors. + google.protobuf.Duration ingest_delay = 3; + } + + // 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 metric types have the DNS name + // `custom.googleapis.com` or `external.googleapis.com`. Metric types should + // use a natural hierarchical grouping. For example: + // + // "custom.googleapis.com/invoice/paid/amount" + // "external.googleapis.com/prometheus/up" + // "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 units in which the metric value is reported. It is only applicable + // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` + // defines the representation of the stored metric values. + // + // Different systems might scale the values to be more easily displayed (so a + // value of `0.02kBy` _might_ be displayed as `20By`, and a value of + // `3523kBy` _might_ be displayed as `3.5MBy`). However, if the `unit` is + // `kBy`, then the value of the metric is always in thousands of bytes, no + // matter how it might be displayed. + // + // If you want a custom metric to record the exact number of CPU-seconds used + // by a job, you can create an `INT64 CUMULATIVE` metric whose `unit` is + // `s{CPU}` (or equivalently `1s{CPU}` or just `s`). If the job uses 12,005 + // CPU-seconds, then the value is written as `12005`. + // + // Alternatively, if you want a custom metric to record data in a more + // granular way, you can create a `DOUBLE CUMULATIVE` metric whose `unit` is + // `ks{CPU}`, and then write the value `12.005` (which is `12005/1000`), + // or use `Kis{CPU}` and write `11.723` (which is `12005/1024`). + // + // The supported units are a subset of [The Unified Code for Units of + // Measure](https://unitsofmeasure.org/ucum.html) standard: + // + // **Basic units (UNIT)** + // + // * `bit` bit + // * `By` byte + // * `s` second + // * `min` minute + // * `h` hour + // * `d` day + // * `1` dimensionless + // + // **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) + // * `Pi` pebi (2^50) + // + // **Grammar** + // + // The grammar also includes these connectors: + // + // * `/` division or ratio (as an infix operator). For examples, + // `kBy/{email}` or `MiBy/10ms` (although you should almost never + // have `/s` in a metric `unit`; rates should always be computed at + // query time from the underlying cumulative or delta value). + // * `.` multiplication or composition (as an infix operator). For + // examples, `GBy.d` or `k{watt}.h`. + // + // 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`. If the annotation + // is used alone, then the unit is equivalent to `1`. For examples, + // `{request}/s == 1/s`, `By{transmitted}/s == By/s`. + // * `NAME` is a sequence of non-blank printable ASCII characters not + // containing `{` or `}`. + // * `1` represents a unitary [dimensionless + // unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, such + // as in `1/s`. It is typically used when none of the basic units are + // appropriate. For example, "new users per day" can be represented as + // `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 new + // users). Alternatively, "thousands of page views per day" would be + // represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a metric + // value of `5.3` would mean "5300 page views per day"). + // * `%` represents dimensionless value of 1/100, and annotates values giving + // a percentage (so the metric values are typically in the range of 0..100, + // and a metric value `3` means "3 percent"). + // * `10^2.%` indicates a metric contains a ratio, typically in the range + // 0..1, that will be multiplied by 100 and displayed as a percentage + // (so a metric value `0.03` means "3 percent"). + 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; + + // Optional. Metadata which can be used to guide usage of the metric. + MetricDescriptorMetadata metadata = 10; + + // Optional. The launch stage of the metric definition. + LaunchStage launch_stage = 12; + + // Read-only. If present, then a [time + // series][google.monitoring.v3.TimeSeries], which is identified partially by + // a metric type and a + // [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor], that + // is associated with this metric type can only be associated with one of the + // monitored resource types listed here. + repeated string monitored_resource_types = 13; +} + +// 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 labels = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/monitored_resource.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/monitored_resource.proto new file mode 100644 index 00000000..d7588ddf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/monitored_resource.proto @@ -0,0 +1,130 @@ +// Copyright 2024 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/api/launch_stage.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. + // For a list of types, see [Monitored resource + // types](https://cloud.google.com/monitoring/api/resources) + // and [Logging resource + // types](https://cloud.google.com/logging/docs/api/v2/resource-list). + 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; + + // Optional. The launch stage of the monitored resource definition. + LaunchStage launch_stage = 7; +} + +// 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 +// `"project_id"`, `"instance_id"` and `"zone"`: +// +// { "type": "gce_instance", +// "labels": { "project_id": "my-project", +// "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`. Some descriptors include the service name in the type; for + // example, the type of a Datastream stream is + // `datastream.googleapis.com/Stream`. + 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 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. Monitoring and +// Logging use an ingestion pipeline to extract metadata for cloud resources of +// all types, and store 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, including + // "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 user_labels = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/monitoring.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/monitoring.proto new file mode 100644 index 00000000..3bac622d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/monitoring.proto @@ -0,0 +1,107 @@ +// Copyright 2024 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 = "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/num_overdue` metric is only sent to the +// consumer project. +// +// monitored_resources: +// - type: library.googleapis.com/Branch +// display_name: "Library Branch" +// description: "A branch of a library." +// launch_stage: GA +// labels: +// - key: resource_container +// description: "The Cloud container (ie. project id) for the Branch." +// - key: location +// description: "The location of the library branch." +// - key: branch_id +// description: "The id of the branch." +// metrics: +// - name: library.googleapis.com/book/returned_count +// display_name: "Books Returned" +// description: "The count of books that have been returned." +// launch_stage: GA +// metric_kind: DELTA +// value_type: INT64 +// unit: "1" +// labels: +// - key: customer_id +// description: "The id of the customer." +// - name: library.googleapis.com/book/num_overdue +// display_name: "Books Overdue" +// description: "The current number of overdue books." +// launch_stage: GA +// metric_kind: GAUGE +// value_type: INT64 +// unit: "1" +// labels: +// - key: customer_id +// description: "The id of the customer." +// 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/num_overdue +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; + + // Types of the metrics to report to this monitoring destination. + // Each type 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. A monitored resource type may + // appear in multiple monitoring destinations if different aggregations are + // needed for different sets of metrics associated with that monitored + // resource type. A monitored resource and metric pair may only be used once + // in the Monitoring configuration. + repeated MonitoringDestination producer_destinations = 1; + + // Monitoring configurations for sending metrics to the consumer project. + // There can be multiple consumer destinations. A monitored resource type may + // appear in multiple monitoring destinations if different aggregations are + // needed for different sets of metrics associated with that monitored + // resource type. A monitored resource and metric pair may only be used once + // in the Monitoring configuration. + repeated MonitoringDestination consumer_destinations = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/policy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/policy.proto new file mode 100644 index 00000000..25b75f3a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/policy.proto @@ -0,0 +1,85 @@ +// Copyright 2024 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/serviceconfig;serviceconfig"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +// Provides `google.api.field_policy` annotation at proto fields. +extend google.protobuf.FieldOptions { + // See [FieldPolicy][]. + FieldPolicy field_policy = 158361448; +} + +// Provides `google.api.method_policy` annotation at proto methods. +extend google.protobuf.MethodOptions { + // See [MethodPolicy][]. + MethodPolicy method_policy = 161893301; +} + +// Google API Policy Annotation +// +// This message defines a simple API policy annotation that can be used to +// annotate API request and response message fields with applicable policies. +// One field may have multiple applicable policies that must all be satisfied +// before a request can be processed. This policy annotation is used to +// generate the overall policy that will be used for automatic runtime +// policy enforcement and documentation generation. +message FieldPolicy { + // Selects one or more request or response message fields to apply this + // `FieldPolicy`. + // + // When a `FieldPolicy` is used in proto annotation, the selector must + // be left as empty. The service config generator will automatically fill + // the correct value. + // + // When a `FieldPolicy` is used in service config, the selector must be a + // comma-separated string with valid request or response field paths, + // such as "foo.bar" or "foo.bar,foo.baz". + string selector = 1; + + // Specifies the required permission(s) for the resource referred to by the + // field. It requires the field contains a valid resource reference, and + // the request must pass the permission checks to proceed. For example, + // "resourcemanager.projects.get". + string resource_permission = 2; + + // Specifies the resource type for the resource referred to by the field. + string resource_type = 3; +} + +// Defines policies applying to an RPC method. +message MethodPolicy { + // Selects a method to which these policies should be enforced, for example, + // "google.pubsub.v1.Subscriber.CreateSubscription". + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax + // details. + // + // NOTE: This field must not be set in the proto annotation. It will be + // automatically filled by the service config compiler . + string selector = 9; + + // Policies that are applicable to the request message. + repeated FieldPolicy request_policies = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/quota.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/quota.proto new file mode 100644 index 00000000..eb80cb6f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/quota.proto @@ -0,0 +1,184 @@ +// Copyright 2024 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 = "QuotaProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +// Quota configuration helps to achieve fairness and budgeting in service +// usage. +// +// The metric based 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. + repeated QuotaLimit limits = 3; + + // List of MetricRule definitions, each one mapping a selected method to one + // or more metrics. + repeated MetricRule metric_rules = 4; +} + +// Bind API methods to metrics. Binding a method to a metric causes that +// metric's configured quota behaviors to apply to the method call. +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 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 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. + 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. Must be "100s" or "1d". + // + // 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. + 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. + // + // Here are some examples: + // * "1/min/{project}" for quota per minute per project. + // + // Note: the order of unit components is insignificant. + // The "1" at the beginning is required to follow the metric unit syntax. + string unit = 9; + + // Tiered limit values. You must specify this as a key:value pair, with an + // integer value that is the maximum number of requests allowed for the + // specified unit. Currently only STANDARD is supported. + map 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/resource.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/resource.proto new file mode 100644 index 00000000..3762af84 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/resource.proto @@ -0,0 +1,243 @@ +// Copyright 2024 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" +// pattern: "projects/{project}/topics/{topic}" +// }; +// } +// +// The ResourceDescriptor Yaml config will look like: +// +// resources: +// - type: "pubsub.googleapis.com/Topic" +// pattern: "projects/{project}/topics/{topic}" +// +// 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" +// pattern: "projects/{project}/logs/{log}" +// pattern: "folders/{folder}/logs/{log}" +// pattern: "organizations/{organization}/logs/{log}" +// pattern: "billingAccounts/{billing_account}/logs/{log}" +// }; +// } +// +// The ResourceDescriptor Yaml config will look like: +// +// resources: +// - type: 'logging.googleapis.com/LogEntry' +// pattern: "projects/{project}/logs/{log}" +// pattern: "folders/{folder}/logs/{log}" +// pattern: "organizations/{organization}/logs/{log}" +// pattern: "billingAccounts/{billing_account}/logs/{log}" +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'. One exception + // to this is for Nested Collections that have stuttering names, as defined + // in [AIP-122](https://google.aip.dev/122#nested-collections), where the + // collection ID in the resource name pattern does not necessarily directly + // match the `plural` value. + // + // 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/routing.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/routing.proto new file mode 100644 index 00000000..9c0cdc07 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/routing.proto @@ -0,0 +1,461 @@ +// Copyright 2024 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//tables/
` +// // - `projects//instances//tables/
` +// // - `region//zones//tables/
` +// string table_name = 1; +// +// // This value specifies routing for replication. +// // It can be in the following formats: +// // - `profiles/` +// // - 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: +// +// +// +// 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/`, send +// // just the `` 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/service.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/service.proto new file mode 100644 index 00000000..48e9ef0b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/service.proto @@ -0,0 +1,191 @@ +// Copyright 2024 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/auth.proto"; +import "google/api/backend.proto"; +import "google/api/billing.proto"; +import "google/api/client.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 API service configuration (service +// config). It describes the basic information about a logical service, +// such as the service name and the user-facing 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. +// For more information, see each proto message definition. +// +// Example: +// +// type: google.api.Service +// name: calendar.googleapis.com +// title: Google Calendar API +// apis: +// - name: google.calendar.v3.Calendar +// +// visibility: +// rules: +// - selector: "google.calendar.v3.*" +// restriction: PREVIEW +// backend: +// rules: +// - selector: "google.calendar.v3.*" +// address: calendar.example.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 Service { + // The service name, which is a DNS-like logical identifier for the + // service, such as `calendar.googleapis.com`. The service name + // typically goes through DNS verification to make sure the owner + // of the service also owns the DNS name. + string name = 1; + + // The product title for this service, it is the name displayed in Google + // Cloud Console. + string title = 2; + + // The Google project that owns this service. + string producer_project_id = 22; + + // A unique ID for a specific instance of this message, typically assigned + // by the client for tracking purpose. Must be no longer than 63 characters + // and only lower case letters, digits, '.', '_' and '-' are allowed. If + // empty, the server may choose to generate one instead. + string id = 33; + + // 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 by the configuration author. 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 by the configuration author. 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; + + // Settings for [Google Cloud Client + // libraries](https://cloud.google.com/apis/docs/cloud-client-libraries) + // generated from APIs defined as protocol buffers. + Publishing publishing = 45; + + // Obsolete. Do not use. + // + // This field has no semantic meaning. The service config compiler always + // sets this field to `3`. + google.protobuf.UInt32Value config_version = 20; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceconfig.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceconfig.yaml new file mode 100644 index 00000000..e71751ea --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceconfig.yaml @@ -0,0 +1,28 @@ +type: google.api.Service +config_version: 3 +name: serviceconfig.googleapis.com +title: Service Config API + +types: +- name: google.api.ConfigChange +- name: google.api.Distribution +- name: google.api.DocumentationRule +- name: google.api.FieldInfo +- name: google.api.HttpBody +- name: google.api.LabelDescriptor +- name: google.api.Metric +- name: google.api.MonitoredResource +- name: google.api.MonitoredResourceDescriptor +- name: google.api.MonitoredResourceMetadata +- name: google.api.ResourceDescriptor +- name: google.api.ResourceReference +- name: google.api.RoutingRule +- name: google.api.Service +- name: google.api.Visibility + +enums: +- name: google.api.ErrorReason +- name: google.api.FieldBehavior + +documentation: + summary: Lets you define and config your API service. diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/BUILD.bazel new file mode 100644 index 00000000..6444e18f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_control. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for servicecontrol. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "servicecontrol_ruby_wrapper", + srcs = ["//google/api/servicecontrol/v1:servicecontrol_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_control", + "ruby-cloud-env-prefix=SERVICE_CONTROL", + "ruby-cloud-wrapper-of=v1:0.9", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + "ruby-cloud-api-id=servicecontrol.googleapis.com", + "ruby-cloud-api-shortname=servicecontrol", + ], + ruby_cloud_description = "The Service Control API provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + ruby_cloud_title = "Service Control API", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-servicecontrol-ruby", + deps = [ + ":servicecontrol_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/README.md new file mode 100644 index 00000000..3d9590ee --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/README.md @@ -0,0 +1,126 @@ +Google Service Control provides control plane functionality to managed services, +such as logging, monitoring, and status checks. This page provides an overview +of what it does and how it works. + +## Why use Service Control? + +When you develop a cloud service, you typically start with the business +requirements and the architecture design, then proceed with API definition +and implementation. Before you put your service into production, you +need to deal with many control plane issues: + +* How to control access to your service. +* How to send logging and monitoring data to both consumers and producers. +* How to create and manage dashboards to visualize this data. +* How to automatically scale the control plane components with your service. + +Service Control is a mature and feature-rich control plane provider +that addresses these needs with high efficiency, high scalability, +and high availability. It provides a simple public API that can be accessed +from anywhere using JSON REST and gRPC clients, so when you move your service +from on-premise to a cloud provider, or from one cloud provider to another, +you don't need to change the control plane provider. + +Services built using Google Cloud Endpoints already take advantage of +Service Control. Cloud Endpoints sends logging and monitoring data +through Google Service Control for every request arriving at its +proxy. If you need to report any additional logging and monitoring data for +your Cloud Endpoints service, you can call the Service Control API directly +from your service. + +The Service Control API definition is open sourced and available on +[GitHub](https://github.com/googleapis/googleapis/tree/master/google/api/servicecontrol). +By changing the DNS name, you can easily use alternative implementations of +the Service Control API. + +## Architecture + +Google Service Control works with a set of *managed services* and their +*operations* (activities), *checks* whether an operation is allowed to proceed, +and *reports* completed operations. Behind the scenes, it leverages other +Google Cloud services, such as +[Google Service Management](/service-management), +[Stackdriver Logging](/logging), and [Stackdriver Monitoring](/monitoring), +while hiding their complexity from service producers. It enables service +producers to send telemetry data to their consumers. It uses caching, +batching, aggregation, and retries to deliver higher performance and +availability than the individual backend systems it encapsulates. + +
+
+ The overall architecture of a service that uses Google Service Control. +
+
Figure 1: Using Google Service Control.
+
+ +The Service Control API provides two methods: + +* [`services.check`](/service-control/reference/rest/v1/services/check), used for: + * Ensuring valid consumer status + * Validating API keys +* [`services.report`](/service-control/reference/rest/v1/services/report), used for: + * Sending logs to Stackdriver Logging + * Sending metrics to Stackdriver Monitoring + +We’ll look at these in more detail in the rest of this overview. + +## Managed services + +A [managed service](/service-management/reference/rest/v1/services) is +a network service managed by +[Google Service Management](/service-management). Each managed service has a +unique name, such as `example.googleapis.com`, which must be a valid +fully-qualified DNS name, as per RFC 1035. + +For example: + +* Google Cloud Pub/Sub (`pubsub.googleapis.com`) +* Google Cloud Vision (`vision.googleapis.com`) +* Google Cloud Bigtable (`bigtable.googleapis.com`) +* Google Cloud Datastore (`datastore.googleapis.com`) + +Google Service Management manages the lifecycle of each service’s +configuration, which is used to customize Google Service Control's behavior. +Service configurations are also used by Google Cloud Console +for displaying APIs and their settings, enabling/disabling APIs, and more. + +## Operations + +Google Service Control uses the generic concept of an *operation* +to represent the +activities of a managed service, such as API calls and resource usage. Each +operation is associated with a managed service and a specific service +consumer, and has a set of properties that describe the operation, such as +the API method name and resource usage amount. For more information, see the +[Operation definition](/service-control/rest/v1/Operation). + +## Check + +The [`services.check`](/service-control/reference/rest/v1/services/check) +method determines whether an operation should be allowed to proceed +for a managed service. + +For example: + +* Check if the consumer is still active. +* Check if the consumer has enabled the service. +* Check if the API key is still valid. + +By performing multiple checks within a single method call, it provides +better performance, higher reliability, and reduced development cost to +service producers compared to checking with multiple backend systems. + +## Report + +The [`services.report`](/service-control/reference/rest/v1/services/report) +method reports completed operations for +a managed service to backend systems, such as logging and monitoring. The +reported data can be seen in Google API Console and Google Cloud Console, +and retrieved with appropriate APIs, such as the Stackdriver Logging and +Stackdriver Monitoring APIs. + +## Next steps + +* Read our [Getting Started guide](/service-control/getting-started) to find out + how to set up and use the Google Service Control API. diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/BUILD.bazel new file mode 100644 index 00000000..3ee92d47 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/BUILD.bazel @@ -0,0 +1,344 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "servicecontrol_proto", + srcs = [ + "check_error.proto", + "distribution.proto", + "http_request.proto", + "log_entry.proto", + "metric_value.proto", + "operation.proto", + "quota_controller.proto", + "service_controller.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:distribution_proto", + "//google/logging/type:type_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "servicecontrol_proto_with_info", + deps = [ + ":servicecontrol_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "servicecontrol_java_proto", + deps = [":servicecontrol_proto"], +) + +java_grpc_library( + name = "servicecontrol_java_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_java_proto"], +) + +java_gapic_library( + name = "servicecontrol_java_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + test_deps = [ + ":servicecontrol_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_proto", + ], +) + +java_gapic_test( + name = "servicecontrol_java_gapic_test_suite", + test_classes = [ + "com.google.api.servicecontrol.v1.QuotaControllerClientHttpJsonTest", + "com.google.api.servicecontrol.v1.QuotaControllerClientTest", + "com.google.api.servicecontrol.v1.ServiceControllerClientHttpJsonTest", + "com.google.api.servicecontrol.v1.ServiceControllerClientTest", + ], + runtime_deps = [":servicecontrol_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-servicecontrol-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_gapic", + ":servicecontrol_java_grpc", + ":servicecontrol_java_proto", + ":servicecontrol_proto", + ], +) + +go_proto_library( + name = "servicecontrol_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb", + protos = [":servicecontrol_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:distribution_go_proto", + "//google/logging/type:type_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "servicecontrol_go_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + importpath = "cloud.google.com/go/servicecontrol/apiv1;servicecontrol", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-servicecontrol-v1-go", + deps = [ + ":servicecontrol_go_gapic", + ":servicecontrol_go_gapic_srcjar-metadata.srcjar", + ":servicecontrol_go_gapic_srcjar-snippets.srcjar", + ":servicecontrol_go_gapic_srcjar-test.srcjar", + ":servicecontrol_go_proto", + ], +) + +py_gapic_library( + name = "servicecontrol_py_gapic", + srcs = [":servicecontrol_proto"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + opt_args = [ + "python-gapic-name=servicecontrol", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-control", + ], + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", +) + +py_test( + name = "servicecontrol_py_gapic_test", + srcs = [ + "servicecontrol_py_gapic_pytest.py", + "servicecontrol_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicecontrol_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-servicecontrol-v1-py", + deps = [ + ":servicecontrol_py_gapic", + ], +) + +php_proto_library( + name = "servicecontrol_php_proto", + deps = [":servicecontrol_proto"], +) + +php_gapic_library( + name = "servicecontrol_php_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v1-php", + deps = [ + ":servicecontrol_php_gapic", + ":servicecontrol_php_proto", + ], +) + +nodejs_gapic_library( + name = "servicecontrol_nodejs_gapic", + package_name = "@google-cloud/service-control", + src = ":servicecontrol_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + package = "google.api.servicecontrol.v1", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-servicecontrol-v1-nodejs", + deps = [ + ":servicecontrol_nodejs_gapic", + ":servicecontrol_proto", + ## DO NOT CHANGE: Owlbot add dependency logging type protos. + "//google/logging/type:type_proto", + ], +) + +ruby_proto_library( + name = "servicecontrol_ruby_proto", + deps = [":servicecontrol_proto"], +) + +ruby_grpc_library( + name = "servicecontrol_ruby_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicecontrol_ruby_gapic", + srcs = [":servicecontrol_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=servicecontrol.googleapis.com", + "ruby-cloud-api-shortname=servicecontrol", + "ruby-cloud-env-prefix=SERVICE_CONTROL", + "ruby-cloud-gem-name=google-cloud-service_control-v1", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + ], + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "The Service Control API provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + ruby_cloud_title = "Service Control API V1", + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_ruby_grpc", + ":servicecontrol_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v1-ruby", + deps = [ + ":servicecontrol_ruby_gapic", + ":servicecontrol_ruby_grpc", + ":servicecontrol_ruby_proto", + ], +) + +csharp_proto_library( + name = "servicecontrol_csharp_proto", + deps = [":servicecontrol_proto"], +) + +csharp_grpc_library( + name = "servicecontrol_csharp_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_csharp_proto"], +) + +csharp_gapic_library( + name = "servicecontrol_csharp_gapic", + srcs = [":servicecontrol_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v1-csharp", + deps = [ + ":servicecontrol_csharp_gapic", + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +cc_proto_library( + name = "servicecontrol_cc_proto", + deps = [":servicecontrol_proto"], +) + +cc_grpc_library( + name = "servicecontrol_cc_grpc", + srcs = [":servicecontrol_proto"], + grpc_only = True, + deps = [":servicecontrol_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/check_error.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/check_error.proto new file mode 100644 index 00000000..e9a619eb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/check_error.proto @@ -0,0 +1,124 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "CheckErrorProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// Defines the errors to be returned in +// [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors]. +message CheckError { + // Error codes for Check responses. + enum Code { + // This is never used in `CheckResponse`. + ERROR_CODE_UNSPECIFIED = 0; + + // The consumer's project id, network container, or resource container was + // not found. Same as [google.rpc.Code.NOT_FOUND][google.rpc.Code.NOT_FOUND]. + NOT_FOUND = 5; + + // The consumer doesn't have access to the specified resource. + // Same as [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. + PERMISSION_DENIED = 7; + + // Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]. + RESOURCE_EXHAUSTED = 8; + + // The consumer hasn't activated the service. + SERVICE_NOT_ACTIVATED = 104; + + // The consumer cannot access the service because billing is disabled. + BILLING_DISABLED = 107; + + // The consumer's project has been marked as deleted (soft deletion). + PROJECT_DELETED = 108; + + // The consumer's project number or id does not represent a valid project. + PROJECT_INVALID = 114; + + // The input consumer info does not represent a valid consumer folder or + // organization. + CONSUMER_INVALID = 125; + + // The IP address of the consumer is invalid for the specific consumer + // project. + IP_ADDRESS_BLOCKED = 109; + + // The referer address of the consumer request is invalid for the specific + // consumer project. + REFERER_BLOCKED = 110; + + // The client application of the consumer request is invalid for the + // specific consumer project. + CLIENT_APP_BLOCKED = 111; + + // The API targeted by this request is invalid for the specified consumer + // project. + API_TARGET_BLOCKED = 122; + + // The consumer's API key is invalid. + API_KEY_INVALID = 105; + + // The consumer's API Key has expired. + API_KEY_EXPIRED = 112; + + // The consumer's API Key was not found in config record. + API_KEY_NOT_FOUND = 113; + + // The credential in the request can not be verified. + INVALID_CREDENTIAL = 123; + + // The backend server for looking up project id/number is unavailable. + NAMESPACE_LOOKUP_UNAVAILABLE = 300; + + // The backend server for checking service status is unavailable. + SERVICE_STATUS_UNAVAILABLE = 301; + + // The backend server for checking billing status is unavailable. + BILLING_STATUS_UNAVAILABLE = 302; + + // Cloud Resource Manager backend server is unavailable. + CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE = 305; + } + + // The error code. + Code code = 1; + + // Subject to whom this error applies. See the specific code enum for more + // details on this field. For example: + // + // - "project:" + // - "folder:" + // - "organization:" + string subject = 4; + + // Free-form text providing details on the error cause of the error. + string detail = 2; + + // Contains public information about the check error. If available, + // `status.code` will be non zero and client can propagate it out as public + // error. + google.rpc.Status status = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/distribution.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/distribution.proto new file mode 100644 index 00000000..ce4d3465 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/distribution.proto @@ -0,0 +1,166 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/api/distribution.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "DistributionProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// Distribution represents a frequency distribution of double-valued sample +// points. It contains the size of the population of sample points plus +// additional optional information: +// +// * the arithmetic mean of the samples +// * the minimum and maximum of the samples +// * the sum-squared-deviation of the samples, used to compute variance +// * a histogram of the values of the sample points +message Distribution { + // Describing buckets with constant width. + message LinearBuckets { + // The number of finite buckets. With the underflow and overflow buckets, + // the total number of buckets is `num_finite_buckets` + 2. + // See comments on `bucket_options` for details. + int32 num_finite_buckets = 1; + + // The i'th linear bucket covers the interval + // [offset + (i-1) * width, offset + i * width) + // where i ranges from 1 to num_finite_buckets, inclusive. + // Must be strictly positive. + double width = 2; + + // The i'th linear bucket covers the interval + // [offset + (i-1) * width, offset + i * width) + // where i ranges from 1 to num_finite_buckets, inclusive. + double offset = 3; + } + + // Describing buckets with exponentially growing width. + message ExponentialBuckets { + // The number of finite buckets. With the underflow and overflow buckets, + // the total number of buckets is `num_finite_buckets` + 2. + // See comments on `bucket_options` for details. + int32 num_finite_buckets = 1; + + // The i'th exponential bucket covers the interval + // [scale * growth_factor^(i-1), scale * growth_factor^i) + // where i ranges from 1 to num_finite_buckets inclusive. + // Must be larger than 1.0. + double growth_factor = 2; + + // The i'th exponential bucket covers the interval + // [scale * growth_factor^(i-1), scale * growth_factor^i) + // where i ranges from 1 to num_finite_buckets inclusive. + // Must be > 0. + double scale = 3; + } + + // Describing buckets with arbitrary user-provided width. + message ExplicitBuckets { + // 'bound' is a list of strictly increasing boundaries between + // buckets. Note that a list of length N-1 defines N buckets because + // of fenceposting. See comments on `bucket_options` for details. + // + // The i'th finite bucket covers the interval + // [bound[i-1], bound[i]) + // where i ranges from 1 to bound_size() - 1. Note that there are no + // finite buckets at all if 'bound' only contains a single element; in + // that special case the single bound defines the boundary between the + // underflow and overflow buckets. + // + // bucket number lower bound upper bound + // i == 0 (underflow) -inf bound[i] + // 0 < i < bound_size() bound[i-1] bound[i] + // i == bound_size() (overflow) bound[i-1] +inf + repeated double bounds = 1; + } + + // The total number of samples in the distribution. Must be >= 0. + int64 count = 1; + + // The arithmetic mean of the samples in the distribution. If `count` is + // zero then this field must be zero. + double mean = 2; + + // The minimum of the population of values. Ignored if `count` is zero. + double minimum = 3; + + // The maximum of the population of values. Ignored if `count` is zero. + double maximum = 4; + + // The sum of squared deviations from the mean: + // Sum[i=1..count]((x_i - mean)^2) + // where each x_i is a sample values. If `count` is zero then this field + // must be zero, otherwise validation of the request fails. + double sum_of_squared_deviation = 5; + + // The number of samples in each histogram bucket. `bucket_counts` are + // optional. If present, they must sum to the `count` value. + // + // The buckets are defined below in `bucket_option`. There are N buckets. + // `bucket_counts[0]` is the number of samples in the underflow bucket. + // `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples + // in each of the finite buckets. And `bucket_counts[N] is the number + // of samples in the overflow bucket. See the comments of `bucket_option` + // below for more details. + // + // Any suffix of trailing zeros may be omitted. + repeated int64 bucket_counts = 6; + + // Defines the buckets in the histogram. `bucket_option` and `bucket_counts` + // must be both set, or both unset. + // + // Buckets are numbered in the range of [0, N], with a total of N+1 buckets. + // There must be at least two buckets (a single-bucket histogram gives + // no information that isn't already provided by `count`). + // + // The first bucket is the underflow bucket which has a lower bound + // of -inf. The last bucket is the overflow bucket which has an + // upper bound of +inf. All other buckets (if any) are called "finite" + // buckets because they have finite lower and upper bounds. As described + // below, there are three ways to define the finite buckets. + // + // (1) Buckets with constant width. + // (2) Buckets with exponentially growing widths. + // (3) Buckets with arbitrary user-provided widths. + // + // In all cases, the buckets cover the entire real number line (-inf, + // +inf). Bucket upper bounds are exclusive and lower bounds are + // inclusive. The upper bound of the underflow bucket is equal to the + // lower bound of the smallest finite bucket; the lower bound of the + // overflow bucket is equal to the upper bound of the largest finite + // bucket. + oneof bucket_option { + // Buckets with constant width. + LinearBuckets linear_buckets = 7; + + // Buckets with exponentially growing width. + ExponentialBuckets exponential_buckets = 8; + + // Buckets with arbitrary user-provided width. + ExplicitBuckets explicit_buckets = 9; + } + + // Example points. Must be in increasing order of `value` field. + repeated google.api.Distribution.Exemplar exemplars = 10; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/http_request.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/http_request.proto new file mode 100644 index 00000000..3102e3b0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/http_request.proto @@ -0,0 +1,93 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "HttpRequestProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// 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 the 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/log_entry.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/log_entry.proto new file mode 100644 index 00000000..782dd42e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/log_entry.proto @@ -0,0 +1,126 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/api/servicecontrol/v1/http_request.proto"; +import "google/logging/type/log_severity.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "LogEntryProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// An individual log entry. +message LogEntry { + // Required. The log to which this log entry belongs. Examples: `"syslog"`, + // `"book_log"`. + string name = 10; + + // The time the event described by the log entry occurred. If + // omitted, defaults to operation start time. + google.protobuf.Timestamp timestamp = 11; + + // The severity of the log entry. The default value is + // `LogSeverity.DEFAULT`. + google.logging.type.LogSeverity severity = 12; + + // Optional. Information about the HTTP request associated with this + // log entry, if applicable. + HttpRequest http_request = 14; + + // Optional. Resource name of the trace associated with the log entry, if any. + // If this field contains a relative resource name, you can assume the name is + // relative to `//tracing.googleapis.com`. Example: + // `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824` + string trace = 15; + + // A unique ID for the log entry used for deduplication. If omitted, + // the implementation will generate one based on operation_id. + string insert_id = 4; + + // A set of user-defined (key, value) data that provides additional + // information about the log entry. + map labels = 13; + + // The log entry payload, which can be one of multiple types. + oneof payload { + // The log entry payload, represented as a protocol buffer that is + // expressed as a JSON object. The only accepted type currently is + // [AuditLog][google.cloud.audit.AuditLog]. + google.protobuf.Any proto_payload = 2; + + // The log entry payload, represented as a Unicode string (UTF-8). + string text_payload = 3; + + // The log entry payload, represented as a structure that + // is expressed as a JSON object. + google.protobuf.Struct struct_payload = 6; + } + + // Optional. Information about an operation associated with the log entry, if + // applicable. + LogEntryOperation operation = 16; + + // Optional. Source code location information associated with the log entry, + // if any. + LogEntrySourceLocation source_location = 17; +} + +// Additional information about a potentially long-running operation with which +// a log entry is associated. +message LogEntryOperation { + // Optional. An arbitrary operation identifier. Log entries with the + // same identifier are assumed to be part of the same operation. + string id = 1; + + // Optional. An arbitrary producer identifier. The combination of + // `id` and `producer` must be globally unique. Examples for `producer`: + // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. + string producer = 2; + + // Optional. Set this to True if this is the first log entry in the operation. + bool first = 3; + + // Optional. Set this to True if this is the last log entry in the operation. + bool last = 4; +} + +// Additional information about the source code location that produced the log +// entry. +message LogEntrySourceLocation { + // Optional. Source file name. Depending on the runtime environment, this + // might be a simple name or a fully-qualified name. + string file = 1; + + // Optional. Line within the source file. 1-based; 0 indicates no line number + // available. + int64 line = 2; + + // Optional. Human-readable name of the function or method being invoked, with + // optional context such as the class or package name. This information may be + // used in contexts such as the logs viewer, where a file and line number are + // less meaningful. The format can vary by language. For example: + // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + // (Python). + string function = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/metric_value.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/metric_value.proto new file mode 100644 index 00000000..701749c1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/metric_value.proto @@ -0,0 +1,81 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/api/servicecontrol/v1/distribution.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "MetricValueSetProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// Represents a single metric value. +message MetricValue { + // The labels describing the metric value. + // See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for + // the overriding relationship. + // Note that this map must not contain monitored resource labels. + map labels = 1; + + // The start of the time period over which this metric value's measurement + // applies. The time period has different semantics for different metric + // types (cumulative, delta, and gauge). See the metric definition + // documentation in the service configuration for details. If not specified, + // [google.api.servicecontrol.v1.Operation.start_time][google.api.servicecontrol.v1.Operation.start_time] will be used. + google.protobuf.Timestamp start_time = 2; + + // The end of the time period over which this metric value's measurement + // applies. If not specified, + // [google.api.servicecontrol.v1.Operation.end_time][google.api.servicecontrol.v1.Operation.end_time] will be used. + google.protobuf.Timestamp end_time = 3; + + // The value. The type of value used in the request must + // agree with the metric definition in the service configuration, otherwise + // the MetricValue is rejected. + oneof value { + // A boolean value. + bool bool_value = 4; + + // A signed 64-bit integer value. + int64 int64_value = 5; + + // A double precision floating point value. + double double_value = 6; + + // A text string value. + string string_value = 7; + + // A distribution value. + Distribution distribution_value = 8; + } +} + +// Represents a set of metric values in the same metric. +// Each metric value in the set should have a unique combination of start time, +// end time, and label values. +message MetricValueSet { + // The metric name defined in the service configuration. + string metric_name = 1; + + // The values in this metric. + repeated MetricValue metric_values = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/operation.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/operation.proto new file mode 100644 index 00000000..d01d95e0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/operation.proto @@ -0,0 +1,123 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/api/servicecontrol/v1/log_entry.proto"; +import "google/api/servicecontrol/v1/metric_value.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "OperationProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// Represents information regarding an operation. +message Operation { + // Defines the importance of the data contained in the operation. + enum Importance { + // Allows data caching, batching, and aggregation. It provides + // higher performance with higher data loss risk. + LOW = 0; + + // Disables data aggregation to minimize data loss. It is for operations + // that contains significant monetary value or audit trail. This feature + // only applies to the client libraries. + HIGH = 1; + } + + // Identity of the operation. This must be unique within the scope of the + // service that generated the operation. If the service calls + // Check() and Report() on the same operation, the two calls should carry + // the same id. + // + // UUID version 4 is recommended, though not required. + // In scenarios where an operation is computed from existing information + // and an idempotent id is desirable for deduplication purpose, UUID version 5 + // is recommended. See RFC 4122 for details. + string operation_id = 1; + + // Fully qualified name of the operation. Reserved for future use. + string operation_name = 2; + + // Identity of the consumer who is using the service. + // This field should be filled in for the operations initiated by a + // consumer, but not for service-initiated operations that are + // not related to a specific consumer. + // + // - This can be in one of the following formats: + // - project:PROJECT_ID, + // - project`_`number:PROJECT_NUMBER, + // - projects/PROJECT_ID or PROJECT_NUMBER, + // - folders/FOLDER_NUMBER, + // - organizations/ORGANIZATION_NUMBER, + // - api`_`key:API_KEY. + string consumer_id = 3; + + // Required. Start time of the operation. + google.protobuf.Timestamp start_time = 4; + + // End time of the operation. + // Required when the operation is used in + // [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report], + // but optional when the operation is used in + // [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check]. + google.protobuf.Timestamp end_time = 5; + + // Labels describing the operation. Only the following labels are allowed: + // + // - Labels describing monitored resources as defined in + // the service configuration. + // - Default labels of metric values. When specified, labels defined in the + // metric value override these default. + // - The following labels defined by Google Cloud Platform: + // - `cloud.googleapis.com/location` describing the location where the + // operation happened, + // - `servicecontrol.googleapis.com/user_agent` describing the user agent + // of the API request, + // - `servicecontrol.googleapis.com/service_agent` describing the service + // used to handle the API request (e.g. ESP), + // - `servicecontrol.googleapis.com/platform` describing the platform + // where the API is served, such as App Engine, Compute Engine, or + // Kubernetes Engine. + map labels = 6; + + // Represents information about this operation. Each MetricValueSet + // corresponds to a metric defined in the service configuration. + // The data type used in the MetricValueSet must agree with + // the data type specified in the metric definition. + // + // Within a single operation, it is not allowed to have more than one + // MetricValue instances that have the same metric names and identical + // label value combinations. If a request has such duplicated MetricValue + // instances, the entire request is rejected with + // an invalid argument error. + repeated MetricValueSet metric_value_sets = 7; + + // Represents information to be logged. + repeated LogEntry log_entries = 8; + + // DO NOT USE. This is an experimental field. + Importance importance = 11; + + // Unimplemented. + repeated google.protobuf.Any extensions = 16; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/quota_controller.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/quota_controller.proto new file mode 100644 index 00000000..d4483766 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/quota_controller.proto @@ -0,0 +1,245 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/api/annotations.proto"; +import "google/api/servicecontrol/v1/metric_value.proto"; +import "google/rpc/status.proto"; +import "google/api/client.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "QuotaControllerProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// [Google Quota Control API](/service-control/overview) +// +// Allows clients to allocate and release quota against a [managed +// service](https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService). +service QuotaController { + option (google.api.default_host) = "servicecontrol.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/servicecontrol"; + + // Attempts to allocate quota for the specified consumer. It should be called + // before the operation is executed. + // + // This method requires the `servicemanagement.services.quota` + // permission on the specified service. For more information, see + // [Cloud IAM](https://cloud.google.com/iam). + // + // **NOTE:** The client **must** fail-open on server errors `INTERNAL`, + // `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system + // reliability, the server may inject these errors to prohibit any hard + // dependency on the quota functionality. + rpc AllocateQuota(AllocateQuotaRequest) returns (AllocateQuotaResponse) { + option (google.api.http) = { + post: "/v1/services/{service_name}:allocateQuota" + body: "*" + }; + } +} + +// Request message for the AllocateQuota method. +message AllocateQuotaRequest { + // Name of the service as specified in the service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See [google.api.Service][google.api.Service] for the definition of a service name. + string service_name = 1; + + // Operation that describes the quota allocation. + QuotaOperation allocate_operation = 2; + + // Specifies which version of service configuration should be used to process + // the request. If unspecified or no matching version can be found, the latest + // one will be used. + string service_config_id = 4; +} + +// Represents information regarding a quota operation. +message QuotaOperation { + // Supported quota modes. + enum QuotaMode { + // Guard against implicit default. Must not be used. + UNSPECIFIED = 0; + + // For AllocateQuota request, allocates quota for the amount specified in + // the service configuration or specified using the quota metrics. If the + // amount is higher than the available quota, allocation error will be + // returned and no quota will be allocated. + // If multiple quotas are part of the request, and one fails, none of the + // quotas are allocated or released. + NORMAL = 1; + + // The operation allocates quota for the amount specified in the service + // configuration or specified using the quota metrics. If the amount is + // higher than the available quota, request does not fail but all available + // quota will be allocated. + // For rate quota, BEST_EFFORT will continue to deduct from other groups + // even if one does not have enough quota. For allocation, it will find the + // minimum available amount across all groups and deduct that amount from + // all the affected groups. + BEST_EFFORT = 2; + + // For AllocateQuota request, only checks if there is enough quota + // available and does not change the available quota. No lock is placed on + // the available quota either. + CHECK_ONLY = 3; + + // Unimplemented. When used in AllocateQuotaRequest, this returns the + // effective quota limit(s) in the response, and no quota check will be + // performed. Not supported for other requests, and even for + // AllocateQuotaRequest, this is currently supported only for allowlisted + // services. + QUERY_ONLY = 4; + + // The operation allocates quota for the amount specified in the service + // configuration or specified using the quota metrics. If the requested + // amount is higher than the available quota, request does not fail and + // remaining quota would become negative (going over the limit). + // Not supported for Rate Quota. + ADJUST_ONLY = 5; + } + + // Identity of the operation. This is expected to be unique within the scope + // of the service that generated the operation, and guarantees idempotency in + // case of retries. + // + // In order to ensure best performance and latency in the Quota backends, + // operation_ids are optimally associated with time, so that related + // operations can be accessed fast in storage. For this reason, the + // recommended token for services that intend to operate at a high QPS is + // Unix time in nanos + UUID + string operation_id = 1; + + // Fully qualified name of the API method for which this quota operation is + // requested. This name is used for matching quota rules or metric rules and + // billing status rules defined in service configuration. + // + // This field should not be set if any of the following is true: + // (1) the quota operation is performed on non-API resources. + // (2) quota_metrics is set because the caller is doing quota override. + // + // + // Example of an RPC method name: + // google.example.library.v1.LibraryService.CreateShelf + string method_name = 2; + + // Identity of the consumer for whom this quota operation is being performed. + // + // This can be in one of the following formats: + // project:, + // project_number:, + // api_key:. + string consumer_id = 3; + + // Labels describing the operation. + map labels = 4; + + // Represents information about this operation. Each MetricValueSet + // corresponds to a metric defined in the service configuration. + // The data type used in the MetricValueSet must agree with + // the data type specified in the metric definition. + // + // Within a single operation, it is not allowed to have more than one + // MetricValue instances that have the same metric names and identical + // label value combinations. If a request has such duplicated MetricValue + // instances, the entire request is rejected with + // an invalid argument error. + // + // This field is mutually exclusive with method_name. + repeated MetricValueSet quota_metrics = 5; + + // Quota mode for this operation. + QuotaMode quota_mode = 6; +} + +// Response message for the AllocateQuota method. +message AllocateQuotaResponse { + // The same operation_id value used in the AllocateQuotaRequest. Used for + // logging and diagnostics purposes. + string operation_id = 1; + + // Indicates the decision of the allocate. + repeated QuotaError allocate_errors = 2; + + // Quota metrics to indicate the result of allocation. Depending on the + // request, one or more of the following metrics will be included: + // + // 1. Per quota group or per quota metric incremental usage will be specified + // using the following delta metric : + // "serviceruntime.googleapis.com/api/consumer/quota_used_count" + // + // 2. The quota limit reached condition will be specified using the following + // boolean metric : + // "serviceruntime.googleapis.com/quota/exceeded" + repeated MetricValueSet quota_metrics = 3; + + // ID of the actual config used to process the request. + string service_config_id = 4; +} + +// Represents error information for [QuotaOperation][google.api.servicecontrol.v1.QuotaOperation]. +message QuotaError { + // Error codes related to project config validations are deprecated since the + // quota controller methods do not perform these validations. Instead services + // have to call the Check method, without quota_properties field, to perform + // these validations before calling the quota controller methods. These + // methods check only for project deletion to be wipe out compliant. + enum Code { + // This is never used. + UNSPECIFIED = 0; + + // Quota allocation failed. + // Same as [google.rpc.Code.RESOURCE_EXHAUSTED][google.rpc.Code.RESOURCE_EXHAUSTED]. + RESOURCE_EXHAUSTED = 8; + + // Consumer cannot access the service because the service requires active + // billing. + BILLING_NOT_ACTIVE = 107; + + // Consumer's project has been marked as deleted (soft deletion). + PROJECT_DELETED = 108; + + // Specified API key is invalid. + API_KEY_INVALID = 105; + + // Specified API Key has expired. + API_KEY_EXPIRED = 112; + } + + // Error code. + Code code = 1; + + // Subject to whom this error applies. See the specific enum for more details + // on this field. For example, "clientip:" or + // "project:". + string subject = 2; + + // Free-form text that provides details on the cause of the error. + string description = 3; + + // Contains additional information about the quota error. + // If available, `status.code` will be non zero. + google.rpc.Status status = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/service_controller.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/service_controller.proto new file mode 100644 index 00000000..2bc17c73 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/service_controller.proto @@ -0,0 +1,260 @@ +// Copyright 2024 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.servicecontrol.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/servicecontrol/v1/check_error.proto"; +import "google/api/servicecontrol/v1/operation.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V1"; +option go_package = "cloud.google.com/go/servicecontrol/apiv1/servicecontrolpb;servicecontrolpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceControllerProto"; +option java_package = "com.google.api.servicecontrol.v1"; +option objc_class_prefix = "GASC"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V1"; +option ruby_package = "Google::Cloud::ServiceControl::V1"; + +// [Google Service Control API](/service-control/overview) +// +// Lets clients check and report operations against a [managed +// service](https://cloud.google.com/service-management/reference/rpc/google.api/servicemanagement.v1#google.api.servicemanagement.v1.ManagedService). +service ServiceController { + option (google.api.default_host) = "servicecontrol.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/servicecontrol"; + + // Checks whether an operation on a service should be allowed to proceed + // based on the configuration of the service and related policies. It must be + // called before the operation is executed. + // + // If feasible, the client should cache the check results and reuse them for + // 60 seconds. In case of any server errors, the client should rely on the + // cached results for much longer time to avoid outage. + // WARNING: There is general 60s delay for the configuration and policy + // propagation, therefore callers MUST NOT depend on the `Check` method having + // the latest policy information. + // + // NOTE: the [CheckRequest][google.api.servicecontrol.v1.CheckRequest] has + // the size limit (wire-format byte size) of 1MB. + // + // This method requires the `servicemanagement.services.check` permission + // on the specified service. For more information, see + // [Cloud IAM](https://cloud.google.com/iam). + rpc Check(CheckRequest) returns (CheckResponse) { + option (google.api.http) = { + post: "/v1/services/{service_name}:check" + body: "*" + }; + } + + // Reports operation results to Google Service Control, such as logs and + // metrics. It should be called after an operation is completed. + // + // If feasible, the client should aggregate reporting data for up to 5 + // seconds to reduce API traffic. Limiting aggregation to 5 seconds is to + // reduce data loss during client crashes. Clients should carefully choose + // the aggregation time window to avoid data loss risk more than 0.01% + // for business and compliance reasons. + // + // NOTE: the [ReportRequest][google.api.servicecontrol.v1.ReportRequest] has + // the size limit (wire-format byte size) of 1MB. + // + // This method requires the `servicemanagement.services.report` permission + // on the specified service. For more information, see + // [Google Cloud IAM](https://cloud.google.com/iam). + rpc Report(ReportRequest) returns (ReportResponse) { + option (google.api.http) = { + post: "/v1/services/{service_name}:report" + body: "*" + }; + } +} + +// Request message for the Check method. +message CheckRequest { + // The service name as specified in its service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See + // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + // for the definition of a service name. + string service_name = 1; + + // The operation to be checked. + Operation operation = 2; + + // Specifies which version of service configuration should be used to process + // the request. + // + // If unspecified or no matching version can be found, the + // latest one will be used. + string service_config_id = 4; +} + +// Response message for the Check method. +message CheckResponse { + // Contains additional information about the check operation. + message CheckInfo { + // A list of fields and label keys that are ignored by the server. + // The client doesn't need to send them for following requests to improve + // performance and allow better aggregation. + repeated string unused_arguments = 1; + + // Consumer info of this check. + ConsumerInfo consumer_info = 2; + + // The unique id of the api key in the format of "apikey:". + // This field will be populated when the consumer passed to Service Control + // is an API key and all the API key related validations are successful. + string api_key_uid = 5; + } + + // `ConsumerInfo` provides information about the consumer. + message ConsumerInfo { + // The type of the consumer as defined in + // [Google Resource Manager](https://cloud.google.com/resource-manager/). + enum ConsumerType { + // This is never used. + CONSUMER_TYPE_UNSPECIFIED = 0; + + // The consumer is a Google Cloud Project. + PROJECT = 1; + + // The consumer is a Google Cloud Folder. + FOLDER = 2; + + // The consumer is a Google Cloud Organization. + ORGANIZATION = 3; + + // Service-specific resource container which is defined by the service + // producer to offer their users the ability to manage service control + // functionalities at a finer level of granularity than the PROJECT. + SERVICE_SPECIFIC = 4; + } + + // The Google cloud project number, e.g. 1234567890. A value of 0 indicates + // no project number is found. + // + // NOTE: This field is deprecated after we support flexible consumer + // id. New code should not depend on this field anymore. + int64 project_number = 1; + + // The type of the consumer which should have been defined in + // [Google Resource Manager](https://cloud.google.com/resource-manager/). + ConsumerType type = 2; + + // The consumer identity number, can be Google cloud project number, folder + // number or organization number e.g. 1234567890. A value of 0 indicates no + // consumer number is found. + int64 consumer_number = 3; + } + + // The same operation_id value used in the + // [CheckRequest][google.api.servicecontrol.v1.CheckRequest]. Used for logging + // and diagnostics purposes. + string operation_id = 1; + + // Indicate the decision of the check. + // + // If no check errors are present, the service should process the operation. + // Otherwise the service should use the list of errors to determine the + // appropriate action. + repeated CheckError check_errors = 2; + + // The actual config id used to process the request. + string service_config_id = 5; + + // The current service rollout id used to process the request. + string service_rollout_id = 11; + + // Feedback data returned from the server during processing a Check request. + CheckInfo check_info = 6; +} + +// Request message for the Report method. +message ReportRequest { + // The service name as specified in its service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See + // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + // for the definition of a service name. + string service_name = 1; + + // Operations to be reported. + // + // Typically the service should report one operation per request. + // Putting multiple operations into a single request is allowed, but should + // be used only when multiple operations are natually available at the time + // of the report. + // + // There is no limit on the number of operations in the same ReportRequest, + // however the ReportRequest size should be no larger than 1MB. See + // [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] + // for partial failure behavior. + repeated Operation operations = 2; + + // Specifies which version of service config should be used to process the + // request. + // + // If unspecified or no matching version can be found, the + // latest one will be used. + string service_config_id = 3; +} + +// Response message for the Report method. +message ReportResponse { + // Represents the processing error of one + // [Operation][google.api.servicecontrol.v1.Operation] in the request. + message ReportError { + // The + // [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] + // value from the request. + string operation_id = 1; + + // Details of the error when processing the + // [Operation][google.api.servicecontrol.v1.Operation]. + google.rpc.Status status = 2; + } + + // Partial failures, one for each `Operation` in the request that failed + // processing. There are three possible combinations of the RPC status: + // + // 1. The combination of a successful RPC status and an empty `report_errors` + // list indicates a complete success where all `Operations` in the + // request are processed successfully. + // 2. The combination of a successful RPC status and a non-empty + // `report_errors` list indicates a partial success where some + // `Operations` in the request succeeded. Each + // `Operation` that failed processing has a corresponding item + // in this list. + // 3. A failed RPC status indicates a general non-deterministic failure. + // When this happens, it's impossible to know which of the + // 'Operations' in the request succeeded or failed. + repeated ReportError report_errors = 1; + + // The actual config id used to process the request. + string service_config_id = 2; + + // The current service rollout id used to process the request. + string service_rollout_id = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/servicecontrol.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/servicecontrol.yaml new file mode 100644 index 00000000..7a2b5685 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/servicecontrol.yaml @@ -0,0 +1,178 @@ +type: google.api.Service +config_version: 3 +name: servicecontrol.googleapis.com +title: Service Control API + +apis: +- name: google.api.servicecontrol.v1.QuotaController +- name: google.api.servicecontrol.v1.ServiceController + +documentation: + summary: |- + Provides admission control and telemetry reporting for services integrated + with Service Infrastructure. + overview: |- + Google Service Control provides control plane functionality to managed + services, such as logging, monitoring, and status checks. This page + provides an overview of what it does and how it works. + + ## Why use Service Control? + + When you develop a cloud service, you typically start with the business + requirements and the architecture design, then proceed with API definition + and implementation. Before you put your service into production, you + need to deal with many control plane issues: + + * How to control access to your service. + * How to send logging and monitoring data to both consumers and producers. + * How to create and manage dashboards to visualize this data. + * How to automatically scale the control plane components with your + service. + + Service Control is a mature and feature-rich control plane provider + that addresses these needs with high efficiency, high scalability, + and high availability. It provides a simple public API that can be + accessed from anywhere using JSON REST and gRPC clients, so when you move + your service from on-premise to a cloud provider, or from one cloud + provider to another, you don't need to change the control plane provider. + + Services built using Google Cloud Endpoints already take advantage of + Service Control. Cloud Endpoints sends logging and monitoring data + through Google Service Control for every request arriving at its + proxy. If you need to report any additional logging and monitoring data + for your Cloud Endpoints service, you can call the Service Control API + directly from your service. + + The Service Control API definition is open sourced and available on + [GitHub](https://github.com/googleapis/googleapis/tree/master/google/api/servicecontrol). By + changing the DNS name, you can easily use alternative implementations + of the Service Control API. + + ## Architecture + + Google Service Control works with a set of *managed services* and their + *operations* (activities), *checks* whether an operation is allowed to + proceed, and *reports* completed operations. Behind the scenes, it + leverages other + Google Cloud services, such as + [Google Service + Management](/service-infrastructure/docs/service-management/getting-started), [Stackdriver + Logging](/logging), and [Stackdriver Monitoring](/monitoring), while + hiding their complexity from service producers. It enables service + producers to send telemetry data to their consumers. It uses caching, + batching, aggregation, and retries to deliver higher performance and + availability than the individual backend systems it encapsulates. + +
+
+ The overall architecture of a service that uses Google Service
+    Control.
Figure 1: Using Google Service + Control.
+ + The Service Control API provides two methods: + + * + [`services.check`](/service-infrastructure/docs/service-control/reference/rest/v1/services/check), + used for: + * Ensuring valid consumer status + * Validating API keys + * + [`services.report`](/service-infrastructure/docs/service-control/reference/rest/v1/services/report), + used for: + * Sending logs to Stackdriver Logging + * Sending metrics to Stackdriver Monitoring + + We'll look at these in more detail in the rest of this overview. + + ## Managed services + + A [managed + service](/service-infrastructure/docs/service-management/reference/rest/v1/services) is + a network service managed by + [Google Service + Management](/service-infrastructure/docs/service-management/getting-started). Each + managed service has a unique name, such as `example.googleapis.com`, + which must be a valid fully-qualified DNS name, as per RFC 1035. + + For example: + + * Google Cloud Pub/Sub (`pubsub.googleapis.com`) + * Google Cloud Vision (`vision.googleapis.com`) + * Google Cloud Bigtable (`bigtable.googleapis.com`) + * Google Cloud Datastore (`datastore.googleapis.com`) + + Google Service Management manages the lifecycle of each service's + configuration, which is used to customize Google Service Control's + behavior. Service configurations are also used by Google Cloud Console for + displaying APIs and their settings, enabling/disabling APIs, and more. + + ## Operations + + Google Service Control uses the generic concept of an *operation* + to represent the activities of a managed service, such as API calls and + resource usage. Each operation is associated with a managed service and a + specific service consumer, and has a set of properties that describe the + operation, such as the API method name and resource usage amount. For more + information, see the + [Operation + definition](/service-infrastructure/docs/service-control/reference/rest/v1/Operation). ## + Check + + The + [`services.check`](/service-infrastructure/docs/service-control/reference/rest/v1/services/check) method + determines whether an operation should be allowed to proceed for a + managed service. + + For example: + + * Check if the consumer is still active. + * Check if the consumer has enabled the service. + * Check if the API key is still valid. + + By performing multiple checks within a single method call, it provides + better performance, higher reliability, and reduced development cost to + service producers compared to checking with multiple backend systems. + + ## Report + + The + [`services.report`](/service-infrastructure/docs/service-control/reference/rest/v1/services/report) method + reports completed operations for a managed service to backend + systems, such as logging and monitoring. The reported data can be seen in + Google API Console and Google Cloud Console, and retrieved with + appropriate APIs, such as the Stackdriver Logging and Stackdriver + Monitoring APIs. + + ## Next steps + + * Read our [Getting Started + guide](/service-infrastructure/docs/service-control/getting-started) to + find out how to set up and use the Google Service Control API. + +backend: + rules: + - selector: google.api.servicecontrol.v1.QuotaController.AllocateQuota + deadline: 10.0 + - selector: google.api.servicecontrol.v1.ServiceController.Check + deadline: 5.0 + - selector: google.api.servicecontrol.v1.ServiceController.Report + deadline: 16.0 + +authentication: + rules: + - selector: google.api.servicecontrol.v1.QuotaController.AllocateQuota + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol + - selector: google.api.servicecontrol.v1.ServiceController.Check + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol + - selector: google.api.servicecontrol.v1.ServiceController.Report + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json new file mode 100644 index 00000000..e5606616 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v1/servicecontrol_grpc_service_config.json @@ -0,0 +1,29 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.api.servicecontrol.v1.ServiceController", + "method": "Check" + } + ], + "timeout": "5s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { + "service": "google.api.servicecontrol.v1.ServiceController", + "method": "Report" + } + ], + "timeout": "16s" + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/BUILD.bazel new file mode 100644 index 00000000..432b0608 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/BUILD.bazel @@ -0,0 +1,325 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "servicecontrol_proto", + srcs = [ + "service_controller.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/rpc:status_proto", + "//google/rpc/context:attribute_context_proto", + ], +) + +proto_library_with_info( + name = "servicecontrol_proto_with_info", + deps = [ + ":servicecontrol_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "servicecontrol_java_proto", + deps = [":servicecontrol_proto"], +) + +java_grpc_library( + name = "servicecontrol_java_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_java_proto"], +) + +java_gapic_library( + name = "servicecontrol_java_gapic", + srcs = [":servicecontrol_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + test_deps = [ + ":servicecontrol_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_proto", + "//google/api:api_java_proto", + "//google/rpc/context:attribute_context_java_proto", + ], +) + +java_gapic_test( + name = "servicecontrol_java_gapic_test_suite", + test_classes = [ + "com.google.api.servicecontrol.v2.ServiceControllerClientHttpJsonTest", + "com.google.api.servicecontrol.v2.ServiceControllerClientTest", + ], + runtime_deps = [":servicecontrol_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-servicecontrol-v2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":servicecontrol_java_gapic", + ":servicecontrol_java_grpc", + ":servicecontrol_java_proto", + ":servicecontrol_proto", + ], +) + +go_proto_library( + name = "servicecontrol_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/servicecontrol/v2", + protos = [":servicecontrol_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/rpc:status_go_proto", + "//google/rpc/context:attribute_context_go_proto", + ], +) + +go_gapic_library( + name = "servicecontrol_go_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + importpath = "cloud.google.com/go/api/servicecontrol/apiv2;servicecontrol", + metadata = True, + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-servicecontrol-v2-go", + deps = [ + ":servicecontrol_go_gapic", + ":servicecontrol_go_gapic_srcjar-metadata.srcjar", + ":servicecontrol_go_gapic_srcjar-snippets.srcjar", + ":servicecontrol_go_gapic_srcjar-test.srcjar", + ":servicecontrol_go_proto", + ], +) + +py_gapic_library( + name = "servicecontrol_py_gapic", + srcs = [":servicecontrol_proto"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + opt_args = [ + "python-gapic-name=servicecontrol", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-control", + ], + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", +) + +py_test( + name = "servicecontrol_py_gapic_test", + srcs = [ + "servicecontrol_py_gapic_pytest.py", + "servicecontrol_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicecontrol_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-servicecontrol-v2-py", + deps = [ + ":servicecontrol_py_gapic", + ], +) + +php_proto_library( + name = "servicecontrol_php_proto", + deps = [":servicecontrol_proto"], +) + +php_gapic_library( + name = "servicecontrol_php_gapic", + srcs = [":servicecontrol_proto_with_info"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [":servicecontrol_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v2-php", + deps = [ + ":servicecontrol_php_gapic", + ":servicecontrol_php_proto", + ], +) + +nodejs_gapic_library( + name = "servicecontrol_nodejs_gapic", + package_name = "@google-cloud/servicecontrol", + src = ":servicecontrol_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicecontrol_grpc_service_config.json", + package = "google.api.servicecontrol.v2", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-servicecontrol-v2-nodejs", + deps = [ + ":servicecontrol_nodejs_gapic", + ":servicecontrol_proto", + ], +) + +ruby_proto_library( + name = "servicecontrol_ruby_proto", + deps = [":servicecontrol_proto"], +) + +ruby_grpc_library( + name = "servicecontrol_ruby_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicecontrol_ruby_gapic", + srcs = [":servicecontrol_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=servicecontrol.googleapis.com", + "ruby-cloud-api-shortname=servicecontrol", + "ruby-cloud-env-prefix=SERVICE_CONTROL", + "ruby-cloud-gem-name=google-cloud-service_control-v2", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + ], + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "The Service Control API provides control plane functionality to managed services, such as logging, monitoring, and status checks.", + ruby_cloud_title = "Service Control API V2", + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_ruby_grpc", + ":servicecontrol_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v2-ruby", + deps = [ + ":servicecontrol_ruby_gapic", + ":servicecontrol_ruby_grpc", + ":servicecontrol_ruby_proto", + ], +) + +csharp_proto_library( + name = "servicecontrol_csharp_proto", + deps = [":servicecontrol_proto"], +) + +csharp_grpc_library( + name = "servicecontrol_csharp_grpc", + srcs = [":servicecontrol_proto"], + deps = [":servicecontrol_csharp_proto"], +) + +csharp_gapic_library( + name = "servicecontrol_csharp_gapic", + srcs = [":servicecontrol_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicecontrol_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicecontrol.yaml", + transport = "grpc+rest", + deps = [ + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-servicecontrol-v2-csharp", + deps = [ + ":servicecontrol_csharp_gapic", + ":servicecontrol_csharp_grpc", + ":servicecontrol_csharp_proto", + ], +) + +cc_proto_library( + name = "servicecontrol_cc_proto", + deps = [":servicecontrol_proto"], +) + +cc_grpc_library( + name = "servicecontrol_cc_grpc", + srcs = [":servicecontrol_proto"], + grpc_only = True, + deps = [":servicecontrol_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/service_controller.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/service_controller.proto new file mode 100644 index 00000000..4258ee76 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/service_controller.proto @@ -0,0 +1,196 @@ +// Copyright 2024 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.servicecontrol.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/rpc/context/attribute_context.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.ServiceControl.V2"; +option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v2;servicecontrol"; +option java_multiple_files = true; +option java_outer_classname = "ServiceControllerProto"; +option java_package = "com.google.api.servicecontrol.v2"; +option objc_class_prefix = "GASC"; +option php_namespace = "Google\\Cloud\\ServiceControl\\V2"; +option ruby_package = "Google::Cloud::ServiceControl::V2"; + +// [Service Control API +// v2](https://cloud.google.com/service-infrastructure/docs/service-control/access-control) +// +// Private Preview. This feature is only available for approved services. +// +// This API provides admission control and telemetry reporting for services +// that are integrated with [Service +// Infrastructure](https://cloud.google.com/service-infrastructure). +service ServiceController { + option (google.api.default_host) = "servicecontrol.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/servicecontrol"; + + // Private Preview. This feature is only available for approved services. + // + // This method provides admission control for services that are integrated + // with [Service + // Infrastructure](https://cloud.google.com/service-infrastructure). It checks + // whether an operation should be allowed based on the service configuration + // and relevant policies. It must be called before the operation is executed. + // For more information, see + // [Admission + // Control](https://cloud.google.com/service-infrastructure/docs/admission-control). + // + // NOTE: The admission control has an expected policy propagation delay of + // 60s. The caller **must** not depend on the most recent policy changes. + // + // NOTE: The admission control has a hard limit of 1 referenced resources + // per call. If an operation refers to more than 1 resources, the caller + // must call the Check method multiple times. + // + // This method requires the `servicemanagement.services.check` permission + // on the specified service. For more information, see + // [Service Control API Access + // Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control). + rpc Check(CheckRequest) returns (CheckResponse) { + option (google.api.http) = { + post: "/v2/services/{service_name}:check" + body: "*" + }; + } + + // Private Preview. This feature is only available for approved services. + // + // This method provides telemetry reporting for services that are integrated + // with [Service + // Infrastructure](https://cloud.google.com/service-infrastructure). It + // reports a list of operations that have occurred on a service. It must be + // called after the operations have been executed. For more information, see + // [Telemetry + // Reporting](https://cloud.google.com/service-infrastructure/docs/telemetry-reporting). + // + // NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB + // per Report call. It is recommended to have no more than 100 operations per + // call. + // + // This method requires the `servicemanagement.services.report` permission + // on the specified service. For more information, see + // [Service Control API Access + // Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control). + rpc Report(ReportRequest) returns (ReportResponse) { + option (google.api.http) = { + post: "/v2/services/{service_name}:report" + body: "*" + }; + } +} + +// Request message for the Check method. +message CheckRequest { + // The service name as specified in its service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See + // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + // for the definition of a service name. + string service_name = 1; + + // Specifies the version of the service configuration that should be used to + // process the request. Must not be empty. Set this field to 'latest' to + // specify using the latest configuration. + string service_config_id = 2; + + // Describes attributes about the operation being executed by the service. + google.rpc.context.AttributeContext attributes = 3; + + // Describes the resources and the policies applied to each resource. + repeated ResourceInfo resources = 4; + + // Optional. Contains a comma-separated list of flags. + string flags = 5; +} + +// Describes a resource referenced in the request. +message ResourceInfo { + // The name of the resource referenced in the request. + string name = 1; + + // The resource type in the format of "{service}/{kind}". + string type = 2; + + // The resource permission needed for this request. + // The format must be "{service}/{plural}.{verb}". + string permission = 3; + + // Optional. The identifier of the container of this resource. For Google + // Cloud APIs, the resource container must be one of the following formats: + // - `projects/` + // - `folders/` + // - `organizations/` + // For the policy enforcement on the container level (VPCSC and Location + // Policy check), this field takes precedence on the container extracted from + // name when presents. + string container = 4; + + // Optional. The location of the resource. The value must be a valid zone, + // region or multiregion. For example: "europe-west4" or + // "northamerica-northeast1-a" + string location = 5; +} + +// Response message for the Check method. +message CheckResponse { + // Operation is allowed when this field is not set. Any non-'OK' status + // indicates a denial; [google.rpc.Status.details][google.rpc.Status.details] + // would contain additional details about the denial. + google.rpc.Status status = 1; + + // Returns a set of request contexts generated from the `CheckRequest`. + map headers = 2; +} + +// Request message for the Report method. +message ReportRequest { + // The service name as specified in its service configuration. For example, + // `"pubsub.googleapis.com"`. + // + // See + // [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) + // for the definition of a service name. + string service_name = 1; + + // Specifies the version of the service configuration that should be used to + // process the request. Must not be empty. Set this field to 'latest' to + // specify using the latest configuration. + string service_config_id = 2; + + // Describes the list of operations to be reported. Each operation is + // represented as an AttributeContext, and contains all attributes around an + // API access. + repeated google.rpc.context.AttributeContext operations = 3; +} + +// Response message for the Report method. +// If the request contains any invalid data, the server returns an RPC error. +message ReportResponse {} + +// Message containing resource details in a batch mode. +message ResourceInfoList { + // The resource details. + repeated ResourceInfo resources = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/servicecontrol.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/servicecontrol.yaml new file mode 100644 index 00000000..9fd969fd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/servicecontrol.yaml @@ -0,0 +1,171 @@ +type: google.api.Service +config_version: 3 +name: servicecontrol.googleapis.com +title: Service Control API + +apis: +- name: google.api.servicecontrol.v2.ServiceController + +documentation: + summary: |- + Provides admission control and telemetry reporting for services integrated + with Service Infrastructure. + overview: |- + Google Service Control provides control plane functionality to managed + services, such as logging, monitoring, and status checks. This page + provides an overview of what it does and how it works. + + ## Why use Service Control? + + When you develop a cloud service, you typically start with the business + requirements and the architecture design, then proceed with API definition + and implementation. Before you put your service into production, you + need to deal with many control plane issues: + + * How to control access to your service. + * How to send logging and monitoring data to both consumers and producers. + * How to create and manage dashboards to visualize this data. + * How to automatically scale the control plane components with your + service. + + Service Control is a mature and feature-rich control plane provider + that addresses these needs with high efficiency, high scalability, + and high availability. It provides a simple public API that can be + accessed from anywhere using JSON REST and gRPC clients, so when you move + your service from on-premise to a cloud provider, or from one cloud + provider to another, you don't need to change the control plane provider. + + Services built using Google Cloud Endpoints already take advantage of + Service Control. Cloud Endpoints sends logging and monitoring data + through Google Service Control for every request arriving at its + proxy. If you need to report any additional logging and monitoring data + for your Cloud Endpoints service, you can call the Service Control API + directly from your service. + + The Service Control API definition is open sourced and available on + [GitHub](https://github.com/googleapis/googleapis/tree/master/google/api/servicecontrol). By + changing the DNS name, you can easily use alternative implementations + of the Service Control API. + + ## Architecture + + Google Service Control works with a set of *managed services* and their + *operations* (activities), *checks* whether an operation is allowed to + proceed, and *reports* completed operations. Behind the scenes, it + leverages other + Google Cloud services, such as + [Google Service + Management](https://cloud.google.com/service-infrastructure/docs/service-management/getting-started), [Stackdriver + Logging](https://cloud.google.com/products/operations), and [Stackdriver + Monitoring](https://cloud.google.com/monitoring), while hiding their + complexity from service producers. It enables service + producers to send telemetry data to their consumers. It uses caching, + batching, aggregation, and retries to deliver higher performance and + availability than the individual backend systems it encapsulates. + +
+
+ The overall architecture of a service that uses Google Service
+    Control.
Figure 1: Using Google Service + Control.
+ + The Service Control API provides two methods: + + * + [`services.check`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/check), + used for: + * Ensuring valid consumer status + * Validating API keys + * + [`services.report`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/report), + used for: + * Sending logs to Stackdriver Logging + * Sending metrics to Stackdriver Monitoring + + We'll look at these in more detail in the rest of this overview. + + ## Managed services + + A [managed + service](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services) is + a network service managed by + [Google Service + Management](https://cloud.google.com/service-infrastructure/docs/service-management/getting-started). Each + managed service has a unique name, such as `example.googleapis.com`, + which must be a valid fully-qualified DNS name, as per RFC 1035. + + For example: + + * Google Cloud Pub/Sub (`pubsub.googleapis.com`) + * Google Cloud Vision (`vision.googleapis.com`) + * Google Cloud Bigtable (`bigtable.googleapis.com`) + * Google Cloud Datastore (`datastore.googleapis.com`) + + Google Service Management manages the lifecycle of each service's + configuration, which is used to customize Google Service Control's + behavior. Service configurations are also used by Google Cloud Console for + displaying APIs and their settings, enabling/disabling APIs, and more. + + ## Operations + + Google Service Control uses the generic concept of an *operation* + to represent the activities of a managed service, such as API calls and + resource usage. Each operation is associated with a managed service and a + specific service consumer, and has a set of properties that describe the + operation, such as the API method name and resource usage amount. For more + information, see the + [Operation + definition](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/Operation). ## + Check + + The + [`services.check`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/check) method + determines whether an operation should be allowed to proceed for a + managed service. + + For example: + + * Check if the consumer is still active. + * Check if the consumer has enabled the service. + * Check if the API key is still valid. + + By performing multiple checks within a single method call, it provides + better performance, higher reliability, and reduced development cost to + service producers compared to checking with multiple backend systems. + + ## Report + + The + [`services.report`](https://cloud.google.com/service-infrastructure/docs/service-control/reference/rest/v1/services/report) method + reports completed operations for a managed service to backend + systems, such as logging and monitoring. The reported data can be seen in + Google API Console and Google Cloud Console, and retrieved with + appropriate APIs, such as the Stackdriver Logging and Stackdriver + Monitoring APIs. + + ## Next steps + + * Read our [Getting Started + guide](https://cloud.google.com/service-infrastructure/docs/service-control/getting-started) + to find out how to set up and use the Google Service Control API. + +backend: + rules: + - selector: google.api.servicecontrol.v2.ServiceController.Check + deadline: 5.0 + - selector: google.api.servicecontrol.v2.ServiceController.Report + deadline: 5.0 + +authentication: + rules: + - selector: google.api.servicecontrol.v2.ServiceController.Check + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol + - selector: google.api.servicecontrol.v2.ServiceController.Report + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/servicecontrol diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json new file mode 100644 index 00000000..a1ebcef0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicecontrol/v2/servicecontrol_grpc_service_config.json @@ -0,0 +1,20 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.api.servicecontrol.v2.ServiceController", + "method": "Check" + } + ], + "timeout": "5s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/BUILD.bazel new file mode 100644 index 00000000..41c121b1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_management. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for servicemanagement. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "servicemanagement_ruby_wrapper", + srcs = ["//google/api/servicemanagement/v1:servicemanagement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_management", + "ruby-cloud-env-prefix=SERVICE_MANAGEMENT", + "ruby-cloud-wrapper-of=v1:0.10", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + "ruby-cloud-api-id=servicemanagement.googleapis.com", + "ruby-cloud-api-shortname=servicemanagement", + ], + ruby_cloud_description = "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", + ruby_cloud_title = "Service Management", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-servicemanagement-ruby", + deps = [ + ":servicemanagement_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/README.md new file mode 100644 index 00000000..e3e36df4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/README.md @@ -0,0 +1,102 @@ +Google Service Management manages a set of *services*. Service +Management allows *service producers* to +publish their services on Google Cloud Platform so that they can be discovered +and used by *service consumers*. It also handles the tasks of tracking +service lifecycle and programming various backend systems -- such as +[Stackdriver Logging](https://cloud.google.com/stackdriver), +[Stackdriver Monitoring](https://cloud.google.com/stackdriver) -- to support +the managed services. + +If you are a service producer, you can use the Google Service Management API +and [Google Cloud SDK (gcloud)](/sdk) to publish and manage your services. +Each managed service has a service configuration which declares various aspects +of the service such as its API surface, along with parameters to configure the +supporting backend +systems, such as logging and monitoring. If you build your service using +[Google Cloud Endpoints](https://cloud.google.com/endpoints/), the service +configuration will be handled automatically. + +If you are a service consumer and want to use a managed service, you can use the +Google Service Management API or [Google Cloud Console](https://console.cloud.google.com) +to activate the +service for your [Google developer project](https://developers.google.com/console/help/new/), +then start using its APIs and functions. + +## Managed services + +REST URL: `https://servicemanagement.googleapis.com/v1/services/{service-name}`
+REST schema is defined [here](/service-management/reference/rest/v1/services). + +A managed service refers to a network service managed by +Service Management. Each managed service has a unique name, such as +`example.googleapis.com`, which must be a valid fully-qualified DNS name, as per +RFC 1035. + +A managed service typically provides some REST APIs and/or other +functions to their service consumers, such as mobile apps or cloud services. + +Service producers can use methods, such as +[services.create](/service-management/reference/rest/v1/services/create), +[services.delete](/service-management/reference/rest/v1/services/delete), +[services.undelete](/service-management/reference/rest/v1/services/undelete), +to manipulate their managed services. + +## Service producers + +A service producer is the Google developer project responsible for publishing +and maintaining a managed service. Each managed service is owned by exactly one +service producer. + +## Service consumers + +A service consumer is a Google developer project that has enabled and can +invoke APIs on a managed service. A managed service can have many service +consumers. + +## Service configuration + +REST URL: `https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}`
+REST schema is defined [here](/service-management/reference/rest/v1/services.configs). + +Each managed service is described by a service configuration which covers a wide +range of features, including its name, title, RPC API definitions, +REST API definitions, documentation, authentication, and more. + +To change the configuration of a managed service, the service producer needs to +publish an updated service configuration to Service Management. +Service Management keeps a history of published +service configurations, making it possible to easily retrace how a service's +configuration evolved over time. Service configurations can be published using +the +[services.configs.create](/service-management/reference/rest/v1/services.configs/create) +or [services.configs.submit](/service-management/reference/rest/v1/services.configs/submit) +methods. + +Alternatively, `services.configs.submit` allows publishing an +[OpenAPI](https://github.com/OAI/OpenAPI-Specification) specification, formerly +known as the Swagger Specification, which is automatically converted to a +corresponding service configuration. + +## Service rollout + +REST URL: `https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}`
+REST schema is defined [here](/service-management/reference/rest/v1/services.rollouts). + +A `Rollout` defines how Google Service Management should deploy service +configurations to backend systems and how the configurations take effect at +runtime. It lets service producers specify multiple service configuration +versions to be deployed together, and a strategy that indicates how they +should be used. + +Updating a managed service's configuration can be dangerous, as a configuration +error can lead to a service outage. To mitigate risks, Service Management +supports gradual rollout of service configuration changes. This feature gives +service producers time to identity potential issues and rollback service +configuration changes in case of errors, thus minimizing the customer +impact of bad configurations. For example, you could specify that 5% of traffic +uses configuration 1, while the remaining 95% uses configuration 2. + +Service Management keeps a history of rollouts so that service +producers can undo to previous configuration versions. You can rollback a configuration +by initiating a new `Rollout` that clones a previously submitted +rollout record. \ No newline at end of file diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/BUILD.bazel new file mode 100644 index 00000000..f6315e86 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/BUILD.bazel @@ -0,0 +1,403 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "servicemanagement_proto", + srcs = [ + "resources.proto", + "servicemanager.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:config_change_proto", + "//google/api:field_behavior_proto", + "//google/api:service_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "servicemanagement_proto_with_info", + deps = [ + ":servicemanagement_proto", + "//google/cloud:common_resources_proto", + "//google/iam/v1:iam_policy_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "servicemanagement_java_proto", + deps = [":servicemanagement_proto"], +) + +java_grpc_library( + name = "servicemanagement_java_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_java_proto"], +) + +java_gapic_library( + name = "servicemanagement_java_gapic", + srcs = [":servicemanagement_proto_with_info"], + gapic_yaml = "servicemanagement_gapic.yaml", + grpc_service_config = "servicemanagement_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicemanagement_v1.yaml", + test_deps = [ + "//google/iam/v1:iam_java_grpc", + ":servicemanagement_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":servicemanagement_java_proto", + "//google/api:api_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "servicemanagement_java_gapic_test_suite", + test_classes = [ + # This test is temporarily disabled due to the issue: + # https://github.com/googleapis/sdk-platform-java/issues/1780 + # "com.google.cloud.api.servicemanagement.v1.ServiceManagerClientHttpJsonTest", + "com.google.cloud.api.servicemanagement.v1.ServiceManagerClientTest", + ], + runtime_deps = [":servicemanagement_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-servicemanagement-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":servicemanagement_java_gapic", + ":servicemanagement_java_grpc", + ":servicemanagement_java_proto", + ":servicemanagement_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "servicemanagement_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/servicemanagement/apiv1/servicemanagementpb", + protos = [":servicemanagement_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:configchange_go_proto", + "//google/api:serviceconfig_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "servicemanagement_go_gapic", + srcs = [":servicemanagement_proto_with_info"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + importpath = "cloud.google.com/go/servicemanagement/apiv1;servicemanagement", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicemanagement_go_proto", + "//google/api:serviceconfig_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:any_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-servicemanagement-v1-go", + deps = [ + ":servicemanagement_go_gapic", + ":servicemanagement_go_gapic_srcjar-metadata.srcjar", + ":servicemanagement_go_gapic_srcjar-snippets.srcjar", + ":servicemanagement_go_gapic_srcjar-test.srcjar", + ":servicemanagement_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "servicemanagement_py_gapic", + srcs = [":servicemanagement_proto"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + opt_args = [ + "python-gapic-name=servicemanagement", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-management", + ], + rest_numeric_enums = True, + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], +) + +py_test( + name = "servicemanagement_py_gapic_test", + srcs = [ + "servicemanagement_py_gapic_pytest.py", + "servicemanagement_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":servicemanagement_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-servicemanagement-v1-py", + deps = [ + ":servicemanagement_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "servicemanagement_php_proto", + deps = [":servicemanagement_proto"], +) + +php_gapic_library( + name = "servicemanagement_php_gapic", + srcs = [":servicemanagement_proto_with_info"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicemanagement_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-servicemanagement-v1-php", + deps = [ + ":servicemanagement_php_gapic", + ":servicemanagement_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "servicemanagement_nodejs_gapic", + package_name = "@google-cloud/service-management", + src = ":servicemanagement_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "servicemanagement_grpc_service_config.json", + package = "google.api.servicemanagement.v1", + rest_numeric_enums = True, + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-servicemanagement-v1-nodejs", + deps = [ + ":servicemanagement_nodejs_gapic", + ":servicemanagement_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "servicemanagement_ruby_proto", + deps = [":servicemanagement_proto"], +) + +ruby_grpc_library( + name = "servicemanagement_ruby_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "servicemanagement_ruby_gapic", + srcs = [":servicemanagement_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=servicemanagement.googleapis.com", + "ruby-cloud-api-shortname=servicemanagement", + "ruby-cloud-env-prefix=SERVICE_MANAGEMENT", + "ruby-cloud-gem-name=google-cloud-service_management-v1", + "ruby-cloud-product-url=https://cloud.google.com/service-infrastructure/docs/overview/", + ], + grpc_service_config = "servicemanagement_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.", + ruby_cloud_title = "Service Management V1", + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicemanagement_ruby_grpc", + ":servicemanagement_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-servicemanagement-v1-ruby", + deps = [ + ":servicemanagement_ruby_gapic", + ":servicemanagement_ruby_grpc", + ":servicemanagement_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "servicemanagement_csharp_proto", + extra_opts = [], + deps = [":servicemanagement_proto"], +) + +csharp_grpc_library( + name = "servicemanagement_csharp_grpc", + srcs = [":servicemanagement_proto"], + deps = [":servicemanagement_csharp_proto"], +) + +csharp_gapic_library( + name = "servicemanagement_csharp_gapic", + srcs = [":servicemanagement_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "servicemanagement_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "servicemanagement_v1.yaml", + transport = "grpc+rest", + deps = [ + ":servicemanagement_csharp_grpc", + ":servicemanagement_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-servicemanagement-v1-csharp", + deps = [ + ":servicemanagement_csharp_gapic", + ":servicemanagement_csharp_grpc", + ":servicemanagement_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "servicemanagement_cc_proto", + deps = [":servicemanagement_proto"], +) + +cc_grpc_library( + name = "servicemanagement_cc_grpc", + srcs = [":servicemanagement_proto"], + grpc_only = True, + deps = [":servicemanagement_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/resources.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/resources.proto new file mode 100644 index 00000000..1719ac8c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/resources.proto @@ -0,0 +1,295 @@ +// Copyright 2024 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.servicemanagement.v1; + +import "google/api/config_change.proto"; +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.ServiceManagement.V1"; +option go_package = "cloud.google.com/go/servicemanagement/apiv1/servicemanagementpb;servicemanagementpb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.servicemanagement.v1"; +option objc_class_prefix = "GASM"; +option php_namespace = "Google\\Cloud\\ServiceManagement\\V1"; +option ruby_package = "Google::Cloud::ServiceManagement::V1"; + +// The full representation of a Service that is managed by +// Google Service Management. +message ManagedService { + // The name of the service. See the + // [overview](https://cloud.google.com/service-infrastructure/docs/overview) + // for naming requirements. + string service_name = 2; + + // ID of the project that produces and owns this service. + string producer_project_id = 3; +} + +// The metadata associated with a long running operation resource. +message OperationMetadata { + // Represents the status of one operation step. + message Step { + // The short description of the step. + string description = 2; + + // The status code. + Status status = 4; + } + + // Code describes the status of the operation (or one of its steps). + enum Status { + // Unspecifed code. + STATUS_UNSPECIFIED = 0; + + // The operation or step has completed without errors. + DONE = 1; + + // The operation or step has not started yet. + NOT_STARTED = 2; + + // The operation or step is in progress. + IN_PROGRESS = 3; + + // The operation or step has completed with errors. If the operation is + // rollbackable, the rollback completed with errors too. + FAILED = 4; + + // The operation or step has completed with cancellation. + CANCELLED = 5; + } + + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 1; + + // Detailed status information for each step. The order is undetermined. + repeated Step steps = 2; + + // Percentage of completion of this operation, ranging from 0 to 100. + int32 progress_percentage = 3; + + // The start time of the operation. + google.protobuf.Timestamp start_time = 4; +} + +// Represents a diagnostic message (error or warning) +message Diagnostic { + // The kind of diagnostic information possible. + enum Kind { + // Warnings and errors + WARNING = 0; + + // Only errors + ERROR = 1; + } + + // File name and line number of the error or warning. + string location = 1; + + // The kind of diagnostic information provided. + Kind kind = 2; + + // Message describing the error or warning. + string message = 3; +} + +// Represents a source file which is used to generate the service configuration +// defined by `google.api.Service`. +message ConfigSource { + // 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 = 5; + + // Set of source configuration files that are used to generate a service + // configuration (`google.api.Service`). + repeated ConfigFile files = 2; +} + +// Generic specification of a source configuration file +message ConfigFile { + enum FileType { + // Unknown file type. + FILE_TYPE_UNSPECIFIED = 0; + + // YAML-specification of service. + SERVICE_CONFIG_YAML = 1; + + // OpenAPI specification, serialized in JSON. + OPEN_API_JSON = 2; + + // OpenAPI specification, serialized in YAML. + OPEN_API_YAML = 3; + + // FileDescriptorSet, generated by protoc. + // + // To generate, use protoc with imports and source info included. + // For an example test.proto file, the following command would put the value + // in a new file named out.pb. + // + // $protoc --include_imports --include_source_info test.proto -o out.pb + FILE_DESCRIPTOR_SET_PROTO = 4; + + // Uncompiled Proto file. Used for storage and display purposes only, + // currently server-side compilation is not supported. Should match the + // inputs to 'protoc' command used to generated FILE_DESCRIPTOR_SET_PROTO. A + // file of this type can only be included if at least one file of type + // FILE_DESCRIPTOR_SET_PROTO is included. + PROTO_FILE = 6; + } + + // The file name of the configuration file (full or relative path). + string file_path = 1; + + // The bytes that constitute the file. + bytes file_contents = 3; + + // The type of configuration file this represents. + FileType file_type = 4; +} + +// Represents a service configuration with its name and id. +message ConfigRef { + // Resource name of a service config. It must have the following + // format: "services/{service name}/configs/{config id}". + string name = 1; +} + +// Change report associated with a particular service configuration. +// +// It contains a list of ConfigChanges based on the comparison between +// two service configurations. +message ChangeReport { + // List of changes between two service configurations. + // The changes will be alphabetically sorted based on the identifier + // of each change. + // A ConfigChange identifier is a dot separated path to the configuration. + // Example: visibility.rules[selector='LibraryService.CreateBook'].restriction + repeated google.api.ConfigChange config_changes = 1; +} + +// A rollout resource that defines how service configuration versions are pushed +// to control plane systems. Typically, you create a new version of the +// service config, and then create a Rollout to push the service config. +message Rollout { + // Strategy that specifies how clients of Google Service Controller want to + // send traffic to use different config versions. This is generally + // used by API proxy to split traffic based on your configured percentage for + // each config version. + // + // One example of how to gradually rollout a new service configuration using + // this + // strategy: + // Day 1 + // + // Rollout { + // id: "example.googleapis.com/rollout_20160206" + // traffic_percent_strategy { + // percentages: { + // "example.googleapis.com/20160201": 70.00 + // "example.googleapis.com/20160206": 30.00 + // } + // } + // } + // + // Day 2 + // + // Rollout { + // id: "example.googleapis.com/rollout_20160207" + // traffic_percent_strategy: { + // percentages: { + // "example.googleapis.com/20160206": 100.00 + // } + // } + // } + message TrafficPercentStrategy { + // Maps service configuration IDs to their corresponding traffic percentage. + // Key is the service configuration ID, Value is the traffic percentage + // which must be greater than 0.0 and the sum must equal to 100.0. + map percentages = 1; + } + + // Strategy used to delete a service. This strategy is a placeholder only + // used by the system generated rollout to delete a service. + message DeleteServiceStrategy {} + + // Status of a Rollout. + enum RolloutStatus { + // No status specified. + ROLLOUT_STATUS_UNSPECIFIED = 0; + + // The Rollout is in progress. + IN_PROGRESS = 1; + + // The Rollout has completed successfully. + SUCCESS = 2; + + // The Rollout has been cancelled. This can happen if you have overlapping + // Rollout pushes, and the previous ones will be cancelled. + CANCELLED = 3; + + // The Rollout has failed and the rollback attempt has failed too. + FAILED = 4; + + // The Rollout has not started yet and is pending for execution. + PENDING = 5; + + // The Rollout has failed and rolled back to the previous successful + // Rollout. + FAILED_ROLLED_BACK = 6; + } + + // Optional. Unique identifier of this Rollout. Must be no longer than 63 + // characters and only lower case letters, digits, '.', '_' and '-' are + // allowed. + // + // If not specified by client, the server will generate one. The generated id + // will have the form of , where "date" is the create + // date in ISO 8601 format. "revision number" is a monotonically increasing + // positive number that is reset every day for each service. + // An example of the generated rollout_id is '2016-02-16r1' + string rollout_id = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Creation time of the rollout. Readonly. + google.protobuf.Timestamp create_time = 2; + + // The user who created the Rollout. Readonly. + string created_by = 3; + + // The status of this rollout. Readonly. In case of a failed rollout, + // the system will automatically rollback to the current Rollout + // version. Readonly. + RolloutStatus status = 4; + + // Strategy that defines which versions of service configurations should be + // pushed + // and how they should be used at runtime. + oneof strategy { + // Google Service Control selects service configurations based on + // traffic percentage. + TrafficPercentStrategy traffic_percent_strategy = 5; + + // The strategy associated with a rollout to delete a `ManagedService`. + // Readonly. + DeleteServiceStrategy delete_service_strategy = 200; + } + + // The name of the service associated with this Rollout. + string service_name = 8; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml new file mode 100644 index 00000000..b101e2b5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_gapic.yaml @@ -0,0 +1,6 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.api.servicemanagement.v1 diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json new file mode 100755 index 00000000..e2ec9d59 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_grpc_service_config.json @@ -0,0 +1,12 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.api.servicemanagement.v1.ServiceManager" + } + ], + "timeout": "10s" + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml new file mode 100644 index 00000000..0ef9494b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanagement_v1.yaml @@ -0,0 +1,259 @@ +type: google.api.Service +config_version: 3 +name: servicemanagement.googleapis.com +title: Service Management API + +apis: +- name: google.api.servicemanagement.v1.ServiceManager +- name: google.iam.v1.IAMPolicy +- name: google.longrunning.Operations + +types: +- name: google.api.servicemanagement.v1.ConfigRef +- name: google.api.servicemanagement.v1.ConfigSource +- name: google.api.servicemanagement.v1.EnableServiceResponse +- name: google.api.servicemanagement.v1.OperationMetadata +- name: google.api.servicemanagement.v1.Rollout +- name: google.api.servicemanagement.v1.SubmitConfigSourceResponse +- name: google.api.servicemanagement.v1.UndeleteServiceResponse + +documentation: + summary: |- + Google Service Management allows service producers to publish their + services on Google Cloud Platform so that they can be discovered and used + by service consumers. + overview: |- + Google Service Management manages a set of *services*. Service Management + allows *service producers* to + publish their services on Google Cloud Platform so that they can be + discovered and used by *service consumers*. It also handles the tasks of + tracking + service lifecycle and programming various backend systems -- such as + [Stackdriver Logging](https://cloud.google.com/stackdriver), + [Stackdriver Monitoring](https://cloud.google.com/stackdriver) -- to + support the managed services. + + If you are a service producer, you can use the Google Service Management + API and [Google Cloud SDK (gcloud)](https://cloud.google.com/sdk) to + publish and manage your services. Each managed service has a service + configuration which declares various aspects of the service such as its + API surface, along with parameters to configure the supporting + backend + systems, such as logging and monitoring. If you build your service using + [Google Cloud Endpoints](https://cloud.google.com/endpoints/), the service + configuration will be handled automatically. + + If you are a service consumer and want to use a managed service, you can + use the Google Service Management API or [Google Cloud + Console](https://console.cloud.google.com) to activate the service for + your [Google developer + project](https://developers.google.com/console/help/new/), then start + using its APIs and functions. + + ## Managed services + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}`
REST schema is defined + [here](https://cloud.google.com/service-management/reference/rest/v1/services). A + managed service refers to a network service managed by + Service Management. Each managed service has a unique name, such as + `example.googleapis.com`, which must be a valid fully-qualified DNS name, + as per RFC 1035. + + A managed service typically provides some REST APIs and/or other + functions to their service consumers, such as mobile apps or cloud + services. + + Service producers can use methods, such as + [services.create](https://cloud.google.com/service-management/reference/rest/v1/services/create), [services.delete](https://cloud.google.com/service-management/reference/rest/v1/services/delete), [services.undelete](https://cloud.google.com/service-management/reference/rest/v1/services/undelete), to + manipulate their managed services. + + ## Service producers + + A service producer is the Google developer project responsible for + publishing and maintaining a managed service. Each managed service is + owned by exactly one service producer. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a managed service. A managed service can have many service + consumers. + + ## Service configuration + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}` +
REST schema is defined + [here](https://cloud.google.com/service-management/reference/rest/v1/services.configs). Each + managed service is described by a service configuration which covers a + wide range of features, including its name, title, RPC API + definitions, + REST API definitions, documentation, authentication, and more. + + To change the configuration of a managed service, the service producer + needs to publish an updated service configuration to Service + Management. + Service Management keeps a history of published + service configurations, making it possible to easily retrace how a + service's configuration evolved over time. Service configurations can be + published + using the [services.configs.create](https://cloud.google.com/service-management/reference/rest/v1/services.configs/create) or + [services.configs.submit](https://cloud.google.com/service-management/reference/rest/v1/services.configs/submit) methods. Alternatively, + `services.configs.submit` allows publishing an + [OpenAPI](https://github.com/OAI/OpenAPI-Specification) specification, + formerly known as the Swagger Specification, which is automatically + converted to a corresponding service configuration. + + ## Service rollout + + REST URL: + `https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}` +
REST schema is defined + [here](https://cloud.google.com/service-management/reference/rest/v1/services.rollouts). A + `Rollout` defines how Google Service Management should deploy service + configurations to backend systems and how the configurations take effect + at runtime. It lets service producers specify multiple service + configuration + versions to be deployed together, and a strategy that indicates how they + should be used. + + Updating a managed service's configuration can be dangerous, as a + configuration error can lead to a service outage. To mitigate risks, + Service Management + supports gradual rollout of service configuration changes. This feature + gives service producers time to identity potential issues and rollback + service + configuration changes in case of errors, thus minimizing the customer + impact of bad configurations. For example, you could specify that 5% of + traffic uses configuration 1, while the remaining 95% uses configuration + 2. + + Service Management keeps a history of rollouts so that service + producers can undo to previous configuration versions. You can rollback a + configuration by initiating a new `Rollout` that clones a previously + submitted rollout record. + rules: + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + description: |- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + description: |- + Sets the access control policy on the specified resource. Replaces + any existing policy. + + Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` + errors. + + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + description: |- + Returns permissions that a caller has on the specified resource. If the + resource does not exist, this will return an empty set of + permissions, not a `NOT_FOUND` error. + + Note: This operation is designed to be used for building + permission-aware UIs and command-line tools, not for authorization + checking. This operation may "fail open" without warning. + + - selector: google.longrunning.Operations.ListOperations + description: Lists service operations that match the specified filter in the request. + +http: + rules: + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + post: '/v1/{resource=services/*}:getIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:getIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=services/*}:setIamPolicy' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=services/*}:testIamPermissions' + body: '*' + additional_bindings: + - post: '/v1/{resource=services/*/consumers/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.ListOperations + get: /v1/operations + +authentication: + rules: + - selector: 'google.api.servicemanagement.v1.ServiceManager.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.api.servicemanagement.v1.ServiceManager.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceConfig + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.GetServiceRollout + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceConfigs + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.ListServiceRollouts + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.api.servicemanagement.v1.ServiceManager.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/service.management, + https://www.googleapis.com/auth/service.management.readonly + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanager.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanager.proto new file mode 100644 index 00000000..971ef649 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/servicemanagement/v1/servicemanager.proto @@ -0,0 +1,508 @@ +// Copyright 2024 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.servicemanagement.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/service.proto"; +import "google/api/servicemanagement/v1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/empty.proto"; + +option csharp_namespace = "Google.Cloud.ServiceManagement.V1"; +option go_package = "cloud.google.com/go/servicemanagement/apiv1/servicemanagementpb;servicemanagementpb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceManagerProto"; +option java_package = "com.google.api.servicemanagement.v1"; +option objc_class_prefix = "GASM"; +option php_namespace = "Google\\Cloud\\ServiceManagement\\V1"; +option ruby_package = "Google::Cloud::ServiceManagement::V1"; + +// [Google Service Management +// API](https://cloud.google.com/service-infrastructure/docs/overview) +service ServiceManager { + option (google.api.default_host) = "servicemanagement.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/service.management," + "https://www.googleapis.com/auth/service.management.readonly"; + + // Lists managed services. + // + // Returns all public services. For authenticated users, also returns all + // services the calling user has "servicemanagement.services.get" permission + // for. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1/services" + }; + option (google.api.method_signature) = "producer_project_id,consumer_id"; + } + + // Gets a managed service. Authentication is required unless the service is + // public. + rpc GetService(GetServiceRequest) returns (ManagedService) { + option (google.api.http) = { + get: "/v1/services/{service_name}" + }; + option (google.api.method_signature) = "service_name"; + } + + // Creates a new managed service. + // + // A managed service is immutable, and is subject to mandatory 30-day + // data retention. You cannot move a service or recreate it within 30 days + // after deletion. + // + // One producer project can own no more than 500 services. For security and + // reliability purposes, a production service should be hosted in a + // dedicated producer project. + // + // Operation + rpc CreateService(CreateServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/services" + body: "service" + }; + option (google.api.method_signature) = "service"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.ManagedService" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; + } + + // Deletes a managed service. This method will change the service to the + // `Soft-Delete` state for 30 days. Within this period, service producers may + // call + // [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService] + // to restore the service. After 30 days, the service will be permanently + // deleted. + // + // Operation + rpc DeleteService(DeleteServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/services/{service_name}" + }; + option (google.api.method_signature) = "service_name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; + } + + // Revives a previously deleted managed service. The method restores the + // service using the configuration at the time the service was deleted. + // The target service must exist and must have been deleted within the + // last 30 days. + // + // Operation + rpc UndeleteService(UndeleteServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/services/{service_name}:undelete" + }; + option (google.api.method_signature) = "service_name"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.UndeleteServiceResponse" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; + } + + // Lists the history of the service configuration for a managed service, + // from the newest to the oldest. + rpc ListServiceConfigs(ListServiceConfigsRequest) + returns (ListServiceConfigsResponse) { + option (google.api.http) = { + get: "/v1/services/{service_name}/configs" + }; + option (google.api.method_signature) = "service_name"; + } + + // Gets a service configuration (version) for a managed service. + rpc GetServiceConfig(GetServiceConfigRequest) returns (google.api.Service) { + option (google.api.http) = { + get: "/v1/services/{service_name}/configs/{config_id}" + additional_bindings { get: "/v1/services/{service_name}/config" } + }; + option (google.api.method_signature) = "service_name,config_id,view"; + } + + // Creates a new service configuration (version) for a managed service. + // This method only stores the service configuration. To roll out the service + // configuration to backend systems please call + // [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout]. + // + // Only the 100 most recent service configurations and ones referenced by + // existing rollouts are kept for each service. The rest will be deleted + // eventually. + rpc CreateServiceConfig(CreateServiceConfigRequest) + returns (google.api.Service) { + option (google.api.http) = { + post: "/v1/services/{service_name}/configs" + body: "service_config" + }; + option (google.api.method_signature) = "service_name,service_config"; + } + + // Creates a new service configuration (version) for a managed service based + // on + // user-supplied configuration source files (for example: OpenAPI + // Specification). This method stores the source configurations as well as the + // generated service configuration. To rollout the service configuration to + // other services, + // please call + // [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout]. + // + // Only the 100 most recent configuration sources and ones referenced by + // existing service configurtions are kept for each service. The rest will be + // deleted eventually. + // + // Operation + rpc SubmitConfigSource(SubmitConfigSourceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/services/{service_name}/configs:submit" + body: "*" + }; + option (google.api.method_signature) = + "service_name,config_source,validate_only"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.SubmitConfigSourceResponse" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; + } + + // Lists the history of the service configuration rollouts for a managed + // service, from the newest to the oldest. + rpc ListServiceRollouts(ListServiceRolloutsRequest) + returns (ListServiceRolloutsResponse) { + option (google.api.http) = { + get: "/v1/services/{service_name}/rollouts" + }; + option (google.api.method_signature) = "service_name,filter"; + } + + // Gets a service configuration + // [rollout][google.api.servicemanagement.v1.Rollout]. + rpc GetServiceRollout(GetServiceRolloutRequest) returns (Rollout) { + option (google.api.http) = { + get: "/v1/services/{service_name}/rollouts/{rollout_id}" + }; + option (google.api.method_signature) = "service_name,rollout_id"; + } + + // Creates a new service configuration rollout. Based on rollout, the + // Google Service Management will roll out the service configurations to + // different backend services. For example, the logging configuration will be + // pushed to Google Cloud Logging. + // + // Please note that any previous pending and running Rollouts and associated + // Operations will be automatically cancelled so that the latest Rollout will + // not be blocked by previous Rollouts. + // + // Only the 100 most recent (in any state) and the last 10 successful (if not + // already part of the set of 100 most recent) rollouts are kept for each + // service. The rest will be deleted eventually. + // + // Operation + rpc CreateServiceRollout(CreateServiceRolloutRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/services/{service_name}/rollouts" + body: "rollout" + }; + option (google.api.method_signature) = "service_name,rollout"; + option (google.longrunning.operation_info) = { + response_type: "google.api.servicemanagement.v1.Rollout" + metadata_type: "google.api.servicemanagement.v1.OperationMetadata" + }; + } + + // Generates and returns a report (errors, warnings and changes from + // existing configurations) associated with + // GenerateConfigReportRequest.new_value + // + // If GenerateConfigReportRequest.old_value is specified, + // GenerateConfigReportRequest will contain a single ChangeReport based on the + // comparison between GenerateConfigReportRequest.new_value and + // GenerateConfigReportRequest.old_value. + // If GenerateConfigReportRequest.old_value is not specified, this method + // will compare GenerateConfigReportRequest.new_value with the last pushed + // service configuration. + rpc GenerateConfigReport(GenerateConfigReportRequest) + returns (GenerateConfigReportResponse) { + option (google.api.http) = { + post: "/v1/services:generateConfigReport" + body: "*" + }; + option (google.api.method_signature) = "new_config,old_config"; + } +} + +// Request message for `ListServices` method. +message ListServicesRequest { + // Include services produced by the specified project. + string producer_project_id = 1; + + // The max number of items to include in the response list. Page size is 50 + // if not specified. Maximum value is 500. + int32 page_size = 5; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 6; + + // Include services consumed by the specified consumer. + // + // The Google Service Management implementation accepts the following + // forms: + // - project: + string consumer_id = 7 [deprecated = true]; +} + +// Response message for `ListServices` method. +message ListServicesResponse { + // The returned services will only have the name field set. + repeated ManagedService services = 1; + + // Token that can be passed to `ListServices` to resume a paginated query. + string next_page_token = 2; +} + +// Request message for `GetService` method. +message GetServiceRequest { + // Required. The name of the service. See the `ServiceManager` overview for + // naming requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for CreateService method. +message CreateServiceRequest { + // Required. Initial values for the service resource. + ManagedService service = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteService method. +message DeleteServiceRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UndeleteService method. +message UndeleteServiceRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for UndeleteService method. +message UndeleteServiceResponse { + // Revived service resource. + ManagedService service = 1; +} + +// Request message for GetServiceConfig method. +message GetServiceConfigRequest { + enum ConfigView { + // Server response includes all fields except SourceInfo. + BASIC = 0; + + // Server response includes all fields including SourceInfo. + // SourceFiles are of type 'google.api.servicemanagement.v1.ConfigFile' + // and are only available for configs created using the + // SubmitConfigSource method. + FULL = 1; + } + + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The id of the service configuration resource. + // + // This field must be specified for the server to return all fields, including + // `SourceInfo`. + string config_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Specifies which parts of the Service Config should be returned in the + // response. + ConfigView view = 3; +} + +// Request message for ListServiceConfigs method. +message ListServiceConfigsRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // The token of the page to retrieve. + string page_token = 2; + + // The max number of items to include in the response list. Page size is 50 + // if not specified. Maximum value is 100. + int32 page_size = 3; +} + +// Response message for ListServiceConfigs method. +message ListServiceConfigsResponse { + // The list of service configuration resources. + repeated google.api.Service service_configs = 1; + + // The token of the next page of results. + string next_page_token = 2; +} + +// Request message for CreateServiceConfig method. +message CreateServiceConfigRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The service configuration resource. + google.api.Service service_config = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for SubmitConfigSource method. +message SubmitConfigSourceRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The source configuration for the service. + ConfigSource config_source = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If set, this will result in the generation of a + // `google.api.Service` configuration based on the `ConfigSource` provided, + // but the generated config and the sources will NOT be persisted. + bool validate_only = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for SubmitConfigSource method. +message SubmitConfigSourceResponse { + // The generated service configuration. + google.api.Service service_config = 1; +} + +// +// Request message for 'CreateServiceRollout' +message CreateServiceRolloutRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The rollout resource. The `service_name` field is output only. + Rollout rollout = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for 'ListServiceRollouts' +message ListServiceRolloutsRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // The token of the page to retrieve. + string page_token = 2; + + // The max number of items to include in the response list. Page size is 50 + // if not specified. Maximum value is 100. + int32 page_size = 3; + + // Required. Use `filter` to return subset of rollouts. + // The following filters are supported: + // + // -- By [status] + // [google.api.servicemanagement.v1.Rollout.RolloutStatus]. For example, + // `filter='status=SUCCESS'` + // + // -- By [strategy] + // [google.api.servicemanagement.v1.Rollout.strategy]. For example, + // `filter='strategy=TrafficPercentStrategy'` + string filter = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for ListServiceRollouts method. +message ListServiceRolloutsResponse { + // The list of rollout resources. + repeated Rollout rollouts = 1; + + // The token of the next page of results. + string next_page_token = 2; +} + +// Request message for GetServiceRollout method. +message GetServiceRolloutRequest { + // Required. The name of the service. See the + // [overview](https://cloud.google.com/service-management/overview) for naming + // requirements. For example: `example.googleapis.com`. + string service_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The id of the rollout resource. + string rollout_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Operation payload for EnableService method. +message EnableServiceResponse {} + +// Request message for GenerateConfigReport method. +message GenerateConfigReportRequest { + // Required. Service configuration for which we want to generate the report. + // For this version of API, the supported types are + // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef], + // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource], + // and [google.api.Service][google.api.Service] + google.protobuf.Any new_config = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Service configuration against which the comparison will be done. + // For this version of API, the supported types are + // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef], + // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource], + // and [google.api.Service][google.api.Service] + google.protobuf.Any old_config = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for GenerateConfigReport method. +message GenerateConfigReportResponse { + // Name of the service this report belongs to. + string service_name = 1; + + // ID of the service configuration this report belongs to. + string id = 2; + + // list of ChangeReport, each corresponding to comparison between two + // service configurations. + repeated ChangeReport change_reports = 3; + + // Errors / Linter warnings associated with the service definition this + // report + // belongs to. + repeated Diagnostic diagnostics = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/BUILD.bazel new file mode 100644 index 00000000..a830b4ac --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-service_usage. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for serviceusage. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "serviceusage_ruby_wrapper", + srcs = ["//google/api/serviceusage/v1:serviceusage_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-service_usage", + "ruby-cloud-env-prefix=SERVICE_USAGE", + "ruby-cloud-wrapper-of=v1:0.6", + "ruby-cloud-product-url=https://cloud.google.com/service-usage/", + "ruby-cloud-api-id=serviceusage.googleapis.com", + "ruby-cloud-api-shortname=serviceusage", + ], + ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.", + ruby_cloud_title = "Service Usage", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-serviceusage-ruby", + deps = [ + ":serviceusage_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/BUILD.bazel new file mode 100644 index 00000000..7d98f485 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/BUILD.bazel @@ -0,0 +1,398 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "serviceusage_proto", + srcs = [ + "resources.proto", + "serviceusage.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:auth_proto", + "//google/api:client_proto", + "//google/api:documentation_proto", + "//google/api:endpoint_proto", + "//google/api:monitored_resource_proto", + "//google/api:monitoring_proto", + "//google/api:quota_proto", + "//google/api:resource_proto", + "//google/api:usage_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:api_proto", + ], +) + +proto_library_with_info( + name = "serviceusage_proto_with_info", + deps = [ + ":serviceusage_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "serviceusage_java_proto", + deps = [":serviceusage_proto"], +) + +java_grpc_library( + name = "serviceusage_java_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_java_proto"], +) + +java_gapic_library( + name = "serviceusage_java_gapic", + srcs = [":serviceusage_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "serviceusage_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1.yaml", + test_deps = [ + ":serviceusage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":serviceusage_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "serviceusage_java_gapic_test_suite", + test_classes = [ + "com.google.api.serviceusage.v1.ServiceUsageClientHttpJsonTest", + "com.google.api.serviceusage.v1.ServiceUsageClientTest", + ], + runtime_deps = [":serviceusage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-serviceusage-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":serviceusage_java_gapic", + ":serviceusage_java_grpc", + ":serviceusage_java_proto", + ":serviceusage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "serviceusage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/serviceusage/apiv1/serviceusagepb", + protos = [":serviceusage_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:monitoredres_go_proto", + "//google/api:serviceconfig_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "serviceusage_go_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + importpath = "cloud.google.com/go/serviceusage/apiv1;serviceusage", + metadata = True, + release_level = "ga", + rest_numeric_enums = False, + service_yaml = "serviceusage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_go_proto", + "//google/api:monitoredres_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-serviceusage-v1-go", + deps = [ + ":serviceusage_go_gapic", + ":serviceusage_go_gapic_srcjar-metadata.srcjar", + ":serviceusage_go_gapic_srcjar-snippets.srcjar", + ":serviceusage_go_gapic_srcjar-test.srcjar", + ":serviceusage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "serviceusage_py_gapic", + srcs = [":serviceusage_proto"], + grpc_service_config = "serviceusage_grpc_service_config.json", + opt_args = [ + "python-gapic-name=service_usage", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-usage", + ], + rest_numeric_enums = True, + service_yaml = "serviceusage_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "serviceusage_py_gapic_test", + srcs = [ + "serviceusage_py_gapic_pytest.py", + "serviceusage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":serviceusage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-serviceusage-v1-py", + deps = [ + ":serviceusage_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "serviceusage_php_proto", + deps = [":serviceusage_proto"], +) + +php_gapic_library( + name = "serviceusage_php_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1-php", + deps = [ + ":serviceusage_php_gapic", + ":serviceusage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "serviceusage_nodejs_gapic", + package_name = "@google-cloud/service-usage", + src = ":serviceusage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "serviceusage_grpc_service_config.json", + package = "google.api.serviceusage.v1", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-serviceusage-v1-nodejs", + deps = [ + ":serviceusage_nodejs_gapic", + ":serviceusage_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "serviceusage_ruby_proto", + deps = [":serviceusage_proto"], +) + +ruby_grpc_library( + name = "serviceusage_ruby_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "serviceusage_ruby_gapic", + srcs = [":serviceusage_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=serviceusage.googleapis.com", + "ruby-cloud-api-shortname=serviceusage", + "ruby-cloud-env-prefix=SERVICE_USAGE", + "ruby-cloud-gem-name=google-cloud-service_usage-v1", + "ruby-cloud-product-url=https://cloud.google.com/service-usage/", + ], + grpc_service_config = "serviceusage_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.", + ruby_cloud_title = "Service Usage V1", + service_yaml = "serviceusage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_ruby_grpc", + ":serviceusage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1-ruby", + deps = [ + ":serviceusage_ruby_gapic", + ":serviceusage_ruby_grpc", + ":serviceusage_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "serviceusage_csharp_proto", + extra_opts = [], + deps = [":serviceusage_proto"], +) + +csharp_grpc_library( + name = "serviceusage_csharp_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_csharp_proto"], +) + +csharp_gapic_library( + name = "serviceusage_csharp_gapic", + srcs = [":serviceusage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "serviceusage_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1-csharp", + deps = [ + ":serviceusage_csharp_gapic", + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "serviceusage_cc_proto", + deps = [":serviceusage_proto"], +) + +cc_grpc_library( + name = "serviceusage_cc_grpc", + srcs = [":serviceusage_proto"], + grpc_only = True, + deps = [":serviceusage_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/resources.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/resources.proto new file mode 100644 index 00000000..724feb5e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/resources.proto @@ -0,0 +1,130 @@ +// Copyright 2024 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.serviceusage.v1; + +import "google/api/auth.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/resource.proto"; +import "google/api/usage.proto"; +import "google/protobuf/api.proto"; + +option csharp_namespace = "Google.Cloud.ServiceUsage.V1"; +option go_package = "cloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.serviceusage.v1"; +option php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; +option ruby_package = "Google::Cloud::ServiceUsage::V1"; + +// A service that is available for use by the consumer. +message Service { + option (google.api.resource) = { + type: "serviceusage.googleapis.com/Service" + pattern: "projects/{project}/services/{service}" + pattern: "folders/{folder}/services/{service}" + pattern: "organizations/{organization}/services/{service}" + }; + + // The resource name of the consumer and service. + // + // A valid name would be: + // - projects/123/services/serviceusage.googleapis.com + string name = 1; + + // The resource name of the consumer. + // + // A valid name would be: + // - projects/123 + string parent = 5; + + // The service configuration of the available service. + // Some fields may be filtered out of the configuration in responses to + // the `ListServices` method. These fields are present only in responses to + // the `GetService` method. + ServiceConfig config = 2; + + // Whether or not the service has been enabled for use by the consumer. + State state = 4; +} + +// Whether or not a service has been enabled for use by a consumer. +enum State { + // The default value, which indicates that the enabled state of the service + // is unspecified or not meaningful. Currently, all consumers other than + // projects (such as folders and organizations) are always in this state. + STATE_UNSPECIFIED = 0; + + // The service cannot be used by this consumer. It has either been explicitly + // disabled, or has never been enabled. + DISABLED = 1; + + // The service has been explicitly enabled for use by this consumer. + ENABLED = 2; +} + +// The configuration of the service. +message ServiceConfig { + // The DNS address at which this service is available. + // + // An example DNS address would be: + // `calendar.googleapis.com`. + string name = 1; + + // The product title for this service. + string title = 2; + + // A list of API interfaces exported by this service. Contains only the names, + // versions, and method names of the interfaces. + repeated google.protobuf.Api apis = 3; + + // Additional API documentation. Contains only the summary and the + // documentation URL. + google.api.Documentation documentation = 6; + + // Quota configuration. + google.api.Quota quota = 10; + + // Auth configuration. Contains only the OAuth rules. + google.api.Authentication authentication = 11; + + // Configuration controlling usage of this service. + google.api.Usage usage = 15; + + // Configuration for network endpoints. Contains only the names and aliases + // of the endpoints. + repeated google.api.Endpoint endpoints = 18; + + // 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 google.api.MonitoredResourceDescriptor monitored_resources = 25; + + // Monitoring configuration. + // This should not include the 'producer_destinations' field. + google.api.Monitoring monitoring = 28; +} + +// The operation metadata returned for the batchend services operation. +message OperationMetadata { + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage.proto new file mode 100644 index 00000000..3db79850 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage.proto @@ -0,0 +1,305 @@ +// Copyright 2024 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.serviceusage.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/serviceusage/v1/resources.proto"; +import "google/longrunning/operations.proto"; + +option csharp_namespace = "Google.Cloud.ServiceUsage.V1"; +option go_package = "cloud.google.com/go/serviceusage/apiv1/serviceusagepb;serviceusagepb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceUsageProto"; +option java_package = "com.google.api.serviceusage.v1"; +option php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; +option ruby_package = "Google::Cloud::ServiceUsage::V1"; + +// Enables services that service consumers want to use on Google Cloud Platform, +// lists the available or enabled services, or disables services that service +// consumers no longer use. +// +// See [Service Usage API](https://cloud.google.com/service-usage/docs/overview) +service ServiceUsage { + option (google.api.default_host) = "serviceusage.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/service.management"; + + // Enable a service so that it can be used with a project. + rpc EnableService(EnableServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=*/*/services/*}:enable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "EnableServiceResponse" + metadata_type: "OperationMetadata" + }; + } + + // Disable a service so that it can no longer be used with a project. + // This prevents unintended usage that may cause unexpected billing + // charges or security leaks. + // + // It is not valid to call the disable method on a service that is not + // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + // the target service is not currently enabled. + rpc DisableService(DisableServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=*/*/services/*}:disable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "DisableServiceResponse" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configuration and enabled state for a given service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1/{name=*/*/services/*}" + }; + } + + // List all services available to the specified project, and the current + // state of those services with respect to the project. The list includes + // all public services, all services for which the calling user has the + // `servicemanagement.services.bind` permission, and all services that have + // already been enabled on the project. The list can be filtered to + // only include services in a specific state, for example to only include + // services enabled on the project. + // + // WARNING: If you need to query enabled services frequently or across + // an organization, you should use + // [Cloud Asset Inventory + // API](https://cloud.google.com/asset-inventory/docs/apis), which provides + // higher throughput and richer filtering capability. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/services" + }; + } + + // Enable multiple services on a project. The operation is atomic: if enabling + // any service fails, then the entire batch fails, and no state changes occur. + // To enable a single service, use the `EnableService` method instead. + rpc BatchEnableServices(BatchEnableServicesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=*/*}/services:batchEnable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "BatchEnableServicesResponse" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configurations and enabled states for a given list of + // services. + rpc BatchGetServices(BatchGetServicesRequest) + returns (BatchGetServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/services:batchGet" + }; + } +} + +// Request message for the `EnableService` method. +message EnableServiceRequest { + // Name of the consumer and service to enable the service on. + // + // The `EnableService` and `DisableService` methods currently only support + // projects. + // + // Enabling a service requires that the service is public or is shared with + // the user enabling the service. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; +} + +// Response message for the `EnableService` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message EnableServiceResponse { + // The new state of the service after enabling. + Service service = 1; +} + +// Request message for the `DisableService` method. +message DisableServiceRequest { + // Enum to determine if service usage should be checked when disabling a + // service. + enum CheckIfServiceHasUsage { + // When unset, the default behavior is used, which is SKIP. + CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED = 0; + + // If set, skip checking service usage when disabling a service. + SKIP = 1; + + // If set, service usage is checked when disabling the service. If a + // service, or its dependents, has usage in the last 30 days, the request + // returns a FAILED_PRECONDITION error. + CHECK = 2; + } + + // Name of the consumer and service to disable the service on. + // + // The enable and disable methods currently only support projects. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; + + // Indicates if services that are enabled and which depend on this service + // should also be disabled. If not set, an error will be generated if any + // enabled services depend on the service to be disabled. When set, the + // service, and any enabled services that depend on it, will be disabled + // together. + bool disable_dependent_services = 2; + + // Defines the behavior for checking service usage when disabling a service. + CheckIfServiceHasUsage check_if_service_has_usage = 3; +} + +// Response message for the `DisableService` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message DisableServiceResponse { + // The new state of the service after disabling. + Service service = 1; +} + +// Request message for the `GetService` method. +message GetServiceRequest { + // Name of the consumer and service to get the `ConsumerState` for. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; +} + +// Request message for the `ListServices` method. +message ListServicesRequest { + // Parent to search for services on. + // + // An example name would be: + // `projects/123` where `123` is the project number. + string parent = 1; + + // Requested size of the next page of data. + // Requested page size cannot exceed 200. + // If not set, the default page size is 50. + int32 page_size = 2; + + // Token identifying which result to start with, which is returned by a + // previous list call. + string page_token = 3; + + // Only list services that conform to the given filter. + // The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + string filter = 4; +} + +// Response message for the `ListServices` method. +message ListServicesResponse { + // The available services for the requested project. + repeated Service services = 1; + + // Token that can be passed to `ListServices` to resume a paginated + // query. + string next_page_token = 2; +} + +// Request message for the `BatchEnableServices` method. +message BatchEnableServicesRequest { + // Parent to enable services on. + // + // An example name would be: + // `projects/123` where `123` is the project number. + // + // The `BatchEnableServices` method currently only supports projects. + string parent = 1; + + // The identifiers of the services to enable on the project. + // + // A valid identifier would be: + // serviceusage.googleapis.com + // + // Enabling services requires that each service is public or is shared with + // the user enabling the service. + // + // A single request can enable a maximum of 20 services at a time. If more + // than 20 services are specified, the request will fail, and no state changes + // will occur. + repeated string service_ids = 2; +} + +// Response message for the `BatchEnableServices` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message BatchEnableServicesResponse { + // Provides error messages for the failing services. + message EnableFailure { + // The service id of a service that could not be enabled. + string service_id = 1; + + // An error message describing why the service could not be enabled. + string error_message = 2; + } + + // The new state of the services after enabling. + repeated Service services = 1; + + // If allow_partial_success is true, and one or more services could not be + // enabled, this field contains the details about each failure. + repeated EnableFailure failures = 2; +} + +// Request message for the `BatchGetServices` method. +message BatchGetServicesRequest { + // Parent to retrieve services from. + // If this is set, the parent of all of the services specified in `names` must + // match this field. An example name would be: `projects/123` where `123` is + // the project number. The `BatchGetServices` method currently only supports + // projects. + string parent = 1; + + // Names of the services to retrieve. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + // A single request can get a maximum of 30 services at a time. + repeated string names = 2; +} + +// Response message for the `BatchGetServices` method. +message BatchGetServicesResponse { + // The requested Service states. + repeated Service services = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json new file mode 100644 index 00000000..f7a8789f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage_grpc_service_config.json @@ -0,0 +1,8 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.api.serviceusage.v1.ServiceUsage" } + ], + "timeout": "60s" + }] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage_v1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage_v1.yaml new file mode 100644 index 00000000..10fd14b9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1/serviceusage_v1.yaml @@ -0,0 +1,76 @@ +type: google.api.Service +config_version: 3 +name: serviceusage.googleapis.com +title: Service Usage API + +apis: +- name: google.api.serviceusage.v1.ServiceUsage +- name: google.longrunning.Operations + +types: +- name: google.api.serviceusage.v1.BatchEnableServicesResponse +- name: google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure +- name: google.api.serviceusage.v1.DisableServiceResponse +- name: google.api.serviceusage.v1.EnableServiceResponse +- name: google.api.serviceusage.v1.OperationMetadata + +documentation: + summary: |- + Enables services that service consumers want to use on Google Cloud + Platform, lists the available or enabled services, or disables services + that service consumers no longer use. + overview: |- + The Service Usage API allows *service consumers* to manage the set + of *services* they interact with. Consumers can use the Service Usage API + or the [Google Cloud Console](https://console.cloud.google.com) to enable + services in their [Google + developer + project](https://developers.google.com/console/help/new/). After a service + is enabled, its APIs become available. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a service. A service can have many service consumers. + +backend: + rules: + - selector: 'google.api.serviceusage.v1.ServiceUsage.*' + deadline: 20.0 + - selector: 'google.longrunning.Operations.*' + deadline: 20.0 + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: /v1/operations + +authentication: + rules: + - selector: 'google.api.serviceusage.v1.ServiceUsage.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.api.serviceusage.v1.ServiceUsage.BatchGetServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1.ServiceUsage.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1.ServiceUsage.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/BUILD.bazel new file mode 100644 index 00000000..b9602063 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/BUILD.bazel @@ -0,0 +1,400 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "serviceusage_proto", + srcs = [ + "resources.proto", + "serviceusage.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:auth_proto", + "//google/api:client_proto", + "//google/api:documentation_proto", + "//google/api:endpoint_proto", + "//google/api:field_behavior_proto", + "//google/api:monitored_resource_proto", + "//google/api:monitoring_proto", + "//google/api:quota_proto", + "//google/api:usage_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:api_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + ], +) + +proto_library_with_info( + name = "serviceusage_proto_with_info", + deps = [ + ":serviceusage_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "serviceusage_java_proto", + deps = [":serviceusage_proto"], +) + +java_grpc_library( + name = "serviceusage_java_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_java_proto"], +) + +java_gapic_library( + name = "serviceusage_java_gapic", + srcs = [":serviceusage_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "serviceusage_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1beta1.yaml", + test_deps = [ + ":serviceusage_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":serviceusage_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "serviceusage_java_gapic_test_suite", + test_classes = [ + "com.google.api.serviceusage.v1beta1.ServiceUsageClientHttpJsonTest", + "com.google.api.serviceusage.v1beta1.ServiceUsageClientTest", + ], + runtime_deps = [":serviceusage_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-api-serviceusage-v1beta1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":serviceusage_java_gapic", + ":serviceusage_java_grpc", + ":serviceusage_java_proto", + ":serviceusage_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "serviceusage_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1", + protos = [":serviceusage_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:monitoredres_go_proto", + "//google/api:serviceconfig_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "serviceusage_go_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + importpath = "cloud.google.com/go/api/serviceusage/apiv1beta1;serviceusage", + metadata = True, + release_level = "beta", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_go_proto", + "//google/api:monitoredres_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-api-serviceusage-v1beta1-go", + deps = [ + ":serviceusage_go_gapic", + ":serviceusage_go_gapic_srcjar-metadata.srcjar", + ":serviceusage_go_gapic_srcjar-snippets.srcjar", + ":serviceusage_go_gapic_srcjar-test.srcjar", + ":serviceusage_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "serviceusage_py_gapic", + srcs = [":serviceusage_proto"], + grpc_service_config = "serviceusage_grpc_service_config.json", + opt_args = [ + "python-gapic-name=service_usage", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-service-usage", + ], + rest_numeric_enums = True, + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "serviceusage_py_gapic_test", + srcs = [ + "serviceusage_py_gapic_pytest.py", + "serviceusage_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":serviceusage_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "api-serviceusage-v1beta1-py", + deps = [ + ":serviceusage_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "serviceusage_php_proto", + deps = [":serviceusage_proto"], +) + +php_gapic_library( + name = "serviceusage_php_gapic", + srcs = [":serviceusage_proto_with_info"], + grpc_service_config = "serviceusage_grpc_service_config.json", + migration_mode = "PRE_MIGRATION_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1beta1-php", + deps = [ + ":serviceusage_php_gapic", + ":serviceusage_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "serviceusage_nodejs_gapic", + package_name = "@google-cloud/service-usage", + src = ":serviceusage_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "serviceusage_grpc_service_config.json", + package = "google.api.serviceusage.v1beta1", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "api-serviceusage-v1beta1-nodejs", + deps = [ + ":serviceusage_nodejs_gapic", + ":serviceusage_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "serviceusage_ruby_proto", + deps = [":serviceusage_proto"], +) + +ruby_grpc_library( + name = "serviceusage_ruby_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "serviceusage_ruby_gapic", + srcs = [":serviceusage_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=serviceusage.googleapis.com", + "ruby-cloud-api-shortname=serviceusage", + "ruby-cloud-env-prefix=SERVICE_USAGE", + "ruby-cloud-gem-name=google-cloud-service_usage-v1beta1", + "ruby-cloud-product-url=https://cloud.google.com/service-usage/", + ], + grpc_service_config = "serviceusage_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Service Usage is an infrastructure service of Google Cloud that lets you list and manage other APIs and services in your Cloud projects. You can list and manage Google Cloud services and their APIs, as well as services created using Cloud Endpoints.", + ruby_cloud_title = "Service Usage V1beta1", + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_ruby_grpc", + ":serviceusage_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1beta1-ruby", + deps = [ + ":serviceusage_ruby_gapic", + ":serviceusage_ruby_grpc", + ":serviceusage_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "serviceusage_csharp_proto", + extra_opts = [], + deps = [":serviceusage_proto"], +) + +csharp_grpc_library( + name = "serviceusage_csharp_grpc", + srcs = [":serviceusage_proto"], + deps = [":serviceusage_csharp_proto"], +) + +csharp_gapic_library( + name = "serviceusage_csharp_gapic", + srcs = [":serviceusage_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "serviceusage_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "serviceusage_v1beta1.yaml", + transport = "grpc+rest", + deps = [ + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-api-serviceusage-v1beta1-csharp", + deps = [ + ":serviceusage_csharp_gapic", + ":serviceusage_csharp_grpc", + ":serviceusage_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "serviceusage_cc_proto", + deps = [":serviceusage_proto"], +) + +cc_grpc_library( + name = "serviceusage_cc_grpc", + srcs = [":serviceusage_proto"], + grpc_only = True, + deps = [":serviceusage_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/resources.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/resources.proto new file mode 100644 index 00000000..b2980721 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/resources.proto @@ -0,0 +1,458 @@ +// Copyright 2024 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.serviceusage.v1beta1; + +import "google/api/auth.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/usage.proto"; +import "google/protobuf/api.proto"; + +option csharp_namespace = "Google.Api.ServiceUsage.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.serviceusage.v1beta1"; +option php_namespace = "Google\\Api\\ServiceUsage\\V1beta1"; +option ruby_package = "Google::Api::ServiceUsage::V1beta1"; + +// A service that is available for use by the consumer. +message Service { + // The resource name of the consumer and service. + // + // A valid name would be: + // - `projects/123/services/serviceusage.googleapis.com` + string name = 1; + + // The resource name of the consumer. + // + // A valid name would be: + // - `projects/123` + string parent = 5; + + // The service configuration of the available service. + // Some fields may be filtered out of the configuration in responses to + // the `ListServices` method. These fields are present only in responses to + // the `GetService` method. + ServiceConfig config = 2; + + // Whether or not the service has been enabled for use by the consumer. + State state = 4; +} + +// Whether or not a service has been enabled for use by a consumer. +enum State { + // The default value, which indicates that the enabled state of the service + // is unspecified or not meaningful. Currently, all consumers other than + // projects (such as folders and organizations) are always in this state. + STATE_UNSPECIFIED = 0; + + // The service cannot be used by this consumer. It has either been explicitly + // disabled, or has never been enabled. + DISABLED = 1; + + // The service has been explicitly enabled for use by this consumer. + ENABLED = 2; +} + +// The configuration of the service. +message ServiceConfig { + // The DNS address at which this service is available. + // + // An example DNS address would be: + // `calendar.googleapis.com`. + string name = 1; + + // The product title for this service. + string title = 2; + + // A list of API interfaces exported by this service. Contains only the names, + // versions, and method names of the interfaces. + repeated google.protobuf.Api apis = 3; + + // Additional API documentation. Contains only the summary and the + // documentation URL. + google.api.Documentation documentation = 6; + + // Quota configuration. + google.api.Quota quota = 10; + + // Auth configuration. Contains only the OAuth rules. + google.api.Authentication authentication = 11; + + // Configuration controlling usage of this service. + google.api.Usage usage = 15; + + // Configuration for network endpoints. Contains only the names and aliases + // of the endpoints. + repeated google.api.Endpoint endpoints = 18; + + // 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 google.api.MonitoredResourceDescriptor monitored_resources = 25; + + // Monitoring configuration. + // This should not include the 'producer_destinations' field. + google.api.Monitoring monitoring = 28; +} + +// The operation metadata returned for the batchend services operation. +message OperationMetadata { + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 2; +} + +// Consumer quota settings for a quota metric. +message ConsumerQuotaMetric { + // The resource name of the quota settings on this metric for this consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The name of the metric. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The display name of the metric. + // + // An example name would be: + // `CPUs` + string display_name = 2; + + // The consumer quota for each quota limit defined on the metric. + repeated ConsumerQuotaLimit consumer_quota_limits = 3; + + // The quota limits targeting the descendant containers of the + // consumer in request. + // + // If the consumer in request is of type `organizations` + // or `folders`, the field will list per-project limits in the metric; if the + // consumer in request is of type `project`, the field will be empty. + // + // The `quota_buckets` field of each descendant consumer quota limit will not + // be populated. + repeated ConsumerQuotaLimit descendant_consumer_quota_limits = 6; + + // The units in which the metric value is reported. + string unit = 5; +} + +// Consumer quota settings for a quota limit. +message ConsumerQuotaLimit { + // The resource name of the quota limit. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The name of the parent metric of this limit. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 8; + + // The limit unit. + // + // An example unit would be + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 2; + + // Whether this limit is precise or imprecise. + bool is_precise = 3; + + // Whether admin overrides are allowed on this limit + bool allows_admin_overrides = 7; + + // Summary of the enforced quota buckets, organized by quota dimension, + // ordered from least specific to most specific (for example, the global + // default bucket, with no quota dimensions, will always appear first). + repeated QuotaBucket quota_buckets = 9; + + // List of all supported locations. + // This field is present only if the limit has a {region} or {zone} dimension. + repeated string supported_locations = 11; +} + +// Selected view of quota. Can be used to request more detailed quota +// information when retrieving quota metrics and limits. +enum QuotaView { + // No quota view specified. Requests that do not specify a quota view will + // typically default to the BASIC view. + QUOTA_VIEW_UNSPECIFIED = 0; + + // Only buckets with overrides are shown in the response. + BASIC = 1; + + // Include per-location buckets even if they do not have overrides. + // When the view is FULL, and a limit has regional or zonal quota, the limit + // will include buckets for all regions or zones that could support + // overrides, even if none are currently present. In some cases this will + // cause the response to become very large; callers that do not need this + // extra information should use the BASIC view instead. + FULL = 2; +} + +// A quota bucket is a quota provisioning unit for a specific set of dimensions. +message QuotaBucket { + // The effective limit of this quota bucket. Equal to default_limit if there + // are no overrides. + int64 effective_limit = 1; + + // The default limit of this quota bucket, as specified by the service + // configuration. + int64 default_limit = 2; + + // Producer override on this quota bucket. + QuotaOverride producer_override = 3; + + // Consumer override on this quota bucket. + QuotaOverride consumer_override = 4; + + // Admin override on this quota bucket. + QuotaOverride admin_override = 5; + + // Producer policy inherited from the closet ancestor of the current consumer. + ProducerQuotaPolicy producer_quota_policy = 7; + + // The dimensions of this quota bucket. + // + // If this map is empty, this is the global bucket, which is the default quota + // value applied to all requests that do not have a more specific override. + // + // If this map is nonempty, the default limit, effective limit, and quota + // overrides apply only to requests that have the dimensions given in the map. + // + // For example, if the map has key `region` and value `us-east-1`, then the + // specified effective limit is only effective in that region, and the + // specified overrides apply only in that region. + map dimensions = 6; +} + +// A quota override +message QuotaOverride { + // The resource name of the override. + // This name is generated by the server when the override is created. + // + // Example names would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The overriding quota limit value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 override_value = 2; + + // If this map is nonempty, then this override applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, an override on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the override is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * Keys that are not defined in the limit's unit are not valid keys. + // Any string appearing in `{brackets}` in the unit (besides `{project}` + // or + // `{user}`) is a defined key. + // * `project` is not a valid key; the project is already specified in + // the parent resource name. + // * `user` is not a valid key; the API does not support quota overrides + // that apply only to a specific user. + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * If any valid key other than `region` or `zone` appears in the map, then + // all valid keys other than `region` or `zone` must also appear in the + // map. + map dimensions = 3; + + // The name of the metric to which this override applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this override applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The resource name of the ancestor that requested the override. For example: + // `organizations/12345` or `folders/67890`. + // Used by admin overrides only. + string admin_override_ancestor = 6; +} + +// Import data embedded in the request message +message OverrideInlineSource { + // The overrides to create. + // Each override must have a value for 'metric' and 'unit', to specify + // which metric and which limit the override should be applied to. + // The 'name' field of the override does not need to be set; it is ignored. + repeated QuotaOverride overrides = 1; +} + +// Enumerations of quota safety checks. +enum QuotaSafetyCheck { + // Unspecified quota safety check. + QUOTA_SAFETY_CHECK_UNSPECIFIED = 0; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to be lower than the consumer's quota usage. + LIMIT_DECREASE_BELOW_USAGE = 1; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to decrease by more than 10 percent. + LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = 2; +} + +// Quota policy created by service producer. +message ProducerQuotaPolicy { + // The resource name of the policy. + // This name is generated by the server when the policy is created. + // + // Example names would be: + // `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/producerQuotaPolicies/4a3f2c1d` + string name = 1; + + // The quota policy value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 policy_value = 2; + + // + // If this map is nonempty, then this policy applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, a policy on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the policy is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * Keys that are not defined in the limit's unit are not valid keys. + // Any string appearing in {brackets} in the unit (besides {project} or + // {user}) is a defined key. + // * `project` is not a valid key; the project is already specified in + // the parent resource name. + // * `user` is not a valid key; the API does not support quota policies + // that apply only to a specific user. + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * If any valid key other than `region` or `zone` appears in the map, then + // all valid keys other than `region` or `zone` must also appear in the + // map. + map dimensions = 3; + + // The name of the metric to which this policy applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this policy applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The cloud resource container at which the quota policy is created. The + // format is `{container_type}/{container_number}` + string container = 6; +} + +// Quota policy created by quota administrator. +message AdminQuotaPolicy { + // The resource name of the policy. + // This name is generated by the server when the policy is created. + // + // Example names would be: + // `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` + string name = 1; + + // The quota policy value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 policy_value = 2; + + // + // If this map is nonempty, then this policy applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, a policy on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the policy is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * Keys other than `region` or `zone` are not valid. + map dimensions = 3; + + // The name of the metric to which this policy applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this policy applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The cloud resource container at which the quota policy is created. The + // format is `{container_type}/{container_number}` + string container = 6; +} + +// Service identity for a service. This is the identity that service producer +// should use to access consumer resources. +message ServiceIdentity { + // The email address of the service account that a service producer would use + // to access consumer resources. + string email = 1; + + // The unique and stable id of the service account. + // https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount + string unique_id = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage.proto new file mode 100644 index 00000000..a7c18db8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage.proto @@ -0,0 +1,793 @@ +// Copyright 2024 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.serviceusage.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/serviceusage/v1beta1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Api.ServiceUsage.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ServiceUsageProto"; +option java_package = "com.google.api.serviceusage.v1beta1"; +option php_namespace = "Google\\Api\\ServiceUsage\\V1beta1"; +option ruby_package = "Google::Api::ServiceUsage::V1beta1"; + +// [Service Usage API](https://cloud.google.com/service-usage/docs/overview) +service ServiceUsage { + option (google.api.default_host) = "serviceusage.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/service.management"; + + // Enables a service so that it can be used with a project. + // + // Operation response type: `google.protobuf.Empty` + rpc EnableService(EnableServiceRequest) + returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{name=*/*/services/*}:enable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Disables a service so that it can no longer be used with a project. + // This prevents unintended usage that may cause unexpected billing + // charges or security leaks. + // + // It is not valid to call the disable method on a service that is not + // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + // the target service is not currently enabled. + // + // Operation response type: `google.protobuf.Empty` + rpc DisableService(DisableServiceRequest) + returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{name=*/*/services/*}:disable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configuration and enabled state for a given service. + rpc GetService(GetServiceRequest) returns (Service) { + option deprecated = true; + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*}" + }; + } + + // Lists all services available to the specified project, and the current + // state of those services with respect to the project. The list includes + // all public services, all services for which the calling user has the + // `servicemanagement.services.bind` permission, and all services that have + // already been enabled on the project. The list can be filtered to + // only include services in a specific state, for example to only include + // services enabled on the project. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option deprecated = true; + option (google.api.http) = { + get: "/v1beta1/{parent=*/*}/services" + }; + } + + // Enables multiple services on a project. The operation is atomic: if + // enabling any service fails, then the entire batch fails, and no state + // changes occur. + // + // Operation response type: `google.protobuf.Empty` + rpc BatchEnableServices(BatchEnableServicesRequest) + returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{parent=*/*}/services:batchEnable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Retrieves a summary of all quota information visible to the service + // consumer, organized by service metric. Each metric includes information + // about all of its defined limits. Each limit includes the limit + // configuration (quota unit, preciseness, default value), the current + // effective limit value, and all of the overrides applied to the limit. + rpc ListConsumerQuotaMetrics(ListConsumerQuotaMetricsRequest) + returns (ListConsumerQuotaMetricsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics" + }; + } + + // Retrieves a summary of quota information for a specific quota metric + rpc GetConsumerQuotaMetric(GetConsumerQuotaMetricRequest) + returns (ConsumerQuotaMetric) { + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*}" + }; + } + + // Retrieves a summary of quota information for a specific quota limit. + rpc GetConsumerQuotaLimit(GetConsumerQuotaLimitRequest) + returns (ConsumerQuotaLimit) { + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*}" + }; + } + + // Creates an admin override. + // An admin override is applied by an administrator of a parent folder or + // parent organization of the consumer receiving the override. An admin + // override is intended to limit the amount of quota the consumer can use out + // of the total quota pool allocated to all children of the folder or + // organization. + rpc CreateAdminOverride(CreateAdminOverrideRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Updates an admin override. + rpc UpdateAdminOverride(UpdateAdminOverrideRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Deletes an admin override. + rpc DeleteAdminOverride(DeleteAdminOverrideRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all admin overrides on this limit. + rpc ListAdminOverrides(ListAdminOverridesRequest) + returns (ListAdminOverridesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + }; + } + + // Creates or updates multiple admin overrides atomically, all on the + // same consumer, but on many different metrics or limits. + // The name field in the quota override message should not be set. + rpc ImportAdminOverrides(ImportAdminOverridesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importAdminOverrides" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportAdminOverridesResponse" + metadata_type: "ImportAdminOverridesMetadata" + }; + } + + // Creates a consumer override. + // A consumer override is applied to the consumer on its own authority to + // limit its own quota usage. Consumer overrides cannot be used to grant more + // quota than would be allowed by admin overrides, producer overrides, or the + // default limit of the service. + rpc CreateConsumerOverride(CreateConsumerOverrideRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Updates a consumer override. + rpc UpdateConsumerOverride(UpdateConsumerOverrideRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a consumer override. + rpc DeleteConsumerOverride(DeleteConsumerOverrideRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all consumer overrides on this limit. + rpc ListConsumerOverrides(ListConsumerOverridesRequest) + returns (ListConsumerOverridesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + }; + } + + // Creates or updates multiple consumer overrides atomically, all on the + // same consumer, but on many different metrics or limits. + // The name field in the quota override message should not be set. + rpc ImportConsumerOverrides(ImportConsumerOverridesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importConsumerOverrides" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportConsumerOverridesResponse" + metadata_type: "ImportConsumerOverridesMetadata" + }; + } + + // Generates service identity for service. + rpc GenerateServiceIdentity(GenerateServiceIdentityRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}:generateServiceIdentity" + }; + option (google.longrunning.operation_info) = { + response_type: "ServiceIdentity" + metadata_type: "google.protobuf.Empty" + }; + } +} + +// Request message for the `EnableService` method. +message EnableServiceRequest { + // Name of the consumer and service to enable the service on. + // + // The `EnableService` and `DisableService` methods currently only support + // projects. + // + // Enabling a service requires that the service is public or is shared with + // the user enabling the service. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `DisableService` method. +message DisableServiceRequest { + // Name of the consumer and service to disable the service on. + // + // The enable and disable methods currently only support projects. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `GetService` method. +message GetServiceRequest { + // Name of the consumer and service to get the `ConsumerState` for. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `ListServices` method. +message ListServicesRequest { + // Parent to search for services on. + // + // An example name would be: + // `projects/123` + // where `123` is the project number (not project ID). + string parent = 1; + + // Requested size of the next page of data. + // Requested page size cannot exceed 200. + // If not set, the default page size is 50. + int32 page_size = 2; + + // Token identifying which result to start with, which is returned by a + // previous list call. + string page_token = 3; + + // Only list services that conform to the given filter. + // The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + string filter = 4; +} + +// Response message for the `ListServices` method. +message ListServicesResponse { + // The available services for the requested project. + repeated Service services = 1; + + // Token that can be passed to `ListServices` to resume a paginated + // query. + string next_page_token = 2; +} + +// Request message for the `BatchEnableServices` method. +message BatchEnableServicesRequest { + // Parent to enable services on. + // + // An example name would be: + // `projects/123` + // where `123` is the project number (not project ID). + // + // The `BatchEnableServices` method currently only supports projects. + string parent = 1; + + // The identifiers of the services to enable on the project. + // + // A valid identifier would be: + // serviceusage.googleapis.com + // + // Enabling services requires that each service is public or is shared with + // the user enabling the service. + // + // Two or more services must be specified. To enable a single service, + // use the `EnableService` method instead. + // + // A single request can enable a maximum of 20 services at a time. If more + // than 20 services are specified, the request will fail, and no state changes + // will occur. + repeated string service_ids = 2; +} + +// Request message for ListConsumerQuotaMetrics +message ListConsumerQuotaMetricsRequest { + // Parent of the quotas resource. + // + // Some example names would be: + // `projects/123/services/serviceconsumermanagement.googleapis.com` + // `folders/345/services/serviceconsumermanagement.googleapis.com` + // `organizations/456/services/serviceconsumermanagement.googleapis.com` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 4; +} + +// Response message for ListConsumerQuotaMetrics +message ListConsumerQuotaMetricsResponse { + // Quota settings for the consumer, organized by quota metric. + repeated ConsumerQuotaMetric metrics = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Request message for GetConsumerQuotaMetric +message GetConsumerQuotaMetricRequest { + // The resource name of the quota limit. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` + string name = 1; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 2; +} + +// Request message for GetConsumerQuotaLimit +message GetConsumerQuotaLimitRequest { + // The resource name of the quota limit. + // + // Use the quota limit resource name returned by previous + // ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. + string name = 1; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 2; +} + +// Request message for CreateAdminOverride. +message CreateAdminOverrideRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // The admin override to create. + QuotaOverride override = 2; + + // Whether to force the creation of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Request message for UpdateAdminOverride. +message UpdateAdminOverrideRequest { + // The resource name of the override to update. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + string name = 1; + + // The new override. + // Only the override_value is updated; all other fields are ignored. + QuotaOverride override = 2; + + // Whether to force the update of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // Update only the specified fields of the override. + // If unset, all fields will be updated. + google.protobuf.FieldMask update_mask = 4; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 5; +} + +// Request message for DeleteAdminOverride. +message DeleteAdminOverrideRequest { + // The resource name of the override to delete. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + string name = 1; + + // Whether to force the deletion of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 2; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 3; +} + +// Request message for ListAdminOverrides +message ListAdminOverridesRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; +} + +// Response message for ListAdminOverrides. +message ListAdminOverridesResponse { + // Admin overrides on this limit. + repeated QuotaOverride overrides = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Response message for BatchCreateAdminOverrides +message BatchCreateAdminOverridesResponse { + // The overrides that were created. + repeated QuotaOverride overrides = 1; +} + +// Request message for ImportAdminOverrides +message ImportAdminOverridesRequest { + // The resource name of the consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com` + string parent = 1; + + // Source of import data + oneof source { + // The import data is specified in the request message itself + OverrideInlineSource inline_source = 2; + } + + // Whether to force the creation of the quota overrides. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Response message for ImportAdminOverrides +message ImportAdminOverridesResponse { + // The overrides that were created from the imported data. + repeated QuotaOverride overrides = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportAdminOverrides. +message ImportAdminOverridesMetadata {} + +// Request message for CreateConsumerOverride. +message CreateConsumerOverrideRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // The override to create. + QuotaOverride override = 2; + + // Whether to force the creation of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Request message for UpdateConsumerOverride. +message UpdateConsumerOverrideRequest { + // The resource name of the override to update. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + string name = 1; + + // The new override. + // Only the override_value is updated; all other fields are ignored. + QuotaOverride override = 2; + + // Whether to force the update of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // Update only the specified fields of the override. + // If unset, all fields will be updated. + google.protobuf.FieldMask update_mask = 4; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 5; +} + +// Request message for DeleteConsumerOverride. +message DeleteConsumerOverrideRequest { + // The resource name of the override to delete. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + string name = 1; + + // Whether to force the deletion of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 2; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 3; +} + +// Request message for ListConsumerOverrides +message ListConsumerOverridesRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; +} + +// Response message for ListConsumerOverrides. +message ListConsumerOverridesResponse { + // Consumer overrides on this limit. + repeated QuotaOverride overrides = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Response message for BatchCreateConsumerOverrides +message BatchCreateConsumerOverridesResponse { + // The overrides that were created. + repeated QuotaOverride overrides = 1; +} + +// Request message for ImportConsumerOverrides +message ImportConsumerOverridesRequest { + // The resource name of the consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com` + string parent = 1; + + // Source of import data + oneof source { + // The import data is specified in the request message itself + OverrideInlineSource inline_source = 2; + } + + // Whether to force the creation of the quota overrides. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Response message for ImportConsumerOverrides +message ImportConsumerOverridesResponse { + // The overrides that were created from the imported data. + repeated QuotaOverride overrides = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportConsumerOverrides. +message ImportConsumerOverridesMetadata {} + +// Response message for ImportAdminQuotaPolicies +message ImportAdminQuotaPoliciesResponse { + // The policies that were created from the imported data. + repeated AdminQuotaPolicy policies = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportAdminQuotaPolicies. +message ImportAdminQuotaPoliciesMetadata {} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by CreateAdminQuotaPolicy. +message CreateAdminQuotaPolicyMetadata {} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by UpdateAdminQuotaPolicy. +message UpdateAdminQuotaPolicyMetadata {} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by DeleteAdminQuotaPolicy. +message DeleteAdminQuotaPolicyMetadata {} + +// Request message for generating service identity. +message GenerateServiceIdentityRequest { + // Name of the consumer and service to generate an identity for. + // + // The `GenerateServiceIdentity` methods currently support projects, folders, + // organizations. + // + // Example parents would be: + // `projects/123/services/example.googleapis.com` + // `folders/123/services/example.googleapis.com` + // `organizations/123/services/example.googleapis.com` + string parent = 1; +} + +// Response message for getting service identity. +message GetServiceIdentityResponse { + // Enum for service identity state. + enum IdentityState { + // Default service identity state. This value is used if the state is + // omitted. + IDENTITY_STATE_UNSPECIFIED = 0; + + // Service identity has been created and can be used. + ACTIVE = 1; + } + + // Service identity that service producer can use to access consumer + // resources. If exists is true, it contains email and unique_id. If exists is + // false, it contains pre-constructed email and empty unique_id. + ServiceIdentity identity = 1; + + // Service identity state. + IdentityState state = 2; +} + +// Metadata for the `GetServiceIdentity` method. +message GetServiceIdentityMetadata {} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json new file mode 100644 index 00000000..c04430c6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage_grpc_service_config.json @@ -0,0 +1,8 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.api.serviceusage.v1beta1.ServiceUsage" } + ], + "timeout": "5s" + }] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml new file mode 100644 index 00000000..211cc8e2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/serviceusage/v1beta1/serviceusage_v1beta1.yaml @@ -0,0 +1,106 @@ +type: google.api.Service +config_version: 3 +name: serviceusage.googleapis.com +title: Service Usage API + +apis: +- name: google.api.serviceusage.v1beta1.ServiceUsage +- name: google.longrunning.Operations + +types: +- name: google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse +- name: google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse +- name: google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata +- name: google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata +- name: google.api.serviceusage.v1beta1.GetServiceIdentityMetadata +- name: google.api.serviceusage.v1beta1.GetServiceIdentityResponse +- name: google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata +- name: google.api.serviceusage.v1beta1.ImportAdminOverridesResponse +- name: google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata +- name: google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse +- name: google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata +- name: google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse +- name: google.api.serviceusage.v1beta1.OperationMetadata +- name: google.api.serviceusage.v1beta1.ServiceIdentity +- name: google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + +documentation: + summary: |- + Enables services that service consumers want to use on Google Cloud + Platform, lists the available or enabled services, or disables services + that service consumers no longer use. + overview: |- + The Service Usage API allows *service consumers* to manage the set + of *services* they interact with. Consumers can use the Service Usage API + or the [Google Cloud Console](https://console.cloud.google.com) to enable + services in their [Google + developer + project](https://developers.google.com/console/help/new/). After a service + is enabled, its APIs become available. + + ## Service consumers + + A service consumer is a Google developer project that has enabled and can + invoke APIs on a service. A service can have many service consumers. + +backend: + rules: + - selector: 'google.api.serviceusage.v1beta1.ServiceUsage.*' + deadline: 20.0 + - selector: 'google.longrunning.Operations.*' + deadline: 20.0 + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta1/{name=operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: /v1beta1/operations + +authentication: + rules: + - selector: 'google.api.serviceusage.v1beta1.ServiceUsage.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management + - selector: google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaLimit + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaMetric + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1beta1.ServiceUsage.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1beta1.ServiceUsage.ListAdminOverrides + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerOverrides + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerQuotaMetrics + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.api.serviceusage.v1beta1.ServiceUsage.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/service.management diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/api/source_info.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/source_info.proto new file mode 100644 index 00000000..c9b1c9a1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/source_info.proto @@ -0,0 +1,31 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/system_parameter.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/system_parameter.proto new file mode 100644 index 00000000..4eb4f478 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/system_parameter.proto @@ -0,0 +1,96 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/usage.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/usage.proto new file mode 100644 index 00000000..5c6d6d81 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/usage.proto @@ -0,0 +1,96 @@ +// Copyright 2024 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 = "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 /; + // for example 'serviceusage.googleapis.com/billing-enabled'. + // + // For Google APIs, a Terms of Service requirement must be included here. + // Google Cloud APIs must include "serviceusage.googleapis.com/tos/cloud". + // Other Google APIs should include + // "serviceusage.googleapis.com/tos/universal". Additional ToS can be + // included based on the business needs. + 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/pkgs/appengine/lib/src/grpc_api/protos/google/api/visibility.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/api/visibility.proto new file mode 100644 index 00000000..bb378bf0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/api/visibility.proto @@ -0,0 +1,113 @@ +// Copyright 2024 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/visibility;visibility"; +option java_multiple_files = true; +option java_outer_classname = "VisibilityProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.EnumOptions { + // See `VisibilityRule`. + google.api.VisibilityRule enum_visibility = 72295727; +} + +extend google.protobuf.EnumValueOptions { + // See `VisibilityRule`. + google.api.VisibilityRule value_visibility = 72295727; +} + +extend google.protobuf.FieldOptions { + // See `VisibilityRule`. + google.api.VisibilityRule field_visibility = 72295727; +} + +extend google.protobuf.MessageOptions { + // See `VisibilityRule`. + google.api.VisibilityRule message_visibility = 72295727; +} + +extend google.protobuf.MethodOptions { + // See `VisibilityRule`. + google.api.VisibilityRule method_visibility = 72295727; +} + +extend google.protobuf.ServiceOptions { + // See `VisibilityRule`. + google.api.VisibilityRule api_visibility = 72295727; +} + +// `Visibility` restricts service consumer's access to service elements, +// such as whether an application can call a visibility-restricted method. +// The restriction is expressed by applying visibility labels on service +// elements. The visibility labels are elsewhere linked to service consumers. +// +// A service can define multiple visibility labels, but a service consumer +// should be granted at most one visibility label. Multiple visibility +// labels for a single service consumer are not supported. +// +// If an element and all its parents have no visibility label, its visibility +// is unconditionally granted. +// +// Example: +// +// visibility: +// rules: +// - selector: google.calendar.Calendar.EnhancedSearch +// restriction: PREVIEW +// - selector: google.calendar.Calendar.Delegate +// restriction: INTERNAL +// +// Here, all methods are publicly visible except for the restricted methods +// EnhancedSearch and Delegate. +message Visibility { + // A list of visibility rules that apply to individual API elements. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated VisibilityRule rules = 1; +} + +// A visibility rule provides visibility configuration for an individual API +// element. +message VisibilityRule { + // Selects methods, messages, fields, enums, etc. to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax + // details. + string selector = 1; + + // A comma-separated list of visibility labels that apply to the `selector`. + // Any of the listed labels can be used to grant the visibility. + // + // If a rule has multiple labels, removing one of the labels but not all of + // them can break clients. + // + // Example: + // + // visibility: + // rules: + // - selector: google.calendar.Calendar.EnhancedSearch + // restriction: INTERNAL, PREVIEW + // + // Removing INTERNAL from this restriction will break clients that rely on + // this method and only had access to it through INTERNAL. + string restriction = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/BUILD.bazel new file mode 100644 index 00000000..7818336c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-app_engine. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for appengine. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "appengine_ruby_wrapper", + srcs = ["//google/appengine/v1:appengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-app_engine", + "ruby-cloud-env-prefix=APP_ENGINE", + "ruby-cloud-wrapper-of=v1:0.9", + "ruby-cloud-product-url=https://cloud.google.com/appengine/docs/admin-api/", + "ruby-cloud-api-id=appengine.googleapis.com", + "ruby-cloud-api-shortname=appengine", + ], + ruby_cloud_description = "The App Engine Admin API provisions and manages your App Engine applications.", + ruby_cloud_title = "App Engine Admin", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-appengine-ruby", + deps = [ + ":appengine_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/README.md new file mode 100644 index 00000000..54e45e6f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/README.md @@ -0,0 +1,12 @@ +# Google App Engine Admin API + +## Overview + +The Google App Engine Admin API is a RESTful API for managing App Engine +applications. The Admin API provides programmatic access to several of the App +Engine administrative operations that are found in the +[Google Cloud Platform Console](https://cloud.google.com/appengine/docs/developers-console). + +## Documentation + +[Google App Engine Admin API Documentation](https://cloud.google.com/appengine/docs/admin-api/) \ No newline at end of file diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/legacy/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/legacy/BUILD.bazel new file mode 100644 index 00000000..71ab3e4d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/legacy/BUILD.bazel @@ -0,0 +1,164 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "legacy_proto", + srcs = [ + "audit_data.proto", + ], + deps = [ + "//google/api:annotations_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "legacy_java_proto", + deps = [":legacy_proto"], +) + +java_grpc_library( + name = "legacy_java_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "legacy_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/legacy", + protos = [":legacy_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "legacy_moved_proto", + srcs = [":legacy_proto"], + deps = [ + "//google/api:annotations_proto", + ], +) + +py_proto_library( + name = "legacy_py_proto", + deps = [":legacy_moved_proto"], +) + +py_grpc_library( + name = "legacy_py_grpc", + srcs = [":legacy_moved_proto"], + deps = [":legacy_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "legacy_php_proto", + deps = [":legacy_proto"], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "legacy_ruby_proto", + deps = [":legacy_proto"], +) + +ruby_grpc_library( + name = "legacy_ruby_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "legacy_csharp_proto", + deps = [":legacy_proto"], +) + +csharp_grpc_library( + name = "legacy_csharp_grpc", + srcs = [":legacy_proto"], + deps = [":legacy_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "legacy_cc_proto", + deps = [":legacy_proto"], +) + +cc_grpc_library( + name = "legacy_cc_grpc", + srcs = [":legacy_proto"], + grpc_only = True, + deps = [":legacy_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/legacy/audit_data.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/legacy/audit_data.proto new file mode 100644 index 00000000..a77db19c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/legacy/audit_data.proto @@ -0,0 +1,33 @@ +// Copyright 2024 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.appengine.legacy; + +option go_package = "google.golang.org/genproto/googleapis/appengine/legacy;legacy"; +option java_multiple_files = true; +option java_outer_classname = "AuditDataProto"; +option java_package = "com.google.appengine.legacy"; + +// Admin Console legacy audit log. +message AuditData { + // Text description of the admin event. + // This is the "Event" column in Admin Console's Admin Logs. + string event_message = 1; + + // Arbitrary event data. + // This is the "Result" column in Admin Console's Admin Logs. + map event_data = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/logging/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/logging/v1/BUILD.bazel new file mode 100644 index 00000000..afd1d613 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/logging/v1/BUILD.bazel @@ -0,0 +1,166 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "logging_proto", + srcs = [ + "request_log.proto", + ], + deps = [ + "//google/logging/type:type_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "logging_java_proto", + deps = [":logging_proto"], +) + +java_grpc_library( + name = "logging_java_grpc", + srcs = [":logging_proto"], + deps = [":logging_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/logging/v1", + protos = [":logging_proto"], + deps = [ + "//google/logging/type:type_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", +) + +py_gapic_library( + name = "logging_py_gapic", + srcs = [":logging_proto"], + opt_args = [ + "warehouse-package-name=google-cloud-appengine-logging", + "python-gapic-namespace=google.cloud", + "python-gapic-name=appengine_logging", + ], + rest_numeric_enums = False, + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-appengine-logging-v1-py", + deps = [ + ":logging_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "logging_ruby_proto", + deps = [":logging_proto"], +) + +ruby_grpc_library( + name = "logging_ruby_grpc", + srcs = [":logging_proto"], + deps = [":logging_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "logging_csharp_proto", + deps = [":logging_proto"], +) + +csharp_grpc_library( + name = "logging_csharp_grpc", + srcs = [":logging_proto"], + deps = [":logging_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "logging_cc_proto", + deps = [":logging_proto"], +) + +cc_grpc_library( + name = "logging_cc_grpc", + srcs = [":logging_proto"], + grpc_only = True, + deps = [":logging_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/logging/v1/request_log.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/logging/v1/request_log.proto new file mode 100644 index 00000000..026f1b10 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/logging/v1/request_log.proto @@ -0,0 +1,196 @@ +// Copyright 2024 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.appengine.logging.v1; + +import "google/logging/type/log_severity.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.Logging.V1"; +option go_package = "google.golang.org/genproto/googleapis/appengine/logging/v1;logging"; +option java_multiple_files = true; +option java_outer_classname = "RequestLogProto"; +option java_package = "com.google.appengine.logging.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\Logging\\V1"; +option ruby_package = "Google::Cloud::AppEngine::Logging::V1"; + +// Application log line emitted while processing a request. +message LogLine { + // Approximate time when this log entry was made. + google.protobuf.Timestamp time = 1; + + // Severity of this log entry. + google.logging.type.LogSeverity severity = 2; + + // App-provided log message. + string log_message = 3; + + // Where in the source code this log message was written. + SourceLocation source_location = 4; +} + +// Specifies a location in a source code file. +message SourceLocation { + // Source file name. Depending on the runtime environment, this might be a + // simple name or a fully-qualified name. + string file = 1; + + // Line within the source file. + int64 line = 2; + + // Human-readable name of the function or method being invoked, with optional + // context such as the class or package name. This information is used in + // contexts such as the logs viewer, where a file and line number are less + // meaningful. The format can vary by language. For example: + // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + // (Python). + string function_name = 3; +} + +// A reference to a particular snapshot of the source tree used to build and +// deploy an application. +message SourceReference { + // Optional. A URI string identifying the repository. + // Example: "https://github.com/GoogleCloudPlatform/kubernetes.git" + string repository = 1; + + // The canonical and persistent identifier of the deployed revision. + // Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b" + string revision_id = 2; +} + +// Complete log information about a single HTTP request to an App Engine +// application. +message RequestLog { + // Application that handled this request. + string app_id = 1; + + // Module of the application that handled this request. + string module_id = 37; + + // Version of the application that handled this request. + string version_id = 2; + + // Globally unique identifier for a request, which is based on the request + // start time. Request IDs for requests which started later will compare + // greater as strings than those for requests which started earlier. + string request_id = 3; + + // Origin IP address. + string ip = 4; + + // Time when the request started. + google.protobuf.Timestamp start_time = 6; + + // Time when the request finished. + google.protobuf.Timestamp end_time = 7; + + // Latency of the request. + google.protobuf.Duration latency = 8; + + // Number of CPU megacycles used to process request. + int64 mega_cycles = 9; + + // Request method. Example: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`, `"DELETE"`. + string method = 10; + + // Contains the path and query portion of the URL that was requested. For + // example, if the URL was "http://example.com/app?name=val", the resource + // would be "/app?name=val". The fragment identifier, which is identified by + // the `#` character, is not included. + string resource = 11; + + // HTTP version of request. Example: `"HTTP/1.1"`. + string http_version = 12; + + // HTTP response status code. Example: 200, 404. + int32 status = 13; + + // Size in bytes sent back to client by request. + int64 response_size = 14; + + // Referrer URL of request. + string referrer = 15; + + // User agent that made the request. + string user_agent = 16; + + // The logged-in user who made the request. + // + // Most likely, this is the part of the user's email before the `@` sign. The + // field value is the same for different requests from the same user, but + // different users can have similar names. This information is also + // available to the application via the App Engine Users API. + // + // This field will be populated starting with App Engine 1.9.21. + string nickname = 40; + + // File or class that handled the request. + string url_map_entry = 17; + + // Internet host and port number of the resource being requested. + string host = 20; + + // An indication of the relative cost of serving this request. + double cost = 21; + + // Queue name of the request, in the case of an offline request. + string task_queue_name = 22; + + // Task name of the request, in the case of an offline request. + string task_name = 23; + + // Whether this was a loading request for the instance. + bool was_loading_request = 24; + + // Time this request spent in the pending request queue. + google.protobuf.Duration pending_time = 25; + + // If the instance processing this request belongs to a manually scaled + // module, then this is the 0-based index of the instance. Otherwise, this + // value is -1. + int32 instance_index = 26; + + // Whether this request is finished or active. + bool finished = 27; + + // Whether this is the first `RequestLog` entry for this request. If an + // active request has several `RequestLog` entries written to Stackdriver + // Logging, then this field will be set for one of them. + bool first = 42; + + // An identifier for the instance that handled the request. + string instance_id = 28; + + // A list of log lines emitted by the application while serving this request. + repeated LogLine line = 29; + + // App Engine release version. + string app_engine_release = 38; + + // Stackdriver Trace identifier for this request. + string trace_id = 39; + + // If true, the value in the 'trace_id' field was sampled for storage in a + // trace backend. + bool trace_sampled = 43; + + // Source code for the application that handled this request. There can be + // more than one source reference per deployed application if source code is + // distributed among multiple repositories. + repeated SourceReference source_reference = 41; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/BUILD.bazel new file mode 100644 index 00000000..17a49828 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/BUILD.bazel @@ -0,0 +1,361 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "appengine_proto", + srcs = [ + "app_yaml.proto", + "appengine.proto", + "application.proto", + "audit_data.proto", + "certificate.proto", + "deploy.proto", + "deployed_files.proto", + "domain.proto", + "domain_mapping.proto", + "firewall.proto", + "instance.proto", + "location.proto", + "network_settings.proto", + "operation.proto", + "service.proto", + "version.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "appengine_proto_with_info", + deps = [ + ":appengine_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "appengine_java_proto", + deps = [":appengine_proto"], +) + +java_grpc_library( + name = "appengine_java_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_java_proto"], +) + +java_gapic_library( + name = "appengine_java_gapic", + srcs = [":appengine_proto_with_info"], + grpc_service_config = "appengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "appengine_v1.yaml", + test_deps = [ + ":appengine_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":appengine_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "appengine_java_gapic_test_suite", + test_classes = [ + "com.google.appengine.v1.ApplicationsClientHttpJsonTest", + "com.google.appengine.v1.ApplicationsClientTest", + "com.google.appengine.v1.AuthorizedCertificatesClientHttpJsonTest", + "com.google.appengine.v1.AuthorizedCertificatesClientTest", + "com.google.appengine.v1.AuthorizedDomainsClientHttpJsonTest", + "com.google.appengine.v1.AuthorizedDomainsClientTest", + "com.google.appengine.v1.DomainMappingsClientHttpJsonTest", + "com.google.appengine.v1.DomainMappingsClientTest", + "com.google.appengine.v1.FirewallClientHttpJsonTest", + "com.google.appengine.v1.FirewallClientTest", + "com.google.appengine.v1.InstancesClientHttpJsonTest", + "com.google.appengine.v1.InstancesClientTest", + "com.google.appengine.v1.ServicesClientHttpJsonTest", + "com.google.appengine.v1.ServicesClientTest", + "com.google.appengine.v1.VersionsClientHttpJsonTest", + "com.google.appengine.v1.VersionsClientTest", + ], + runtime_deps = [":appengine_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-appengine-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":appengine_java_gapic", + ":appengine_java_grpc", + ":appengine_java_proto", + ":appengine_proto", + ], +) + +go_proto_library( + name = "appengine_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/appengine/apiv1/appenginepb", + protos = [":appengine_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "appengine_go_gapic", + srcs = [":appengine_proto_with_info"], + grpc_service_config = "appengine_grpc_service_config.json", + importpath = "cloud.google.com/go/appengine/apiv1;appengine", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", + deps = [ + ":appengine_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-appengine-v1-go", + deps = [ + ":appengine_go_gapic", + ":appengine_go_gapic_srcjar-metadata.srcjar", + ":appengine_go_gapic_srcjar-snippets.srcjar", + ":appengine_go_gapic_srcjar-test.srcjar", + ":appengine_go_proto", + ], +) + +py_gapic_library( + name = "appengine_py_gapic", + srcs = [":appengine_proto"], + grpc_service_config = "appengine_grpc_service_config.json", + opt_args = [ + "warehouse-package-name=google-cloud-appengine-admin", + "python-gapic-namespace=google.cloud", + "python-gapic-name=appengine_admin", + ], + rest_numeric_enums = True, + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", +) + +py_test( + name = "appengine_py_gapic_test", + srcs = [ + "appengine_py_gapic_pytest.py", + "appengine_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":appengine_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-py", + deps = [ + ":appengine_py_gapic", + ], +) + +php_proto_library( + name = "appengine_php_proto", + deps = [":appengine_proto"], +) + +php_gapic_library( + name = "appengine_php_gapic", + srcs = [":appengine_proto_with_info"], + grpc_service_config = "appengine_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", + deps = [":appengine_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-php", + deps = [ + ":appengine_php_gapic", + ":appengine_php_proto", + ], +) + +nodejs_gapic_library( + name = "appengine_nodejs_gapic", + package_name = "@google-cloud/appengine-admin", + src = ":appengine_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "appengine_grpc_service_config.json", + package = "google.appengine.v1", + rest_numeric_enums = True, + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "appengine-v1-nodejs", + deps = [ + ":appengine_nodejs_gapic", + ":appengine_proto", + ], +) + +ruby_proto_library( + name = "appengine_ruby_proto", + deps = [":appengine_proto"], +) + +ruby_grpc_library( + name = "appengine_ruby_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "appengine_ruby_gapic", + srcs = [":appengine_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-app_engine-v1", + "ruby-cloud-env-prefix=APP_ENGINE", + "ruby-cloud-product-url=https://cloud.google.com/appengine/docs/admin-api/", + "ruby-cloud-api-id=appengine.googleapis.com", + "ruby-cloud-api-shortname=appengine", + ], + rest_numeric_enums = True, + ruby_cloud_description = "The App Engine Admin API provisions and manages your App Engine applications.", + ruby_cloud_title = "App Engine Admin V1", + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", + deps = [ + ":appengine_ruby_grpc", + ":appengine_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-ruby", + deps = [ + ":appengine_ruby_gapic", + ":appengine_ruby_grpc", + ":appengine_ruby_proto", + ], +) + +csharp_proto_library( + name = "appengine_csharp_proto", + deps = [":appengine_proto"], +) + +csharp_grpc_library( + name = "appengine_csharp_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_csharp_proto"], +) + +csharp_gapic_library( + name = "appengine_csharp_gapic", + srcs = [":appengine_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "appengine_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "appengine_v1.yaml", + transport = "grpc+rest", + deps = [ + ":appengine_csharp_grpc", + ":appengine_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-appengine-v1-csharp", + deps = [ + ":appengine_csharp_gapic", + ":appengine_csharp_grpc", + ":appengine_csharp_proto", + ], +) + +cc_proto_library( + name = "appengine_cc_proto", + deps = [":appengine_proto"], +) + +cc_grpc_library( + name = "appengine_cc_grpc", + srcs = [":appengine_proto"], + grpc_only = True, + deps = [":appengine_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/app_yaml.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/app_yaml.proto new file mode 100644 index 00000000..91464fde --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/app_yaml.proto @@ -0,0 +1,348 @@ +// Copyright 2024 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.appengine.v1; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "AppYamlProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) +// configuration for API handlers. +message ApiConfigHandler { + // Action to take when users access resources that require + // authentication. Defaults to `redirect`. + AuthFailAction auth_fail_action = 1; + + // Level of login required to access this resource. Defaults to + // `optional`. + LoginRequirement login = 2; + + // Path to the script from the application root directory. + string script = 3; + + // Security (HTTPS) enforcement for this URL. + SecurityLevel security_level = 4; + + // URL to serve the endpoint at. + string url = 5; +} + +// Custom static error page to be served when an error occurs. +message ErrorHandler { + // Error codes. + enum ErrorCode { + option allow_alias = true; + + // Not specified. ERROR_CODE_DEFAULT is assumed. + ERROR_CODE_UNSPECIFIED = 0; + + // All other error types. + ERROR_CODE_DEFAULT = 0; + + // Application has exceeded a resource quota. + ERROR_CODE_OVER_QUOTA = 1; + + // Client blocked by the application's Denial of Service protection + // configuration. + ERROR_CODE_DOS_API_DENIAL = 2; + + // Deadline reached before the application responds. + ERROR_CODE_TIMEOUT = 3; + } + + // Error condition this handler applies to. + ErrorCode error_code = 1; + + // Static file content to be served for this error. + string static_file = 2; + + // MIME type of file. Defaults to `text/html`. + string mime_type = 3; +} + +// URL pattern and description of how the URL should be handled. App Engine can +// handle URLs by executing application code or by serving static files +// uploaded with the version, such as images, CSS, or JavaScript. +message UrlMap { + // Redirect codes. + enum RedirectHttpResponseCode { + // Not specified. `302` is assumed. + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = 0; + + // `301 Moved Permanently` code. + REDIRECT_HTTP_RESPONSE_CODE_301 = 1; + + // `302 Moved Temporarily` code. + REDIRECT_HTTP_RESPONSE_CODE_302 = 2; + + // `303 See Other` code. + REDIRECT_HTTP_RESPONSE_CODE_303 = 3; + + // `307 Temporary Redirect` code. + REDIRECT_HTTP_RESPONSE_CODE_307 = 4; + } + + // URL prefix. Uses regular expression syntax, which means regexp + // special characters must be escaped, but should not contain groupings. + // All URLs that begin with this prefix are handled by this handler, using the + // portion of the URL after the prefix as part of the file path. + string url_regex = 1; + + // Type of handler for this URL pattern. + oneof handler_type { + // Returns the contents of a file, such as an image, as the response. + StaticFilesHandler static_files = 2; + + // Executes a script to handle the requests that match this URL + // pattern. Only the `auto` value is supported for Node.js in the + // App Engine standard environment, for example `"script": "auto"`. + ScriptHandler script = 3; + + // Uses API Endpoints to handle requests. + ApiEndpointHandler api_endpoint = 4; + } + + // Security (HTTPS) enforcement for this URL. + SecurityLevel security_level = 5; + + // Level of login required to access this resource. Not supported for Node.js + // in the App Engine standard environment. + LoginRequirement login = 6; + + // Action to take when users access resources that require + // authentication. Defaults to `redirect`. + AuthFailAction auth_fail_action = 7; + + // `30x` code to use when performing redirects for the `secure` field. + // Defaults to `302`. + RedirectHttpResponseCode redirect_http_response_code = 8; +} + +// Files served directly to the user for a given URL, such as images, CSS +// stylesheets, or JavaScript source files. Static file handlers describe which +// files in the application directory are static files, and which URLs serve +// them. +message StaticFilesHandler { + // Path to the static files matched by the URL pattern, from the + // application root directory. The path can refer to text matched in groupings + // in the URL pattern. + string path = 1; + + // Regular expression that matches the file paths for all files that should be + // referenced by this handler. + string upload_path_regex = 2; + + // HTTP headers to use for all responses from these URLs. + map http_headers = 3; + + // MIME type used to serve all files served by this handler. + // + // Defaults to file-specific MIME types, which are derived from each file's + // filename extension. + string mime_type = 4; + + // Time a static file served by this handler should be cached + // by web proxies and browsers. + google.protobuf.Duration expiration = 5; + + // Whether this handler should match the request if the file + // referenced by the handler does not exist. + bool require_matching_file = 6; + + // Whether files should also be uploaded as code data. By default, files + // declared in static file handlers are uploaded as static + // data and are only served to end users; they cannot be read by the + // application. If enabled, uploads are charged against both your code and + // static data storage resource quotas. + bool application_readable = 7; +} + +// Executes a script to handle the request that matches the URL pattern. +message ScriptHandler { + // Path to the script from the application root directory. + string script_path = 1; +} + +// Uses Google Cloud Endpoints to handle requests. +message ApiEndpointHandler { + // Path to the script from the application root directory. + string script_path = 1; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. Only applicable for +// instances in App Engine flexible environment. +message HealthCheck { + // Whether to explicitly disable health checks for this instance. + bool disable_health_check = 1; + + // Host header to send when performing an HTTP health check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive successful health checks required before receiving + // traffic. + uint32 healthy_threshold = 3; + + // Number of consecutive failed health checks required before removing + // traffic. + uint32 unhealthy_threshold = 4; + + // Number of consecutive failed health checks required before an instance is + // restarted. + uint32 restart_threshold = 5; + + // Interval between health checks. + google.protobuf.Duration check_interval = 6; + + // Time before the health check is considered failed. + google.protobuf.Duration timeout = 7; +} + +// Readiness checking configuration for VM instances. Unhealthy instances +// are removed from traffic rotation. +message ReadinessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Readiness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before removing + // traffic. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before receiving + // traffic. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // A maximum time limit on application initialization, measured from moment + // the application successfully replies to a healthcheck until it is ready to + // serve traffic. + google.protobuf.Duration app_start_timeout = 7; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. +message LivenessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Liveness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before considering the + // VM unhealthy. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before considering + // the VM healthy. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // The initial delay before starting to execute the checks. + google.protobuf.Duration initial_delay = 7; +} + +// Third-party Python runtime library that is required by the application. +message Library { + // Name of the library. Example: "django". + string name = 1; + + // Version of the library to select, or "latest". + string version = 2; +} + +// Actions to take when the user is not logged in. +enum AuthFailAction { + // Not specified. `AUTH_FAIL_ACTION_REDIRECT` is assumed. + AUTH_FAIL_ACTION_UNSPECIFIED = 0; + + // Redirects user to "accounts.google.com". The user is redirected back to the + // application URL after signing in or creating an account. + AUTH_FAIL_ACTION_REDIRECT = 1; + + // Rejects request with a `401` HTTP status code and an error + // message. + AUTH_FAIL_ACTION_UNAUTHORIZED = 2; +} + +// Methods to restrict access to a URL based on login status. +enum LoginRequirement { + // Not specified. `LOGIN_OPTIONAL` is assumed. + LOGIN_UNSPECIFIED = 0; + + // Does not require that the user is signed in. + LOGIN_OPTIONAL = 1; + + // If the user is not signed in, the `auth_fail_action` is taken. + // In addition, if the user is not an administrator for the + // application, they are given an error message regardless of + // `auth_fail_action`. If the user is an administrator, the handler + // proceeds. + LOGIN_ADMIN = 2; + + // If the user has signed in, the handler proceeds normally. Otherwise, the + // auth_fail_action is taken. + LOGIN_REQUIRED = 3; +} + +// Methods to enforce security (HTTPS) on a URL. +enum SecurityLevel { + option allow_alias = true; + + // Not specified. + SECURE_UNSPECIFIED = 0; + + // Both HTTP and HTTPS requests with URLs that match the handler succeed + // without redirects. The application can examine the request to determine + // which protocol was used, and respond accordingly. + SECURE_DEFAULT = 0; + + // Requests for a URL that match this handler that use HTTPS are automatically + // redirected to the HTTP equivalent URL. + SECURE_NEVER = 1; + + // Both HTTP and HTTPS requests with URLs that match the handler succeed + // without redirects. The application can examine the request to determine + // which protocol was used and respond accordingly. + SECURE_OPTIONAL = 2; + + // Requests for a URL that match this handler that do not use HTTPS are + // automatically redirected to the HTTPS URL with the same path. Query + // parameters are reserved for the redirect. + SECURE_ALWAYS = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine.proto new file mode 100644 index 00000000..0d63466e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine.proto @@ -0,0 +1,1008 @@ +// Copyright 2024 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.appengine.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/appengine/v1/application.proto"; +import "google/appengine/v1/certificate.proto"; +import "google/appengine/v1/domain.proto"; +import "google/appengine/v1/domain_mapping.proto"; +import "google/appengine/v1/firewall.proto"; +import "google/appengine/v1/instance.proto"; +import "google/appengine/v1/service.proto"; +import "google/appengine/v1/version.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "AppengineProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// Manages App Engine applications. +service Applications { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Gets information about an application. + rpc GetApplication(GetApplicationRequest) returns (Application) { + option (google.api.http) = { + get: "/v1/{name=apps/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an App Engine application for a Google Cloud Platform project. + // Required fields: + // + // * `id` - The ID of the target Cloud Platform project. + // * *location* - The [region](https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located. + // + // For more information about App Engine applications, see [Managing Projects, Applications, and Billing](https://cloud.google.com/appengine/docs/standard/python/console/). + rpc CreateApplication(CreateApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/apps" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1" + }; + } + + // Updates the specified Application resource. + // You can update the following fields: + // + // * `auth_domain` - Google authentication domain for controlling user access to the application. + // * `default_cookie_expiration` - Cookie expiration policy for the application. + // * `iap` - Identity-Aware Proxy properties for the application. + rpc UpdateApplication(UpdateApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{name=apps/*}" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1" + }; + } + + // Recreates the required App Engine features for the specified App Engine + // application, for example a Cloud Storage bucket or App Engine service + // account. + // Use this method if you receive an error message about a missing feature, + // for example, *Error retrieving the App Engine service account*. + // If you have deleted your App Engine service account, this will + // not be able to recreate it. Instead, you should attempt to use the + // IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . + // If the deletion was recent, the numeric ID can be found in the Cloud + // Console Activity Log. + rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=apps/*}:repair" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1" + }; + } +} + +// Request message for `Applications.GetApplication`. +message GetApplicationRequest { + // Name of the Application resource to get. Example: `apps/myapp`. + string name = 1; +} + +// Request message for `Applications.CreateApplication`. +message CreateApplicationRequest { + // Application configuration. + Application application = 2; +} + +// Request message for `Applications.UpdateApplication`. +message UpdateApplicationRequest { + // Name of the Application resource to update. Example: `apps/myapp`. + string name = 1; + + // An Application containing the updated resource. + Application application = 2; + + // Required. Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for 'Applications.RepairApplication'. +message RepairApplicationRequest { + // Name of the application to repair. Example: `apps/myapp` + string name = 1; +} + +// Manages services of an application. +service Services { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all the services in the application. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/services" + }; + } + + // Gets the current configuration of the specified service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1/{name=apps/*/services/*}" + }; + } + + // Updates the configuration of the specified service. + rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/services/*}" + body: "service" + }; + option (google.longrunning.operation_info) = { + response_type: "Service" + metadata_type: "OperationMetadataV1" + }; + } + + // Deletes the specified service and all enclosed versions. + rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/services/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } +} + +// Request message for `Services.ListServices`. +message ListServicesRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `Services.ListServices`. +message ListServicesResponse { + // The services belonging to the requested application. + repeated Service services = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Services.GetService`. +message GetServiceRequest { + // Name of the resource requested. Example: `apps/myapp/services/default`. + string name = 1; +} + +// Request message for `Services.UpdateService`. +message UpdateServiceRequest { + // Name of the resource to update. Example: `apps/myapp/services/default`. + string name = 1; + + // A Service resource containing the updated service. Only fields set in the + // field mask will be updated. + Service service = 2; + + // Required. Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; + + // Set to `true` to gradually shift traffic to one or more versions that you + // specify. By default, traffic is shifted immediately. + // For gradual traffic migration, the target versions + // must be located within instances that are configured for both + // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) + // and + // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). + // You must specify the + // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) + // field in the Service resource. Gradual traffic migration is not + // supported in the App Engine flexible environment. For examples, see + // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + bool migrate_traffic = 4; +} + +// Request message for `Services.DeleteService`. +message DeleteServiceRequest { + // Name of the resource requested. Example: `apps/myapp/services/default`. + string name = 1; +} + +// Manages versions of a service. +service Versions { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the versions of a service. + rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*/services/*}/versions" + }; + } + + // Gets the specified Version resource. + // By default, only a `BASIC_VIEW` will be returned. + // Specify the `FULL_VIEW` parameter to get the full resource. + rpc GetVersion(GetVersionRequest) returns (Version) { + option (google.api.http) = { + get: "/v1/{name=apps/*/services/*/versions/*}" + }; + } + + // Deploys code and resource files to a new version. + rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=apps/*/services/*}/versions" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "CreateVersionMetadataV1" + }; + } + + // Updates the specified Version resource. + // You can specify the following fields depending on the App Engine + // environment and type of scaling that the version resource uses: + // + // **Standard environment** + // + // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class) + // + // *automatic scaling* in the standard environment: + // + // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automaticScaling.standard_scheduler_settings.max_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.min_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_cpu_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_throughput_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StandardSchedulerSettings) + // + // *basic scaling* or *manual scaling* in the standard environment: + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status) + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling) + // + // **Flexible environment** + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status) + // + // *automatic scaling* in the flexible environment: + // + // * [`automatic_scaling.min_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cool_down_period_sec`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cpu_utilization.target_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling) + // + // *manual scaling* in the flexible environment: + // + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#manualscaling) + rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/services/*/versions/*}" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "OperationMetadataV1" + }; + } + + // Deletes an existing Version resource. + rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/services/*/versions/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } +} + +// Request message for `Versions.ListVersions`. +message ListVersionsRequest { + // Name of the parent Service resource. Example: + // `apps/myapp/services/default`. + string parent = 1; + + // Controls the set of fields returned in the `List` response. + VersionView view = 2; + + // Maximum results to return per page. + int32 page_size = 3; + + // Continuation token for fetching the next page of results. + string page_token = 4; +} + +// Response message for `Versions.ListVersions`. +message ListVersionsResponse { + // The versions belonging to the requested service. + repeated Version versions = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Fields that should be returned when [Version][google.appengine.v1.Version] resources +// are retrieved. +enum VersionView { + // Basic version information including scaling and inbound services, + // but not detailed deployment information. + BASIC = 0; + + // The information from `BASIC`, plus detailed information about the + // deployment. This format is required when creating resources, but + // is not returned in `Get` or `List` by default. + FULL = 1; +} + +// Request message for `Versions.GetVersion`. +message GetVersionRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1`. + string name = 1; + + // Controls the set of fields returned in the `Get` response. + VersionView view = 2; +} + +// Request message for `Versions.CreateVersion`. +message CreateVersionRequest { + // Name of the parent resource to create this version under. Example: + // `apps/myapp/services/default`. + string parent = 1; + + // Application deployment configuration. + Version version = 2; +} + +// Request message for `Versions.UpdateVersion`. +message UpdateVersionRequest { + // Name of the resource to update. Example: + // `apps/myapp/services/default/versions/1`. + string name = 1; + + // A Version containing the updated resource. Only fields set in the field + // mask will be updated. + Version version = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `Versions.DeleteVersion`. +message DeleteVersionRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1`. + string name = 1; +} + +// Manages instances of a version. +service Instances { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the instances of a version. + // + // Tip: To aggregate details about instances over time, see the + // [Stackdriver Monitoring API](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*/services/*/versions/*}/instances" + }; + } + + // Gets instance information. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v1/{name=apps/*/services/*/versions/*/instances/*}" + }; + } + + // Stops a running instance. + // + // The instance might be automatically recreated based on the scaling settings + // of the version. For more information, see "How Instances are Managed" + // ([standard environment](https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | + // [flexible environment](https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)). + // + // To ensure that instances are not re-created and avoid getting billed, you + // can stop all instances within the target version by changing the serving + // status of the version to `STOPPED` with the + // [`apps.services.versions.patch`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) + // method. + rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/services/*/versions/*/instances/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } + + // Enables debugging on a VM instance. This allows you to use the SSH + // command to connect to the virtual machine where the instance lives. + // While in "debug mode", the instance continues to serve live traffic. + // You should delete the instance when you are done debugging and then + // allow the system to take over and determine if another instance + // should be started. + // + // Only applicable for instances in App Engine flexible environment. + rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=apps/*/services/*/versions/*/instances/*}:debug" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadataV1" + }; + } +} + +// Request message for `Instances.ListInstances`. +message ListInstancesRequest { + // Name of the parent Version resource. Example: + // `apps/myapp/services/default/versions/v1`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `Instances.ListInstances`. +message ListInstancesResponse { + // The instances belonging to the requested version. + repeated Instance instances = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Instances.GetInstance`. +message GetInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; +} + +// Request message for `Instances.DeleteInstance`. +message DeleteInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; +} + +// Request message for `Instances.DebugInstance`. +message DebugInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; + + // Public SSH key to add to the instance. Examples: + // + // * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]` + // * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}` + // + // For more information, see + // [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + string ssh_key = 2; +} + +// Firewall resources are used to define a collection of access control rules +// for an Application. Each rule is defined with a position which specifies +// the rule's order in the sequence of rules, an IP range to be matched against +// requests, and an action to take upon matching requests. +// +// Every request is evaluated against the Firewall rules in priority order. +// Processesing stops at the first rule which matches the request's IP address. +// A final rule always specifies an action that applies to all remaining +// IP addresses. The default final rule for a newly-created application will be +// set to "allow" if not otherwise specified by the user. +service Firewall { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the firewall rules of an application. + rpc ListIngressRules(ListIngressRulesRequest) returns (ListIngressRulesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/firewall/ingressRules" + }; + } + + // Replaces the entire firewall ruleset in one bulk operation. This overrides + // and replaces the rules of an existing firewall with the new rules. + // + // If the final rule does not match traffic with the '*' wildcard IP range, + // then an "allow all" rule is explicitly added to the end of the list. + rpc BatchUpdateIngressRules(BatchUpdateIngressRulesRequest) returns (BatchUpdateIngressRulesResponse) { + option (google.api.http) = { + post: "/v1/{name=apps/*/firewall/ingressRules}:batchUpdate" + body: "*" + }; + } + + // Creates a firewall rule for the application. + rpc CreateIngressRule(CreateIngressRuleRequest) returns (google.appengine.v1.FirewallRule) { + option (google.api.http) = { + post: "/v1/{parent=apps/*}/firewall/ingressRules" + body: "rule" + }; + } + + // Gets the specified firewall rule. + rpc GetIngressRule(GetIngressRuleRequest) returns (google.appengine.v1.FirewallRule) { + option (google.api.http) = { + get: "/v1/{name=apps/*/firewall/ingressRules/*}" + }; + } + + // Updates the specified firewall rule. + rpc UpdateIngressRule(UpdateIngressRuleRequest) returns (google.appengine.v1.FirewallRule) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/firewall/ingressRules/*}" + body: "rule" + }; + } + + // Deletes the specified firewall rule. + rpc DeleteIngressRule(DeleteIngressRuleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/firewall/ingressRules/*}" + }; + } +} + +// Request message for `Firewall.ListIngressRules`. +message ListIngressRulesRequest { + // Name of the Firewall collection to retrieve. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; + + // A valid IP Address. If set, only rules matching this address will be + // returned. The first returned rule will be the rule that fires on requests + // from this IP. + string matching_address = 4; +} + +// Response message for `Firewall.ListIngressRules`. +message ListIngressRulesResponse { + // The ingress FirewallRules for this application. + repeated google.appengine.v1.FirewallRule ingress_rules = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Firewall.BatchUpdateIngressRules`. +message BatchUpdateIngressRulesRequest { + // Name of the Firewall collection to set. + // Example: `apps/myapp/firewall/ingressRules`. + string name = 1; + + // A list of FirewallRules to replace the existing set. + repeated google.appengine.v1.FirewallRule ingress_rules = 2; +} + +// Response message for `Firewall.UpdateAllIngressRules`. +message BatchUpdateIngressRulesResponse { + // The full list of ingress FirewallRules for this application. + repeated google.appengine.v1.FirewallRule ingress_rules = 1; +} + +// Request message for `Firewall.CreateIngressRule`. +message CreateIngressRuleRequest { + // Name of the parent Firewall collection in which to create a new rule. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // A FirewallRule containing the new resource. + // + // The user may optionally provide a position at which the new rule will be + // placed. The positions define a sequential list starting at 1. If a rule + // already exists at the given position, rules greater than the provided + // position will be moved forward by one. + // + // If no position is provided, the server will place the rule as the second to + // last rule in the sequence before the required default allow-all or deny-all + // rule. + google.appengine.v1.FirewallRule rule = 2; +} + +// Request message for `Firewall.GetIngressRule`. +message GetIngressRuleRequest { + // Name of the Firewall resource to retrieve. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Request message for `Firewall.UpdateIngressRule`. +message UpdateIngressRuleRequest { + // Name of the Firewall resource to update. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; + + // A FirewallRule containing the updated resource + google.appengine.v1.FirewallRule rule = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `Firewall.DeleteIngressRule`. +message DeleteIngressRuleRequest { + // Name of the Firewall resource to delete. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Manages domains a user is authorized to administer. To authorize use of a +// domain, verify ownership via +// [Webmaster Central](https://www.google.com/webmasters/verification/home). +service AuthorizedDomains { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all domains the user is authorized to administer. + rpc ListAuthorizedDomains(ListAuthorizedDomainsRequest) returns (ListAuthorizedDomainsResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/authorizedDomains" + }; + } +} + +// Request message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsResponse { + // The authorized domains belonging to the user. + repeated google.appengine.v1.AuthorizedDomain domains = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Manages SSL certificates a user is authorized to administer. A user can +// administer any SSL certificates applicable to their authorized domains. +service AuthorizedCertificates { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all SSL certificates the user is authorized to administer. + rpc ListAuthorizedCertificates(ListAuthorizedCertificatesRequest) returns (ListAuthorizedCertificatesResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/authorizedCertificates" + }; + } + + // Gets the specified SSL certificate. + rpc GetAuthorizedCertificate(GetAuthorizedCertificateRequest) returns (google.appengine.v1.AuthorizedCertificate) { + option (google.api.http) = { + get: "/v1/{name=apps/*/authorizedCertificates/*}" + }; + } + + // Uploads the specified SSL certificate. + rpc CreateAuthorizedCertificate(CreateAuthorizedCertificateRequest) returns (google.appengine.v1.AuthorizedCertificate) { + option (google.api.http) = { + post: "/v1/{parent=apps/*}/authorizedCertificates" + body: "certificate" + }; + } + + // Updates the specified SSL certificate. To renew a certificate and maintain + // its existing domain mappings, update `certificate_data` with a new + // certificate. The new certificate must be applicable to the same domains as + // the original certificate. The certificate `display_name` may also be + // updated. + rpc UpdateAuthorizedCertificate(UpdateAuthorizedCertificateRequest) returns (google.appengine.v1.AuthorizedCertificate) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/authorizedCertificates/*}" + body: "certificate" + }; + } + + // Deletes the specified SSL certificate. + rpc DeleteAuthorizedCertificate(DeleteAuthorizedCertificateRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/authorizedCertificates/*}" + }; + } +} + +// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // Controls the set of fields returned in the `LIST` response. + AuthorizedCertificateView view = 4; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesResponse { + // The SSL certificates the user is authorized to administer. + repeated google.appengine.v1.AuthorizedCertificate certificates = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`. +message GetAuthorizedCertificateRequest { + // Name of the resource requested. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // Controls the set of fields returned in the `GET` response. + AuthorizedCertificateView view = 2; +} + +// Fields that should be returned when an AuthorizedCertificate resource is +// retrieved. +enum AuthorizedCertificateView { + // Basic certificate information, including applicable domains and expiration + // date. + BASIC_CERTIFICATE = 0; + + // The information from `BASIC_CERTIFICATE`, plus detailed information on the + // domain mappings that have this certificate mapped. + FULL_CERTIFICATE = 1; +} + +// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`. +message CreateAuthorizedCertificateRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // SSL certificate data. + google.appengine.v1.AuthorizedCertificate certificate = 2; +} + +// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`. +message UpdateAuthorizedCertificateRequest { + // Name of the resource to update. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // An `AuthorizedCertificate` containing the updated resource. Only fields set + // in the field mask will be updated. + google.appengine.v1.AuthorizedCertificate certificate = 2; + + // Standard field mask for the set of fields to be updated. Updates are only + // supported on the `certificate_raw_data` and `display_name` fields. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`. +message DeleteAuthorizedCertificateRequest { + // Name of the resource to delete. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; +} + +// Manages domains serving an application. +service DomainMappings { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the domain mappings on an application. + rpc ListDomainMappings(ListDomainMappingsRequest) returns (ListDomainMappingsResponse) { + option (google.api.http) = { + get: "/v1/{parent=apps/*}/domainMappings" + }; + } + + // Gets the specified domain mapping. + rpc GetDomainMapping(GetDomainMappingRequest) returns (google.appengine.v1.DomainMapping) { + option (google.api.http) = { + get: "/v1/{name=apps/*/domainMappings/*}" + }; + } + + // Maps a domain to an application. A user must be authorized to administer a + // domain in order to map it to an application. For a list of available + // authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`](). + rpc CreateDomainMapping(CreateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=apps/*}/domainMappings" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1" + }; + } + + // Updates the specified domain mapping. To map an SSL certificate to a + // domain mapping, update `certificate_id` to point to an `AuthorizedCertificate` + // resource. A user must be authorized to administer the associated domain + // in order to update a `DomainMapping` resource. + rpc UpdateDomainMapping(UpdateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{name=apps/*/domainMappings/*}" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1" + }; + } + + // Deletes the specified domain mapping. A user must be authorized to + // administer the associated domain in order to delete a `DomainMapping` + // resource. + rpc DeleteDomainMapping(DeleteDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=apps/*/domainMappings/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1" + }; + } +} + +// Request message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsResponse { + // The domain mappings for the application. + repeated google.appengine.v1.DomainMapping domain_mappings = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `DomainMappings.GetDomainMapping`. +message GetDomainMappingRequest { + // Name of the resource requested. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} + +// Override strategy for mutating an existing mapping. +enum DomainOverrideStrategy { + // Strategy unspecified. Defaults to `STRICT`. + UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = 0; + + // Overrides not allowed. If a mapping already exists for the + // specified domain, the request will return an ALREADY_EXISTS (409). + STRICT = 1; + + // Overrides allowed. If a mapping already exists for the specified domain, + // the request will overwrite it. Note that this might stop another + // Google product from serving. For example, if the domain is + // mapped to another App Engine application, that app will no + // longer serve from that domain. + OVERRIDE = 2; +} + +// Request message for `DomainMappings.CreateDomainMapping`. +message CreateDomainMappingRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Domain mapping configuration. + google.appengine.v1.DomainMapping domain_mapping = 2; + + // Whether the domain creation should override any existing mappings for this + // domain. By default, overrides are rejected. + DomainOverrideStrategy override_strategy = 4; +} + +// Request message for `DomainMappings.UpdateDomainMapping`. +message UpdateDomainMappingRequest { + // Name of the resource to update. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; + + // A domain mapping containing the updated resource. Only fields set + // in the field mask will be updated. + google.appengine.v1.DomainMapping domain_mapping = 2; + + // Required. Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `DomainMappings.DeleteDomainMapping`. +message DeleteDomainMappingRequest { + // Name of the resource to delete. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine_grpc_service_config.json new file mode 100644 index 00000000..03e4427b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine_grpc_service_config.json @@ -0,0 +1,17 @@ +{ + "methodConfig": [{ + "name": [ + { "service": "google.appengine.v1.Applications" }, + { "service": "google.appengine.v1.Services" }, + { "service": "google.appengine.v1.Versions" }, + { "service": "google.appengine.v1.DeployedFiles" }, + { "service": "google.appengine.v1.Instances" }, + { "service": "google.appengine.v1.EmailSenders" }, + { "service": "google.appengine.v1.Firewall" }, + { "service": "google.appengine.v1.AuthorizedDomains" }, + { "service": "google.appengine.v1.AuthorizedCertificates" }, + { "service": "google.appengine.v1.DomainMappings" } + ], + "timeout": "60s" + }] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine_v1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine_v1.yaml new file mode 100644 index 00000000..d3573183 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/appengine_v1.yaml @@ -0,0 +1,236 @@ +type: google.api.Service +config_version: 3 +name: appengine.googleapis.com +title: App Engine Admin API + +apis: +- name: google.appengine.v1.Applications +- name: google.appengine.v1.AuthorizedCertificates +- name: google.appengine.v1.AuthorizedDomains +- name: google.appengine.v1.DomainMappings +- name: google.appengine.v1.Firewall +- name: google.appengine.v1.Instances +- name: google.appengine.v1.Services +- name: google.appengine.v1.Versions + +types: +- name: google.appengine.v1.LocationMetadata +- name: google.appengine.v1.OperationMetadataV1 + +documentation: + summary: Provisions and manages developers' App Engine applications. + overview: |- + # Google App Engine Admin API + + ## Overview + + The Google App Engine Admin API is a RESTful API for managing App Engine + applications. The Admin API provides programmatic access to several of the + App Engine administrative operations that are found in the [Google Cloud + Platform Console](https://console.cloud.google.com/appengine). + + ## Documentation + + [Google App Engine Admin API + Documentation](https://cloud.google.com/appengine/docs/admin-api/) + rules: + - selector: google.cloud.location.Locations.GetLocation + description: Gets information about a location. + + - selector: google.cloud.location.Locations.ListLocations + description: Lists information about the supported locations for this service. + +backend: + rules: + - selector: 'google.appengine.v1.Applications.*' + deadline: 30.0 + - selector: 'google.appengine.v1.AuthorizedCertificates.*' + deadline: 30.0 + - selector: google.appengine.v1.AuthorizedCertificates.GetAuthorizedCertificate + deadline: 60.0 + - selector: google.appengine.v1.AuthorizedDomains.ListAuthorizedDomains + deadline: 30.0 + - selector: 'google.appengine.v1.DomainMappings.*' + deadline: 30.0 + - selector: google.appengine.v1.DomainMappings.GetDomainMapping + deadline: 60.0 + - selector: google.appengine.v1.DomainMappings.ListDomainMappings + deadline: 60.0 + - selector: 'google.appengine.v1.Firewall.*' + deadline: 30.0 + - selector: 'google.appengine.v1.Instances.*' + deadline: 30.0 + - selector: google.appengine.v1.Instances.ListInstances + deadline: 60.0 + - selector: 'google.appengine.v1.Services.*' + deadline: 30.0 + - selector: 'google.appengine.v1.Versions.*' + deadline: 30.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 30.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 30.0 + - selector: 'google.longrunning.Operations.*' + deadline: 30.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1/{name=apps/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1/{name=apps/*}/locations' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=apps/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=apps/*}/operations' + +authentication: + rules: + - selector: 'google.appengine.v1.Applications.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Applications.GetApplication + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.appengine.v1.AuthorizedCertificates.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.AuthorizedCertificates.GetAuthorizedCertificate + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.AuthorizedCertificates.ListAuthorizedCertificates + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.AuthorizedDomains.ListAuthorizedDomains + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.appengine.v1.DomainMappings.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.DomainMappings.GetDomainMapping + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.DomainMappings.ListDomainMappings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: 'google.appengine.v1.Firewall.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Firewall.GetIngressRule + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Firewall.ListIngressRules + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Instances.DebugInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Instances.DeleteInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Instances.GetInstance + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Instances.ListInstances + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Services.DeleteService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Services.GetService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Services.ListServices + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Services.UpdateService + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.appengine.v1.Versions.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.appengine.v1.Versions.GetVersion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.appengine.v1.Versions.ListVersions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.location.Locations.GetLocation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.cloud.location.Locations.ListLocations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/appengine.admin, + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only + - selector: google.longrunning.Operations.WaitOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/application.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/application.proto new file mode 100644 index 00000000..3dbce8b7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/application.proto @@ -0,0 +1,198 @@ +// Copyright 2024 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.appengine.v1; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ApplicationProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// An Application resource contains the top-level configuration of an App +// Engine application. +message Application { + enum ServingStatus { + // Serving status is unspecified. + UNSPECIFIED = 0; + + // Application is serving. + SERVING = 1; + + // Application has been disabled by the user. + USER_DISABLED = 2; + + // Application has been disabled by the system. + SYSTEM_DISABLED = 3; + } + + // Identity-Aware Proxy + message IdentityAwareProxy { + // Whether the serving infrastructure will authenticate and + // authorize all incoming requests. + // + // If true, the `oauth2_client_id` and `oauth2_client_secret` + // fields must be non-empty. + bool enabled = 1; + + // OAuth2 client ID to use for the authentication flow. + string oauth2_client_id = 2; + + // OAuth2 client secret to use for the authentication flow. + // + // For security reasons, this value cannot be retrieved via the API. + // Instead, the SHA-256 hash of the value is returned in the + // `oauth2_client_secret_sha256` field. + // + // @InputOnly + string oauth2_client_secret = 3; + + // Hex-encoded SHA-256 hash of the client secret. + // + // @OutputOnly + string oauth2_client_secret_sha256 = 4; + } + + enum DatabaseType { + // Database type is unspecified. + DATABASE_TYPE_UNSPECIFIED = 0; + + // Cloud Datastore + CLOUD_DATASTORE = 1; + + // Cloud Firestore Native + CLOUD_FIRESTORE = 2; + + // Cloud Firestore in Datastore Mode + CLOUD_DATASTORE_COMPATIBILITY = 3; + } + + // The feature specific settings to be used in the application. These define + // behaviors that are user configurable. + message FeatureSettings { + // Boolean value indicating if split health checks should be used instead + // of the legacy health checks. At an app.yaml level, this means defaulting + // to 'readiness_check' and 'liveness_check' values instead of + // 'health_check' ones. Once the legacy 'health_check' behavior is + // deprecated, and this value is always true, this setting can + // be removed. + bool split_health_checks = 1; + + // If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) + // base image for VMs, rather than a base Debian image. + bool use_container_optimized_os = 2; + } + + // Full path to the Application resource in the API. + // Example: `apps/myapp`. + // + // @OutputOnly + string name = 1; + + // Identifier of the Application resource. This identifier is equivalent + // to the project ID of the Google Cloud Platform project where you want to + // deploy your application. + // Example: `myapp`. + string id = 2; + + // HTTP path dispatch rules for requests to the application that do not + // explicitly target a service or version. Rules are order-dependent. + // Up to 20 dispatch rules can be supported. + repeated UrlDispatchRule dispatch_rules = 3; + + // Google Apps authentication domain that controls which users can access + // this application. + // + // Defaults to open access for any Google Account. + string auth_domain = 6; + + // Location from which this application runs. Application instances + // run out of the data centers in the specified location, which is also where + // all of the application's end user content is stored. + // + // Defaults to `us-central`. + // + // View the list of + // [supported locations](https://cloud.google.com/appengine/docs/locations). + string location_id = 7; + + // Google Cloud Storage bucket that can be used for storing files + // associated with this application. This bucket is associated with the + // application and can be used by the gcloud deployment commands. + // + // @OutputOnly + string code_bucket = 8; + + // Cookie expiration policy for this application. + google.protobuf.Duration default_cookie_expiration = 9; + + // Serving status of this application. + ServingStatus serving_status = 10; + + // Hostname used to reach this application, as resolved by App Engine. + // + // @OutputOnly + string default_hostname = 11; + + // Google Cloud Storage bucket that can be used by this application to store + // content. + // + // @OutputOnly + string default_bucket = 12; + + // The service account associated with the application. + // This is the app-level default identity. If no identity provided during + // create version, Admin API will fallback to this one. + string service_account = 13; + + IdentityAwareProxy iap = 14; + + // The Google Container Registry domain used for storing managed build docker + // images for this application. + string gcr_domain = 16; + + // The type of the Cloud Firestore or Cloud Datastore database associated with + // this application. + DatabaseType database_type = 17; + + // The feature specific settings to be used in the application. + FeatureSettings feature_settings = 18; +} + +// Rules to match an HTTP request and dispatch that request to a service. +message UrlDispatchRule { + // Domain name to match against. The wildcard "`*`" is supported if + // specified before a period: "`*.`". + // + // Defaults to matching all domains: "`*`". + string domain = 1; + + // Pathname within the host. Must start with a "`/`". A + // single "`*`" can be included at the end of the path. + // + // The sum of the lengths of the domain and path may not + // exceed 100 characters. + string path = 2; + + // Resource ID of a service in this application that should + // serve the matched request. The service must already + // exist. Example: `default`. + string service = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/audit_data.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/audit_data.proto new file mode 100644 index 00000000..929d23ab --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/audit_data.proto @@ -0,0 +1,54 @@ +// Copyright 2024 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.appengine.v1; + +import "google/appengine/v1/appengine.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "AuditDataProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// App Engine admin service audit log. +message AuditData { + // Detailed information about methods that require it. Does not include + // simple Get, List or Delete methods because all significant information + // (resource name, number of returned elements for List operations) is already + // included in parent audit log message. + oneof method { + // Detailed information about UpdateService call. + UpdateServiceMethod update_service = 1; + + // Detailed information about CreateVersion call. + CreateVersionMethod create_version = 2; + } +} + +// Detailed information about UpdateService call. +message UpdateServiceMethod { + // Update service request. + UpdateServiceRequest request = 1; +} + +// Detailed information about CreateVersion call. +message CreateVersionMethod { + // Create version request. + CreateVersionRequest request = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/certificate.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/certificate.proto new file mode 100644 index 00000000..b3b1912e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/certificate.proto @@ -0,0 +1,172 @@ +// Copyright 2024 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.appengine.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "CertificateProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// An SSL certificate that a user has been authorized to administer. A user +// is authorized to administer any certificate that applies to one of their +// authorized domains. +message AuthorizedCertificate { + // Full path to the `AuthorizedCertificate` resource in the API. Example: + // `apps/myapp/authorizedCertificates/12345`. + // + // @OutputOnly + string name = 1; + + // Relative name of the certificate. This is a unique value autogenerated + // on `AuthorizedCertificate` resource creation. Example: `12345`. + // + // @OutputOnly + string id = 2; + + // The user-specified display name of the certificate. This is not + // guaranteed to be unique. Example: `My Certificate`. + string display_name = 3; + + // Topmost applicable domains of this certificate. This certificate + // applies to these domains and their subdomains. Example: `example.com`. + // + // @OutputOnly + repeated string domain_names = 4; + + // The time when this certificate expires. To update the renewal time on this + // certificate, upload an SSL certificate with a different expiration time + // using [`AuthorizedCertificates.UpdateAuthorizedCertificate`](). + // + // @OutputOnly + google.protobuf.Timestamp expire_time = 5; + + // The SSL certificate serving the `AuthorizedCertificate` resource. This + // must be obtained independently from a certificate authority. + CertificateRawData certificate_raw_data = 6; + + // Only applicable if this certificate is managed by App Engine. Managed + // certificates are tied to the lifecycle of a `DomainMapping` and cannot be + // updated or deleted via the `AuthorizedCertificates` API. If this + // certificate is manually administered by the user, this field will be empty. + // + // @OutputOnly + ManagedCertificate managed_certificate = 7; + + // The full paths to user visible Domain Mapping resources that have this + // certificate mapped. Example: `apps/myapp/domainMappings/example.com`. + // + // This may not represent the full list of mapped domain mappings if the user + // does not have `VIEWER` permissions on all of the applications that have + // this certificate mapped. See `domain_mappings_count` for a complete count. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + repeated string visible_domain_mappings = 8; + + // Aggregate count of the domain mappings with this certificate mapped. This + // count includes domain mappings on applications for which the user does not + // have `VIEWER` permissions. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + int32 domain_mappings_count = 9; +} + +// An SSL certificate obtained from a certificate authority. +message CertificateRawData { + // PEM encoded x.509 public key certificate. This field is set once on + // certificate creation. Must include the header and footer. Example: + //
+  // -----BEGIN CERTIFICATE-----
+  // 
+  // -----END CERTIFICATE-----
+  // 
+ string public_certificate = 1; + + // Unencrypted PEM encoded RSA private key. This field is set once on + // certificate creation and then encrypted. The key size must be 2048 + // bits or fewer. Must include the header and footer. Example: + //
+  // -----BEGIN RSA PRIVATE KEY-----
+  // 
+  // -----END RSA PRIVATE KEY-----
+  // 
+ // @InputOnly + string private_key = 2; +} + +// State of certificate management. Refers to the most recent certificate +// acquisition or renewal attempt. +enum ManagementStatus { + MANAGEMENT_STATUS_UNSPECIFIED = 0; + + // Certificate was successfully obtained and inserted into the serving + // system. + OK = 1; + + // Certificate is under active attempts to acquire or renew. + PENDING = 2; + + // Most recent renewal failed due to an invalid DNS setup and will be + // retried. Renewal attempts will continue to fail until the certificate + // domain's DNS configuration is fixed. The last successfully provisioned + // certificate may still be serving. + FAILED_RETRYING_NOT_VISIBLE = 4; + + // All renewal attempts have been exhausted, likely due to an invalid DNS + // setup. + FAILED_PERMANENT = 6; + + // Most recent renewal failed due to an explicit CAA record that does not + // include one of the in-use CAs (Google CA and Let's Encrypt). Renewals will + // continue to fail until the CAA is reconfigured. The last successfully + // provisioned certificate may still be serving. + FAILED_RETRYING_CAA_FORBIDDEN = 7; + + // Most recent renewal failed due to a CAA retrieval failure. This means that + // the domain's DNS provider does not properly handle CAA records, failing + // requests for CAA records when no CAA records are defined. Renewals will + // continue to fail until the DNS provider is changed or a CAA record is + // added for the given domain. The last successfully provisioned certificate + // may still be serving. + FAILED_RETRYING_CAA_CHECKING = 8; +} + +// A certificate managed by App Engine. +message ManagedCertificate { + // Time at which the certificate was last renewed. The renewal process is + // fully managed. Certificate renewal will automatically occur before the + // certificate expires. Renewal errors can be tracked via `ManagementStatus`. + // + // @OutputOnly + google.protobuf.Timestamp last_renewal_time = 1; + + // Status of certificate management. Refers to the most recent certificate + // acquisition or renewal attempt. + // + // @OutputOnly + ManagementStatus status = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/deploy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/deploy.proto new file mode 100644 index 00000000..0b31a0ba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/deploy.proto @@ -0,0 +1,107 @@ +// Copyright 2024 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.appengine.v1; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DeployProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// Code and application artifacts used to deploy a version to App Engine. +message Deployment { + // Manifest of the files stored in Google Cloud Storage that are included + // as part of this version. All files must be readable using the + // credentials supplied with this call. + map files = 1; + + // The Docker image for the container that runs the version. + // Only applicable for instances running in the App Engine flexible environment. + ContainerInfo container = 2; + + // The zip file for this deployment, if this is a zip deployment. + ZipInfo zip = 3; + + // Options for any Google Cloud Build builds created as a part of this + // deployment. + // + // These options will only be used if a new build is created, such as when + // deploying to the App Engine flexible environment using files or zip. + CloudBuildOptions cloud_build_options = 6; +} + +// Single source file that is part of the version to be deployed. Each source +// file that is deployed must be specified separately. +message FileInfo { + // URL source to use to fetch this file. Must be a URL to a resource in + // Google Cloud Storage in the form + // 'http(s)://storage.googleapis.com/\/\'. + string source_url = 1; + + // The SHA1 hash of the file, in hex. + string sha1_sum = 2; + + // The MIME type of the file. + // + // Defaults to the value from Google Cloud Storage. + string mime_type = 3; +} + +// Docker image that is used to create a container and start a VM instance for +// the version that you deploy. Only applicable for instances running in the App +// Engine flexible environment. +message ContainerInfo { + // URI to the hosted container image in Google Container Registry. The URI + // must be fully qualified and include a tag or digest. + // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" + string image = 1; +} + +// Options for the build operations performed as a part of the version +// deployment. Only applicable for App Engine flexible environment when creating +// a version using source code directly. +message CloudBuildOptions { + // Path to the yaml file used in deployment, used to determine runtime + // configuration details. + // + // Required for flexible environment builds. + // + // See https://cloud.google.com/appengine/docs/standard/python/config/appref + // for more details. + string app_yaml_path = 1; + + // The Cloud Build timeout used as part of any dependent builds performed by + // version creation. Defaults to 10 minutes. + google.protobuf.Duration cloud_build_timeout = 2; +} + +// The zip file information for a zip deployment. +message ZipInfo { + // URL of the zip file to deploy from. Must be a URL to a resource in + // Google Cloud Storage in the form + // 'http(s)://storage.googleapis.com/\/\'. + string source_url = 3; + + // An estimate of the number of files in a zip for a zip deployment. + // If set, must be greater than or equal to the actual number of files. + // Used for optimizing performance; if not provided, deployment may be slow. + int32 files_count = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/deployed_files.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/deployed_files.proto new file mode 100644 index 00000000..f10041d2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/deployed_files.proto @@ -0,0 +1,25 @@ +// Copyright 2024 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.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DeployedFilesProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/domain.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/domain.proto new file mode 100644 index 00000000..a4924868 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/domain.proto @@ -0,0 +1,40 @@ +// Copyright 2024 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.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DomainProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A domain that a user has been authorized to administer. To authorize use +// of a domain, verify ownership via +// [Search Console](https://search.google.com/search-console/welcome). +message AuthorizedDomain { + // Full path to the `AuthorizedDomain` resource in the API. Example: + // `apps/myapp/authorizedDomains/example.com`. + // + // @OutputOnly + string name = 1; + + // Fully qualified domain name of the domain authorized for use. Example: + // `example.com`. + string id = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/domain_mapping.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/domain_mapping.proto new file mode 100644 index 00000000..81947761 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/domain_mapping.proto @@ -0,0 +1,123 @@ +// Copyright 2024 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.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "DomainMappingProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A domain serving an App Engine application. +message DomainMapping { + // Full path to the `DomainMapping` resource in the API. Example: + // `apps/myapp/domainMapping/example.com`. + // + // @OutputOnly + string name = 1; + + // Relative name of the domain serving the application. Example: + // `example.com`. + string id = 2; + + // SSL configuration for this domain. If unconfigured, this domain will not + // serve with SSL. + SslSettings ssl_settings = 3; + + // The resource records required to configure this domain mapping. These + // records must be added to the domain's DNS configuration in order to + // serve the application via this domain mapping. + // + // @OutputOnly + repeated ResourceRecord resource_records = 4; +} + +// SSL configuration for a `DomainMapping` resource. +message SslSettings { + // The SSL management type for this domain. + enum SslManagementType { + // Defaults to `AUTOMATIC`. + SSL_MANAGEMENT_TYPE_UNSPECIFIED = 0; + + // SSL support for this domain is configured automatically. The mapped SSL + // certificate will be automatically renewed. + AUTOMATIC = 1; + + // SSL support for this domain is configured manually by the user. Either + // the domain has no SSL support or a user-obtained SSL certificate has been + // explictly mapped to this domain. + MANUAL = 2; + } + + // ID of the `AuthorizedCertificate` resource configuring SSL for the + // application. Clearing this field will remove SSL support. + // + // By default, a managed certificate is automatically created for every + // domain mapping. To omit SSL support or to configure SSL manually, specify + // `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must + // be authorized to administer the `AuthorizedCertificate` resource to + // manually map it to a `DomainMapping` resource. + // Example: `12345`. + string certificate_id = 1; + + // SSL management type for this domain. If `AUTOMATIC`, a managed certificate + // is automatically provisioned. If `MANUAL`, `certificate_id` must be + // manually specified in order to configure SSL for this domain. + SslManagementType ssl_management_type = 3; + + // ID of the managed `AuthorizedCertificate` resource currently being + // provisioned, if applicable. Until the new managed certificate has been + // successfully provisioned, the previous SSL state will be preserved. Once + // the provisioning process completes, the `certificate_id` field will reflect + // the new managed certificate and this field will be left empty. To remove + // SSL support while there is still a pending managed certificate, clear the + // `certificate_id` field with an `UpdateDomainMappingRequest`. + // + // @OutputOnly + string pending_managed_certificate_id = 4; +} + +// A DNS resource record. +message ResourceRecord { + // A resource record type. + enum RecordType { + // An unknown resource record. + RECORD_TYPE_UNSPECIFIED = 0; + + // An A resource record. Data is an IPv4 address. + A = 1; + + // An AAAA resource record. Data is an IPv6 address. + AAAA = 2; + + // A CNAME resource record. Data is a domain name to be aliased. + CNAME = 3; + } + + // Relative name of the object affected by this record. Only applicable for + // `CNAME` records. Example: 'www'. + string name = 1; + + // Data for this record. Values vary by record type, as defined in RFC 1035 + // (section 5) and RFC 1034 (section 3.6.1). + string rrdata = 2; + + // Resource record type. Example: `AAAA`. + RecordType type = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/firewall.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/firewall.proto new file mode 100644 index 00000000..15c189eb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/firewall.proto @@ -0,0 +1,68 @@ +// Copyright 2024 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.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "FirewallProto"; +option java_package = "com.google.appengine.v1.firewall"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A single firewall rule that is evaluated against incoming traffic +// and provides an action to take on matched requests. +message FirewallRule { + // Available actions to take on matching requests. + enum Action { + UNSPECIFIED_ACTION = 0; + + // Matching requests are allowed. + ALLOW = 1; + + // Matching requests are denied. + DENY = 2; + } + + // A positive integer between [1, Int32.MaxValue-1] that defines the order of + // rule evaluation. Rules with the lowest priority are evaluated first. + // + // A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + // when no previous rule matches. Only the action of this rule can be modified + // by the user. + int32 priority = 1; + + // The action to take on matched requests. + Action action = 2; + + // IP address or range, defined using CIDR notation, of requests that this + // rule applies to. You can use the wildcard character "*" to match all IPs + // equivalent to "0/0" and "::/0" together. + // Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` + // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + // + // + //

Truncation will be silently performed on addresses which are not + // properly truncated. For example, `1.2.3.4/24` is accepted as the same + // address as `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` is accepted + // as the same address as `2001:db8::/32`. + string source_range = 3; + + // An optional string description of this rule. + // This field has a maximum length of 100 characters. + string description = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/instance.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/instance.proto new file mode 100644 index 00000000..e50fc619 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/instance.proto @@ -0,0 +1,143 @@ +// Copyright 2024 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.appengine.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "InstanceProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// An Instance resource is the computing unit that App Engine uses to +// automatically scale an application. +message Instance { + option (google.api.resource) = { + type: "appengine.googleapis.com/Instance" + pattern: "apps/{app}/services/{service}/versions/{version}/instances/{instance}" + }; + + // Availability of the instance. + enum Availability { + UNSPECIFIED = 0; + + RESIDENT = 1; + + DYNAMIC = 2; + } + + // Wrapper for LivenessState enum. + message Liveness { + // Liveness health check status for Flex instances. + enum LivenessState { + // There is no liveness health check for the instance. Only applicable for + // instances in App Engine standard environment. + LIVENESS_STATE_UNSPECIFIED = 0; + + // The health checking system is aware of the instance but its health is + // not known at the moment. + UNKNOWN = 1; + + // The instance is reachable i.e. a connection to the application health + // checking endpoint can be established, and conforms to the requirements + // defined by the health check. + HEALTHY = 2; + + // The instance is reachable, but does not conform to the requirements + // defined by the health check. + UNHEALTHY = 3; + + // The instance is being drained. The existing connections to the instance + // have time to complete, but the new ones are being refused. + DRAINING = 4; + + // The instance is unreachable i.e. a connection to the application health + // checking endpoint cannot be established, or the server does not respond + // within the specified timeout. + TIMEOUT = 5; + } + + + } + + // Output only. Full path to the Instance resource in the API. + // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Relative name of the instance within the version. + // Example: `instance-1`. + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. App Engine release this instance is running on. + string app_engine_release = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability of the instance. + Availability availability = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the virtual machine where this instance lives. Only applicable + // for instances in App Engine flexible environment. + string vm_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Zone where the virtual machine is located. Only applicable for instances + // in App Engine flexible environment. + string vm_zone_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Virtual machine ID of this instance. Only applicable for instances in + // App Engine flexible environment. + string vm_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time that this instance was started. + // + // @OutputOnly + google.protobuf.Timestamp start_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of requests since this instance was started. + int32 requests = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of errors since this instance was started. + int32 errors = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average queries per second (QPS) over the last minute. + float qps = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average latency (ms) over the last minute. + int32 average_latency = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total memory in use (bytes). + int64 memory_usage = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the virtual machine where this instance lives. Only applicable + // for instances in App Engine flexible environment. + string vm_status = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether this instance is in debug mode. Only applicable for instances in + // App Engine flexible environment. + bool vm_debug_enabled = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IP address of this instance. Only applicable for instances in App + // Engine flexible environment. + string vm_ip = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The liveness health check of this instance. Only applicable for instances + // in App Engine flexible environment. + Liveness.LivenessState vm_liveness = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/location.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/location.proto new file mode 100644 index 00000000..c5fb300a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/location.proto @@ -0,0 +1,44 @@ +// Copyright 2024 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.appengine.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "LocationProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. +message LocationMetadata { + // App Engine standard environment is available in the given location. + // + // @OutputOnly + bool standard_environment_available = 2; + + // App Engine flexible environment is available in the given location. + // + // @OutputOnly + bool flexible_environment_available = 4; + + // Output only. [Search API](https://cloud.google.com/appengine/docs/standard/python/search) + // is available in the given location. + bool search_api_available = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/network_settings.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/network_settings.proto new file mode 100644 index 00000000..cc340ff5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/network_settings.proto @@ -0,0 +1,47 @@ +// Copyright 2024 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.appengine.v1; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "NetworkSettingsProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A NetworkSettings resource is a container for ingress settings for a version +// or service. +message NetworkSettings { + // If unspecified, INGRESS_TRAFFIC_ALLOWED_ALL will be used. + enum IngressTrafficAllowed { + // Unspecified + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED = 0; + + // Allow HTTP traffic from public and private sources. + INGRESS_TRAFFIC_ALLOWED_ALL = 1; + + // Allow HTTP traffic from only private VPC sources. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY = 2; + + // Allow HTTP traffic from private VPC sources and through load balancers. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB = 3; + } + + // The ingress settings for version or service. + IngressTrafficAllowed ingress_traffic_allowed = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/operation.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/operation.proto new file mode 100644 index 00000000..04d63819 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/operation.proto @@ -0,0 +1,79 @@ +// Copyright 2024 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.appengine.v1; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "OperationProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation]. +message OperationMetadataV1 { + // API method that initiated this operation. Example: + // `google.appengine.v1.Versions.CreateVersion`. + // + // @OutputOnly + string method = 1; + + // Time that this operation was created. + // + // @OutputOnly + google.protobuf.Timestamp insert_time = 2; + + // Time that this operation completed. + // + // @OutputOnly + google.protobuf.Timestamp end_time = 3; + + // User who requested this operation. + // + // @OutputOnly + string user = 4; + + // Name of the resource that this operation is acting on. Example: + // `apps/myapp/services/default`. + // + // @OutputOnly + string target = 5; + + // Ephemeral message that may change every time the operation is polled. + // @OutputOnly + string ephemeral_message = 6; + + // Durable messages that persist on every operation poll. + // @OutputOnly + repeated string warning = 7; + + // Metadata specific to the type of operation in progress. + // @OutputOnly + oneof method_metadata { + CreateVersionMetadataV1 create_version_metadata = 8; + } +} + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation] during a +// [google.appengine.v1.CreateVersionRequest][google.appengine.v1.CreateVersionRequest]. +message CreateVersionMetadataV1 { + // The Cloud Build ID if one was created as part of the version create. + // @OutputOnly + string cloud_build_id = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/service.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/service.proto new file mode 100644 index 00000000..5471174d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/service.proto @@ -0,0 +1,106 @@ +// Copyright 2024 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.appengine.v1; + +import "google/appengine/v1/network_settings.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A Service resource is a logical component of an application that can share +// state and communicate in a secure fashion with other services. +// For example, an application that handles customer requests might +// include separate services to handle tasks such as backend data +// analysis or API requests from mobile devices. Each service has a +// collection of versions that define a specific set of code used to +// implement the functionality of that service. +message Service { + // Full path to the Service resource in the API. + // Example: `apps/myapp/services/default`. + // + // @OutputOnly + string name = 1; + + // Relative name of the service within the application. + // Example: `default`. + // + // @OutputOnly + string id = 2; + + // Mapping that defines fractional HTTP traffic diversion to + // different versions within the service. + TrafficSplit split = 3; + + // A set of labels to apply to this service. Labels are key/value pairs that + // describe the service and all resources that belong to it (e.g., + // versions). The labels can be used to search and group resources, and are + // propagated to the usage and billing reports, enabling fine-grain analysis + // of costs. An example of using labels is to tag resources belonging to + // different environments (e.g., "env=prod", "env=qa"). + // + //

Label keys and values can be no longer than 63 characters and can only + // contain lowercase letters, numeric characters, underscores, dashes, and + // international characters. Label keys must start with a lowercase letter + // or an international character. Each service can have at most 32 labels. + map labels = 4; + + // Ingress settings for this service. Will apply to all versions. + NetworkSettings network_settings = 6; +} + +// Traffic routing configuration for versions within a single service. Traffic +// splits define how traffic directed to the service is assigned to versions. +message TrafficSplit { + // Available sharding mechanisms. + enum ShardBy { + // Diversion method unspecified. + UNSPECIFIED = 0; + + // Diversion based on a specially named cookie, "GOOGAPPUID." The cookie + // must be set by the application itself or no diversion will occur. + COOKIE = 1; + + // Diversion based on applying the modulus operation to a fingerprint + // of the IP address. + IP = 2; + + // Diversion based on weighted random assignment. An incoming request is + // randomly routed to a version in the traffic split, with probability + // proportional to the version's traffic share. + RANDOM = 3; + } + + // Mechanism used to determine which version a request is sent to. + // The traffic selection algorithm will + // be stable for either type until allocations are changed. + ShardBy shard_by = 1; + + // Mapping from version IDs within the service to fractional + // (0.000, 1] allocations of traffic for that version. Each version can + // be specified only once, but some versions in the service may not + // have any traffic allocation. Services that have traffic allocated + // cannot be deleted until either the service is deleted or + // their traffic allocation is removed. Allocations must sum to 1. + // Up to two decimal place precision is supported for IP-based splits and + // up to three decimal places is supported for cookie-based splits. + map allocations = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/version.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/version.proto new file mode 100644 index 00000000..5327adfd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1/version.proto @@ -0,0 +1,594 @@ +// Copyright 2024 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.appengine.v1; + +import "google/appengine/v1/app_yaml.proto"; +import "google/appengine/v1/deploy.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1"; +option go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb"; +option java_multiple_files = true; +option java_outer_classname = "VersionProto"; +option java_package = "com.google.appengine.v1"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1"; +option ruby_package = "Google::Cloud::AppEngine::V1"; + +// A Version resource is a specific set of source code and configuration files +// that are deployed into a service. +message Version { + // Full path to the Version resource in the API. Example: + // `apps/myapp/services/default/versions/v1`. + // + // @OutputOnly + string name = 1; + + // Relative name of the version within the service. Example: `v1`. + // Version names can contain only lowercase letters, numbers, or hyphens. + // Reserved names: "default", "latest", and any name with the prefix "ah-". + string id = 2; + + // Controls how instances are created, scaled, and reaped. + // + // Defaults to `AutomaticScaling`. + oneof scaling { + // Automatic scaling is based on request rate, response latencies, and other + // application metrics. Instances are dynamically created and destroyed as + // needed in order to handle traffic. + AutomaticScaling automatic_scaling = 3; + + // A service with basic scaling will create an instance when the application + // receives a request. The instance will be turned down when the app becomes + // idle. Basic scaling is ideal for work that is intermittent or driven by + // user activity. + BasicScaling basic_scaling = 4; + + // A service with manual scaling runs continuously, allowing you to perform + // complex initialization and rely on the state of its memory over time. + // Manually scaled versions are sometimes referred to as "backends". + ManualScaling manual_scaling = 5; + } + + // Before an application can receive email or XMPP messages, the application + // must be configured to enable the service. + repeated InboundServiceType inbound_services = 6; + + // Instance class that is used to run this version. Valid values are: + // + // * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` + // * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` + // + // Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or + // BasicScaling. + string instance_class = 7; + + // Extra network settings. + // Only applicable in the App Engine flexible environment. + Network network = 8; + + // The Google Compute Engine zones that are supported by this version in the + // App Engine flexible environment. Deprecated. + repeated string zones = 118; + + // Machine resources for this version. + // Only applicable in the App Engine flexible environment. + Resources resources = 9; + + // Desired runtime. Example: `python27`. + string runtime = 10; + + // The channel of the runtime to use. Only available for some + // runtimes. Defaults to the `default` channel. + string runtime_channel = 117; + + // Whether multiple requests can be dispatched to this version at once. + bool threadsafe = 11; + + // Whether to deploy this version in a container on a virtual machine. + bool vm = 12; + + // Allows App Engine second generation runtimes to access the legacy bundled + // services. + bool app_engine_apis = 128; + + // Metadata settings that are supplied to this version to enable + // beta runtime features. + map beta_settings = 13; + + // App Engine execution environment for this version. + // + // Defaults to `standard`. + string env = 14; + + // Current serving status of this version. Only the versions with a + // `SERVING` status create instances and can be billed. + // + // `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`. + ServingStatus serving_status = 15; + + // Email address of the user who created this version. + // + // @OutputOnly + string created_by = 16; + + // Time that this version was created. + // + // @OutputOnly + google.protobuf.Timestamp create_time = 17; + + // Total size in bytes of all the files that are included in this version + // and currently hosted on the App Engine disk. + // + // @OutputOnly + int64 disk_usage_bytes = 18; + + // The version of the API in the given runtime environment. Please see the + // app.yaml reference for valid values at + // https://cloud.google.com/appengine/docs/standard//config/appref + string runtime_api_version = 21; + + // The path or name of the app's main executable. + string runtime_main_executable_path = 22; + + // The identity that the deployed version will run as. + // Admin API will use the App Engine Appspot service account as default if + // this field is neither provided in app.yaml file nor through CLI flag. + string service_account = 127; + + // An ordered list of URL-matching patterns that should be applied to incoming + // requests. The first matching URL handles the request and other request + // handlers are not attempted. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated UrlMap handlers = 100; + + // Custom static error pages. Limited to 10KB per page. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated ErrorHandler error_handlers = 101; + + // Configuration for third-party Python runtime libraries that are required + // by the application. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated Library libraries = 102; + + // Serving configuration for + // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). + // + // Only returned in `GET` requests if `view=FULL` is set. + ApiConfigHandler api_config = 103; + + // Environment variables available to the application. + // + // Only returned in `GET` requests if `view=FULL` is set. + map env_variables = 104; + + // Environment variables available to the build environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + map build_env_variables = 125; + + // Duration that static files should be cached by web proxies and browsers. + // Only applicable if the corresponding + // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler) + // does not specify its own expiration time. + // + // Only returned in `GET` requests if `view=FULL` is set. + google.protobuf.Duration default_expiration = 105; + + // Configures health checking for instances. Unhealthy instances are + // stopped and replaced with new instances. + // Only applicable in the App Engine flexible environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + HealthCheck health_check = 106; + + // Configures readiness health checking for instances. + // Unhealthy instances are not put into the backend traffic rotation. + // + // Only returned in `GET` requests if `view=FULL` is set. + ReadinessCheck readiness_check = 112; + + // Configures liveness health checking for instances. + // Unhealthy instances are stopped and replaced with new instances + // + // Only returned in `GET` requests if `view=FULL` is set. + LivenessCheck liveness_check = 113; + + // Files that match this pattern will not be built into this version. + // Only applicable for Go runtimes. + // + // Only returned in `GET` requests if `view=FULL` is set. + string nobuild_files_regex = 107; + + // Code and application artifacts that make up this version. + // + // Only returned in `GET` requests if `view=FULL` is set. + Deployment deployment = 108; + + // Serving URL for this version. Example: + // "https://myversion-dot-myservice-dot-myapp.appspot.com" + // + // @OutputOnly + string version_url = 109; + + // Cloud Endpoints configuration. + // + // If endpoints_api_service is set, the Cloud Endpoints Extensible Service + // Proxy will be provided to serve the API implemented by the app. + EndpointsApiService endpoints_api_service = 110; + + // The entrypoint for the application. + Entrypoint entrypoint = 122; + + // Enables VPC connectivity for standard apps. + VpcAccessConnector vpc_access_connector = 121; +} + +// [Cloud Endpoints](https://cloud.google.com/endpoints) configuration. +// The Endpoints API Service provides tooling for serving Open API and gRPC +// endpoints via an NGINX proxy. Only valid for App Engine Flexible environment +// deployments. +// +// The fields here refer to the name and configuration ID of a "service" +// resource in the [Service Management API](https://cloud.google.com/service-management/overview). +message EndpointsApiService { + // Available rollout strategies. + enum RolloutStrategy { + // Not specified. Defaults to `FIXED`. + UNSPECIFIED_ROLLOUT_STRATEGY = 0; + + // Endpoints service configuration ID will be fixed to the configuration ID + // specified by `config_id`. + FIXED = 1; + + // Endpoints service configuration ID will be updated with each rollout. + MANAGED = 2; + } + + // Endpoints service name which is the name of the "service" resource in the + // Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + string name = 1; + + // Endpoints service configuration ID as specified by the Service Management + // API. For example "2016-09-19r1". + // + // By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`. + // This means that Endpoints starts up with a particular configuration ID. + // When a new configuration is rolled out, Endpoints must be given the new + // configuration ID. The `config_id` field is used to give the configuration + // ID and is required in this case. + // + // Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`. + // When using this, Endpoints fetches the latest configuration and does not + // need the configuration ID. In this case, `config_id` must be omitted. + string config_id = 2; + + // Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If + // `MANAGED`, `config_id` must be omitted. + RolloutStrategy rollout_strategy = 3; + + // Enable or disable trace sampling. By default, this is set to false for + // enabled. + bool disable_trace_sampling = 4; +} + +// Automatic scaling is based on request rate, response latencies, and other +// application metrics. +message AutomaticScaling { + // The time period that the + // [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) + // should wait before it starts collecting information from a new instance. + // This prevents the autoscaler from collecting information when the instance + // is initializing, during which the collected usage would not be reliable. + // Only applicable in the App Engine flexible environment. + google.protobuf.Duration cool_down_period = 1; + + // Target scaling by CPU usage. + CpuUtilization cpu_utilization = 2; + + // Number of concurrent requests an automatic scaling instance can accept + // before the scheduler spawns a new instance. + // + // Defaults to a runtime-specific value. + int32 max_concurrent_requests = 3; + + // Maximum number of idle instances that should be maintained for this + // version. + int32 max_idle_instances = 4; + + // Maximum number of instances that should be started to handle requests for + // this version. + int32 max_total_instances = 5; + + // Maximum amount of time that a request should wait in the pending queue + // before starting a new instance to handle it. + google.protobuf.Duration max_pending_latency = 6; + + // Minimum number of idle instances that should be maintained for + // this version. Only applicable for the default version of a service. + int32 min_idle_instances = 7; + + // Minimum number of running instances that should be maintained for this + // version. + int32 min_total_instances = 8; + + // Minimum amount of time a request should wait in the pending queue before + // starting a new instance to handle it. + google.protobuf.Duration min_pending_latency = 9; + + // Target scaling by request utilization. + RequestUtilization request_utilization = 10; + + // Target scaling by disk usage. + DiskUtilization disk_utilization = 11; + + // Target scaling by network usage. + NetworkUtilization network_utilization = 12; + + // Scheduler settings for standard environment. + StandardSchedulerSettings standard_scheduler_settings = 20; +} + +// A service with basic scaling will create an instance when the application +// receives a request. The instance will be turned down when the app becomes +// idle. Basic scaling is ideal for work that is intermittent or driven by +// user activity. +message BasicScaling { + // Duration of time after the last request that an instance must wait before + // the instance is shut down. + google.protobuf.Duration idle_timeout = 1; + + // Maximum number of instances to create for this version. + int32 max_instances = 2; +} + +// A service with manual scaling runs continuously, allowing you to perform +// complex initialization and rely on the state of its memory over time. +message ManualScaling { + // Number of instances to assign to the service at the start. This number + // can later be altered by using the + // [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) + // `set_num_instances()` function. + int32 instances = 1; +} + +// Target scaling by CPU usage. +message CpuUtilization { + // Period of time over which CPU utilization is calculated. + google.protobuf.Duration aggregation_window_length = 1; + + // Target CPU utilization ratio to maintain when scaling. Must be between 0 + // and 1. + double target_utilization = 2; +} + +// Target scaling by request utilization. +// Only applicable in the App Engine flexible environment. +message RequestUtilization { + // Target requests per second. + int32 target_request_count_per_second = 1; + + // Target number of concurrent requests. + int32 target_concurrent_requests = 2; +} + +// Target scaling by disk usage. +// Only applicable in the App Engine flexible environment. +message DiskUtilization { + // Target bytes written per second. + int32 target_write_bytes_per_second = 14; + + // Target ops written per second. + int32 target_write_ops_per_second = 15; + + // Target bytes read per second. + int32 target_read_bytes_per_second = 16; + + // Target ops read per seconds. + int32 target_read_ops_per_second = 17; +} + +// Target scaling by network usage. +// Only applicable in the App Engine flexible environment. +message NetworkUtilization { + // Target bytes sent per second. + int32 target_sent_bytes_per_second = 1; + + // Target packets sent per second. + int32 target_sent_packets_per_second = 11; + + // Target bytes received per second. + int32 target_received_bytes_per_second = 12; + + // Target packets received per second. + int32 target_received_packets_per_second = 13; +} + +// Scheduler settings for standard environment. +message StandardSchedulerSettings { + // Target CPU utilization ratio to maintain when scaling. + double target_cpu_utilization = 1; + + // Target throughput utilization ratio to maintain when scaling + double target_throughput_utilization = 2; + + // Minimum number of instances to run for this version. Set to zero to disable + // `min_instances` configuration. + int32 min_instances = 3; + + // Maximum number of instances to run for this version. Set to zero to disable + // `max_instances` configuration. + int32 max_instances = 4; +} + +// Extra network settings. +// Only applicable in the App Engine flexible environment. +message Network { + // List of ports, or port pairs, to forward from the virtual machine to the + // application container. + // Only applicable in the App Engine flexible environment. + repeated string forwarded_ports = 1; + + // Tag to apply to the instance during creation. + // Only applicable in the App Engine flexible environment. + string instance_tag = 2; + + // Google Compute Engine network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // Defaults to `default`. + string name = 3; + + // Google Cloud Platform sub-network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // If a subnetwork name is specified, a network name will also be required + // unless it is for the default network. + // + // * If the network that the instance is being created in is a Legacy network, + // then the IP address is allocated from the IPv4Range. + // * If the network that the instance is being created in is an auto Subnet + // Mode Network, then only network name should be specified (not the + // subnetwork_name) and the IP address is created from the IPCidrRange of the + // subnetwork that exists in that zone for that network. + // * If the network that the instance is being created in is a custom Subnet + // Mode Network, then the subnetwork_name must be specified and the + // IP address is created from the IPCidrRange of the subnetwork. + // + // If specified, the subnetwork must exist in the same region as the + // App Engine flexible environment application. + string subnetwork_name = 4; + + // Enable session affinity. + // Only applicable in the App Engine flexible environment. + bool session_affinity = 5; +} + +// Volumes mounted within the app container. +// Only applicable in the App Engine flexible environment. +message Volume { + // Unique name for the volume. + string name = 1; + + // Underlying volume type, e.g. 'tmpfs'. + string volume_type = 2; + + // Volume size in gigabytes. + double size_gb = 3; +} + +// Machine resources for a version. +message Resources { + // Number of CPU cores needed. + double cpu = 1; + + // Disk size (GB) needed. + double disk_gb = 2; + + // Memory (GB) needed. + double memory_gb = 3; + + // User specified volumes. + repeated Volume volumes = 4; + + // The name of the encryption key that is stored in Google Cloud KMS. + // Only should be used by Cloud Composer to encrypt the vm disk + string kms_key_reference = 5; +} + +// Available inbound services. +enum InboundServiceType { + // Not specified. + INBOUND_SERVICE_UNSPECIFIED = 0; + + // Allows an application to receive mail. + INBOUND_SERVICE_MAIL = 1; + + // Allows an application to receive email-bound notifications. + INBOUND_SERVICE_MAIL_BOUNCE = 2; + + // Allows an application to receive error stanzas. + INBOUND_SERVICE_XMPP_ERROR = 3; + + // Allows an application to receive instant messages. + INBOUND_SERVICE_XMPP_MESSAGE = 4; + + // Allows an application to receive user subscription POSTs. + INBOUND_SERVICE_XMPP_SUBSCRIBE = 5; + + // Allows an application to receive a user's chat presence. + INBOUND_SERVICE_XMPP_PRESENCE = 6; + + // Registers an application for notifications when a client connects or + // disconnects from a channel. + INBOUND_SERVICE_CHANNEL_PRESENCE = 7; + + // Enables warmup requests. + INBOUND_SERVICE_WARMUP = 9; +} + +// Run states of a version. +enum ServingStatus { + // Not specified. + SERVING_STATUS_UNSPECIFIED = 0; + + // Currently serving. Instances are created according to the + // scaling settings of the version. + SERVING = 1; + + // Disabled. No instances will be created and the scaling + // settings are ignored until the state of the version changes + // to `SERVING`. + STOPPED = 2; +} + +// VPC access connector specification. +message VpcAccessConnector { + // Available egress settings. + // + // This controls what traffic is diverted through the VPC Access Connector + // resource. By default PRIVATE_IP_RANGES will be used. + enum EgressSetting { + EGRESS_SETTING_UNSPECIFIED = 0; + + // Force the use of VPC Access for all egress traffic from the function. + ALL_TRAFFIC = 1; + + // Use the VPC Access Connector for private IP space from RFC1918. + PRIVATE_IP_RANGES = 2; + } + + // Full Serverless VPC Access Connector name e.g. + // /projects/my-project/locations/us-central1/connectors/c1. + string name = 1; + + // The egress setting for the connector, controlling what traffic is diverted + // through it. + EgressSetting egress_setting = 2; +} + +// The entrypoint for the application. +message Entrypoint { + // The command to run. + oneof command { + // The format should be a shell command that can be fed to `bash -c`. + string shell = 1; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/BUILD.bazel new file mode 100644 index 00000000..1582fd0a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/BUILD.bazel @@ -0,0 +1,179 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "appengine_proto", + srcs = [ + "app_yaml.proto", + "appengine.proto", + "application.proto", + "audit_data.proto", + "certificate.proto", + "deploy.proto", + "domain.proto", + "domain_mapping.proto", + "firewall.proto", + "instance.proto", + "location.proto", + "network_settings.proto", + "operation.proto", + "service.proto", + "version.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "appengine_java_proto", + deps = [":appengine_proto"], +) + +java_grpc_library( + name = "appengine_java_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_java_proto"], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "appengine_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/appengine/v1beta", + protos = [":appengine_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "appengine_moved_proto", + srcs = [":appengine_proto"], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +py_proto_library( + name = "appengine_py_proto", + deps = [":appengine_moved_proto"], +) + +py_grpc_library( + name = "appengine_py_grpc", + srcs = [":appengine_moved_proto"], + deps = [":appengine_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_proto_library", +) + +php_proto_library( + name = "appengine_php_proto", + deps = [":appengine_proto"], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "appengine_ruby_proto", + deps = [":appengine_proto"], +) + +ruby_grpc_library( + name = "appengine_ruby_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "appengine_csharp_proto", + deps = [":appengine_proto"], +) + +csharp_grpc_library( + name = "appengine_csharp_grpc", + srcs = [":appengine_proto"], + deps = [":appengine_csharp_proto"], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ code here diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/app_yaml.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/app_yaml.proto new file mode 100644 index 00000000..ec221a8a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/app_yaml.proto @@ -0,0 +1,348 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "AppYamlProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/) +// configuration for API handlers. +message ApiConfigHandler { + // Action to take when users access resources that require + // authentication. Defaults to `redirect`. + AuthFailAction auth_fail_action = 1; + + // Level of login required to access this resource. Defaults to + // `optional`. + LoginRequirement login = 2; + + // Path to the script from the application root directory. + string script = 3; + + // Security (HTTPS) enforcement for this URL. + SecurityLevel security_level = 4; + + // URL to serve the endpoint at. + string url = 5; +} + +// Custom static error page to be served when an error occurs. +message ErrorHandler { + // Error codes. + enum ErrorCode { + option allow_alias = true; + + // Not specified. ERROR_CODE_DEFAULT is assumed. + ERROR_CODE_UNSPECIFIED = 0; + + // All other error types. + ERROR_CODE_DEFAULT = 0; + + // Application has exceeded a resource quota. + ERROR_CODE_OVER_QUOTA = 1; + + // Client blocked by the application's Denial of Service protection + // configuration. + ERROR_CODE_DOS_API_DENIAL = 2; + + // Deadline reached before the application responds. + ERROR_CODE_TIMEOUT = 3; + } + + // Error condition this handler applies to. + ErrorCode error_code = 1; + + // Static file content to be served for this error. + string static_file = 2; + + // MIME type of file. Defaults to `text/html`. + string mime_type = 3; +} + +// URL pattern and description of how the URL should be handled. App Engine can +// handle URLs by executing application code or by serving static files +// uploaded with the version, such as images, CSS, or JavaScript. +message UrlMap { + // Redirect codes. + enum RedirectHttpResponseCode { + // Not specified. `302` is assumed. + REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = 0; + + // `301 Moved Permanently` code. + REDIRECT_HTTP_RESPONSE_CODE_301 = 1; + + // `302 Moved Temporarily` code. + REDIRECT_HTTP_RESPONSE_CODE_302 = 2; + + // `303 See Other` code. + REDIRECT_HTTP_RESPONSE_CODE_303 = 3; + + // `307 Temporary Redirect` code. + REDIRECT_HTTP_RESPONSE_CODE_307 = 4; + } + + // URL prefix. Uses regular expression syntax, which means regexp + // special characters must be escaped, but should not contain groupings. + // All URLs that begin with this prefix are handled by this handler, using the + // portion of the URL after the prefix as part of the file path. + string url_regex = 1; + + // Type of handler for this URL pattern. + oneof handler_type { + // Returns the contents of a file, such as an image, as the response. + StaticFilesHandler static_files = 2; + + // Executes a script to handle the requests that match this URL + // pattern. Only the `auto` value is supported for Node.js in the + // App Engine standard environment, for example `"script": "auto"`. + ScriptHandler script = 3; + + // Uses API Endpoints to handle requests. + ApiEndpointHandler api_endpoint = 4; + } + + // Security (HTTPS) enforcement for this URL. + SecurityLevel security_level = 5; + + // Level of login required to access this resource. Not supported for Node.js + // in the App Engine standard environment. + LoginRequirement login = 6; + + // Action to take when users access resources that require + // authentication. Defaults to `redirect`. + AuthFailAction auth_fail_action = 7; + + // `30x` code to use when performing redirects for the `secure` field. + // Defaults to `302`. + RedirectHttpResponseCode redirect_http_response_code = 8; +} + +// Files served directly to the user for a given URL, such as images, CSS +// stylesheets, or JavaScript source files. Static file handlers describe which +// files in the application directory are static files, and which URLs serve +// them. +message StaticFilesHandler { + // Path to the static files matched by the URL pattern, from the + // application root directory. The path can refer to text matched in groupings + // in the URL pattern. + string path = 1; + + // Regular expression that matches the file paths for all files that should be + // referenced by this handler. + string upload_path_regex = 2; + + // HTTP headers to use for all responses from these URLs. + map http_headers = 3; + + // MIME type used to serve all files served by this handler. + // + // Defaults to file-specific MIME types, which are derived from each file's + // filename extension. + string mime_type = 4; + + // Time a static file served by this handler should be cached + // by web proxies and browsers. + google.protobuf.Duration expiration = 5; + + // Whether this handler should match the request if the file + // referenced by the handler does not exist. + bool require_matching_file = 6; + + // Whether files should also be uploaded as code data. By default, files + // declared in static file handlers are uploaded as static + // data and are only served to end users; they cannot be read by the + // application. If enabled, uploads are charged against both your code and + // static data storage resource quotas. + bool application_readable = 7; +} + +// Executes a script to handle the request that matches the URL pattern. +message ScriptHandler { + // Path to the script from the application root directory. + string script_path = 1; +} + +// Uses Google Cloud Endpoints to handle requests. +message ApiEndpointHandler { + // Path to the script from the application root directory. + string script_path = 1; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. Only applicable for +// instances in App Engine flexible environment. +message HealthCheck { + // Whether to explicitly disable health checks for this instance. + bool disable_health_check = 1; + + // Host header to send when performing an HTTP health check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive successful health checks required before receiving + // traffic. + uint32 healthy_threshold = 3; + + // Number of consecutive failed health checks required before removing + // traffic. + uint32 unhealthy_threshold = 4; + + // Number of consecutive failed health checks required before an instance is + // restarted. + uint32 restart_threshold = 5; + + // Interval between health checks. + google.protobuf.Duration check_interval = 6; + + // Time before the health check is considered failed. + google.protobuf.Duration timeout = 7; +} + +// Readiness checking configuration for VM instances. Unhealthy instances +// are removed from traffic rotation. +message ReadinessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Readiness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before removing + // traffic. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before receiving + // traffic. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // A maximum time limit on application initialization, measured from moment + // the application successfully replies to a healthcheck until it is ready to + // serve traffic. + google.protobuf.Duration app_start_timeout = 7; +} + +// Health checking configuration for VM instances. Unhealthy instances +// are killed and replaced with new instances. +message LivenessCheck { + // The request path. + string path = 1; + + // Host header to send when performing a HTTP Liveness check. + // Example: "myapp.appspot.com" + string host = 2; + + // Number of consecutive failed checks required before considering the + // VM unhealthy. + uint32 failure_threshold = 3; + + // Number of consecutive successful checks required before considering + // the VM healthy. + uint32 success_threshold = 4; + + // Interval between health checks. + google.protobuf.Duration check_interval = 5; + + // Time before the check is considered failed. + google.protobuf.Duration timeout = 6; + + // The initial delay before starting to execute the checks. + google.protobuf.Duration initial_delay = 7; +} + +// Third-party Python runtime library that is required by the application. +message Library { + // Name of the library. Example: "django". + string name = 1; + + // Version of the library to select, or "latest". + string version = 2; +} + +// Actions to take when the user is not logged in. +enum AuthFailAction { + // Not specified. `AUTH_FAIL_ACTION_REDIRECT` is assumed. + AUTH_FAIL_ACTION_UNSPECIFIED = 0; + + // Redirects user to "accounts.google.com". The user is redirected back to the + // application URL after signing in or creating an account. + AUTH_FAIL_ACTION_REDIRECT = 1; + + // Rejects request with a `401` HTTP status code and an error + // message. + AUTH_FAIL_ACTION_UNAUTHORIZED = 2; +} + +// Methods to restrict access to a URL based on login status. +enum LoginRequirement { + // Not specified. `LOGIN_OPTIONAL` is assumed. + LOGIN_UNSPECIFIED = 0; + + // Does not require that the user is signed in. + LOGIN_OPTIONAL = 1; + + // If the user is not signed in, the `auth_fail_action` is taken. + // In addition, if the user is not an administrator for the + // application, they are given an error message regardless of + // `auth_fail_action`. If the user is an administrator, the handler + // proceeds. + LOGIN_ADMIN = 2; + + // If the user has signed in, the handler proceeds normally. Otherwise, the + // auth_fail_action is taken. + LOGIN_REQUIRED = 3; +} + +// Methods to enforce security (HTTPS) on a URL. +enum SecurityLevel { + option allow_alias = true; + + // Not specified. + SECURE_UNSPECIFIED = 0; + + // Both HTTP and HTTPS requests with URLs that match the handler succeed + // without redirects. The application can examine the request to determine + // which protocol was used, and respond accordingly. + SECURE_DEFAULT = 0; + + // Requests for a URL that match this handler that use HTTPS are automatically + // redirected to the HTTP equivalent URL. + SECURE_NEVER = 1; + + // Both HTTP and HTTPS requests with URLs that match the handler succeed + // without redirects. The application can examine the request to determine + // which protocol was used and respond accordingly. + SECURE_OPTIONAL = 2; + + // Requests for a URL that match this handler that do not use HTTPS are + // automatically redirected to the HTTPS URL with the same path. Query + // parameters are reserved for the redirect. + SECURE_ALWAYS = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/appengine.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/appengine.proto new file mode 100644 index 00000000..67b62c0e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/appengine.proto @@ -0,0 +1,1006 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/appengine/v1beta/application.proto"; +import "google/appengine/v1beta/certificate.proto"; +import "google/appengine/v1beta/domain.proto"; +import "google/appengine/v1beta/domain_mapping.proto"; +import "google/appengine/v1beta/firewall.proto"; +import "google/appengine/v1beta/instance.proto"; +import "google/appengine/v1beta/version.proto"; +import "google/appengine/v1beta/service.proto"; +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "AppengineProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Manages App Engine applications. +service Applications { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Gets information about an application. + rpc GetApplication(GetApplicationRequest) returns (Application) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*}" + }; + } + + // Creates an App Engine application for a Google Cloud Platform project. + // Required fields: + // + // * `id` - The ID of the target Cloud Platform project. + // * *location* - The [region](https://cloud.google.com/appengine/docs/locations) where you want the App Engine application located. + // + // For more information about App Engine applications, see [Managing Projects, Applications, and Billing](https://cloud.google.com/appengine/docs/standard/python/console/). + rpc CreateApplication(CreateApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/apps" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Updates the specified Application resource. + // You can update the following fields: + // + // * `auth_domain` - Google authentication domain for controlling user access to the application. + // * `default_cookie_expiration` - Cookie expiration policy for the application. + rpc UpdateApplication(UpdateApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*}" + body: "application" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Recreates the required App Engine features for the specified App Engine + // application, for example a Cloud Storage bucket or App Engine service + // account. + // Use this method if you receive an error message about a missing feature, + // for example, *Error retrieving the App Engine service account*. + // If you have deleted your App Engine service account, this will + // not be able to recreate it. Instead, you should attempt to use the + // IAM undelete API if possible at https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete?apix_params=%7B"name"%3A"projects%2F-%2FserviceAccounts%2Funique_id"%2C"resource"%3A%7B%7D%7D . + // If the deletion was recent, the numeric ID can be found in the Cloud + // Console Activity Log. + rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{name=apps/*}:repair" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Application" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Request message for `Applications.GetApplication`. +message GetApplicationRequest { + // Name of the Application resource to get. Example: `apps/myapp`. + string name = 1; +} + +// Request message for `Applications.CreateApplication`. +message CreateApplicationRequest { + // Application configuration. + Application application = 2; +} + +// Request message for `Applications.UpdateApplication`. +message UpdateApplicationRequest { + // Name of the Application resource to update. Example: `apps/myapp`. + string name = 1; + + // An Application containing the updated resource. + Application application = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for 'Applications.RepairApplication'. +message RepairApplicationRequest { + // Name of the application to repair. Example: `apps/myapp` + string name = 1; +} + +// Manages services of an application. +service Services { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all the services in the application. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/services" + }; + } + + // Gets the current configuration of the specified service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/services/*}" + }; + } + + // Updates the configuration of the specified service. + rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/services/*}" + body: "service" + }; + option (google.longrunning.operation_info) = { + response_type: "Service" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Deletes the specified service and all enclosed versions. + rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/services/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Request message for `Services.ListServices`. +message ListServicesRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `Services.ListServices`. +message ListServicesResponse { + // The services belonging to the requested application. + repeated Service services = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Services.GetService`. +message GetServiceRequest { + // Name of the resource requested. Example: `apps/myapp/services/default`. + string name = 1; +} + +// Request message for `Services.UpdateService`. +message UpdateServiceRequest { + // Name of the resource to update. Example: `apps/myapp/services/default`. + string name = 1; + + // A Service resource containing the updated service. Only fields set in the + // field mask will be updated. + Service service = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; + + // Set to `true` to gradually shift traffic to one or more versions that you + // specify. By default, traffic is shifted immediately. + // For gradual traffic migration, the target versions + // must be located within instances that are configured for both + // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#InboundServiceType) + // and + // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#AutomaticScaling). + // You must specify the + // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services#ShardBy) + // field in the Service resource. Gradual traffic migration is not + // supported in the App Engine flexible environment. For examples, see + // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). + bool migrate_traffic = 4; +} + +// Request message for `Services.DeleteService`. +message DeleteServiceRequest { + // Name of the resource requested. Example: `apps/myapp/services/default`. + string name = 1; +} + +// Manages versions of a service. +service Versions { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the versions of a service. + rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*/services/*}/versions" + }; + } + + // Gets the specified Version resource. + // By default, only a `BASIC_VIEW` will be returned. + // Specify the `FULL_VIEW` parameter to get the full resource. + rpc GetVersion(GetVersionRequest) returns (Version) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/services/*/versions/*}" + }; + } + + // Deploys code and resource files to a new version. + rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*/services/*}/versions" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "CreateVersionMetadataV1Beta" + }; + } + + // Updates the specified Version resource. + // You can specify the following fields depending on the App Engine + // environment and type of scaling that the version resource uses: + // + // **Standard environment** + // + // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.instance_class) + // + // *automatic scaling* in the standard environment: + // + // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automaticScaling.standard_scheduler_settings.max_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.min_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_cpu_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // * [`automaticScaling.standard_scheduler_settings.target_throughput_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StandardSchedulerSettings) + // + // *basic scaling* or *manual scaling* in the standard environment: + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status) + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling) + // + // **Flexible environment** + // + // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.serving_status) + // + // *automatic scaling* in the flexible environment: + // + // * [`automatic_scaling.min_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.max_total_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cool_down_period_sec`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // * [`automatic_scaling.cpu_utilization.target_utilization`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#Version.FIELDS.automatic_scaling) + // + // *manual scaling* in the flexible environment: + // + // * [`manual_scaling.instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#manualscaling) + rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/services/*/versions/*}" + body: "version" + }; + option (google.longrunning.operation_info) = { + response_type: "Version" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Deletes an existing Version resource. + rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/services/*/versions/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Request message for `Versions.ListVersions`. +message ListVersionsRequest { + // Name of the parent Service resource. Example: + // `apps/myapp/services/default`. + string parent = 1; + + // Controls the set of fields returned in the `List` response. + VersionView view = 2; + + // Maximum results to return per page. + int32 page_size = 3; + + // Continuation token for fetching the next page of results. + string page_token = 4; +} + +// Response message for `Versions.ListVersions`. +message ListVersionsResponse { + // The versions belonging to the requested service. + repeated Version versions = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Versions.GetVersion`. +message GetVersionRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1`. + string name = 1; + + // Controls the set of fields returned in the `Get` response. + VersionView view = 2; +} + +// Request message for `Versions.CreateVersion`. +message CreateVersionRequest { + // Name of the parent resource to create this version under. Example: + // `apps/myapp/services/default`. + string parent = 1; + + // Application deployment configuration. + Version version = 2; +} + +// Request message for `Versions.UpdateVersion`. +message UpdateVersionRequest { + // Name of the resource to update. Example: + // `apps/myapp/services/default/versions/1`. + string name = 1; + + // A Version containing the updated resource. Only fields set in the field + // mask will be updated. + Version version = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Fields that should be returned when [Version][google.appengine.v1beta.Version] resources +// are retrieved. +enum VersionView { + // Basic version information including scaling and inbound services, + // but not detailed deployment information. + BASIC = 0; + + // The information from `BASIC`, plus detailed information about the + // deployment. This format is required when creating resources, but + // is not returned in `Get` or `List` by default. + FULL = 1; +} + +// Request message for `Versions.DeleteVersion`. +message DeleteVersionRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1`. + string name = 1; +} + +// Request message for `Instances.ListInstances`. +message ListInstancesRequest { + // Name of the parent Version resource. Example: + // `apps/myapp/services/default/versions/v1`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `Instances.ListInstances`. +message ListInstancesResponse { + // The instances belonging to the requested version. + repeated Instance instances = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Instances.GetInstance`. +message GetInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; +} + +// Request message for `Instances.DeleteInstance`. +message DeleteInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; +} + +// Request message for `Instances.DebugInstance`. +message DebugInstanceRequest { + // Name of the resource requested. Example: + // `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1; + + // Public SSH key to add to the instance. Examples: + // + // * `[USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]` + // * `[USERNAME]:ssh-rsa [KEY_VALUE] google-ssh {"userName":"[USERNAME]","expireOn":"[EXPIRE_TIME]"}` + // + // For more information, see + // [Adding and Removing SSH Keys](https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys). + string ssh_key = 2; +} + +// Request message for `Firewall.ListIngressRules`. +message ListIngressRulesRequest { + // Name of the Firewall collection to retrieve. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; + + // A valid IP Address. If set, only rules matching this address will be + // returned. The first returned rule will be the rule that fires on requests + // from this IP. + string matching_address = 4; +} + +// Manages instances of a version. +service Instances { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the instances of a version. + // + // Tip: To aggregate details about instances over time, see the + // [Stackdriver Monitoring API](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list). + rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*/services/*/versions/*}/instances" + }; + } + + // Gets instance information. + rpc GetInstance(GetInstanceRequest) returns (Instance) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}" + }; + } + + // Stops a running instance. + // + // The instance might be automatically recreated based on the scaling settings + // of the version. For more information, see "How Instances are Managed" + // ([standard environment](https://cloud.google.com/appengine/docs/standard/python/how-instances-are-managed) | + // [flexible environment](https://cloud.google.com/appengine/docs/flexible/python/how-instances-are-managed)). + // + // To ensure that instances are not re-created and avoid getting billed, you + // can stop all instances within the target version by changing the serving + // status of the version to `STOPPED` with the + // [`apps.services.versions.patch`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) + // method. + rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Enables debugging on a VM instance. This allows you to use the SSH + // command to connect to the virtual machine where the instance lives. + // While in "debug mode", the instance continues to serve live traffic. + // You should delete the instance when you are done debugging and then + // allow the system to take over and determine if another instance + // should be started. + // + // Only applicable for instances in App Engine flexible environment. + rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{name=apps/*/services/*/versions/*/instances/*}:debug" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "Instance" + metadata_type: "OperationMetadataV1Beta" + }; + } +} + +// Response message for `Firewall.ListIngressRules`. +message ListIngressRulesResponse { + // The ingress FirewallRules for this application. + repeated FirewallRule ingress_rules = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `Firewall.BatchUpdateIngressRules`. +message BatchUpdateIngressRulesRequest { + // Name of the Firewall collection to set. + // Example: `apps/myapp/firewall/ingressRules`. + string name = 1; + + // A list of FirewallRules to replace the existing set. + repeated FirewallRule ingress_rules = 2; +} + +// Response message for `Firewall.UpdateAllIngressRules`. +message BatchUpdateIngressRulesResponse { + // The full list of ingress FirewallRules for this application. + repeated FirewallRule ingress_rules = 1; +} + +// Request message for `Firewall.CreateIngressRule`. +message CreateIngressRuleRequest { + // Name of the parent Firewall collection in which to create a new rule. + // Example: `apps/myapp/firewall/ingressRules`. + string parent = 1; + + // A FirewallRule containing the new resource. + // + // The user may optionally provide a position at which the new rule will be + // placed. The positions define a sequential list starting at 1. If a rule + // already exists at the given position, rules greater than the provided + // position will be moved forward by one. + // + // If no position is provided, the server will place the rule as the second to + // last rule in the sequence before the required default allow-all or deny-all + // rule. + FirewallRule rule = 2; +} + +// Request message for `Firewall.GetIngressRule`. +message GetIngressRuleRequest { + // Name of the Firewall resource to retrieve. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Request message for `Firewall.UpdateIngressRule`. +message UpdateIngressRuleRequest { + // Name of the Firewall resource to update. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; + + // A FirewallRule containing the updated resource + FirewallRule rule = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `Firewall.DeleteIngressRule`. +message DeleteIngressRuleRequest { + // Name of the Firewall resource to delete. + // Example: `apps/myapp/firewall/ingressRules/100`. + string name = 1; +} + +// Request message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedDomains.ListAuthorizedDomains`. +message ListAuthorizedDomainsResponse { + // The authorized domains belonging to the user. + repeated AuthorizedDomain domains = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // Controls the set of fields returned in the `LIST` response. + AuthorizedCertificateView view = 4; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `AuthorizedCertificates.ListAuthorizedCertificates`. +message ListAuthorizedCertificatesResponse { + // The SSL certificates the user is authorized to administer. + repeated AuthorizedCertificate certificates = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Firewall resources are used to define a collection of access control rules +// for an Application. Each rule is defined with a position which specifies +// the rule's order in the sequence of rules, an IP range to be matched against +// requests, and an action to take upon matching requests. +// +// Every request is evaluated against the Firewall rules in priority order. +// Processesing stops at the first rule which matches the request's IP address. +// A final rule always specifies an action that applies to all remaining +// IP addresses. The default final rule for a newly-created application will be +// set to "allow" if not otherwise specified by the user. +service Firewall { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the firewall rules of an application. + rpc ListIngressRules(ListIngressRulesRequest) returns (ListIngressRulesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/firewall/ingressRules" + }; + } + + // Replaces the entire firewall ruleset in one bulk operation. This overrides + // and replaces the rules of an existing firewall with the new rules. + // + // If the final rule does not match traffic with the '*' wildcard IP range, + // then an "allow all" rule is explicitly added to the end of the list. + rpc BatchUpdateIngressRules(BatchUpdateIngressRulesRequest) returns (BatchUpdateIngressRulesResponse) { + option (google.api.http) = { + post: "/v1beta/{name=apps/*/firewall/ingressRules}:batchUpdate" + body: "*" + }; + } + + // Creates a firewall rule for the application. + rpc CreateIngressRule(CreateIngressRuleRequest) returns (FirewallRule) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*}/firewall/ingressRules" + body: "rule" + }; + } + + // Gets the specified firewall rule. + rpc GetIngressRule(GetIngressRuleRequest) returns (FirewallRule) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/firewall/ingressRules/*}" + }; + } + + // Updates the specified firewall rule. + rpc UpdateIngressRule(UpdateIngressRuleRequest) returns (FirewallRule) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/firewall/ingressRules/*}" + body: "rule" + }; + } + + // Deletes the specified firewall rule. + rpc DeleteIngressRule(DeleteIngressRuleRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/firewall/ingressRules/*}" + }; + } +} + +// Request message for `AuthorizedCertificates.GetAuthorizedCertificate`. +message GetAuthorizedCertificateRequest { + // Name of the resource requested. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // Controls the set of fields returned in the `GET` response. + AuthorizedCertificateView view = 2; +} + +// Request message for `AuthorizedCertificates.CreateAuthorizedCertificate`. +message CreateAuthorizedCertificateRequest { + // Name of the parent `Application` resource. Example: `apps/myapp`. + string parent = 1; + + // SSL certificate data. + AuthorizedCertificate certificate = 2; +} + +// Request message for `AuthorizedCertificates.UpdateAuthorizedCertificate`. +message UpdateAuthorizedCertificateRequest { + // Name of the resource to update. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; + + // An `AuthorizedCertificate` containing the updated resource. Only fields set + // in the field mask will be updated. + AuthorizedCertificate certificate = 2; + + // Standard field mask for the set of fields to be updated. Updates are only + // supported on the `certificate_raw_data` and `display_name` fields. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `AuthorizedCertificates.DeleteAuthorizedCertificate`. +message DeleteAuthorizedCertificateRequest { + // Name of the resource to delete. Example: + // `apps/myapp/authorizedCertificates/12345`. + string name = 1; +} + +// Request message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Maximum results to return per page. + int32 page_size = 2; + + // Continuation token for fetching the next page of results. + string page_token = 3; +} + +// Response message for `DomainMappings.ListDomainMappings`. +message ListDomainMappingsResponse { + // The domain mappings for the application. + repeated DomainMapping domain_mappings = 1; + + // Continuation token for fetching the next page of results. + string next_page_token = 2; +} + +// Request message for `DomainMappings.GetDomainMapping`. +message GetDomainMappingRequest { + // Name of the resource requested. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} + +// Request message for `DomainMappings.CreateDomainMapping`. +message CreateDomainMappingRequest { + // Name of the parent Application resource. Example: `apps/myapp`. + string parent = 1; + + // Domain mapping configuration. + DomainMapping domain_mapping = 2; + + // Whether the domain creation should override any existing mappings for this + // domain. By default, overrides are rejected. + DomainOverrideStrategy override_strategy = 4; +} + +// Manages domains a user is authorized to administer. To authorize use of a +// domain, verify ownership via +// [Webmaster Central](https://www.google.com/webmasters/verification/home). +service AuthorizedDomains { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all domains the user is authorized to administer. + rpc ListAuthorizedDomains(ListAuthorizedDomainsRequest) returns (ListAuthorizedDomainsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/authorizedDomains" + }; + } +} + +// Request message for `DomainMappings.UpdateDomainMapping`. +message UpdateDomainMappingRequest { + // Name of the resource to update. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; + + // A domain mapping containing the updated resource. Only fields set + // in the field mask will be updated. + DomainMapping domain_mapping = 2; + + // Standard field mask for the set of fields to be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `DomainMappings.DeleteDomainMapping`. +message DeleteDomainMappingRequest { + // Name of the resource to delete. Example: + // `apps/myapp/domainMappings/example.com`. + string name = 1; +} + +// Manages SSL certificates a user is authorized to administer. A user can +// administer any SSL certificates applicable to their authorized domains. +service AuthorizedCertificates { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists all SSL certificates the user is authorized to administer. + rpc ListAuthorizedCertificates(ListAuthorizedCertificatesRequest) returns (ListAuthorizedCertificatesResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/authorizedCertificates" + }; + } + + // Gets the specified SSL certificate. + rpc GetAuthorizedCertificate(GetAuthorizedCertificateRequest) returns (AuthorizedCertificate) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/authorizedCertificates/*}" + }; + } + + // Uploads the specified SSL certificate. + rpc CreateAuthorizedCertificate(CreateAuthorizedCertificateRequest) returns (AuthorizedCertificate) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*}/authorizedCertificates" + body: "certificate" + }; + } + + // Updates the specified SSL certificate. To renew a certificate and maintain + // its existing domain mappings, update `certificate_data` with a new + // certificate. The new certificate must be applicable to the same domains as + // the original certificate. The certificate `display_name` may also be + // updated. + rpc UpdateAuthorizedCertificate(UpdateAuthorizedCertificateRequest) returns (AuthorizedCertificate) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/authorizedCertificates/*}" + body: "certificate" + }; + } + + // Deletes the specified SSL certificate. + rpc DeleteAuthorizedCertificate(DeleteAuthorizedCertificateRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/authorizedCertificates/*}" + }; + } +} + +// Fields that should be returned when an AuthorizedCertificate resource is +// retrieved. +enum AuthorizedCertificateView { + // Basic certificate information, including applicable domains and expiration + // date. + BASIC_CERTIFICATE = 0; + + // The information from `BASIC_CERTIFICATE`, plus detailed information on the + // domain mappings that have this certificate mapped. + FULL_CERTIFICATE = 1; +} + +// Override strategy for mutating an existing mapping. +enum DomainOverrideStrategy { + // Strategy unspecified. Defaults to `STRICT`. + UNSPECIFIED_DOMAIN_OVERRIDE_STRATEGY = 0; + + // Overrides not allowed. If a mapping already exists for the + // specified domain, the request will return an ALREADY_EXISTS (409). + STRICT = 1; + + // Overrides allowed. If a mapping already exists for the specified domain, + // the request will overwrite it. Note that this might stop another + // Google product from serving. For example, if the domain is + // mapped to another App Engine application, that app will no + // longer serve from that domain. + OVERRIDE = 2; +} + +// Manages domains serving an application. +service DomainMappings { + option (google.api.default_host) = "appengine.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/appengine.admin," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists the domain mappings on an application. + rpc ListDomainMappings(ListDomainMappingsRequest) returns (ListDomainMappingsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=apps/*}/domainMappings" + }; + } + + // Gets the specified domain mapping. + rpc GetDomainMapping(GetDomainMappingRequest) returns (DomainMapping) { + option (google.api.http) = { + get: "/v1beta/{name=apps/*/domainMappings/*}" + }; + } + + // Maps a domain to an application. A user must be authorized to administer a + // domain in order to map it to an application. For a list of available + // authorized domains, see [`AuthorizedDomains.ListAuthorizedDomains`](). + rpc CreateDomainMapping(CreateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=apps/*}/domainMappings" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Updates the specified domain mapping. To map an SSL certificate to a + // domain mapping, update `certificate_id` to point to an `AuthorizedCertificate` + // resource. A user must be authorized to administer the associated domain + // in order to update a `DomainMapping` resource. + rpc UpdateDomainMapping(UpdateDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{name=apps/*/domainMappings/*}" + body: "domain_mapping" + }; + option (google.longrunning.operation_info) = { + response_type: "DomainMapping" + metadata_type: "OperationMetadataV1Beta" + }; + } + + // Deletes the specified domain mapping. A user must be authorized to + // administer the associated domain in order to delete a `DomainMapping` + // resource. + rpc DeleteDomainMapping(DeleteDomainMappingRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=apps/*/domainMappings/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadataV1Beta" + }; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/application.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/application.proto new file mode 100644 index 00000000..743de1e8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/application.proto @@ -0,0 +1,193 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "ApplicationProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// An Application resource contains the top-level configuration of an App +// Engine application. +message Application { + // Identity-Aware Proxy + message IdentityAwareProxy { + // Whether the serving infrastructure will authenticate and + // authorize all incoming requests. + // + // If true, the `oauth2_client_id` and `oauth2_client_secret` + // fields must be non-empty. + bool enabled = 1; + + // OAuth2 client ID to use for the authentication flow. + string oauth2_client_id = 2; + + // OAuth2 client secret to use for the authentication flow. + // + // For security reasons, this value cannot be retrieved via the API. + // Instead, the SHA-256 hash of the value is returned in the + // `oauth2_client_secret_sha256` field. + // + // @InputOnly + string oauth2_client_secret = 3; + + // Hex-encoded SHA-256 hash of the client secret. + // + // @OutputOnly + string oauth2_client_secret_sha256 = 4; + } + + // The feature specific settings to be used in the application. These define + // behaviors that are user configurable. + message FeatureSettings { + // Boolean value indicating if split health checks should be used instead + // of the legacy health checks. At an app.yaml level, this means defaulting + // to 'readiness_check' and 'liveness_check' values instead of + // 'health_check' ones. Once the legacy 'health_check' behavior is + // deprecated, and this value is always true, this setting can + // be removed. + bool split_health_checks = 1; + + // If true, use [Container-Optimized OS](https://cloud.google.com/container-optimized-os/) + // base image for VMs, rather than a base Debian image. + bool use_container_optimized_os = 2; + } + + enum ServingStatus { + // Serving status is unspecified. + UNSPECIFIED = 0; + + // Application is serving. + SERVING = 1; + + // Application has been disabled by the user. + USER_DISABLED = 2; + + // Application has been disabled by the system. + SYSTEM_DISABLED = 3; + } + + enum DatabaseType { + // Database type is unspecified. + DATABASE_TYPE_UNSPECIFIED = 0; + + // Cloud Datastore + CLOUD_DATASTORE = 1; + + // Cloud Firestore Native + CLOUD_FIRESTORE = 2; + + // Cloud Firestore in Datastore Mode + CLOUD_DATASTORE_COMPATIBILITY = 3; + } + + // Full path to the Application resource in the API. + // Example: `apps/myapp`. + // + // @OutputOnly + string name = 1; + + // Identifier of the Application resource. This identifier is equivalent + // to the project ID of the Google Cloud Platform project where you want to + // deploy your application. + // Example: `myapp`. + string id = 2; + + // HTTP path dispatch rules for requests to the application that do not + // explicitly target a service or version. Rules are order-dependent. + // Up to 20 dispatch rules can be supported. + repeated UrlDispatchRule dispatch_rules = 3; + + // Google Apps authentication domain that controls which users can access + // this application. + // + // Defaults to open access for any Google Account. + string auth_domain = 6; + + // Location from which this application runs. Application instances + // run out of the data centers in the specified location, which is also where + // all of the application's end user content is stored. + // + // Defaults to `us-central`. + // + // View the list of + // [supported locations](https://cloud.google.com/appengine/docs/locations). + string location_id = 7; + + // Google Cloud Storage bucket that can be used for storing files + // associated with this application. This bucket is associated with the + // application and can be used by the gcloud deployment commands. + // + // @OutputOnly + string code_bucket = 8; + + // Cookie expiration policy for this application. + google.protobuf.Duration default_cookie_expiration = 9; + + // Serving status of this application. + ServingStatus serving_status = 10; + + // Hostname used to reach this application, as resolved by App Engine. + // + // @OutputOnly + string default_hostname = 11; + + // Google Cloud Storage bucket that can be used by this application to store + // content. + // + // @OutputOnly + string default_bucket = 12; + + IdentityAwareProxy iap = 14; + + // The Google Container Registry domain used for storing managed build docker + // images for this application. + string gcr_domain = 16; + + // The type of the Cloud Firestore or Cloud Datastore database associated with + // this application. + DatabaseType database_type = 17; + + // The feature specific settings to be used in the application. + FeatureSettings feature_settings = 18; +} + +// Rules to match an HTTP request and dispatch that request to a service. +message UrlDispatchRule { + // Domain name to match against. The wildcard "`*`" is supported if + // specified before a period: "`*.`". + // + // Defaults to matching all domains: "`*`". + string domain = 1; + + // Pathname within the host. Must start with a "`/`". A + // single "`*`" can be included at the end of the path. + // + // The sum of the lengths of the domain and path may not + // exceed 100 characters. + string path = 2; + + // Resource ID of a service in this application that should + // serve the matched request. The service must already + // exist. Example: `default`. + string service = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/audit_data.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/audit_data.proto new file mode 100644 index 00000000..c76d1b57 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/audit_data.proto @@ -0,0 +1,54 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/appengine/v1beta/appengine.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "AuditDataProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// App Engine admin service audit log. +message AuditData { + // Detailed information about methods that require it. Does not include + // simple Get, List or Delete methods because all significant information + // (resource name, number of returned elements for List operations) is already + // included in parent audit log message. + oneof method { + // Detailed information about UpdateService call. + UpdateServiceMethod update_service = 1; + + // Detailed information about CreateVersion call. + CreateVersionMethod create_version = 2; + } +} + +// Detailed information about UpdateService call. +message UpdateServiceMethod { + // Update service request. + UpdateServiceRequest request = 1; +} + +// Detailed information about CreateVersion call. +message CreateVersionMethod { + // Create version request. + CreateVersionRequest request = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/certificate.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/certificate.proto new file mode 100644 index 00000000..6bae0c3d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/certificate.proto @@ -0,0 +1,172 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "CertificateProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// An SSL certificate that a user has been authorized to administer. A user +// is authorized to administer any certificate that applies to one of their +// authorized domains. +message AuthorizedCertificate { + // Full path to the `AuthorizedCertificate` resource in the API. Example: + // `apps/myapp/authorizedCertificates/12345`. + // + // @OutputOnly + string name = 1; + + // Relative name of the certificate. This is a unique value autogenerated + // on `AuthorizedCertificate` resource creation. Example: `12345`. + // + // @OutputOnly + string id = 2; + + // The user-specified display name of the certificate. This is not + // guaranteed to be unique. Example: `My Certificate`. + string display_name = 3; + + // Topmost applicable domains of this certificate. This certificate + // applies to these domains and their subdomains. Example: `example.com`. + // + // @OutputOnly + repeated string domain_names = 4; + + // The time when this certificate expires. To update the renewal time on this + // certificate, upload an SSL certificate with a different expiration time + // using [`AuthorizedCertificates.UpdateAuthorizedCertificate`](). + // + // @OutputOnly + google.protobuf.Timestamp expire_time = 5; + + // The SSL certificate serving the `AuthorizedCertificate` resource. This + // must be obtained independently from a certificate authority. + CertificateRawData certificate_raw_data = 6; + + // Only applicable if this certificate is managed by App Engine. Managed + // certificates are tied to the lifecycle of a `DomainMapping` and cannot be + // updated or deleted via the `AuthorizedCertificates` API. If this + // certificate is manually administered by the user, this field will be empty. + // + // @OutputOnly + ManagedCertificate managed_certificate = 7; + + // The full paths to user visible Domain Mapping resources that have this + // certificate mapped. Example: `apps/myapp/domainMappings/example.com`. + // + // This may not represent the full list of mapped domain mappings if the user + // does not have `VIEWER` permissions on all of the applications that have + // this certificate mapped. See `domain_mappings_count` for a complete count. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + repeated string visible_domain_mappings = 8; + + // Aggregate count of the domain mappings with this certificate mapped. This + // count includes domain mappings on applications for which the user does not + // have `VIEWER` permissions. + // + // Only returned by `GET` or `LIST` requests when specifically requested by + // the `view=FULL_CERTIFICATE` option. + // + // @OutputOnly + int32 domain_mappings_count = 9; +} + +// An SSL certificate obtained from a certificate authority. +message CertificateRawData { + // PEM encoded x.509 public key certificate. This field is set once on + // certificate creation. Must include the header and footer. Example: + //

+  // -----BEGIN CERTIFICATE-----
+  // 
+  // -----END CERTIFICATE-----
+  // 
+ string public_certificate = 1; + + // Unencrypted PEM encoded RSA private key. This field is set once on + // certificate creation and then encrypted. The key size must be 2048 + // bits or fewer. Must include the header and footer. Example: + //
+  // -----BEGIN RSA PRIVATE KEY-----
+  // 
+  // -----END RSA PRIVATE KEY-----
+  // 
+ // @InputOnly + string private_key = 2; +} + +// State of certificate management. Refers to the most recent certificate +// acquisition or renewal attempt. +enum ManagementStatus { + MANAGEMENT_STATUS_UNSPECIFIED = 0; + + // Certificate was successfully obtained and inserted into the serving + // system. + OK = 1; + + // Certificate is under active attempts to acquire or renew. + PENDING = 2; + + // Most recent renewal failed due to an invalid DNS setup and will be + // retried. Renewal attempts will continue to fail until the certificate + // domain's DNS configuration is fixed. The last successfully provisioned + // certificate may still be serving. + FAILED_RETRYING_NOT_VISIBLE = 4; + + // All renewal attempts have been exhausted, likely due to an invalid DNS + // setup. + FAILED_PERMANENT = 6; + + // Most recent renewal failed due to an explicit CAA record that does not + // include one of the in-use CAs (Google CA and Let's Encrypt). Renewals will + // continue to fail until the CAA is reconfigured. The last successfully + // provisioned certificate may still be serving. + FAILED_RETRYING_CAA_FORBIDDEN = 7; + + // Most recent renewal failed due to a CAA retrieval failure. This means that + // the domain's DNS provider does not properly handle CAA records, failing + // requests for CAA records when no CAA records are defined. Renewals will + // continue to fail until the DNS provider is changed or a CAA record is + // added for the given domain. The last successfully provisioned certificate + // may still be serving. + FAILED_RETRYING_CAA_CHECKING = 8; +} + +// A certificate managed by App Engine. +message ManagedCertificate { + // Time at which the certificate was last renewed. The renewal process is + // fully managed. Certificate renewal will automatically occur before the + // certificate expires. Renewal errors can be tracked via `ManagementStatus`. + // + // @OutputOnly + google.protobuf.Timestamp last_renewal_time = 1; + + // Status of certificate management. Refers to the most recent certificate + // acquisition or renewal attempt. + // + // @OutputOnly + ManagementStatus status = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/deploy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/deploy.proto new file mode 100644 index 00000000..78400315 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/deploy.proto @@ -0,0 +1,118 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/protobuf/duration.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DeployProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Code and application artifacts used to deploy a version to App Engine. +message Deployment { + // Manifest of the files stored in Google Cloud Storage that are included + // as part of this version. All files must be readable using the + // credentials supplied with this call. + map files = 1; + + // The Docker image for the container that runs the version. + // Only applicable for instances running in the App Engine flexible environment. + ContainerInfo container = 2; + + // The zip file for this deployment, if this is a zip deployment. + ZipInfo zip = 3; + + // Google Cloud Build build information. Only applicable for instances running + // in the App Engine flexible environment. + BuildInfo build = 5; + + // Options for any Google Cloud Build builds created as a part of this + // deployment. + // + // These options will only be used if a new build is created, such as when + // deploying to the App Engine flexible environment using files or zip. + CloudBuildOptions cloud_build_options = 6; +} + +// Single source file that is part of the version to be deployed. Each source +// file that is deployed must be specified separately. +message FileInfo { + // URL source to use to fetch this file. Must be a URL to a resource in + // Google Cloud Storage in the form + // 'http(s)://storage.googleapis.com/\/\'. + string source_url = 1; + + // The SHA1 hash of the file, in hex. + string sha1_sum = 2; + + // The MIME type of the file. + // + // Defaults to the value from Google Cloud Storage. + string mime_type = 3; +} + +// Docker image that is used to create a container and start a VM instance for +// the version that you deploy. Only applicable for instances running in the App +// Engine flexible environment. +message ContainerInfo { + // URI to the hosted container image in Google Container Registry. The URI + // must be fully qualified and include a tag or digest. + // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest" + string image = 1; +} + +// Google Cloud Build information. +message BuildInfo { + // The Google Cloud Build id. + // Example: "f966068f-08b2-42c8-bdfe-74137dff2bf9" + string cloud_build_id = 1; +} + +// Options for the build operations performed as a part of the version +// deployment. Only applicable for App Engine flexible environment when creating +// a version using source code directly. +message CloudBuildOptions { + // Path to the yaml file used in deployment, used to determine runtime + // configuration details. + // + // Required for flexible environment builds. + // + // See https://cloud.google.com/appengine/docs/standard/python/config/appref + // for more details. + string app_yaml_path = 1; + + // The Cloud Build timeout used as part of any dependent builds performed by + // version creation. Defaults to 10 minutes. + google.protobuf.Duration cloud_build_timeout = 2; +} + +// The zip file information for a zip deployment. +message ZipInfo { + // URL of the zip file to deploy from. Must be a URL to a resource in + // Google Cloud Storage in the form + // 'http(s)://storage.googleapis.com/\/\'. + string source_url = 3; + + // An estimate of the number of files in a zip for a zip deployment. + // If set, must be greater than or equal to the actual number of files. + // Used for optimizing performance; if not provided, deployment may be slow. + int32 files_count = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/domain.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/domain.proto new file mode 100644 index 00000000..87cea788 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/domain.proto @@ -0,0 +1,40 @@ +// Copyright 2024 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.appengine.v1beta; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DomainProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A domain that a user has been authorized to administer. To authorize use +// of a domain, verify ownership via +// [Search Console](https://search.google.com/search-console/welcome). +message AuthorizedDomain { + // Full path to the `AuthorizedDomain` resource in the API. Example: + // `apps/myapp/authorizedDomains/example.com`. + // + // @OutputOnly + string name = 1; + + // Fully qualified domain name of the domain authorized for use. Example: + // `example.com`. + string id = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/domain_mapping.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/domain_mapping.proto new file mode 100644 index 00000000..0b69e436 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/domain_mapping.proto @@ -0,0 +1,118 @@ +// Copyright 2024 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "DomainMappingProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A domain serving an App Engine application. +message DomainMapping { + // Full path to the `DomainMapping` resource in the API. Example: + // `apps/myapp/domainMapping/example.com`. + // + // @OutputOnly + string name = 1; + + // Relative name of the domain serving the application. Example: + // `example.com`. + string id = 2; + + // SSL configuration for this domain. If unconfigured, this domain will not + // serve with SSL. + SslSettings ssl_settings = 3; + + // The resource records required to configure this domain mapping. These + // records must be added to the domain's DNS configuration in order to + // serve the application via this domain mapping. + // + // @OutputOnly + repeated ResourceRecord resource_records = 4; +} + +// SSL configuration for a `DomainMapping` resource. +message SslSettings { + // The SSL management type for this domain. + enum SslManagementType { + // SSL support for this domain is configured automatically. The mapped SSL + // certificate will be automatically renewed. + AUTOMATIC = 0; + + // SSL support for this domain is configured manually by the user. Either + // the domain has no SSL support or a user-obtained SSL certificate has been + // explictly mapped to this domain. + MANUAL = 1; + } + + // ID of the `AuthorizedCertificate` resource configuring SSL for the + // application. Clearing this field will remove SSL support. + // + // By default, a managed certificate is automatically created for every + // domain mapping. To omit SSL support or to configure SSL manually, specify + // `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must + // be authorized to administer the `AuthorizedCertificate` resource to + // manually map it to a `DomainMapping` resource. + // Example: `12345`. + string certificate_id = 1; + + // SSL management type for this domain. If `AUTOMATIC`, a managed certificate + // is automatically provisioned. If `MANUAL`, `certificate_id` must be + // manually specified in order to configure SSL for this domain. + SslManagementType ssl_management_type = 3; + + // ID of the managed `AuthorizedCertificate` resource currently being + // provisioned, if applicable. Until the new managed certificate has been + // successfully provisioned, the previous SSL state will be preserved. Once + // the provisioning process completes, the `certificate_id` field will reflect + // the new managed certificate and this field will be left empty. To remove + // SSL support while there is still a pending managed certificate, clear the + // `certificate_id` field with an `UpdateDomainMappingRequest`. + // + // @OutputOnly + string pending_managed_certificate_id = 4; +} + +// A DNS resource record. +message ResourceRecord { + // A resource record type. + enum RecordType { + // An A resource record. Data is an IPv4 address. + A = 0; + + // An AAAA resource record. Data is an IPv6 address. + AAAA = 1; + + // A CNAME resource record. Data is a domain name to be aliased. + CNAME = 2; + } + + // Relative name of the object affected by this record. Only applicable for + // `CNAME` records. Example: 'www'. + string name = 1; + + // Data for this record. Values vary by record type, as defined in RFC 1035 + // (section 5) and RFC 1034 (section 3.6.1). + string rrdata = 2; + + // Resource record type. Example: `AAAA`. + RecordType type = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/firewall.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/firewall.proto new file mode 100644 index 00000000..da5b87be --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/firewall.proto @@ -0,0 +1,69 @@ +// Copyright 2024 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "FirewallProto"; +option java_package = "com.google.appengine.v1beta.firewall"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A single firewall rule that is evaluated against incoming traffic +// and provides an action to take on matched requests. +message FirewallRule { + // Available actions to take on matching requests. + enum Action { + UNSPECIFIED_ACTION = 0; + + // Matching requests are allowed. + ALLOW = 1; + + // Matching requests are denied. + DENY = 2; + } + + // A positive integer between [1, Int32.MaxValue-1] that defines the order of + // rule evaluation. Rules with the lowest priority are evaluated first. + // + // A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic + // when no previous rule matches. Only the action of this rule can be modified + // by the user. + int32 priority = 1; + + // The action to take on matched requests. + Action action = 2; + + // IP address or range, defined using CIDR notation, of requests that this + // rule applies to. You can use the wildcard character "*" to match all IPs + // equivalent to "0/0" and "::/0" together. + // Examples: `192.168.1.1` or `192.168.0.0/16` or `2001:db8::/32` + // or `2001:0db8:0000:0042:0000:8a2e:0370:7334`. + // + // + //

Truncation will be silently performed on addresses which are not + // properly truncated. For example, `1.2.3.4/24` is accepted as the same + // address as `1.2.3.0/24`. Similarly, for IPv6, `2001:db8::1/32` is accepted + // as the same address as `2001:db8::/32`. + string source_range = 3; + + // An optional string description of this rule. + // This field has a maximum length of 100 characters. + string description = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/instance.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/instance.proto new file mode 100644 index 00000000..740ed34e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/instance.proto @@ -0,0 +1,143 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "InstanceProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// An Instance resource is the computing unit that App Engine uses to +// automatically scale an application. +message Instance { + option (google.api.resource) = { + type: "appengine.googleapis.com/Instance" + pattern: "apps/{app}/services/{service}/versions/{version}/instances/{instance}" + }; + + // Wrapper for LivenessState enum. + message Liveness { + // Liveness health check status for Flex instances. + enum LivenessState { + // There is no liveness health check for the instance. Only applicable for + // instances in App Engine standard environment. + LIVENESS_STATE_UNSPECIFIED = 0; + + // The health checking system is aware of the instance but its health is + // not known at the moment. + UNKNOWN = 1; + + // The instance is reachable i.e. a connection to the application health + // checking endpoint can be established, and conforms to the requirements + // defined by the health check. + HEALTHY = 2; + + // The instance is reachable, but does not conform to the requirements + // defined by the health check. + UNHEALTHY = 3; + + // The instance is being drained. The existing connections to the instance + // have time to complete, but the new ones are being refused. + DRAINING = 4; + + // The instance is unreachable i.e. a connection to the application health + // checking endpoint cannot be established, or the server does not respond + // within the specified timeout. + TIMEOUT = 5; + } + + + } + + // Availability of the instance. + enum Availability { + UNSPECIFIED = 0; + + RESIDENT = 1; + + DYNAMIC = 2; + } + + // Output only. Full path to the Instance resource in the API. + // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Relative name of the instance within the version. + // Example: `instance-1`. + string id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. App Engine release this instance is running on. + string app_engine_release = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Availability of the instance. + Availability availability = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the virtual machine where this instance lives. Only applicable + // for instances in App Engine flexible environment. + string vm_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Zone where the virtual machine is located. Only applicable for instances + // in App Engine flexible environment. + string vm_zone_name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Virtual machine ID of this instance. Only applicable for instances in + // App Engine flexible environment. + string vm_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time that this instance was started. + // + // @OutputOnly + google.protobuf.Timestamp start_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of requests since this instance was started. + int32 requests = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Number of errors since this instance was started. + int32 errors = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average queries per second (QPS) over the last minute. + float qps = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Average latency (ms) over the last minute. + int32 average_latency = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Total memory in use (bytes). + int64 memory_usage = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Status of the virtual machine where this instance lives. Only applicable + // for instances in App Engine flexible environment. + string vm_status = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether this instance is in debug mode. Only applicable for instances in + // App Engine flexible environment. + bool vm_debug_enabled = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The IP address of this instance. Only applicable for instances in App + // Engine flexible environment. + string vm_ip = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The liveness health check of this instance. Only applicable for instances + // in App Engine flexible environment. + Liveness.LivenessState vm_liveness = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/location.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/location.proto new file mode 100644 index 00000000..48afcbe6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/location.proto @@ -0,0 +1,44 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "LocationProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location]. +message LocationMetadata { + // App Engine standard environment is available in the given location. + // + // @OutputOnly + bool standard_environment_available = 2; + + // App Engine flexible environment is available in the given location. + // + // @OutputOnly + bool flexible_environment_available = 4; + + // Output only. [Search API](https://cloud.google.com/appengine/docs/standard/python/search) + // is available in the given location. + bool search_api_available = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/network_settings.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/network_settings.proto new file mode 100644 index 00000000..d5c99cd8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/network_settings.proto @@ -0,0 +1,48 @@ +// Copyright 2024 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.appengine.v1beta; + + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "NetworkSettingsProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A NetworkSettings resource is a container for ingress settings for a version +// or service. +message NetworkSettings { + // If unspecified, INGRESS_TRAFFIC_ALLOWED_ALL will be used. + enum IngressTrafficAllowed { + // Unspecified + INGRESS_TRAFFIC_ALLOWED_UNSPECIFIED = 0; + + // Allow HTTP traffic from public and private sources. + INGRESS_TRAFFIC_ALLOWED_ALL = 1; + + // Allow HTTP traffic from only private VPC sources. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_ONLY = 2; + + // Allow HTTP traffic from private VPC sources and through load balancers. + INGRESS_TRAFFIC_ALLOWED_INTERNAL_AND_LB = 3; + } + + // The ingress settings for version or service. + IngressTrafficAllowed ingress_traffic_allowed = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/operation.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/operation.proto new file mode 100644 index 00000000..14df057f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/operation.proto @@ -0,0 +1,79 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "OperationProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation]. +message OperationMetadataV1Beta { + // API method that initiated this operation. Example: + // `google.appengine.v1beta.Versions.CreateVersion`. + // + // @OutputOnly + string method = 1; + + // Time that this operation was created. + // + // @OutputOnly + google.protobuf.Timestamp insert_time = 2; + + // Time that this operation completed. + // + // @OutputOnly + google.protobuf.Timestamp end_time = 3; + + // User who requested this operation. + // + // @OutputOnly + string user = 4; + + // Name of the resource that this operation is acting on. Example: + // `apps/myapp/services/default`. + // + // @OutputOnly + string target = 5; + + // Ephemeral message that may change every time the operation is polled. + // @OutputOnly + string ephemeral_message = 6; + + // Durable messages that persist on every operation poll. + // @OutputOnly + repeated string warning = 7; + + // Metadata specific to the type of operation in progress. + // @OutputOnly + oneof method_metadata { + CreateVersionMetadataV1Beta create_version_metadata = 8; + } +} + +// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation] during a +// [google.appengine.v1beta.CreateVersionRequest][google.appengine.v1beta.CreateVersionRequest]. +message CreateVersionMetadataV1Beta { + // The Cloud Build ID if one was created as part of the version create. + // @OutputOnly + string cloud_build_id = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/service.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/service.proto new file mode 100644 index 00000000..982a9b67 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/service.proto @@ -0,0 +1,93 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/appengine/v1beta/network_settings.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A Service resource is a logical component of an application that can share +// state and communicate in a secure fashion with other services. +// For example, an application that handles customer requests might +// include separate services to handle tasks such as backend data +// analysis or API requests from mobile devices. Each service has a +// collection of versions that define a specific set of code used to +// implement the functionality of that service. +message Service { + // Full path to the Service resource in the API. + // Example: `apps/myapp/services/default`. + // + // @OutputOnly + string name = 1; + + // Relative name of the service within the application. + // Example: `default`. + // + // @OutputOnly + string id = 2; + + // Mapping that defines fractional HTTP traffic diversion to + // different versions within the service. + TrafficSplit split = 3; + + // Ingress settings for this service. Will apply to all versions. + NetworkSettings network_settings = 6; +} + +// Traffic routing configuration for versions within a single service. Traffic +// splits define how traffic directed to the service is assigned to versions. +message TrafficSplit { + // Available sharding mechanisms. + enum ShardBy { + // Diversion method unspecified. + UNSPECIFIED = 0; + + // Diversion based on a specially named cookie, "GOOGAPPUID." The cookie + // must be set by the application itself or no diversion will occur. + COOKIE = 1; + + // Diversion based on applying the modulus operation to a fingerprint + // of the IP address. + IP = 2; + + // Diversion based on weighted random assignment. An incoming request is + // randomly routed to a version in the traffic split, with probability + // proportional to the version's traffic share. + RANDOM = 3; + } + + // Mechanism used to determine which version a request is sent to. + // The traffic selection algorithm will + // be stable for either type until allocations are changed. + ShardBy shard_by = 1; + + // Mapping from version IDs within the service to fractional + // (0.000, 1] allocations of traffic for that version. Each version can + // be specified only once, but some versions in the service may not + // have any traffic allocation. Services that have traffic allocated + // cannot be deleted until either the service is deleted or + // their traffic allocation is removed. Allocations must sum to 1. + // Up to two decimal place precision is supported for IP-based splits and + // up to three decimal places is supported for cookie-based splits. + map allocations = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/version.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/version.proto new file mode 100644 index 00000000..90a69f17 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/appengine/v1beta/version.proto @@ -0,0 +1,607 @@ +// Copyright 2024 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.appengine.v1beta; + +import "google/appengine/v1beta/app_yaml.proto"; +import "google/appengine/v1beta/deploy.proto"; +import "google/appengine/v1beta/network_settings.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AppEngine.V1Beta"; +option go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine"; +option java_multiple_files = true; +option java_outer_classname = "VersionProto"; +option java_package = "com.google.appengine.v1beta"; +option php_namespace = "Google\\Cloud\\AppEngine\\V1beta"; +option ruby_package = "Google::Cloud::AppEngine::V1beta"; + +// A Version resource is a specific set of source code and configuration files +// that are deployed into a service. +message Version { + // Full path to the Version resource in the API. Example: + // `apps/myapp/services/default/versions/v1`. + // + // @OutputOnly + string name = 1; + + // Relative name of the version within the service. Example: `v1`. + // Version names can contain only lowercase letters, numbers, or hyphens. + // Reserved names: "default", "latest", and any name with the prefix "ah-". + string id = 2; + + // Controls how instances are created, scaled, and reaped. + // + // Defaults to `AutomaticScaling`. + oneof scaling { + // Automatic scaling is based on request rate, response latencies, and other + // application metrics. Instances are dynamically created and destroyed as + // needed in order to handle traffic. + AutomaticScaling automatic_scaling = 3; + + // A service with basic scaling will create an instance when the application + // receives a request. The instance will be turned down when the app becomes + // idle. Basic scaling is ideal for work that is intermittent or driven by + // user activity. + BasicScaling basic_scaling = 4; + + // A service with manual scaling runs continuously, allowing you to perform + // complex initialization and rely on the state of its memory over time. + // Manually scaled versions are sometimes referred to as "backends". + ManualScaling manual_scaling = 5; + } + + // Before an application can receive email or XMPP messages, the application + // must be configured to enable the service. + repeated InboundServiceType inbound_services = 6; + + // Instance class that is used to run this version. Valid values are: + // + // * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G` + // * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G` + // + // Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or + // BasicScaling. + string instance_class = 7; + + // Extra network settings. + // Only applicable in the App Engine flexible environment. + Network network = 8; + + // The Google Compute Engine zones that are supported by this version in the + // App Engine flexible environment. Deprecated. + repeated string zones = 118; + + // Machine resources for this version. + // Only applicable in the App Engine flexible environment. + Resources resources = 9; + + // Desired runtime. Example: `python27`. + string runtime = 10; + + // The channel of the runtime to use. Only available for some + // runtimes. Defaults to the `default` channel. + string runtime_channel = 117; + + // Whether multiple requests can be dispatched to this version at once. + bool threadsafe = 11; + + // Whether to deploy this version in a container on a virtual machine. + bool vm = 12; + + // app_engine_apis allows second generation runtimes to access the + // App Engine APIs. + bool app_engine_apis = 128; + + // Metadata settings that are supplied to this version to enable + // beta runtime features. + map beta_settings = 13; + + // App Engine execution environment for this version. + // + // Defaults to `standard`. + string env = 14; + + // Current serving status of this version. Only the versions with a + // `SERVING` status create instances and can be billed. + // + // `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`. + ServingStatus serving_status = 15; + + // Email address of the user who created this version. + // + // @OutputOnly + string created_by = 16; + + // Time that this version was created. + // + // @OutputOnly + google.protobuf.Timestamp create_time = 17; + + // Total size in bytes of all the files that are included in this version + // and currently hosted on the App Engine disk. + // + // @OutputOnly + int64 disk_usage_bytes = 18; + + // The version of the API in the given runtime environment. Please see the + // app.yaml reference for valid values at + // https://cloud.google.com/appengine/docs/standard//config/appref + string runtime_api_version = 21; + + // The path or name of the app's main executable. + string runtime_main_executable_path = 22; + + // The identity that the deployed version will run as. + // Admin API will use the App Engine Appspot service account as default if + // this field is neither provided in app.yaml file nor through CLI flag. + string service_account = 127; + + // An ordered list of URL-matching patterns that should be applied to incoming + // requests. The first matching URL handles the request and other request + // handlers are not attempted. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated UrlMap handlers = 100; + + // Custom static error pages. Limited to 10KB per page. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated ErrorHandler error_handlers = 101; + + // Configuration for third-party Python runtime libraries that are required + // by the application. + // + // Only returned in `GET` requests if `view=FULL` is set. + repeated Library libraries = 102; + + // Serving configuration for + // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/). + // + // Only returned in `GET` requests if `view=FULL` is set. + ApiConfigHandler api_config = 103; + + // Environment variables available to the application. + // + // Only returned in `GET` requests if `view=FULL` is set. + map env_variables = 104; + + // Environment variables available to the build environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + map build_env_variables = 125; + + // Duration that static files should be cached by web proxies and browsers. + // Only applicable if the corresponding + // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta/apps.services.versions#StaticFilesHandler) + // does not specify its own expiration time. + // + // Only returned in `GET` requests if `view=FULL` is set. + google.protobuf.Duration default_expiration = 105; + + // Configures health checking for instances. Unhealthy instances are + // stopped and replaced with new instances. + // Only applicable in the App Engine flexible environment. + // + // Only returned in `GET` requests if `view=FULL` is set. + HealthCheck health_check = 106; + + // Configures readiness health checking for instances. + // Unhealthy instances are not put into the backend traffic rotation. + // + // Only returned in `GET` requests if `view=FULL` is set. + ReadinessCheck readiness_check = 112; + + // Configures liveness health checking for instances. + // Unhealthy instances are stopped and replaced with new instances + // + // Only returned in `GET` requests if `view=FULL` is set. + LivenessCheck liveness_check = 113; + + // Files that match this pattern will not be built into this version. + // Only applicable for Go runtimes. + // + // Only returned in `GET` requests if `view=FULL` is set. + string nobuild_files_regex = 107; + + // Code and application artifacts that make up this version. + // + // Only returned in `GET` requests if `view=FULL` is set. + Deployment deployment = 108; + + // Serving URL for this version. Example: + // "https://myversion-dot-myservice-dot-myapp.appspot.com" + // + // @OutputOnly + string version_url = 109; + + // Cloud Endpoints configuration. + // + // If endpoints_api_service is set, the Cloud Endpoints Extensible Service + // Proxy will be provided to serve the API implemented by the app. + EndpointsApiService endpoints_api_service = 110; + + // The entrypoint for the application. + Entrypoint entrypoint = 122; + + // Enables VPC connectivity for standard apps. + VpcAccessConnector vpc_access_connector = 121; +} + +// [Cloud Endpoints](https://cloud.google.com/endpoints) configuration. +// The Endpoints API Service provides tooling for serving Open API and gRPC +// endpoints via an NGINX proxy. Only valid for App Engine Flexible environment +// deployments. +// +// The fields here refer to the name and configuration ID of a "service" +// resource in the [Service Management API](https://cloud.google.com/service-management/overview). +message EndpointsApiService { + // Available rollout strategies. + enum RolloutStrategy { + // Not specified. Defaults to `FIXED`. + UNSPECIFIED_ROLLOUT_STRATEGY = 0; + + // Endpoints service configuration ID will be fixed to the configuration ID + // specified by `config_id`. + FIXED = 1; + + // Endpoints service configuration ID will be updated with each rollout. + MANAGED = 2; + } + + // Endpoints service name which is the name of the "service" resource in the + // Service Management API. For example "myapi.endpoints.myproject.cloud.goog" + string name = 1; + + // Endpoints service configuration ID as specified by the Service Management + // API. For example "2016-09-19r1". + // + // By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`. + // This means that Endpoints starts up with a particular configuration ID. + // When a new configuration is rolled out, Endpoints must be given the new + // configuration ID. The `config_id` field is used to give the configuration + // ID and is required in this case. + // + // Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`. + // When using this, Endpoints fetches the latest configuration and does not + // need the configuration ID. In this case, `config_id` must be omitted. + string config_id = 2; + + // Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If + // `MANAGED`, `config_id` must be omitted. + RolloutStrategy rollout_strategy = 3; + + // Enable or disable trace sampling. By default, this is set to false for + // enabled. + bool disable_trace_sampling = 4; +} + +// Automatic scaling is based on request rate, response latencies, and other +// application metrics. +message AutomaticScaling { + // The time period that the + // [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) + // should wait before it starts collecting information from a new instance. + // This prevents the autoscaler from collecting information when the instance + // is initializing, during which the collected usage would not be reliable. + // Only applicable in the App Engine flexible environment. + google.protobuf.Duration cool_down_period = 1; + + // Target scaling by CPU usage. + CpuUtilization cpu_utilization = 2; + + // Number of concurrent requests an automatic scaling instance can accept + // before the scheduler spawns a new instance. + // + // Defaults to a runtime-specific value. + int32 max_concurrent_requests = 3; + + // Maximum number of idle instances that should be maintained for this + // version. + int32 max_idle_instances = 4; + + // Maximum number of instances that should be started to handle requests for + // this version. + int32 max_total_instances = 5; + + // Maximum amount of time that a request should wait in the pending queue + // before starting a new instance to handle it. + google.protobuf.Duration max_pending_latency = 6; + + // Minimum number of idle instances that should be maintained for + // this version. Only applicable for the default version of a service. + int32 min_idle_instances = 7; + + // Minimum number of running instances that should be maintained for this + // version. + int32 min_total_instances = 8; + + // Minimum amount of time a request should wait in the pending queue before + // starting a new instance to handle it. + google.protobuf.Duration min_pending_latency = 9; + + // Target scaling by request utilization. + RequestUtilization request_utilization = 10; + + // Target scaling by disk usage. + DiskUtilization disk_utilization = 11; + + // Target scaling by network usage. + NetworkUtilization network_utilization = 12; + + // Target scaling by user-provided metrics. + // Only applicable in the App Engine flexible environment. + repeated CustomMetric custom_metrics = 21; + + // Scheduler settings for standard environment. + StandardSchedulerSettings standard_scheduler_settings = 20; +} + +// A service with basic scaling will create an instance when the application +// receives a request. The instance will be turned down when the app becomes +// idle. Basic scaling is ideal for work that is intermittent or driven by +// user activity. +message BasicScaling { + // Duration of time after the last request that an instance must wait before + // the instance is shut down. + google.protobuf.Duration idle_timeout = 1; + + // Maximum number of instances to create for this version. + int32 max_instances = 2; +} + +// A service with manual scaling runs continuously, allowing you to perform +// complex initialization and rely on the state of its memory over time. +message ManualScaling { + // Number of instances to assign to the service at the start. This number + // can later be altered by using the + // [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) + // `set_num_instances()` function. + int32 instances = 1; +} + +// Target scaling by CPU usage. +message CpuUtilization { + // Period of time over which CPU utilization is calculated. + google.protobuf.Duration aggregation_window_length = 1; + + // Target CPU utilization ratio to maintain when scaling. Must be between 0 + // and 1. + double target_utilization = 2; +} + +// Target scaling by request utilization. +// Only applicable in the App Engine flexible environment. +message RequestUtilization { + // Target requests per second. + int32 target_request_count_per_second = 1; + + // Target number of concurrent requests. + int32 target_concurrent_requests = 2; +} + +// Target scaling by disk usage. +// Only applicable in the App Engine flexible environment. +message DiskUtilization { + // Target bytes written per second. + int32 target_write_bytes_per_second = 14; + + // Target ops written per second. + int32 target_write_ops_per_second = 15; + + // Target bytes read per second. + int32 target_read_bytes_per_second = 16; + + // Target ops read per seconds. + int32 target_read_ops_per_second = 17; +} + +// Target scaling by network usage. +// Only applicable in the App Engine flexible environment. +message NetworkUtilization { + // Target bytes sent per second. + int32 target_sent_bytes_per_second = 1; + + // Target packets sent per second. + int32 target_sent_packets_per_second = 11; + + // Target bytes received per second. + int32 target_received_bytes_per_second = 12; + + // Target packets received per second. + int32 target_received_packets_per_second = 13; +} + +// Allows autoscaling based on Stackdriver metrics. +message CustomMetric { + // The name of the metric. + string metric_name = 1; + + // The type of the metric. Must be a string representing a Stackdriver + // metric type e.g. GAGUE, DELTA_PER_SECOND, etc. + string target_type = 2; + + // The target spec. + oneof target_spec { + // The target value for the metric. + double target_utilization = 3; + + // May be used instead of `target_utilization` when an instance can handle a + // specific amount of work/resources and the metric value is equal to the + // current amount of work remaining. The autoscaler will try to keep the + // number of instances equal to the metric value divided by + // `single_instance_assignment`. + double single_instance_assignment = 4; + } + + // Allows filtering on the metric's fields. + string filter = 5; +} + +// Scheduler settings for standard environment. +message StandardSchedulerSettings { + // Target CPU utilization ratio to maintain when scaling. + double target_cpu_utilization = 1; + + // Target throughput utilization ratio to maintain when scaling + double target_throughput_utilization = 2; + + // Minimum number of instances to run for this version. Set to zero to disable + // `min_instances` configuration. + int32 min_instances = 3; + + // Maximum number of instances to run for this version. Set to zero to disable + // `max_instances` configuration. + int32 max_instances = 4; +} + +// Extra network settings. +// Only applicable in the App Engine flexible environment. +message Network { + // List of ports, or port pairs, to forward from the virtual machine to the + // application container. + // Only applicable in the App Engine flexible environment. + repeated string forwarded_ports = 1; + + // Tag to apply to the instance during creation. + // Only applicable in the App Engine flexible environment. + string instance_tag = 2; + + // Google Compute Engine network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // Defaults to `default`. + string name = 3; + + // Google Cloud Platform sub-network where the virtual machines are created. + // Specify the short name, not the resource path. + // + // If a subnetwork name is specified, a network name will also be required + // unless it is for the default network. + // + // * If the network that the instance is being created in is a Legacy network, + // then the IP address is allocated from the IPv4Range. + // * If the network that the instance is being created in is an auto Subnet + // Mode Network, then only network name should be specified (not the + // subnetwork_name) and the IP address is created from the IPCidrRange of the + // subnetwork that exists in that zone for that network. + // * If the network that the instance is being created in is a custom Subnet + // Mode Network, then the subnetwork_name must be specified and the + // IP address is created from the IPCidrRange of the subnetwork. + // + // If specified, the subnetwork must exist in the same region as the + // App Engine flexible environment application. + string subnetwork_name = 4; + + // Enable session affinity. + // Only applicable in the App Engine flexible environment. + bool session_affinity = 5; +} + +// Volumes mounted within the app container. +// Only applicable in the App Engine flexible environment. +message Volume { + // Unique name for the volume. + string name = 1; + + // Underlying volume type, e.g. 'tmpfs'. + string volume_type = 2; + + // Volume size in gigabytes. + double size_gb = 3; +} + +// Machine resources for a version. +message Resources { + // Number of CPU cores needed. + double cpu = 1; + + // Disk size (GB) needed. + double disk_gb = 2; + + // Memory (GB) needed. + double memory_gb = 3; + + // User specified volumes. + repeated Volume volumes = 4; + + // The name of the encryption key that is stored in Google Cloud KMS. + // Only should be used by Cloud Composer to encrypt the vm disk + string kms_key_reference = 5; +} + +// VPC access connector specification. +message VpcAccessConnector { + // Full Serverless VPC Access Connector name e.g. + // /projects/my-project/locations/us-central1/connectors/c1. + string name = 1; +} + +// The entrypoint for the application. +message Entrypoint { + // The command to run. + oneof command { + // The format should be a shell command that can be fed to `bash -c`. + string shell = 1; + } +} + +// Available inbound services. +enum InboundServiceType { + // Not specified. + INBOUND_SERVICE_UNSPECIFIED = 0; + + // Allows an application to receive mail. + INBOUND_SERVICE_MAIL = 1; + + // Allows an application to receive email-bound notifications. + INBOUND_SERVICE_MAIL_BOUNCE = 2; + + // Allows an application to receive error stanzas. + INBOUND_SERVICE_XMPP_ERROR = 3; + + // Allows an application to receive instant messages. + INBOUND_SERVICE_XMPP_MESSAGE = 4; + + // Allows an application to receive user subscription POSTs. + INBOUND_SERVICE_XMPP_SUBSCRIBE = 5; + + // Allows an application to receive a user's chat presence. + INBOUND_SERVICE_XMPP_PRESENCE = 6; + + // Registers an application for notifications when a client connects or + // disconnects from a channel. + INBOUND_SERVICE_CHANNEL_PRESENCE = 7; + + // Enables warmup requests. + INBOUND_SERVICE_WARMUP = 9; +} + +// Run states of a version. +enum ServingStatus { + // Not specified. + SERVING_STATUS_UNSPECIFIED = 0; + + // Currently serving. Instances are created according to the + // scaling settings of the version. + SERVING = 1; + + // Disabled. No instances will be created and the scaling + // settings are ignored until the state of the version changes + // to `SERVING`. + STOPPED = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/BUILD.bazel new file mode 100644 index 00000000..a87c57fe --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/BUILD.bazel @@ -0,0 +1 @@ +exports_files(glob(["*.yaml"])) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/README.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/README.md @@ -0,0 +1 @@ + diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/BUILD.bazel new file mode 100644 index 00000000..c1323cab --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-datastore-admin. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for datastore admin. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "admin_ruby_wrapper", + srcs = ["//google/datastore/admin/v1:admin_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-datastore-admin", + "ruby-cloud-env-prefix=DATASTORE", + "ruby-cloud-wrapper-of=v1:0.11", + "ruby-cloud-product-url=https://cloud.google.com/datastore", + "ruby-cloud-api-id=datastore.googleapis.com", + "ruby-cloud-api-shortname=datastore", + ], + ruby_cloud_description = "Firestore in Datastore mode is a NoSQL document database built for automatic scaling, high performance, and ease of application development.", + ruby_cloud_title = "Firestore in Datastore mode Admin", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-cloud-datastore-admin-ruby", + deps = [ + ":admin_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/BUILD.bazel new file mode 100644 index 00000000..e8ba27ed --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/BUILD.bazel @@ -0,0 +1,332 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "admin_proto", + srcs = [ + "datastore_admin.proto", + "index.proto", + "migration.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "admin_proto_with_info", + deps = [ + ":admin_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "admin_java_proto", + deps = [":admin_proto"], +) + +java_grpc_library( + name = "admin_java_grpc", + srcs = [":admin_proto"], + deps = [":admin_java_proto"], +) + +java_gapic_library( + name = "admin_java_gapic", + srcs = [":admin_proto_with_info"], + gapic_yaml = "datastore_admin_gapic.yaml", + grpc_service_config = "datastore_admin_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + test_deps = [ + ":admin_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":admin_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "admin_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.datastore.admin.v1.DatastoreAdminClientHttpJsonTest", + "com.google.cloud.datastore.admin.v1.DatastoreAdminClientTest", + ], + runtime_deps = [":admin_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-datastore-admin-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":admin_java_gapic", + ":admin_java_grpc", + ":admin_java_proto", + ":admin_proto", + ], +) + +go_proto_library( + name = "admin_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/datastore/admin/apiv1/adminpb", + protos = [":admin_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "admin_go_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "datastore_admin_grpc_service_config.json", + importpath = "cloud.google.com/go/datastore/admin/apiv1;admin", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ":admin_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-datastore-admin-v1-go", + deps = [ + ":admin_go_gapic", + ":admin_go_gapic_srcjar-metadata.srcjar", + ":admin_go_gapic_srcjar-snippets.srcjar", + ":admin_go_gapic_srcjar-test.srcjar", + ":admin_go_proto", + ], +) + +py_gapic_library( + name = "admin_py_gapic", + srcs = [":admin_proto"], + grpc_service_config = "datastore_admin_grpc_service_config.json", + opt_args = [ + "python-gapic-name=datastore_admin", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-datastore", + ], + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", +) + +py_test( + name = "admin_py_gapic_test", + srcs = [ + "admin_py_gapic_pytest.py", + "admin_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":admin_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "datastore-admin-v1-py", + deps = [ + ":admin_py_gapic", + ], +) + +php_proto_library( + name = "admin_php_proto", + deps = [":admin_proto"], +) + +php_gapic_library( + name = "admin_php_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "datastore_admin_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [":admin_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-datastore-admin-v1-php", + deps = [ + ":admin_php_gapic", + ":admin_php_proto", + ], +) + +nodejs_gapic_library( + name = "admin_nodejs_gapic", + package_name = "@google-cloud/datastore-admin", + src = ":admin_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "datastore_admin_grpc_service_config.json", + package = "google.datastore.admin.v1", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "datastore-admin-v1-nodejs", + deps = [ + ":admin_nodejs_gapic", + ":admin_proto", + ], +) + +ruby_proto_library( + name = "admin_ruby_proto", + deps = [":admin_proto"], +) + +ruby_grpc_library( + name = "admin_ruby_grpc", + srcs = [":admin_proto"], + deps = [":admin_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "admin_ruby_gapic", + srcs = [":admin_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-cloud-datastore-admin-v1", + "ruby-cloud-env-prefix=DATASTORE", + "ruby-cloud-product-url=https://cloud.google.com/datastore", + "ruby-cloud-api-id=datastore.googleapis.com", + "ruby-cloud-api-shortname=datastore", + ], + grpc_service_config = "datastore_admin_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Firestore in Datastore mode is a NoSQL document database built for automatic scaling, high performance, and ease of application development.", + ruby_cloud_title = "Firestore in Datastore mode Admin V1", + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-datastore-admin-v1-ruby", + deps = [ + ":admin_ruby_gapic", + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +csharp_proto_library( + name = "admin_csharp_proto", + deps = [":admin_proto"], +) + +csharp_grpc_library( + name = "admin_csharp_grpc", + srcs = [":admin_proto"], + deps = [":admin_csharp_proto"], +) + +csharp_gapic_library( + name = "admin_csharp_gapic", + srcs = [":admin_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "datastore_admin_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-datastore-admin-v1-csharp", + deps = [ + ":admin_csharp_gapic", + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +cc_proto_library( + name = "admin_cc_proto", + deps = [":admin_proto"], +) + +cc_grpc_library( + name = "admin_cc_grpc", + srcs = [":admin_proto"], + grpc_only = True, + deps = [":admin_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin.proto new file mode 100644 index 00000000..a8b3f998 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin.proto @@ -0,0 +1,506 @@ +// Copyright 2024 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.datastore.admin.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/datastore/admin/v1/index.proto"; +import "google/datastore/admin/v1/migration.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.Admin.V1"; +option go_package = "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "DatastoreAdminProto"; +option java_package = "com.google.datastore.admin.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1"; +option ruby_package = "Google::Cloud::Datastore::Admin::V1"; + +// Google Cloud Datastore Admin API +// +// The Datastore Admin API provides several admin services for Cloud Datastore. +// +// Concepts: Project, namespace, kind, and entity as defined in the Google Cloud +// Datastore API. +// +// Operation: An Operation represents work being performed in the background. +// +// EntityFilter: Allows specifying a subset of entities in a project. This is +// specified as a combination of kinds and namespaces (either or both of which +// may be all). +// +// Export/Import Service: +// +// - The Export/Import service provides the ability to copy all or a subset of +// entities to/from Google Cloud Storage. +// - Exported data may be imported into Cloud Datastore for any Google Cloud +// Platform project. It is not restricted to the export source project. It is +// possible to export from one project and then import into another. +// - Exported data can also be loaded into Google BigQuery for analysis. +// - Exports and imports are performed asynchronously. An Operation resource is +// created for each export/import. The state (including any errors encountered) +// of the export/import may be queried via the Operation resource. +// +// Index Service: +// +// - The index service manages Cloud Datastore composite indexes. +// - Index creation and deletion are performed asynchronously. +// An Operation resource is created for each such asynchronous operation. +// The state of the operation (including any errors encountered) +// may be queried via the Operation resource. +// +// Operation Service: +// +// - The Operations collection provides a record of actions performed for the +// specified project (including any operations in progress). Operations are not +// created directly but through calls on other collections or resources. +// - An operation that is not yet done may be cancelled. The request to cancel +// is asynchronous and the operation may continue to run for some time after the +// request to cancel is made. +// - An operation that is done may be deleted so that it is no longer listed as +// part of the Operation collection. +// - ListOperations returns all pending operations, but not completed +// operations. +// - Operations are created by service DatastoreAdmin, but are accessed via +// service google.longrunning.Operations. +service DatastoreAdmin { + option (google.api.default_host) = "datastore.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/datastore"; + + // Exports a copy of all or a subset of entities from Google Cloud Datastore + // to another storage system, such as Google Cloud Storage. Recent updates to + // entities may not be reflected in the export. The export occurs in the + // background and its progress can be monitored and managed via the + // Operation resource that is created. The output of an export may only be + // used once the associated operation is done. If an export operation is + // cancelled before completion it may leave partial data behind in Google + // Cloud Storage. + rpc ExportEntities(ExportEntitiesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:export" + body: "*" + }; + option (google.api.method_signature) = + "project_id,labels,entity_filter,output_url_prefix"; + option (google.longrunning.operation_info) = { + response_type: "ExportEntitiesResponse" + metadata_type: "ExportEntitiesMetadata" + }; + } + + // Imports entities into Google Cloud Datastore. Existing entities with the + // same key are overwritten. The import occurs in the background and its + // progress can be monitored and managed via the Operation resource that is + // created. If an ImportEntities operation is cancelled, it is possible + // that a subset of the data has already been imported to Cloud Datastore. + rpc ImportEntities(ImportEntitiesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:import" + body: "*" + }; + option (google.api.method_signature) = + "project_id,labels,input_url,entity_filter"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "ImportEntitiesMetadata" + }; + } + + // Creates the specified index. + // A newly created index's initial state is `CREATING`. On completion of the + // returned [google.longrunning.Operation][google.longrunning.Operation], the + // state will be `READY`. If the index already exists, the call will return an + // `ALREADY_EXISTS` status. + // + // During index creation, the process could result in an error, in which + // case the index will move to the `ERROR` state. The process can be recovered + // by fixing the data that caused the error, removing the index with + // [delete][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex], then + // re-creating the index with [create] + // [google.datastore.admin.v1.DatastoreAdmin.CreateIndex]. + // + // Indexes with a single property cannot be created. + rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/projects/{project_id}/indexes" + body: "index" + }; + option (google.longrunning.operation_info) = { + response_type: "Index" + metadata_type: "IndexOperationMetadata" + }; + } + + // Deletes an existing index. + // An index can only be deleted if it is in a `READY` or `ERROR` state. On + // successful execution of the request, the index will be in a `DELETING` + // [state][google.datastore.admin.v1.Index.State]. And on completion of the + // returned [google.longrunning.Operation][google.longrunning.Operation], the + // index will be removed. + // + // During index deletion, the process could result in an error, in which + // case the index will move to the `ERROR` state. The process can be recovered + // by fixing the data that caused the error, followed by calling + // [delete][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex] again. + rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/projects/{project_id}/indexes/{index_id}" + }; + option (google.longrunning.operation_info) = { + response_type: "Index" + metadata_type: "IndexOperationMetadata" + }; + } + + // Gets an index. + rpc GetIndex(GetIndexRequest) returns (Index) { + option (google.api.http) = { + get: "/v1/projects/{project_id}/indexes/{index_id}" + }; + } + + // Lists the indexes that match the specified filters. Datastore uses an + // eventually consistent query to fetch the list of indexes and may + // occasionally return stale results. + rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) { + option (google.api.http) = { + get: "/v1/projects/{project_id}/indexes" + }; + } +} + +// Metadata common to all Datastore Admin operations. +message CommonMetadata { + // The various possible states for an ongoing Operation. + enum State { + // Unspecified. + STATE_UNSPECIFIED = 0; + + // Request is being prepared for processing. + INITIALIZING = 1; + + // Request is actively being processed. + PROCESSING = 2; + + // Request is in the process of being cancelled after user called + // google.longrunning.Operations.CancelOperation on the operation. + CANCELLING = 3; + + // Request has been processed and is in its finalization stage. + FINALIZING = 4; + + // Request has completed successfully. + SUCCESSFUL = 5; + + // Request has finished being processed, but encountered an error. + FAILED = 6; + + // Request has finished being cancelled after user called + // google.longrunning.Operations.CancelOperation. + CANCELLED = 7; + } + + // The time that work began on the operation. + google.protobuf.Timestamp start_time = 1; + + // The time the operation ended, either successfully or otherwise. + google.protobuf.Timestamp end_time = 2; + + // The type of the operation. Can be used as a filter in + // ListOperationsRequest. + OperationType operation_type = 3; + + // The client-assigned labels which were provided when the operation was + // created. May also include additional labels. + map labels = 4; + + // The current state of the Operation. + State state = 5; +} + +// Measures the progress of a particular metric. +message Progress { + // The amount of work that has been completed. Note that this may be greater + // than work_estimated. + int64 work_completed = 1; + + // An estimate of how much work needs to be performed. May be zero if the + // work estimate is unavailable. + int64 work_estimated = 2; +} + +// The request for +// [google.datastore.admin.v1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1.DatastoreAdmin.ExportEntities]. +message ExportEntitiesRequest { + // Required. Project ID against which to make the request. + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Client-assigned labels. + map labels = 2; + + // Description of what data from the project is included in the export. + EntityFilter entity_filter = 3; + + // Required. Location for the export metadata and data files. + // + // The full resource URL of the external storage location. Currently, only + // Google Cloud Storage is supported. So output_url_prefix should be of the + // form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the + // name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + // Storage namespace path (this is not a Cloud Datastore namespace). For more + // information about Cloud Storage namespace paths, see + // [Object name + // considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + // + // The resulting files will be nested deeper than the specified URL prefix. + // The final output URL will be provided in the + // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url] + // field. That value should be used for subsequent ImportEntities operations. + // + // By nesting the data files deeper, the same Cloud Storage bucket can be used + // in multiple ExportEntities operations without conflict. + string output_url_prefix = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// The request for +// [google.datastore.admin.v1.DatastoreAdmin.ImportEntities][google.datastore.admin.v1.DatastoreAdmin.ImportEntities]. +message ImportEntitiesRequest { + // Required. Project ID against which to make the request. + string project_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Client-assigned labels. + map labels = 2; + + // Required. The full resource URL of the external storage location. + // Currently, only Google Cloud Storage is supported. So input_url should be + // of the form: + // `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + // `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is + // an optional Cloud Storage namespace path (this is not a Cloud Datastore + // namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written + // by the ExportEntities operation. For more information about Cloud Storage + // namespace paths, see + // [Object name + // considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + // + // For more information, see + // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url]. + string input_url = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optionally specify which kinds/namespaces are to be imported. If provided, + // the list must be a subset of the EntityFilter used in creating the export, + // otherwise a FAILED_PRECONDITION error will be returned. If no filter is + // specified then all entities from the export are imported. + EntityFilter entity_filter = 4; +} + +// The response for +// [google.datastore.admin.v1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1.DatastoreAdmin.ExportEntities]. +message ExportEntitiesResponse { + // Location of the output metadata file. This can be used to begin an import + // into Cloud Datastore (this project or another project). See + // [google.datastore.admin.v1.ImportEntitiesRequest.input_url][google.datastore.admin.v1.ImportEntitiesRequest.input_url]. + // Only present if the operation completed successfully. + string output_url = 1; +} + +// Metadata for ExportEntities operations. +message ExportEntitiesMetadata { + // Metadata common to all Datastore Admin operations. + CommonMetadata common = 1; + + // An estimate of the number of entities processed. + Progress progress_entities = 2; + + // An estimate of the number of bytes processed. + Progress progress_bytes = 3; + + // Description of which entities are being exported. + EntityFilter entity_filter = 4; + + // Location for the export metadata and data files. This will be the same + // value as the + // [google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix][google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix] + // field. The final output location is provided in + // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url]. + string output_url_prefix = 5; +} + +// Metadata for ImportEntities operations. +message ImportEntitiesMetadata { + // Metadata common to all Datastore Admin operations. + CommonMetadata common = 1; + + // An estimate of the number of entities processed. + Progress progress_entities = 2; + + // An estimate of the number of bytes processed. + Progress progress_bytes = 3; + + // Description of which entities are being imported. + EntityFilter entity_filter = 4; + + // The location of the import metadata file. This will be the same value as + // the + // [google.datastore.admin.v1.ExportEntitiesResponse.output_url][google.datastore.admin.v1.ExportEntitiesResponse.output_url] + // field. + string input_url = 5; +} + +// Identifies a subset of entities in a project. This is specified as +// combinations of kinds and namespaces (either or both of which may be all, as +// described in the following examples). +// Example usage: +// +// Entire project: +// kinds=[], namespace_ids=[] +// +// Kinds Foo and Bar in all namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=[] +// +// Kinds Foo and Bar only in the default namespace: +// kinds=['Foo', 'Bar'], namespace_ids=[''] +// +// Kinds Foo and Bar in both the default and Baz namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +// +// The entire Baz namespace: +// kinds=[], namespace_ids=['Baz'] +message EntityFilter { + // If empty, then this represents all kinds. + repeated string kinds = 1; + + // An empty list represents all namespaces. This is the preferred + // usage for projects that don't use namespaces. + // + // An empty string element represents the default namespace. This should be + // used if the project has data in non-default namespaces, but doesn't want to + // include them. + // Each namespace in this list must be unique. + repeated string namespace_ids = 2; +} + +// The request for +// [google.datastore.admin.v1.DatastoreAdmin.CreateIndex][google.datastore.admin.v1.DatastoreAdmin.CreateIndex]. +message CreateIndexRequest { + // Project ID against which to make the request. + string project_id = 1; + + // The index to create. The name and state fields are output only and will be + // ignored. Single property indexes cannot be created or deleted. + Index index = 3; +} + +// The request for +// [google.datastore.admin.v1.DatastoreAdmin.DeleteIndex][google.datastore.admin.v1.DatastoreAdmin.DeleteIndex]. +message DeleteIndexRequest { + // Project ID against which to make the request. + string project_id = 1; + + // The resource ID of the index to delete. + string index_id = 3; +} + +// The request for +// [google.datastore.admin.v1.DatastoreAdmin.GetIndex][google.datastore.admin.v1.DatastoreAdmin.GetIndex]. +message GetIndexRequest { + // Project ID against which to make the request. + string project_id = 1; + + // The resource ID of the index to get. + string index_id = 3; +} + +// The request for +// [google.datastore.admin.v1.DatastoreAdmin.ListIndexes][google.datastore.admin.v1.DatastoreAdmin.ListIndexes]. +message ListIndexesRequest { + // Project ID against which to make the request. + string project_id = 1; + + string filter = 3; + + // The maximum number of items to return. If zero, then all results will be + // returned. + int32 page_size = 4; + + // The next_page_token value returned from a previous List request, if any. + string page_token = 5; +} + +// The response for +// [google.datastore.admin.v1.DatastoreAdmin.ListIndexes][google.datastore.admin.v1.DatastoreAdmin.ListIndexes]. +message ListIndexesResponse { + // The indexes. + repeated Index indexes = 1; + + // The standard List next-page token. + string next_page_token = 2; +} + +// Metadata for Index operations. +message IndexOperationMetadata { + // Metadata common to all Datastore Admin operations. + CommonMetadata common = 1; + + // An estimate of the number of entities processed. + Progress progress_entities = 2; + + // The index resource ID that this operation is acting on. + string index_id = 3; +} + +// Metadata for Datastore to Firestore migration operations. +// +// The DatastoreFirestoreMigration operation is not started by the end-user via +// an explicit "creation" method. This is an intentional deviation from the LRO +// design pattern. +// +// This singleton resource can be accessed at: +// "projects/{project_id}/operations/datastore-firestore-migration" +message DatastoreFirestoreMigrationMetadata { + // The current state of migration from Cloud Datastore to Cloud Firestore in + // Datastore mode. + MigrationState migration_state = 1; + + // The current step of migration from Cloud Datastore to Cloud Firestore in + // Datastore mode. + MigrationStep migration_step = 2; +} + +// Operation types. +enum OperationType { + // Unspecified. + OPERATION_TYPE_UNSPECIFIED = 0; + + // ExportEntities. + EXPORT_ENTITIES = 1; + + // ImportEntities. + IMPORT_ENTITIES = 2; + + // CreateIndex. + CREATE_INDEX = 3; + + // DeleteIndex. + DELETE_INDEX = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin_gapic.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin_gapic.yaml new file mode 100644 index 00000000..7e93c48b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin_gapic.yaml @@ -0,0 +1,6 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.datastore.admin.v1 diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin_grpc_service_config.json new file mode 100755 index 00000000..af05db14 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_admin_grpc_service_config.json @@ -0,0 +1,48 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.datastore.admin.v1.DatastoreAdmin", + "method": "ExportEntities" + }, + { + "service": "google.datastore.admin.v1.DatastoreAdmin", + "method": "ImportEntities" + }, + { + "service": "google.datastore.admin.v1.DatastoreAdmin", + "method": "CreateIndex" + }, + { + "service": "google.datastore.admin.v1.DatastoreAdmin", + "method": "DeleteIndex" + } + ], + "timeout": "60s" + }, + { + "name": [ + { + "service": "google.datastore.admin.v1.DatastoreAdmin", + "method": "GetIndex" + }, + { + "service": "google.datastore.admin.v1.DatastoreAdmin", + "method": "ListIndexes" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_v1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_v1.yaml new file mode 100644 index 00000000..29b337e3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/datastore_v1.yaml @@ -0,0 +1,53 @@ +type: google.api.Service +config_version: 3 +name: datastore.googleapis.com +title: Cloud Datastore API + +apis: +- name: google.datastore.admin.v1.DatastoreAdmin +- name: google.longrunning.Operations + +types: +- name: google.datastore.admin.v1.DatastoreFirestoreMigrationMetadata +- name: google.datastore.admin.v1.ExportEntitiesMetadata +- name: google.datastore.admin.v1.ExportEntitiesResponse +- name: google.datastore.admin.v1.ImportEntitiesMetadata +- name: google.datastore.admin.v1.IndexOperationMetadata +- name: google.datastore.admin.v1.MigrationProgressEvent +- name: google.datastore.admin.v1.MigrationStateEvent + +documentation: + summary: |- + Accesses the schemaless NoSQL database to provide fully managed, robust, + scalable storage for your application. + +backend: + rules: + - selector: 'google.datastore.admin.v1.DatastoreAdmin.*' + deadline: 295.0 + - selector: 'google.longrunning.Operations.*' + deadline: 295.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*}/operations' + +authentication: + rules: + - selector: 'google.datastore.admin.v1.DatastoreAdmin.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/datastore + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/datastore diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/index.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/index.proto new file mode 100644 index 00000000..6a1d1222 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/index.proto @@ -0,0 +1,122 @@ +// Copyright 2024 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.datastore.admin.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.Admin.V1"; +option go_package = "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "IndexProto"; +option java_package = "com.google.datastore.admin.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1"; +option ruby_package = "Google::Cloud::Datastore::Admin::V1"; + +// Datastore composite index definition. +message Index { + // For an ordered index, specifies whether each of the entity's ancestors + // will be included. + enum AncestorMode { + // The ancestor mode is unspecified. + ANCESTOR_MODE_UNSPECIFIED = 0; + + // Do not include the entity's ancestors in the index. + NONE = 1; + + // Include all the entity's ancestors in the index. + ALL_ANCESTORS = 2; + } + + // The direction determines how a property is indexed. + enum Direction { + // The direction is unspecified. + DIRECTION_UNSPECIFIED = 0; + + // The property's values are indexed so as to support sequencing in + // ascending order and also query by <, >, <=, >=, and =. + ASCENDING = 1; + + // The property's values are indexed so as to support sequencing in + // descending order and also query by <, >, <=, >=, and =. + DESCENDING = 2; + } + + // A property of an index. + message IndexedProperty { + // Required. The property name to index. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The indexed property's direction. Must not be + // DIRECTION_UNSPECIFIED. + Direction direction = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // The possible set of states of an index. + enum State { + // The state is unspecified. + STATE_UNSPECIFIED = 0; + + // The index is being created, and cannot be used by queries. + // There is an active long-running operation for the index. + // The index is updated when writing an entity. + // Some index data may exist. + CREATING = 1; + + // The index is ready to be used. + // The index is updated when writing an entity. + // The index is fully populated from all stored entities it applies to. + READY = 2; + + // The index is being deleted, and cannot be used by queries. + // There is an active long-running operation for the index. + // The index is not updated when writing an entity. + // Some index data may exist. + DELETING = 3; + + // The index was being created or deleted, but something went wrong. + // The index cannot by used by queries. + // There is no active long-running operation for the index, + // and the most recently finished long-running operation failed. + // The index is not updated when writing an entity. + // Some index data may exist. + ERROR = 4; + } + + // Output only. Project ID. + string project_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource ID of the index. + string index_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The entity kind to which this index applies. + string kind = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The index's ancestor mode. Must not be + // ANCESTOR_MODE_UNSPECIFIED. + AncestorMode ancestor = 5 [(google.api.field_behavior) = REQUIRED]; + + // Required. An ordered sequence of property names and their index attributes. + // + // Requires: + // + // * A maximum of 100 properties. + repeated IndexedProperty properties = 6 + [(google.api.field_behavior) = REQUIRED]; + + // Output only. The state of the index. + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/migration.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/migration.proto new file mode 100644 index 00000000..813de87d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1/migration.proto @@ -0,0 +1,124 @@ +// Copyright 2024 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.datastore.admin.v1; + +option csharp_namespace = "Google.Cloud.Datastore.Admin.V1"; +option go_package = "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "MigrationProto"; +option java_package = "com.google.datastore.admin.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1"; +option ruby_package = "Google::Cloud::Datastore::Admin::V1"; + +// An event signifying a change in state of a [migration from Cloud Datastore to +// Cloud Firestore in Datastore +// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore). +message MigrationStateEvent { + // The new state of the migration. + MigrationState state = 1; +} + +// An event signifying the start of a new step in a [migration from Cloud +// Datastore to Cloud Firestore in Datastore +// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore). +message MigrationProgressEvent { + // Concurrency modes for transactions in Cloud Firestore. + enum ConcurrencyMode { + // Unspecified. + CONCURRENCY_MODE_UNSPECIFIED = 0; + + // Pessimistic concurrency. + PESSIMISTIC = 1; + + // Optimistic concurrency. + OPTIMISTIC = 2; + + // Optimistic concurrency with entity groups. + OPTIMISTIC_WITH_ENTITY_GROUPS = 3; + } + + // Details for the `PREPARE` step. + message PrepareStepDetails { + // The concurrency mode this database will use when it reaches the + // `REDIRECT_WRITES` step. + ConcurrencyMode concurrency_mode = 1; + } + + // Details for the `REDIRECT_WRITES` step. + message RedirectWritesStepDetails { + // Ths concurrency mode for this database. + ConcurrencyMode concurrency_mode = 1; + } + + // The step that is starting. + // + // An event with step set to `START` indicates that the migration + // has been reverted back to the initial pre-migration state. + MigrationStep step = 1; + + // Details about this step. + oneof step_details { + // Details for the `PREPARE` step. + PrepareStepDetails prepare_step_details = 2; + + // Details for the `REDIRECT_WRITES` step. + RedirectWritesStepDetails redirect_writes_step_details = 3; + } +} + +// States for a migration. +enum MigrationState { + // Unspecified. + MIGRATION_STATE_UNSPECIFIED = 0; + + // The migration is running. + RUNNING = 1; + + // The migration is paused. + PAUSED = 2; + + // The migration is complete. + COMPLETE = 3; +} + +// Steps in a migration. +enum MigrationStep { + // Unspecified. + MIGRATION_STEP_UNSPECIFIED = 0; + + // Pre-migration: the database is prepared for migration. + PREPARE = 6; + + // Start of migration. + START = 1; + + // Writes are applied synchronously to at least one replica. + APPLY_WRITES_SYNCHRONOUSLY = 7; + + // Data is copied to Cloud Firestore and then verified to match the data in + // Cloud Datastore. + COPY_AND_VERIFY = 2; + + // Eventually-consistent reads are redirected to Cloud Firestore. + REDIRECT_EVENTUALLY_CONSISTENT_READS = 3; + + // Strongly-consistent reads are redirected to Cloud Firestore. + REDIRECT_STRONGLY_CONSISTENT_READS = 4; + + // Writes are redirected to Cloud Firestore. + REDIRECT_WRITES = 5; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1beta1/datastore_admin.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1beta1/datastore_admin.proto new file mode 100644 index 00000000..811c2ac5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/admin/v1beta1/datastore_admin.proto @@ -0,0 +1,332 @@ +// Copyright 2024 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.datastore.admin.v1beta1; + +import "google/api/annotations.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.Admin.V1Beta1"; +option go_package = "cloud.google.com/go/datastore/admin/apiv1beta1/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "DatastoreAdminProto"; +option java_package = "com.google.datastore.admin.v1beta1"; +option ruby_package = "Google::Cloud::Datastore::Admin::V1beta1"; + +// Google Cloud Datastore Admin API +// +// The Datastore Admin API provides several admin services for Cloud Datastore. +// +// ----------------------------------------------------------------------------- +// ## Concepts +// +// Project, namespace, kind, and entity as defined in the Google Cloud Datastore +// API. +// +// Operation: An Operation represents work being performed in the background. +// +// EntityFilter: Allows specifying a subset of entities in a project. This is +// specified as a combination of kinds and namespaces (either or both of which +// may be all). +// +// ----------------------------------------------------------------------------- +// ## Services +// +// # Export/Import +// +// The Export/Import service provides the ability to copy all or a subset of +// entities to/from Google Cloud Storage. +// +// Exported data may be imported into Cloud Datastore for any Google Cloud +// Platform project. It is not restricted to the export source project. It is +// possible to export from one project and then import into another. +// +// Exported data can also be loaded into Google BigQuery for analysis. +// +// Exports and imports are performed asynchronously. An Operation resource is +// created for each export/import. The state (including any errors encountered) +// of the export/import may be queried via the Operation resource. +// +// # Operation +// +// The Operations collection provides a record of actions performed for the +// specified project (including any operations in progress). Operations are not +// created directly but through calls on other collections or resources. +// +// An operation that is not yet done may be cancelled. The request to cancel is +// asynchronous and the operation may continue to run for some time after the +// request to cancel is made. +// +// An operation that is done may be deleted so that it is no longer listed as +// part of the Operation collection. +// +// ListOperations returns all pending operations, but not completed operations. +// +// Operations are created by service DatastoreAdmin, +// but are accessed via service google.longrunning.Operations. +service DatastoreAdmin { + // Exports a copy of all or a subset of entities from Google Cloud Datastore + // to another storage system, such as Google Cloud Storage. Recent updates to + // entities may not be reflected in the export. The export occurs in the + // background and its progress can be monitored and managed via the + // Operation resource that is created. The output of an export may only be + // used once the associated operation is done. If an export operation is + // cancelled before completion it may leave partial data behind in Google + // Cloud Storage. + rpc ExportEntities(ExportEntitiesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/projects/{project_id}:export" + body: "*" + }; + } + + // Imports entities into Google Cloud Datastore. Existing entities with the + // same key are overwritten. The import occurs in the background and its + // progress can be monitored and managed via the Operation resource that is + // created. If an ImportEntities operation is cancelled, it is possible + // that a subset of the data has already been imported to Cloud Datastore. + rpc ImportEntities(ImportEntitiesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/projects/{project_id}:import" + body: "*" + }; + } +} + +// Metadata common to all Datastore Admin operations. +message CommonMetadata { + // The various possible states for an ongoing Operation. + enum State { + // Unspecified. + STATE_UNSPECIFIED = 0; + + // Request is being prepared for processing. + INITIALIZING = 1; + + // Request is actively being processed. + PROCESSING = 2; + + // Request is in the process of being cancelled after user called + // google.longrunning.Operations.CancelOperation on the operation. + CANCELLING = 3; + + // Request has been processed and is in its finalization stage. + FINALIZING = 4; + + // Request has completed successfully. + SUCCESSFUL = 5; + + // Request has finished being processed, but encountered an error. + FAILED = 6; + + // Request has finished being cancelled after user called + // google.longrunning.Operations.CancelOperation. + CANCELLED = 7; + } + + // The time that work began on the operation. + google.protobuf.Timestamp start_time = 1; + + // The time the operation ended, either successfully or otherwise. + google.protobuf.Timestamp end_time = 2; + + // The type of the operation. Can be used as a filter in + // ListOperationsRequest. + OperationType operation_type = 3; + + // The client-assigned labels which were provided when the operation was + // created. May also include additional labels. + map labels = 4; + + // The current state of the Operation. + State state = 5; +} + +// Measures the progress of a particular metric. +message Progress { + // The amount of work that has been completed. Note that this may be greater + // than work_estimated. + int64 work_completed = 1; + + // An estimate of how much work needs to be performed. May be zero if the + // work estimate is unavailable. + int64 work_estimated = 2; +} + +// The request for +// [google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities]. +message ExportEntitiesRequest { + // Project ID against which to make the request. + string project_id = 1; + + // Client-assigned labels. + map labels = 2; + + // Description of what data from the project is included in the export. + EntityFilter entity_filter = 3; + + // Location for the export metadata and data files. + // + // The full resource URL of the external storage location. Currently, only + // Google Cloud Storage is supported. So output_url_prefix should be of the + // form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the + // name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud + // Storage namespace path (this is not a Cloud Datastore namespace). For more + // information about Cloud Storage namespace paths, see + // [Object name + // considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + // + // The resulting files will be nested deeper than the specified URL prefix. + // The final output URL will be provided in the + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url] + // field. That value should be used for subsequent ImportEntities operations. + // + // By nesting the data files deeper, the same Cloud Storage bucket can be used + // in multiple ExportEntities operations without conflict. + string output_url_prefix = 4; +} + +// The request for +// [google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities]. +message ImportEntitiesRequest { + // Project ID against which to make the request. + string project_id = 1; + + // Client-assigned labels. + map labels = 2; + + // The full resource URL of the external storage location. Currently, only + // Google Cloud Storage is supported. So input_url should be of the form: + // `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where + // `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is + // an optional Cloud Storage namespace path (this is not a Cloud Datastore + // namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written + // by the ExportEntities operation. For more information about Cloud Storage + // namespace paths, see + // [Object name + // considerations](https://cloud.google.com/storage/docs/naming#object-considerations). + // + // For more information, see + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url]. + string input_url = 3; + + // Optionally specify which kinds/namespaces are to be imported. If provided, + // the list must be a subset of the EntityFilter used in creating the export, + // otherwise a FAILED_PRECONDITION error will be returned. If no filter is + // specified then all entities from the export are imported. + EntityFilter entity_filter = 4; +} + +// The response for +// [google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities][google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities]. +message ExportEntitiesResponse { + // Location of the output metadata file. This can be used to begin an import + // into Cloud Datastore (this project or another project). See + // [google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url][google.datastore.admin.v1beta1.ImportEntitiesRequest.input_url]. + // Only present if the operation completed successfully. + string output_url = 1; +} + +// Metadata for ExportEntities operations. +message ExportEntitiesMetadata { + // Metadata common to all Datastore Admin operations. + CommonMetadata common = 1; + + // An estimate of the number of entities processed. + Progress progress_entities = 2; + + // An estimate of the number of bytes processed. + Progress progress_bytes = 3; + + // Description of which entities are being exported. + EntityFilter entity_filter = 4; + + // Location for the export metadata and data files. This will be the same + // value as the + // [google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix][google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix] + // field. The final output location is provided in + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url]. + string output_url_prefix = 5; +} + +// Metadata for ImportEntities operations. +message ImportEntitiesMetadata { + // Metadata common to all Datastore Admin operations. + CommonMetadata common = 1; + + // An estimate of the number of entities processed. + Progress progress_entities = 2; + + // An estimate of the number of bytes processed. + Progress progress_bytes = 3; + + // Description of which entities are being imported. + EntityFilter entity_filter = 4; + + // The location of the import metadata file. This will be the same value as + // the + // [google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url][google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url] + // field. + string input_url = 5; +} + +// Identifies a subset of entities in a project. This is specified as +// combinations of kinds and namespaces (either or both of which may be all, as +// described in the following examples). +// Example usage: +// +// Entire project: +// kinds=[], namespace_ids=[] +// +// Kinds Foo and Bar in all namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=[] +// +// Kinds Foo and Bar only in the default namespace: +// kinds=['Foo', 'Bar'], namespace_ids=[''] +// +// Kinds Foo and Bar in both the default and Baz namespaces: +// kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz'] +// +// The entire Baz namespace: +// kinds=[], namespace_ids=['Baz'] +message EntityFilter { + // If empty, then this represents all kinds. + repeated string kinds = 1; + + // An empty list represents all namespaces. This is the preferred + // usage for projects that don't use namespaces. + // + // An empty string element represents the default namespace. This should be + // used if the project has data in non-default namespaces, but doesn't want to + // include them. + // Each namespace in this list must be unique. + repeated string namespace_ids = 2; +} + +// Operation types. +enum OperationType { + // Unspecified. + OPERATION_TYPE_UNSPECIFIED = 0; + + // ExportEntities. + EXPORT_ENTITIES = 1; + + // ImportEntities. + IMPORT_ENTITIES = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/BUILD.bazel new file mode 100644 index 00000000..543d8912 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/BUILD.bazel @@ -0,0 +1,390 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "datastore_proto", + srcs = [ + "aggregation_result.proto", + "datastore.proto", + "entity.proto", + "query.proto", + "query_profile.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:routing_proto", + "//google/type:latlng_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library_with_info( + name = "datastore_proto_with_info", + deps = [ + ":datastore_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "datastore_java_proto", + deps = [":datastore_proto"], +) + +java_grpc_library( + name = "datastore_java_grpc", + srcs = [":datastore_proto"], + deps = [":datastore_java_proto"], +) + +java_gapic_library( + name = "datastore_java_gapic", + srcs = [":datastore_proto_with_info"], + gapic_yaml = "datastore_gapic.yaml", + grpc_service_config = "datastore_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + test_deps = [ + ":datastore_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":datastore_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "datastore_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.datastore.v1.DatastoreClientHttpJsonTest", + "com.google.cloud.datastore.v1.DatastoreClientTest", + ], + runtime_deps = [":datastore_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-datastore-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":datastore_java_gapic", + ":datastore_java_grpc", + ":datastore_java_proto", + ":datastore_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "datastore_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/datastore/apiv1/datastorepb", + protos = [":datastore_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/type:latlng_go_proto", + ], +) + +go_gapic_library( + name = "datastore_go_gapic", + srcs = [":datastore_proto_with_info"], + grpc_service_config = "datastore_grpc_service_config.json", + importpath = "cloud.google.com/go/datastore/apiv1;datastore", + metadata = True, + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ":datastore_go_proto", + "//google/longrunning:longrunning_go_gapic", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-datastore-v1-go", + deps = [ + ":datastore_go_gapic", + ":datastore_go_gapic_srcjar-metadata.srcjar", + ":datastore_go_gapic_srcjar-snippets.srcjar", + ":datastore_go_gapic_srcjar-test.srcjar", + ":datastore_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "datastore_py_gapic", + srcs = [":datastore_proto"], + grpc_service_config = "datastore_grpc_service_config.json", + opt_args = ["python-gapic-namespace=google.cloud"], + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "datastore_py_gapic_test", + srcs = [ + "datastore_py_gapic_pytest.py", + "datastore_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":datastore_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "datastore-v1-py", + deps = [ + ":datastore_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "datastore_php_proto", + deps = [":datastore_proto"], +) + +php_gapic_library( + name = "datastore_php_gapic", + srcs = [":datastore_proto_with_info"], + grpc_service_config = "datastore_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [":datastore_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-datastore-v1-php", + deps = [ + ":datastore_php_gapic", + ":datastore_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "datastore_nodejs_gapic", + package_name = "@google-cloud/datastore", + src = ":datastore_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "datastore_grpc_service_config.json", + main_service = "datastore", + mixins = "google.longrunning.Operations", + package = "google.datastore.v1", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "datastore-v1-nodejs", + deps = [ + ":datastore_nodejs_gapic", + ":datastore_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "datastore_ruby_proto", + deps = [":datastore_proto"], +) + +ruby_grpc_library( + name = "datastore_ruby_grpc", + srcs = [":datastore_proto"], + deps = [":datastore_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "datastore_ruby_gapic", + srcs = [":datastore_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=datastore.googleapis.com", + "ruby-cloud-api-shortname=datastore", + "ruby-cloud-env-prefix=DATASTORE", + "ruby-cloud-gem-name=google-cloud-datastore-v1", + "ruby-cloud-product-url=https://cloud.google.com/datastore", + ], + grpc_service_config = "datastore_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Firestore in Datastore mode is a NoSQL document database built for automatic scaling, high performance, and ease of application development.", + ruby_cloud_title = "Firestore in Datastore mode V1", + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ":datastore_ruby_grpc", + ":datastore_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-datastore-v1-ruby", + deps = [ + ":datastore_ruby_gapic", + ":datastore_ruby_grpc", + ":datastore_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "datastore_csharp_proto", + deps = [":datastore_proto"], +) + +csharp_grpc_library( + name = "datastore_csharp_grpc", + srcs = [":datastore_proto"], + deps = [":datastore_csharp_proto"], +) + +csharp_gapic_library( + name = "datastore_csharp_gapic", + srcs = [":datastore_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "datastore_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "datastore_v1.yaml", + transport = "grpc+rest", + deps = [ + ":datastore_csharp_grpc", + ":datastore_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-datastore-v1-csharp", + deps = [ + ":datastore_csharp_gapic", + ":datastore_csharp_grpc", + ":datastore_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "datastore_cc_proto", + deps = [":datastore_proto"], +) + +cc_grpc_library( + name = "datastore_cc_grpc", + srcs = [":datastore_proto"], + grpc_only = True, + deps = [":datastore_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/aggregation_result.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/aggregation_result.proto new file mode 100644 index 00000000..e31052c0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/aggregation_result.proto @@ -0,0 +1,62 @@ +// Copyright 2024 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.datastore.v1; + +import "google/datastore/v1/entity.proto"; +import "google/datastore/v1/query.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1"; +option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "AggregationResultProto"; +option java_package = "com.google.datastore.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\V1"; +option ruby_package = "Google::Cloud::Datastore::V1"; + +// The result of a single bucket from a Datastore aggregation query. +// +// The keys of `aggregate_properties` are the same for all results in an +// aggregation query, unlike entity queries which can have different fields +// present for each result. +message AggregationResult { + // The result of the aggregation functions, ex: `COUNT(*) AS total_entities`. + // + // The key is the + // [alias][google.datastore.v1.AggregationQuery.Aggregation.alias] assigned to + // the aggregation function on input and the size of this map equals the + // number of aggregation functions in the query. + map aggregate_properties = 2; +} + +// A batch of aggregation results produced by an aggregation query. +message AggregationResultBatch { + // The aggregation results for this batch. + repeated AggregationResult aggregation_results = 1; + + // The state of the query after the current batch. + // Only COUNT(*) aggregations are supported in the initial launch. Therefore, + // expected result type is limited to `NO_MORE_RESULTS`. + QueryResultBatch.MoreResultsType more_results = 2; + + // Read timestamp this batch was returned from. + // + // In a single transaction, subsequent query result batches for the same query + // can have a greater timestamp. Each batch's read timestamp + // is valid for all preceding batches. + google.protobuf.Timestamp read_time = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore.proto new file mode 100644 index 00000000..9c44501a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore.proto @@ -0,0 +1,685 @@ +// Copyright 2024 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.datastore.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/routing.proto"; +import "google/datastore/v1/aggregation_result.proto"; +import "google/datastore/v1/entity.proto"; +import "google/datastore/v1/query.proto"; +import "google/datastore/v1/query_profile.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1"; +option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "DatastoreProto"; +option java_package = "com.google.datastore.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\V1"; +option ruby_package = "Google::Cloud::Datastore::V1"; + +// Each RPC normalizes the partition IDs of the keys in its input entities, +// and always returns entities with keys with normalized partition IDs. +// This applies to all keys and entities, including those in values, except keys +// with both an empty path and an empty or unset partition ID. Normalization of +// input keys sets the project ID (if not already set) to the project ID from +// the request. +// +service Datastore { + option (google.api.default_host) = "datastore.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/datastore"; + + // Looks up entities by key. + rpc Lookup(LookupRequest) returns (LookupResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:lookup" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + option (google.api.method_signature) = "project_id,read_options,keys"; + } + + // Queries for entities. + rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:runQuery" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + } + + // Runs an aggregation query. + rpc RunAggregationQuery(RunAggregationQueryRequest) + returns (RunAggregationQueryResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:runAggregationQuery" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + } + + // Begins a new transaction. + rpc BeginTransaction(BeginTransactionRequest) + returns (BeginTransactionResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:beginTransaction" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + option (google.api.method_signature) = "project_id"; + } + + // Commits a transaction, optionally creating, deleting or modifying some + // entities. + rpc Commit(CommitRequest) returns (CommitResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:commit" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + option (google.api.method_signature) = + "project_id,mode,transaction,mutations"; + option (google.api.method_signature) = "project_id,mode,mutations"; + } + + // Rolls back a transaction. + rpc Rollback(RollbackRequest) returns (RollbackResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:rollback" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + option (google.api.method_signature) = "project_id,transaction"; + } + + // Allocates IDs for the given keys, which is useful for referencing an entity + // before it is inserted. + rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:allocateIds" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + option (google.api.method_signature) = "project_id,keys"; + } + + // Prevents the supplied keys' IDs from being auto-allocated by Cloud + // Datastore. + rpc ReserveIds(ReserveIdsRequest) returns (ReserveIdsResponse) { + option (google.api.http) = { + post: "/v1/projects/{project_id}:reserveIds" + body: "*" + }; + option (google.api.routing) = { + routing_parameters { field: "project_id" } + routing_parameters { field: "database_id" } + }; + option (google.api.method_signature) = "project_id,keys"; + } +} + +// The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. +message LookupRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // The options for this lookup request. + ReadOptions read_options = 1; + + // Required. Keys of entities to look up. + repeated Key keys = 3 [(google.api.field_behavior) = REQUIRED]; + + // The properties to return. Defaults to returning all properties. + // + // If this field is set and an entity has a property not referenced in the + // mask, it will be absent from [LookupResponse.found.entity.properties][]. + // + // The entity's key is always returned. + PropertyMask property_mask = 5; +} + +// The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup]. +message LookupResponse { + // Entities found as `ResultType.FULL` entities. The order of results in this + // field is undefined and has no relation to the order of the keys in the + // input. + repeated EntityResult found = 1; + + // Entities not found as `ResultType.KEY_ONLY` entities. The order of results + // in this field is undefined and has no relation to the order of the keys + // in the input. + repeated EntityResult missing = 2; + + // A list of keys that were not looked up due to resource constraints. The + // order of results in this field is undefined and has no relation to the + // order of the keys in the input. + repeated Key deferred = 3; + + // The identifier of the transaction that was started as part of this Lookup + // request. + // + // Set only when + // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] + // was set in + // [LookupRequest.read_options][google.datastore.v1.LookupRequest.read_options]. + bytes transaction = 5; + + // The time at which these entities were read or found missing. + google.protobuf.Timestamp read_time = 7; +} + +// The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery]. +message RunQueryRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // Entities are partitioned into subsets, identified by a partition ID. + // Queries are scoped to a single partition. + // This partition ID is normalized with the standard default context + // partition ID. + PartitionId partition_id = 2; + + // The options for this query. + ReadOptions read_options = 1; + + // The type of query. + oneof query_type { + // The query to run. + Query query = 3; + + // The GQL query to run. This query must be a non-aggregation query. + GqlQuery gql_query = 7; + } + + // The properties to return. + // This field must not be set for a projection query. + // + // See + // [LookupRequest.property_mask][google.datastore.v1.LookupRequest.property_mask]. + PropertyMask property_mask = 10; + + // Optional. Explain options for the query. If set, additional query + // statistics will be returned. If not, only query results will be returned. + ExplainOptions explain_options = 12 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response for +// [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery]. +message RunQueryResponse { + // A batch of query results (always present). + QueryResultBatch batch = 1; + + // The parsed form of the `GqlQuery` from the request, if it was set. + Query query = 2; + + // The identifier of the transaction that was started as part of this + // RunQuery request. + // + // Set only when + // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] + // was set in + // [RunQueryRequest.read_options][google.datastore.v1.RunQueryRequest.read_options]. + bytes transaction = 5; + + // Query explain metrics. This is only present when the + // [RunQueryRequest.explain_options][google.datastore.v1.RunQueryRequest.explain_options] + // is provided, and it is sent only once with the last response in the stream. + ExplainMetrics explain_metrics = 9; +} + +// The request for +// [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery]. +message RunAggregationQueryRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // Entities are partitioned into subsets, identified by a partition ID. + // Queries are scoped to a single partition. + // This partition ID is normalized with the standard default context + // partition ID. + PartitionId partition_id = 2; + + // The options for this query. + ReadOptions read_options = 1; + + // The type of query. + oneof query_type { + // The query to run. + AggregationQuery aggregation_query = 3; + + // The GQL query to run. This query must be an aggregation query. + GqlQuery gql_query = 7; + } + + // Optional. Explain options for the query. If set, additional query + // statistics will be returned. If not, only query results will be returned. + ExplainOptions explain_options = 11 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response for +// [Datastore.RunAggregationQuery][google.datastore.v1.Datastore.RunAggregationQuery]. +message RunAggregationQueryResponse { + // A batch of aggregation results. Always present. + AggregationResultBatch batch = 1; + + // The parsed form of the `GqlQuery` from the request, if it was set. + AggregationQuery query = 2; + + // The identifier of the transaction that was started as part of this + // RunAggregationQuery request. + // + // Set only when + // [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] + // was set in + // [RunAggregationQueryRequest.read_options][google.datastore.v1.RunAggregationQueryRequest.read_options]. + bytes transaction = 5; + + // Query explain metrics. This is only present when the + // [RunAggregationQueryRequest.explain_options][google.datastore.v1.RunAggregationQueryRequest.explain_options] + // is provided, and it is sent only once with the last response in the stream. + ExplainMetrics explain_metrics = 9; +} + +// The request for +// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. +message BeginTransactionRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // Options for a new transaction. + TransactionOptions transaction_options = 10; +} + +// The response for +// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. +message BeginTransactionResponse { + // The transaction identifier (always present). + bytes transaction = 1; +} + +// The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. +message RollbackRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // Required. The transaction identifier, returned by a call to + // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + bytes transaction = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The response for +// [Datastore.Rollback][google.datastore.v1.Datastore.Rollback]. (an empty +// message). +message RollbackResponse {} + +// The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit]. +message CommitRequest { + // The modes available for commits. + enum Mode { + // Unspecified. This value must not be used. + MODE_UNSPECIFIED = 0; + + // Transactional: The mutations are either all applied, or none are applied. + // Learn about transactions + // [here](https://cloud.google.com/datastore/docs/concepts/transactions). + TRANSACTIONAL = 1; + + // Non-transactional: The mutations may not apply as all or none. + NON_TRANSACTIONAL = 2; + } + + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // The type of commit to perform. Defaults to `TRANSACTIONAL`. + Mode mode = 5; + + // Must be set when mode is `TRANSACTIONAL`. + oneof transaction_selector { + // The identifier of the transaction associated with the commit. A + // transaction identifier is returned by a call to + // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + bytes transaction = 1; + + // Options for beginning a new transaction for this request. + // The transaction is committed when the request completes. If specified, + // [TransactionOptions.mode][google.datastore.v1.TransactionOptions] must be + // [TransactionOptions.ReadWrite][google.datastore.v1.TransactionOptions.ReadWrite]. + TransactionOptions single_use_transaction = 10; + } + + // The mutations to perform. + // + // When mode is `TRANSACTIONAL`, mutations affecting a single entity are + // applied in order. The following sequences of mutations affecting a single + // entity are not permitted in a single `Commit` request: + // + // - `insert` followed by `insert` + // - `update` followed by `insert` + // - `upsert` followed by `insert` + // - `delete` followed by `update` + // + // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single + // entity. + repeated Mutation mutations = 6; +} + +// The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit]. +message CommitResponse { + // The result of performing the mutations. + // The i-th mutation result corresponds to the i-th mutation in the request. + repeated MutationResult mutation_results = 3; + + // The number of index entries updated during the commit, or zero if none were + // updated. + int32 index_updates = 4; + + // The transaction commit timestamp. Not set for non-transactional commits. + google.protobuf.Timestamp commit_time = 8; +} + +// The request for +// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds]. +message AllocateIdsRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // Required. A list of keys with incomplete key paths for which to allocate + // IDs. No key may be reserved/read-only. + repeated Key keys = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The response for +// [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds]. +message AllocateIdsResponse { + // The keys specified in the request (in the same order), each with + // its key path completed with a newly allocated ID. + repeated Key keys = 1; +} + +// The request for +// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds]. +message ReserveIdsRequest { + // Required. The ID of the project against which to make the request. + string project_id = 8 [(google.api.field_behavior) = REQUIRED]; + + // The ID of the database against which to make the request. + // + // '(default)' is not allowed; please use empty string '' to refer the default + // database. + string database_id = 9; + + // Required. A list of keys with complete key paths whose numeric IDs should + // not be auto-allocated. + repeated Key keys = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The response for +// [Datastore.ReserveIds][google.datastore.v1.Datastore.ReserveIds]. +message ReserveIdsResponse {} + +// A mutation to apply to an entity. +message Mutation { + // The mutation operation. + // + // For `insert`, `update`, and `upsert`: + // - The entity's key must not be reserved/read-only. + // - No property in the entity may have a reserved name, + // not even a property in an entity in a value. + // - No value in the entity may have meaning 18, + // not even a value in an entity in another value. + oneof operation { + // The entity to insert. The entity must not already exist. + // The entity key's final path element may be incomplete. + Entity insert = 4; + + // The entity to update. The entity must already exist. + // Must have a complete key path. + Entity update = 5; + + // The entity to upsert. The entity may or may not already exist. + // The entity key's final path element may be incomplete. + Entity upsert = 6; + + // The key of the entity to delete. The entity may or may not already exist. + // Must have a complete key path and must not be reserved/read-only. + Key delete = 7; + } + + // When set, the server will detect whether or not this mutation conflicts + // with the current version of the entity on the server. Conflicting mutations + // are not applied, and are marked as such in MutationResult. + oneof conflict_detection_strategy { + // The version of the entity that this mutation is being applied + // to. If this does not match the current version on the server, the + // mutation conflicts. + int64 base_version = 8; + + // The update time of the entity that this mutation is being applied + // to. If this does not match the current update time on the server, the + // mutation conflicts. + google.protobuf.Timestamp update_time = 11; + } + + // The properties to write in this mutation. + // None of the properties in the mask may have a reserved name, except for + // `__key__`. + // This field is ignored for `delete`. + // + // If the entity already exists, only properties referenced in the mask are + // updated, others are left untouched. + // Properties referenced in the mask but not in the entity are deleted. + PropertyMask property_mask = 9; +} + +// The result of applying a mutation. +message MutationResult { + // The automatically allocated key. + // Set only when the mutation allocated a key. + Key key = 3; + + // The version of the entity on the server after processing the mutation. If + // the mutation doesn't change anything on the server, then the version will + // be the version of the current entity or, if no entity is present, a version + // that is strictly greater than the version of any previous entity and less + // than the version of any possible future entity. + int64 version = 4; + + // The create time of the entity. This field will not be set after a 'delete'. + google.protobuf.Timestamp create_time = 7; + + // The update time of the entity on the server after processing the mutation. + // If the mutation doesn't change anything on the server, then the timestamp + // will be the update timestamp of the current entity. This field will not be + // set after a 'delete'. + google.protobuf.Timestamp update_time = 6; + + // Whether a conflict was detected for this mutation. Always false when a + // conflict detection strategy field is not set in the mutation. + bool conflict_detected = 5; +} + +// The set of arbitrarily nested property paths used to restrict an operation to +// only a subset of properties in an entity. +message PropertyMask { + // The paths to the properties covered by this mask. + // + // A path is a list of property names separated by dots (`.`), for example + // `foo.bar` means the property `bar` inside the entity property `foo` inside + // the entity associated with this path. + // + // If a property name contains a dot `.` or a backslash `\`, then that + // name must be escaped. + // + // A path must not be empty, and may not reference a value inside an + // [array value][google.datastore.v1.Value.array_value]. + repeated string paths = 1; +} + +// The options shared by read requests. +message ReadOptions { + // The possible values for read consistencies. + enum ReadConsistency { + // Unspecified. This value must not be used. + READ_CONSISTENCY_UNSPECIFIED = 0; + + // Strong consistency. + STRONG = 1; + + // Eventual consistency. + EVENTUAL = 2; + } + + // For Cloud Datastore, if read_consistency is not specified, then lookups and + // ancestor queries default to `read_consistency`=`STRONG`, global queries + // default to `read_consistency`=`EVENTUAL`. + // + // For Cloud Firestore in Datastore mode, if read_consistency is not specified + // then lookups and all queries default to `read_consistency`=`STRONG`. + // + // Explicitly setting `read_consistency`=`EVENTUAL` will result in eventually + // consistent lookups & queries in both Cloud Datastore & Cloud Firestore in + // Datastore mode. + oneof consistency_type { + // The non-transactional read consistency to use. + ReadConsistency read_consistency = 1; + + // The identifier of the transaction in which to read. A + // transaction identifier is returned by a call to + // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction]. + bytes transaction = 2; + + // Options for beginning a new transaction for this request. + // + // The new transaction identifier will be returned in the corresponding + // response as either + // [LookupResponse.transaction][google.datastore.v1.LookupResponse.transaction] + // or + // [RunQueryResponse.transaction][google.datastore.v1.RunQueryResponse.transaction]. + TransactionOptions new_transaction = 3; + + // Reads entities as they were at the given time. This value is only + // supported for Cloud Firestore in Datastore mode. + // + // This must be a microsecond precision timestamp within the past one hour, + // or if Point-in-Time Recovery is enabled, can additionally be a whole + // minute timestamp within the past 7 days. + google.protobuf.Timestamp read_time = 4; + } +} + +// Options for beginning a new transaction. +// +// Transactions can be created explicitly with calls to +// [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction] +// or implicitly by setting +// [ReadOptions.new_transaction][google.datastore.v1.ReadOptions.new_transaction] +// in read requests. +message TransactionOptions { + // Options specific to read / write transactions. + message ReadWrite { + // The transaction identifier of the transaction being retried. + bytes previous_transaction = 1; + } + + // Options specific to read-only transactions. + message ReadOnly { + // Reads entities at the given time. + // + // This must be a microsecond precision timestamp within the past one hour, + // or if Point-in-Time Recovery is enabled, can additionally be a whole + // minute timestamp within the past 7 days. + google.protobuf.Timestamp read_time = 1; + } + + // The `mode` of the transaction, indicating whether write operations are + // supported. + oneof mode { + // The transaction should allow both reads and writes. + ReadWrite read_write = 1; + + // The transaction should only allow reads. + ReadOnly read_only = 2; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_gapic.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_gapic.yaml new file mode 100644 index 00000000..e981f000 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_gapic.yaml @@ -0,0 +1,5 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + java: + package_name: com.google.cloud.datastore.v1 diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_grpc_service_config.json new file mode 100755 index 00000000..3cdd03ac --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_grpc_service_config.json @@ -0,0 +1,52 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.datastore.v1.Datastore", + "method": "Lookup" + }, + { + "service": "google.datastore.v1.Datastore", + "method": "RunQuery" + }, + { + "service": "google.datastore.v1.Datastore", + "method": "RunAggregationQuery" + }, + { + "service": "google.datastore.v1.Datastore", + "method": "ReserveIds" + } + ], + "timeout": "60s", + "retryPolicy": { + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE", "DEADLINE_EXCEEDED"] + } + }, + { + "name": [ + { + "service": "google.datastore.v1.Datastore", + "method": "BeginTransaction" + }, + { + "service": "google.datastore.v1.Datastore", + "method": "Commit" + }, + { + "service": "google.datastore.v1.Datastore", + "method": "Rollback" + }, + { + "service": "google.datastore.v1.Datastore", + "method": "AllocateIds" + } + ], + "timeout": "60s" + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_v1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_v1.yaml new file mode 100644 index 00000000..a9be927c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/datastore_v1.yaml @@ -0,0 +1,37 @@ +type: google.api.Service +config_version: 3 +name: datastore.googleapis.com +title: Cloud Datastore API + +apis: +- name: google.datastore.v1.Datastore +- name: google.longrunning.Operations + +documentation: + summary: |- + Accesses the schemaless NoSQL database to provide fully managed, robust, + scalable storage for your application. + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v1/{name=projects/*/operations/*}:cancel' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1/{name=projects/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1/{name=projects/*}/operations' + +authentication: + rules: + - selector: 'google.datastore.v1.Datastore.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/datastore + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/datastore diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/entity.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/entity.proto new file mode 100644 index 00000000..d9742d68 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/entity.proto @@ -0,0 +1,217 @@ +// Copyright 2024 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.datastore.v1; + +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/latlng.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1"; +option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "EntityProto"; +option java_package = "com.google.datastore.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\V1"; +option ruby_package = "Google::Cloud::Datastore::V1"; + +// A partition ID identifies a grouping of entities. The grouping is always +// by project and namespace, however the namespace ID may be empty. +// +// A partition ID contains several dimensions: +// project ID and namespace ID. +// +// Partition dimensions: +// +// - May be `""`. +// - Must be valid UTF-8 bytes. +// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` +// If the value of any dimension matches regex `__.*__`, the partition is +// reserved/read-only. +// A reserved/read-only partition ID is forbidden in certain documented +// contexts. +// +// Foreign partition IDs (in which the project ID does +// not match the context project ID ) are discouraged. +// Reads and writes of foreign partition IDs may fail if the project is not in +// an active state. +message PartitionId { + // The ID of the project to which the entities belong. + string project_id = 2; + + // If not empty, the ID of the database to which the entities + // belong. + string database_id = 3; + + // If not empty, the ID of the namespace to which the entities belong. + string namespace_id = 4; +} + +// A unique identifier for an entity. +// If a key's partition ID or any of its path kinds or names are +// reserved/read-only, the key is reserved/read-only. +// A reserved/read-only key is forbidden in certain documented contexts. +message Key { + // A (kind, ID/name) pair used to construct a key path. + // + // If either name or ID is set, the element is complete. + // If neither is set, the element is incomplete. + message PathElement { + // The kind of the entity. + // + // A kind matching regex `__.*__` is reserved/read-only. + // A kind must not contain more than 1500 bytes when UTF-8 encoded. + // Cannot be `""`. + // + // Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are + // encoded as `__bytes__` where `` is the base-64 encoding of the + // bytes. + string kind = 1; + + // The type of ID. + oneof id_type { + // The auto-allocated ID of the entity. + // + // Never equal to zero. Values less than zero are discouraged and may not + // be supported in the future. + int64 id = 2; + + // The name of the entity. + // + // A name matching regex `__.*__` is reserved/read-only. + // A name must not be more than 1500 bytes when UTF-8 encoded. + // Cannot be `""`. + // + // Must be valid UTF-8 bytes. Legacy values that are not valid UTF-8 are + // encoded as `__bytes__` where `` is the base-64 encoding of the + // bytes. + string name = 3; + } + } + + // Entities are partitioned into subsets, currently identified by a project + // ID and namespace ID. + // Queries are scoped to a single partition. + PartitionId partition_id = 1; + + // The entity path. + // An entity path consists of one or more elements composed of a kind and a + // string or numerical identifier, which identify entities. The first + // element identifies a _root entity_, the second element identifies + // a _child_ of the root entity, the third element identifies a child of the + // second entity, and so forth. The entities identified by all prefixes of + // the path are called the element's _ancestors_. + // + // An entity path is always fully complete: *all* of the entity's ancestors + // are required to be in the path along with the entity identifier itself. + // The only exception is that in some documented cases, the identifier in the + // last path element (for the entity) itself may be omitted. For example, + // the last path element of the key of `Mutation.insert` may have no + // identifier. + // + // A path can never be empty, and a path can have at most 100 elements. + repeated PathElement path = 2; +} + +// An array value. +message ArrayValue { + // Values in the array. + // The order of values in an array is preserved as long as all values have + // identical settings for 'exclude_from_indexes'. + repeated Value values = 1; +} + +// A message that can hold any of the supported value types and associated +// metadata. +message Value { + // Must have a value set. + oneof value_type { + // A null value. + google.protobuf.NullValue null_value = 11; + + // A boolean value. + bool boolean_value = 1; + + // An integer value. + int64 integer_value = 2; + + // A double value. + double double_value = 3; + + // A timestamp value. + // When stored in the Datastore, precise only to microseconds; + // any additional precision is rounded down. + google.protobuf.Timestamp timestamp_value = 10; + + // A key value. + Key key_value = 5; + + // A UTF-8 encoded string value. + // When `exclude_from_indexes` is false (it is indexed) , may have at most + // 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes. + string string_value = 17; + + // A blob value. + // May have at most 1,000,000 bytes. + // When `exclude_from_indexes` is false, may have at most 1500 bytes. + // In JSON requests, must be base64-encoded. + bytes blob_value = 18; + + // A geo point value representing a point on the surface of Earth. + google.type.LatLng geo_point_value = 8; + + // An entity value. + // + // - May have no key. + // - May have a key with an incomplete key path. + // - May have a reserved/read-only key. + Entity entity_value = 6; + + // An array value. + // Cannot contain another array value. + // A `Value` instance that sets field `array_value` must not set fields + // `meaning` or `exclude_from_indexes`. + ArrayValue array_value = 9; + } + + // The `meaning` field should only be populated for backwards compatibility. + int32 meaning = 14; + + // If the value should be excluded from all indexes including those defined + // explicitly. + bool exclude_from_indexes = 19; +} + +// A Datastore data object. +// +// Must not exceed 1 MiB - 4 bytes. +message Entity { + // The entity's key. + // + // An entity must have a key, unless otherwise documented (for example, + // an entity in `Value.entity_value` may have no key). + // An entity's kind is its key path's last element's kind, + // or null if it has no key. + Key key = 1; + + // The entity's properties. + // The map's keys are property names. + // A property name matching regex `__.*__` is reserved. + // A reserved property name is forbidden in certain documented contexts. + // The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot + // be empty. + map properties = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/query.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/query.proto new file mode 100644 index 00000000..5ec0eea6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/query.proto @@ -0,0 +1,542 @@ +// Copyright 2024 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.datastore.v1; + +import "google/api/field_behavior.proto"; +import "google/datastore/v1/entity.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1"; +option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "QueryProto"; +option java_package = "com.google.datastore.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\V1"; +option ruby_package = "Google::Cloud::Datastore::V1"; + +// The result of fetching an entity from Datastore. +message EntityResult { + // Specifies what data the 'entity' field contains. + // A `ResultType` is either implied (for example, in `LookupResponse.missing` + // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context + // (for example, in message `QueryResultBatch`, field `entity_result_type` + // specifies a `ResultType` for all the values in field `entity_results`). + enum ResultType { + // Unspecified. This value is never used. + RESULT_TYPE_UNSPECIFIED = 0; + + // The key and properties. + FULL = 1; + + // A projected subset of properties. The entity may have no key. + PROJECTION = 2; + + // Only the key. + KEY_ONLY = 3; + } + + // The resulting entity. + Entity entity = 1; + + // The version of the entity, a strictly positive number that monotonically + // increases with changes to the entity. + // + // This field is set for + // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + // + // For [missing][google.datastore.v1.LookupResponse.missing] entities in + // `LookupResponse`, this is the version of the snapshot that was used to look + // up the entity, and it is always set except for eventually consistent reads. + int64 version = 4; + + // The time at which the entity was created. + // This field is set for + // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + // If this entity is missing, this field will not be set. + google.protobuf.Timestamp create_time = 6; + + // The time at which the entity was last changed. + // This field is set for + // [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity results. + // If this entity is missing, this field will not be set. + google.protobuf.Timestamp update_time = 5; + + // A cursor that points to the position after the result entity. + // Set only when the `EntityResult` is part of a `QueryResultBatch` message. + bytes cursor = 3; +} + +// A query for entities. +message Query { + // The projection to return. Defaults to returning all properties. + repeated Projection projection = 2; + + // The kinds to query (if empty, returns entities of all kinds). + // Currently at most 1 kind may be specified. + repeated KindExpression kind = 3; + + // The filter to apply. + Filter filter = 4; + + // The order to apply to the query results (if empty, order is unspecified). + repeated PropertyOrder order = 5; + + // The properties to make distinct. The query results will contain the first + // result for each distinct combination of values for the given properties + // (if empty, all results are returned). + // + // Requires: + // + // * If `order` is specified, the set of distinct on properties must appear + // before the non-distinct on properties in `order`. + repeated PropertyReference distinct_on = 6; + + // A starting point for the query results. Query cursors are + // returned in query result batches and + // [can only be used to continue the same + // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + bytes start_cursor = 7; + + // An ending point for the query results. Query cursors are + // returned in query result batches and + // [can only be used to limit the same + // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + bytes end_cursor = 8; + + // The number of results to skip. Applies before limit, but after all other + // constraints. Optional. Must be >= 0 if specified. + int32 offset = 10; + + // The maximum number of results to return. Applies after all other + // constraints. Optional. + // Unspecified is interpreted as no limit. + // Must be >= 0 if specified. + google.protobuf.Int32Value limit = 12; +} + +// Datastore query for running an aggregation over a +// [Query][google.datastore.v1.Query]. +message AggregationQuery { + // Defines an aggregation that produces a single result. + message Aggregation { + // Count of entities that match the query. + // + // The `COUNT(*)` aggregation function operates on the entire entity + // so it does not require a field reference. + message Count { + // Optional. Optional constraint on the maximum number of entities to + // count. + // + // This provides a way to set an upper bound on the number of entities + // to scan, limiting latency, and cost. + // + // Unspecified is interpreted as no bound. + // + // If a zero value is provided, a count result of zero should always be + // expected. + // + // High-Level Example: + // + // ``` + // AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k ); + // ``` + // + // Requires: + // + // * Must be non-negative when present. + google.protobuf.Int64Value up_to = 1 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Sum of the values of the requested property. + // + // * Only numeric values will be aggregated. All non-numeric values + // including `NULL` are skipped. + // + // * If the aggregated values contain `NaN`, returns `NaN`. Infinity math + // follows IEEE-754 standards. + // + // * If the aggregated value set is empty, returns 0. + // + // * Returns a 64-bit integer if all aggregated numbers are integers and the + // sum result does not overflow. Otherwise, the result is returned as a + // double. Note that even if all the aggregated values are integers, the + // result is returned as a double if it cannot fit within a 64-bit signed + // integer. When this occurs, the returned value will lose precision. + // + // * When underflow occurs, floating-point aggregation is non-deterministic. + // This means that running the same query repeatedly without any changes to + // the underlying values could produce slightly different results each + // time. In those cases, values should be stored as integers over + // floating-point numbers. + message Sum { + // The property to aggregate on. + PropertyReference property = 1; + } + + // Average of the values of the requested property. + // + // * Only numeric values will be aggregated. All non-numeric values + // including `NULL` are skipped. + // + // * If the aggregated values contain `NaN`, returns `NaN`. Infinity math + // follows IEEE-754 standards. + // + // * If the aggregated value set is empty, returns `NULL`. + // + // * Always returns the result as a double. + message Avg { + // The property to aggregate on. + PropertyReference property = 1; + } + + // The type of aggregation to perform, required. + oneof operator { + // Count aggregator. + Count count = 1; + + // Sum aggregator. + Sum sum = 2; + + // Average aggregator. + Avg avg = 3; + } + + // Optional. Optional name of the property to store the result of the + // aggregation. + // + // If not provided, Datastore will pick a default name following the format + // `property_`. For example: + // + // ``` + // AGGREGATE + // COUNT_UP_TO(1) AS count_up_to_1, + // COUNT_UP_TO(2), + // COUNT_UP_TO(3) AS count_up_to_3, + // COUNT(*) + // OVER ( + // ... + // ); + // ``` + // + // becomes: + // + // ``` + // AGGREGATE + // COUNT_UP_TO(1) AS count_up_to_1, + // COUNT_UP_TO(2) AS property_1, + // COUNT_UP_TO(3) AS count_up_to_3, + // COUNT(*) AS property_2 + // OVER ( + // ... + // ); + // ``` + // + // Requires: + // + // * Must be unique across all aggregation aliases. + // * Conform to [entity property + // name][google.datastore.v1.Entity.properties] limitations. + string alias = 7 [(google.api.field_behavior) = OPTIONAL]; + } + + // The base query to aggregate over. + oneof query_type { + // Nested query for aggregation + Query nested_query = 1; + } + + // Optional. Series of aggregations to apply over the results of the + // `nested_query`. + // + // Requires: + // + // * A minimum of one and maximum of five aggregations per query. + repeated Aggregation aggregations = 3 + [(google.api.field_behavior) = OPTIONAL]; +} + +// A representation of a kind. +message KindExpression { + // The name of the kind. + string name = 1; +} + +// A reference to a property relative to the kind expressions. +message PropertyReference { + // A reference to a property. + // + // Requires: + // + // * MUST be a dot-delimited (`.`) string of segments, where each segment + // conforms to [entity property name][google.datastore.v1.Entity.properties] + // limitations. + string name = 2; +} + +// A representation of a property in a projection. +message Projection { + // The property to project. + PropertyReference property = 1; +} + +// The desired order for a specific property. +message PropertyOrder { + // The sort direction. + enum Direction { + // Unspecified. This value must not be used. + DIRECTION_UNSPECIFIED = 0; + + // Ascending. + ASCENDING = 1; + + // Descending. + DESCENDING = 2; + } + + // The property to order by. + PropertyReference property = 1; + + // The direction to order by. Defaults to `ASCENDING`. + Direction direction = 2; +} + +// A holder for any type of filter. +message Filter { + // The type of filter. + oneof filter_type { + // A composite filter. + CompositeFilter composite_filter = 1; + + // A filter on a property. + PropertyFilter property_filter = 2; + } +} + +// A filter that merges multiple other filters using the given operator. +message CompositeFilter { + // A composite filter operator. + enum Operator { + // Unspecified. This value must not be used. + OPERATOR_UNSPECIFIED = 0; + + // The results are required to satisfy each of the combined filters. + AND = 1; + + // Documents are required to satisfy at least one of the combined filters. + OR = 2; + } + + // The operator for combining multiple filters. + Operator op = 1; + + // The list of filters to combine. + // + // Requires: + // + // * At least one filter is present. + repeated Filter filters = 2; +} + +// A filter on a specific property. +message PropertyFilter { + // A property filter operator. + enum Operator { + // Unspecified. This value must not be used. + OPERATOR_UNSPECIFIED = 0; + + // The given `property` is less than the given `value`. + // + // Requires: + // + // * That `property` comes first in `order_by`. + LESS_THAN = 1; + + // The given `property` is less than or equal to the given `value`. + // + // Requires: + // + // * That `property` comes first in `order_by`. + LESS_THAN_OR_EQUAL = 2; + + // The given `property` is greater than the given `value`. + // + // Requires: + // + // * That `property` comes first in `order_by`. + GREATER_THAN = 3; + + // The given `property` is greater than or equal to the given `value`. + // + // Requires: + // + // * That `property` comes first in `order_by`. + GREATER_THAN_OR_EQUAL = 4; + + // The given `property` is equal to the given `value`. + EQUAL = 5; + + // The given `property` is equal to at least one value in the given array. + // + // Requires: + // + // * That `value` is a non-empty `ArrayValue`, subject to disjunction + // limits. + // * No `NOT_IN` is in the same query. + IN = 6; + + // The given `property` is not equal to the given `value`. + // + // Requires: + // + // * No other `NOT_EQUAL` or `NOT_IN` is in the same query. + // * That `property` comes first in the `order_by`. + NOT_EQUAL = 9; + + // Limit the result set to the given entity and its descendants. + // + // Requires: + // + // * That `value` is an entity key. + // * All evaluated disjunctions must have the same `HAS_ANCESTOR` filter. + HAS_ANCESTOR = 11; + + // The value of the `property` is not in the given array. + // + // Requires: + // + // * That `value` is a non-empty `ArrayValue` with at most 10 values. + // * No other `OR`, `IN`, `NOT_IN`, `NOT_EQUAL` is in the same query. + // * That `field` comes first in the `order_by`. + NOT_IN = 13; + } + + // The property to filter by. + PropertyReference property = 1; + + // The operator to filter by. + Operator op = 2; + + // The value to compare the property to. + Value value = 3; +} + +// A [GQL +// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). +message GqlQuery { + // A string of the format described + // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + string query_string = 1; + + // When false, the query string must not contain any literals and instead must + // bind all values. For example, + // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while + // `SELECT * FROM Kind WHERE a = @value` is. + bool allow_literals = 2; + + // For each non-reserved named binding site in the query string, there must be + // a named parameter with that name, but not necessarily the inverse. + // + // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex + // `__.*__`, and must not be `""`. + map named_bindings = 5; + + // Numbered binding site @1 references the first numbered parameter, + // effectively using 1-based indexing, rather than the usual 0. + // + // For each binding site numbered i in `query_string`, there must be an i-th + // numbered parameter. The inverse must also be true. + repeated GqlQueryParameter positional_bindings = 4; +} + +// A binding parameter for a GQL query. +message GqlQueryParameter { + // The type of parameter. + oneof parameter_type { + // A value parameter. + Value value = 2; + + // A query cursor. Query cursors are returned in query + // result batches. + bytes cursor = 3; + } +} + +// A batch of results produced by a query. +message QueryResultBatch { + // The possible values for the `more_results` field. + enum MoreResultsType { + // Unspecified. This value is never used. + MORE_RESULTS_TYPE_UNSPECIFIED = 0; + + // There may be additional batches to fetch from this query. + NOT_FINISHED = 1; + + // The query is finished, but there may be more results after the limit. + MORE_RESULTS_AFTER_LIMIT = 2; + + // The query is finished, but there may be more results after the end + // cursor. + MORE_RESULTS_AFTER_CURSOR = 4; + + // The query is finished, and there are no more results. + NO_MORE_RESULTS = 3; + } + + // The number of results skipped, typically because of an offset. + int32 skipped_results = 6; + + // A cursor that points to the position after the last skipped result. + // Will be set when `skipped_results` != 0. + bytes skipped_cursor = 3; + + // The result type for every entity in `entity_results`. + EntityResult.ResultType entity_result_type = 1; + + // The results for this batch. + repeated EntityResult entity_results = 2; + + // A cursor that points to the position after the last result in the batch. + bytes end_cursor = 4; + + // The state of the query after the current batch. + MoreResultsType more_results = 5; + + // The version number of the snapshot this batch was returned from. + // This applies to the range of results from the query's `start_cursor` (or + // the beginning of the query if no cursor was given) to this batch's + // `end_cursor` (not the query's `end_cursor`). + // + // In a single transaction, subsequent query result batches for the same query + // can have a greater snapshot version number. Each batch's snapshot version + // is valid for all preceding batches. + // The value will be zero for eventually consistent queries. + int64 snapshot_version = 7; + + // Read timestamp this batch was returned from. + // This applies to the range of results from the query's `start_cursor` (or + // the beginning of the query if no cursor was given) to this batch's + // `end_cursor` (not the query's `end_cursor`). + // + // In a single transaction, subsequent query result batches for the same query + // can have a greater timestamp. Each batch's read timestamp + // is valid for all preceding batches. + // This value will not be set for eventually consistent queries in Cloud + // Datastore. + google.protobuf.Timestamp read_time = 8; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/query_profile.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/query_profile.proto new file mode 100644 index 00000000..e00a28e3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1/query_profile.proto @@ -0,0 +1,91 @@ +// Copyright 2024 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.datastore.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1"; +option go_package = "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "QueryProfileProto"; +option java_package = "com.google.datastore.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\V1"; +option ruby_package = "Google::Cloud::Datastore::V1"; + +// Specification of the Datastore Query Profile fields. + +// Explain options for the query. +message ExplainOptions { + // Optional. Whether to execute this query. + // + // When false (the default), the query will be planned, returning only + // metrics from the planning stages. + // + // When true, the query will be planned and executed, returning the full + // query results along with both planning and execution stage metrics. + bool analyze = 1 [(google.api.field_behavior) = OPTIONAL]; +} + +// Explain metrics for the query. +message ExplainMetrics { + // Planning phase information for the query. + PlanSummary plan_summary = 1; + + // Aggregated stats from the execution of the query. Only present when + // [ExplainOptions.analyze][google.datastore.v1.ExplainOptions.analyze] is set + // to true. + ExecutionStats execution_stats = 2; +} + +// Planning phase information for the query. +message PlanSummary { + // The indexes selected for the query. For example: + // [ + // {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"}, + // {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} + // ] + repeated google.protobuf.Struct indexes_used = 1; +} + +// Execution statistics for the query. +message ExecutionStats { + // Total number of results returned, including documents, projections, + // aggregation results, keys. + int64 results_returned = 1; + + // Total time to execute the query in the backend. + google.protobuf.Duration execution_duration = 3; + + // Total billable read operations. + int64 read_operations = 4; + + // Debugging statistics from the execution of the query. Note that the + // debugging stats are subject to change as Firestore evolves. It could + // include: + // { + // "indexes_entries_scanned": "1000", + // "documents_scanned": "20", + // "billing_details" : { + // "documents_billable": "20", + // "index_entries_billable": "1000", + // "min_query_cost": "0" + // } + // } + google.protobuf.Struct debug_stats = 5; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/datastore.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/datastore.proto new file mode 100644 index 00000000..377a055e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/datastore.proto @@ -0,0 +1,407 @@ +// Copyright 2024 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.datastore.v1beta3; + +import "google/api/annotations.proto"; +import "google/datastore/v1beta3/entity.proto"; +import "google/datastore/v1beta3/query.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1Beta3"; +option go_package = "cloud.google.com/go/datastore/apiv1beta3/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "DatastoreProto"; +option java_package = "com.google.datastore.v1beta3"; +option php_namespace = "Google\\Cloud\\Datastore\\V1beta3"; +option ruby_package = "Google::Cloud::Datastore::V1beta3"; + +// Each RPC normalizes the partition IDs of the keys in its input entities, +// and always returns entities with keys with normalized partition IDs. +// This applies to all keys and entities, including those in values, except keys +// with both an empty path and an empty or unset partition ID. Normalization of +// input keys sets the project ID (if not already set) to the project ID from +// the request. +// +service Datastore { + // Looks up entities by key. + rpc Lookup(LookupRequest) returns (LookupResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:lookup" + body: "*" + }; + } + + // Queries for entities. + rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:runQuery" + body: "*" + }; + } + + // Begins a new transaction. + rpc BeginTransaction(BeginTransactionRequest) + returns (BeginTransactionResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:beginTransaction" + body: "*" + }; + } + + // Commits a transaction, optionally creating, deleting or modifying some + // entities. + rpc Commit(CommitRequest) returns (CommitResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:commit" + body: "*" + }; + } + + // Rolls back a transaction. + rpc Rollback(RollbackRequest) returns (RollbackResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:rollback" + body: "*" + }; + } + + // Allocates IDs for the given keys, which is useful for referencing an entity + // before it is inserted. + rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:allocateIds" + body: "*" + }; + } + + // Prevents the supplied keys' IDs from being auto-allocated by Cloud + // Datastore. + rpc ReserveIds(ReserveIdsRequest) returns (ReserveIdsResponse) { + option (google.api.http) = { + post: "/v1beta3/projects/{project_id}:reserveIds" + body: "*" + }; + } +} + +// The request for +// [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup]. +message LookupRequest { + // The ID of the project against which to make the request. + string project_id = 8; + + // The options for this lookup request. + ReadOptions read_options = 1; + + // Keys of entities to look up. + repeated Key keys = 3; +} + +// The response for +// [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup]. +message LookupResponse { + // Entities found as `ResultType.FULL` entities. The order of results in this + // field is undefined and has no relation to the order of the keys in the + // input. + repeated EntityResult found = 1; + + // Entities not found as `ResultType.KEY_ONLY` entities. The order of results + // in this field is undefined and has no relation to the order of the keys + // in the input. + repeated EntityResult missing = 2; + + // A list of keys that were not looked up due to resource constraints. The + // order of results in this field is undefined and has no relation to the + // order of the keys in the input. + repeated Key deferred = 3; +} + +// The request for +// [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery]. +message RunQueryRequest { + // The ID of the project against which to make the request. + string project_id = 8; + + // Entities are partitioned into subsets, identified by a partition ID. + // Queries are scoped to a single partition. + // This partition ID is normalized with the standard default context + // partition ID. + PartitionId partition_id = 2; + + // The options for this query. + ReadOptions read_options = 1; + + // The type of query. + oneof query_type { + // The query to run. + Query query = 3; + + // The GQL query to run. + GqlQuery gql_query = 7; + } +} + +// The response for +// [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery]. +message RunQueryResponse { + // A batch of query results (always present). + QueryResultBatch batch = 1; + + // The parsed form of the `GqlQuery` from the request, if it was set. + Query query = 2; +} + +// The request for +// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. +message BeginTransactionRequest { + // The ID of the project against which to make the request. + string project_id = 8; + + // Options for a new transaction. + TransactionOptions transaction_options = 10; +} + +// The response for +// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. +message BeginTransactionResponse { + // The transaction identifier (always present). + bytes transaction = 1; +} + +// The request for +// [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback]. +message RollbackRequest { + // The ID of the project against which to make the request. + string project_id = 8; + + // The transaction identifier, returned by a call to + // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. + bytes transaction = 1; +} + +// The response for +// [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback]. (an empty +// message). +message RollbackResponse {} + +// The request for +// [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit]. +message CommitRequest { + // The modes available for commits. + enum Mode { + // Unspecified. This value must not be used. + MODE_UNSPECIFIED = 0; + + // Transactional: The mutations are either all applied, or none are applied. + // Learn about transactions + // [here](https://cloud.google.com/datastore/docs/concepts/transactions). + TRANSACTIONAL = 1; + + // Non-transactional: The mutations may not apply as all or none. + NON_TRANSACTIONAL = 2; + } + + // The ID of the project against which to make the request. + string project_id = 8; + + // The type of commit to perform. Defaults to `TRANSACTIONAL`. + Mode mode = 5; + + // Must be set when mode is `TRANSACTIONAL`. + oneof transaction_selector { + // The identifier of the transaction associated with the commit. A + // transaction identifier is returned by a call to + // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. + bytes transaction = 1; + } + + // The mutations to perform. + // + // When mode is `TRANSACTIONAL`, mutations affecting a single entity are + // applied in order. The following sequences of mutations affecting a single + // entity are not permitted in a single `Commit` request: + // + // - `insert` followed by `insert` + // - `update` followed by `insert` + // - `upsert` followed by `insert` + // - `delete` followed by `update` + // + // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single + // entity. + repeated Mutation mutations = 6; +} + +// The response for +// [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit]. +message CommitResponse { + // The result of performing the mutations. + // The i-th mutation result corresponds to the i-th mutation in the request. + repeated MutationResult mutation_results = 3; + + // The number of index entries updated during the commit, or zero if none were + // updated. + int32 index_updates = 4; +} + +// The request for +// [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds]. +message AllocateIdsRequest { + // The ID of the project against which to make the request. + string project_id = 8; + + // A list of keys with incomplete key paths for which to allocate IDs. + // No key may be reserved/read-only. + repeated Key keys = 1; +} + +// The response for +// [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds]. +message AllocateIdsResponse { + // The keys specified in the request (in the same order), each with + // its key path completed with a newly allocated ID. + repeated Key keys = 1; +} + +// The request for +// [Datastore.ReserveIds][google.datastore.v1beta3.Datastore.ReserveIds]. +message ReserveIdsRequest { + // The ID of the project against which to make the request. + string project_id = 8; + + // If not empty, the ID of the database against which to make the request. + string database_id = 9; + + // A list of keys with complete key paths whose numeric IDs should not be + // auto-allocated. + repeated Key keys = 1; +} + +// The response for +// [Datastore.ReserveIds][google.datastore.v1beta3.Datastore.ReserveIds]. +message ReserveIdsResponse {} + +// A mutation to apply to an entity. +message Mutation { + // The mutation operation. + // + // For `insert`, `update`, and `upsert`: + // - The entity's key must not be reserved/read-only. + // - No property in the entity may have a reserved name, + // not even a property in an entity in a value. + // - No value in the entity may have meaning 18, + // not even a value in an entity in another value. + oneof operation { + // The entity to insert. The entity must not already exist. + // The entity key's final path element may be incomplete. + Entity insert = 4; + + // The entity to update. The entity must already exist. + // Must have a complete key path. + Entity update = 5; + + // The entity to upsert. The entity may or may not already exist. + // The entity key's final path element may be incomplete. + Entity upsert = 6; + + // The key of the entity to delete. The entity may or may not already exist. + // Must have a complete key path and must not be reserved/read-only. + Key delete = 7; + } + + // When set, the server will detect whether or not this mutation conflicts + // with the current version of the entity on the server. Conflicting mutations + // are not applied, and are marked as such in MutationResult. + oneof conflict_detection_strategy { + // The version of the entity that this mutation is being applied to. If this + // does not match the current version on the server, the mutation conflicts. + int64 base_version = 8; + } +} + +// The result of applying a mutation. +message MutationResult { + // The automatically allocated key. + // Set only when the mutation allocated a key. + Key key = 3; + + // The version of the entity on the server after processing the mutation. If + // the mutation doesn't change anything on the server, then the version will + // be the version of the current entity or, if no entity is present, a version + // that is strictly greater than the version of any previous entity and less + // than the version of any possible future entity. + int64 version = 4; + + // Whether a conflict was detected for this mutation. Always false when a + // conflict detection strategy field is not set in the mutation. + bool conflict_detected = 5; +} + +// The options shared by read requests. +message ReadOptions { + // The possible values for read consistencies. + enum ReadConsistency { + // Unspecified. This value must not be used. + READ_CONSISTENCY_UNSPECIFIED = 0; + + // Strong consistency. + STRONG = 1; + + // Eventual consistency. + EVENTUAL = 2; + } + + // If not specified, lookups and ancestor queries default to + // `read_consistency`=`STRONG`, global queries default to + // `read_consistency`=`EVENTUAL`. + oneof consistency_type { + // The non-transactional read consistency to use. + // Cannot be set to `STRONG` for global queries. + ReadConsistency read_consistency = 1; + + // The identifier of the transaction in which to read. A + // transaction identifier is returned by a call to + // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction]. + bytes transaction = 2; + } +} + +// Options for beginning a new transaction. +// +// Transactions can be created explicitly with calls to +// [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction] +// or implicitly by setting +// [ReadOptions.new_transaction][google.datastore.v1beta3.ReadOptions.new_transaction] +// in read requests. +message TransactionOptions { + // Options specific to read / write transactions. + message ReadWrite { + // The transaction identifier of the transaction being retried. + bytes previous_transaction = 1; + } + + // Options specific to read-only transactions. + message ReadOnly {} + + // The `mode` of the transaction, indicating whether write operations are + // supported. + oneof mode { + // The transaction should allow both reads and writes. + ReadWrite read_write = 1; + + // The transaction should only allow reads. + ReadOnly read_only = 2; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/entity.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/entity.proto new file mode 100644 index 00000000..cc8452a5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/entity.proto @@ -0,0 +1,205 @@ +// Copyright 2024 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.datastore.v1beta3; + +import "google/api/annotations.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/latlng.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1Beta3"; +option go_package = "cloud.google.com/go/datastore/apiv1beta3/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "EntityProto"; +option java_package = "com.google.datastore.v1beta3"; +option php_namespace = "Google\\Cloud\\Datastore\\V1beta3"; +option ruby_package = "Google::Cloud::Datastore::V1beta3"; + +// A partition ID identifies a grouping of entities. The grouping is always +// by project and namespace, however the namespace ID may be empty. +// +// A partition ID contains several dimensions: +// project ID and namespace ID. +// +// Partition dimensions: +// +// - May be `""`. +// - Must be valid UTF-8 bytes. +// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` +// If the value of any dimension matches regex `__.*__`, the partition is +// reserved/read-only. +// A reserved/read-only partition ID is forbidden in certain documented +// contexts. +// +// Foreign partition IDs (in which the project ID does +// not match the context project ID ) are discouraged. +// Reads and writes of foreign partition IDs may fail if the project is not in +// an active state. +message PartitionId { + // The ID of the project to which the entities belong. + string project_id = 2; + + // If not empty, the ID of the namespace to which the entities belong. + string namespace_id = 4; +} + +// A unique identifier for an entity. +// If a key's partition ID or any of its path kinds or names are +// reserved/read-only, the key is reserved/read-only. +// A reserved/read-only key is forbidden in certain documented contexts. +message Key { + // A (kind, ID/name) pair used to construct a key path. + // + // If either name or ID is set, the element is complete. + // If neither is set, the element is incomplete. + message PathElement { + // The kind of the entity. + // A kind matching regex `__.*__` is reserved/read-only. + // A kind must not contain more than 1500 bytes when UTF-8 encoded. + // Cannot be `""`. + string kind = 1; + + // The type of ID. + oneof id_type { + // The auto-allocated ID of the entity. + // Never equal to zero. Values less than zero are discouraged and may not + // be supported in the future. + int64 id = 2; + + // The name of the entity. + // A name matching regex `__.*__` is reserved/read-only. + // A name must not be more than 1500 bytes when UTF-8 encoded. + // Cannot be `""`. + string name = 3; + } + } + + // Entities are partitioned into subsets, currently identified by a project + // ID and namespace ID. + // Queries are scoped to a single partition. + PartitionId partition_id = 1; + + // The entity path. + // An entity path consists of one or more elements composed of a kind and a + // string or numerical identifier, which identify entities. The first + // element identifies a _root entity_, the second element identifies + // a _child_ of the root entity, the third element identifies a child of the + // second entity, and so forth. The entities identified by all prefixes of + // the path are called the element's _ancestors_. + // + // An entity path is always fully complete: *all* of the entity's ancestors + // are required to be in the path along with the entity identifier itself. + // The only exception is that in some documented cases, the identifier in the + // last path element (for the entity) itself may be omitted. For example, + // the last path element of the key of `Mutation.insert` may have no + // identifier. + // + // A path can never be empty, and a path can have at most 100 elements. + repeated PathElement path = 2; +} + +// An array value. +message ArrayValue { + // Values in the array. + // The order of this array may not be preserved if it contains a mix of + // indexed and unindexed values. + repeated Value values = 1; +} + +// A message that can hold any of the supported value types and associated +// metadata. +message Value { + // Must have a value set. + oneof value_type { + // A null value. + google.protobuf.NullValue null_value = 11; + + // A boolean value. + bool boolean_value = 1; + + // An integer value. + int64 integer_value = 2; + + // A double value. + double double_value = 3; + + // A timestamp value. + // When stored in the Datastore, precise only to microseconds; + // any additional precision is rounded down. + google.protobuf.Timestamp timestamp_value = 10; + + // A key value. + Key key_value = 5; + + // A UTF-8 encoded string value. + // When `exclude_from_indexes` is false (it is indexed), may have at most + // 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes. + string string_value = 17; + + // A blob value. + // May have at most 1,000,000 bytes. + // When `exclude_from_indexes` is false, may have at most 1500 bytes. + // In JSON requests, must be base64-encoded. + bytes blob_value = 18; + + // A geo point value representing a point on the surface of Earth. + google.type.LatLng geo_point_value = 8; + + // An entity value. + // + // - May have no key. + // - May have a key with an incomplete key path. + // - May have a reserved/read-only key. + Entity entity_value = 6; + + // An array value. + // Cannot contain another array value. + // A `Value` instance that sets field `array_value` must not set fields + // `meaning` or `exclude_from_indexes`. + ArrayValue array_value = 9; + } + + // The `meaning` field should only be populated for backwards compatibility. + int32 meaning = 14; + + // If the value should be excluded from all indexes including those defined + // explicitly. + bool exclude_from_indexes = 19; +} + +// A Datastore data object. +// +// An entity is limited to 1 megabyte when stored. That _roughly_ +// corresponds to a limit of 1 megabyte for the serialized form of this +// message. +message Entity { + // The entity's key. + // + // An entity must have a key, unless otherwise documented (for example, + // an entity in `Value.entity_value` may have no key). + // An entity's kind is its key path's last element's kind, + // or null if it has no key. + Key key = 1; + + // The entity's properties. + // The map's keys are property names. + // A property name matching regex `__.*__` is reserved. + // A reserved property name is forbidden in certain documented contexts. + // The name must not contain more than 500 characters. + // The name cannot be `""`. + map properties = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/query.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/query.proto new file mode 100644 index 00000000..74b29155 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/datastore/v1beta3/query.proto @@ -0,0 +1,314 @@ +// Copyright 2024 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.datastore.v1beta3; + +import "google/api/annotations.proto"; +import "google/datastore/v1beta3/entity.proto"; +import "google/protobuf/wrappers.proto"; +import "google/type/latlng.proto"; + +option csharp_namespace = "Google.Cloud.Datastore.V1Beta3"; +option go_package = "cloud.google.com/go/datastore/apiv1beta3/datastorepb;datastorepb"; +option java_multiple_files = true; +option java_outer_classname = "QueryProto"; +option java_package = "com.google.datastore.v1beta3"; +option php_namespace = "Google\\Cloud\\Datastore\\V1beta3"; +option ruby_package = "Google::Cloud::Datastore::V1beta3"; + +// The result of fetching an entity from Datastore. +message EntityResult { + // Specifies what data the 'entity' field contains. + // A `ResultType` is either implied (for example, in `LookupResponse.missing` + // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context + // (for example, in message `QueryResultBatch`, field `entity_result_type` + // specifies a `ResultType` for all the values in field `entity_results`). + enum ResultType { + // Unspecified. This value is never used. + RESULT_TYPE_UNSPECIFIED = 0; + + // The key and properties. + FULL = 1; + + // A projected subset of properties. The entity may have no key. + PROJECTION = 2; + + // Only the key. + KEY_ONLY = 3; + } + + // The resulting entity. + Entity entity = 1; + + // The version of the entity, a strictly positive number that monotonically + // increases with changes to the entity. + // + // This field is set for + // [`FULL`][google.datastore.v1beta3.EntityResult.ResultType.FULL] entity + // results. + // + // For [missing][google.datastore.v1beta3.LookupResponse.missing] entities in + // `LookupResponse`, this is the version of the snapshot that was used to look + // up the entity, and it is always set except for eventually consistent reads. + int64 version = 4; + + // A cursor that points to the position after the result entity. + // Set only when the `EntityResult` is part of a `QueryResultBatch` message. + bytes cursor = 3; +} + +// A query for entities. +message Query { + // The projection to return. Defaults to returning all properties. + repeated Projection projection = 2; + + // The kinds to query (if empty, returns entities of all kinds). + // Currently at most 1 kind may be specified. + repeated KindExpression kind = 3; + + // The filter to apply. + Filter filter = 4; + + // The order to apply to the query results (if empty, order is unspecified). + repeated PropertyOrder order = 5; + + // The properties to make distinct. The query results will contain the first + // result for each distinct combination of values for the given properties + // (if empty, all results are returned). + repeated PropertyReference distinct_on = 6; + + // A starting point for the query results. Query cursors are + // returned in query result batches and + // [can only be used to continue the same + // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + bytes start_cursor = 7; + + // An ending point for the query results. Query cursors are + // returned in query result batches and + // [can only be used to limit the same + // query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets). + bytes end_cursor = 8; + + // The number of results to skip. Applies before limit, but after all other + // constraints. Optional. Must be >= 0 if specified. + int32 offset = 10; + + // The maximum number of results to return. Applies after all other + // constraints. Optional. + // Unspecified is interpreted as no limit. + // Must be >= 0 if specified. + google.protobuf.Int32Value limit = 12; +} + +// A representation of a kind. +message KindExpression { + // The name of the kind. + string name = 1; +} + +// A reference to a property relative to the kind expressions. +message PropertyReference { + // The name of the property. + // If name includes "."s, it may be interpreted as a property name path. + string name = 2; +} + +// A representation of a property in a projection. +message Projection { + // The property to project. + PropertyReference property = 1; +} + +// The desired order for a specific property. +message PropertyOrder { + // The sort direction. + enum Direction { + // Unspecified. This value must not be used. + DIRECTION_UNSPECIFIED = 0; + + // Ascending. + ASCENDING = 1; + + // Descending. + DESCENDING = 2; + } + + // The property to order by. + PropertyReference property = 1; + + // The direction to order by. Defaults to `ASCENDING`. + Direction direction = 2; +} + +// A holder for any type of filter. +message Filter { + // The type of filter. + oneof filter_type { + // A composite filter. + CompositeFilter composite_filter = 1; + + // A filter on a property. + PropertyFilter property_filter = 2; + } +} + +// A filter that merges multiple other filters using the given operator. +message CompositeFilter { + // A composite filter operator. + enum Operator { + // Unspecified. This value must not be used. + OPERATOR_UNSPECIFIED = 0; + + // The results are required to satisfy each of the combined filters. + AND = 1; + } + + // The operator for combining multiple filters. + Operator op = 1; + + // The list of filters to combine. + // Must contain at least one filter. + repeated Filter filters = 2; +} + +// A filter on a specific property. +message PropertyFilter { + // A property filter operator. + enum Operator { + // Unspecified. This value must not be used. + OPERATOR_UNSPECIFIED = 0; + + // Less than. + LESS_THAN = 1; + + // Less than or equal. + LESS_THAN_OR_EQUAL = 2; + + // Greater than. + GREATER_THAN = 3; + + // Greater than or equal. + GREATER_THAN_OR_EQUAL = 4; + + // Equal. + EQUAL = 5; + + // Has ancestor. + HAS_ANCESTOR = 11; + } + + // The property to filter by. + PropertyReference property = 1; + + // The operator to filter by. + Operator op = 2; + + // The value to compare the property to. + Value value = 3; +} + +// A [GQL +// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). +message GqlQuery { + // A string of the format described + // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). + string query_string = 1; + + // When false, the query string must not contain any literals and instead must + // bind all values. For example, + // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while + // `SELECT * FROM Kind WHERE a = @value` is. + bool allow_literals = 2; + + // For each non-reserved named binding site in the query string, there must be + // a named parameter with that name, but not necessarily the inverse. + // + // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex + // `__.*__`, and must not be `""`. + map named_bindings = 5; + + // Numbered binding site @1 references the first numbered parameter, + // effectively using 1-based indexing, rather than the usual 0. + // + // For each binding site numbered i in `query_string`, there must be an i-th + // numbered parameter. The inverse must also be true. + repeated GqlQueryParameter positional_bindings = 4; +} + +// A binding parameter for a GQL query. +message GqlQueryParameter { + // The type of parameter. + oneof parameter_type { + // A value parameter. + Value value = 2; + + // A query cursor. Query cursors are returned in query + // result batches. + bytes cursor = 3; + } +} + +// A batch of results produced by a query. +message QueryResultBatch { + // The possible values for the `more_results` field. + enum MoreResultsType { + // Unspecified. This value is never used. + MORE_RESULTS_TYPE_UNSPECIFIED = 0; + + // There may be additional batches to fetch from this query. + NOT_FINISHED = 1; + + // The query is finished, but there may be more results after the limit. + MORE_RESULTS_AFTER_LIMIT = 2; + + // The query is finished, but there may be more results after the end + // cursor. + MORE_RESULTS_AFTER_CURSOR = 4; + + // The query is finished, and there are no more results. + NO_MORE_RESULTS = 3; + } + + // The number of results skipped, typically because of an offset. + int32 skipped_results = 6; + + // A cursor that points to the position after the last skipped result. + // Will be set when `skipped_results` != 0. + bytes skipped_cursor = 3; + + // The result type for every entity in `entity_results`. + EntityResult.ResultType entity_result_type = 1; + + // The results for this batch. + repeated EntityResult entity_results = 2; + + // A cursor that points to the position after the last result in the batch. + bytes end_cursor = 4; + + // The state of the query after the current batch. + MoreResultsType more_results = 5; + + // The version number of the snapshot this batch was returned from. + // This applies to the range of results from the query's `start_cursor` (or + // the beginning of the query if no cursor was given) to this batch's + // `end_cursor` (not the query's `end_cursor`). + // + // In a single transaction, subsequent query result batches for the same query + // can have a greater snapshot version number. Each batch's snapshot version + // is valid for all preceding batches. + // The value will be zero for eventually consistent queries. + int64 snapshot_version = 7; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/BUILD.bazel new file mode 100644 index 00000000..8725fa7b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-iam. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for iam. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v2 in this case. +ruby_cloud_gapic_library( + name = "iam_ruby_wrapper", + srcs = ["//google/iam/v2:iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-iam", + "ruby-cloud-wrapper-of=v2:0.5", + "ruby-cloud-product-url=https://cloud.google.com/iam", + "ruby-cloud-api-id=iam.googleapis.com", + "ruby-cloud-api-shortname=iam", + ], + ruby_cloud_description = "Manages identity and access control policies for Google Cloud Platform resources.", + ruby_cloud_title = "IAM", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-iam-ruby", + deps = [ + ":iam_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/README.md new file mode 100644 index 00000000..c78554d8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/README.md @@ -0,0 +1,24 @@ +## IAM (Identity and Access Management) Protos + +This folder contains [protocol buffer][protobuf] types which represent IAM +(Identity and Access Management) concepts plus a mix-in service declaration (IAMPolicy) +which can be inherited by APIs so that they follow a consistent pattern for +IAM operations. + +### Key Concepts + +- **Binding**: Associates a list of identities with a particular role. An identity can + match things like all users, all authenticated users, a single user, a single service + account, a single group, or a single domain. A role is a permission defined by IAM, such as + `roles/viewer`, `roles/editor`, or `roles/owner`. +- **Policy**: A list of bindings where each role can only appear once. It also contains + a version to track iterations of the bindings. + +### Key Service definitions + +- **IAMPolicy**: This is a mix-in service which defines three operations: + - `SetIamPolicy`: Sets the access control policy on the specified resource. + - `GetIamPolicy`: Gets the access control policy for a resource. + - `TestIamPermissions`: Returns permissions that a caller has on the specified resource. + +[protobuf]: https://developers.google.com/protocol-buffers/ diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/BUILD.bazel new file mode 100644 index 00000000..178cf4e3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/BUILD.bazel @@ -0,0 +1,386 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "admin_proto", + srcs = [ + "audit_data.proto", + "iam.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/iam/v1:iam_policy_proto", + "//google/iam/v1:policy_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "admin_proto_with_info", + deps = [ + ":admin_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "admin_java_proto", + deps = [":admin_proto"], +) + +java_grpc_library( + name = "admin_java_grpc", + srcs = [":admin_proto"], + deps = [":admin_java_proto"], +) + +java_gapic_library( + name = "admin_java_gapic", + srcs = [":admin_proto_with_info"], + # This was manually replaced - build_gen shouldn't have removed it. + gapic_yaml = "iam_gapic.yaml", + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + test_deps = [ + ":admin_java_grpc", + "//google/iam/v1:iam_java_grpc", + ], + transport = "grpc", + deps = [ + ":admin_java_proto", + "//google/api:api_java_proto", + "//google/iam/v1:iam_java_proto", + ], +) + +java_gapic_test( + name = "admin_java_gapic_test_suite", + # This was manually named IAMClientTest - build_gen attempts to rename it to + # IamClientTest. + test_classes = [ + # Java package override from gapic.yaml. + "com.google.cloud.iam.admin.v1.IAMClientTest", + ], + runtime_deps = [":admin_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-iam-admin-v1-java", + include_samples = True, + transport = "grpc", + deps = [ + ":admin_java_gapic", + ":admin_java_grpc", + ":admin_java_proto", + ":admin_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "admin_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/admin/apiv1/adminpb", + protos = [":admin_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "admin_go_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + importpath = "cloud.google.com/go/iam/admin/apiv1;admin", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + transport = "grpc", + deps = [ + ":admin_go_proto", + "//google/iam/v1:iam_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-admin-v1-go", + deps = [ + ":admin_go_gapic", + ":admin_go_gapic_srcjar-metadata.srcjar", + ":admin_go_gapic_srcjar-snippets.srcjar", + ":admin_go_gapic_srcjar-test.srcjar", + ":admin_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "admin_py_gapic", + srcs = [":admin_proto"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + transport = "grpc", + deps = [ + "//google/iam/v1:iam_policy_py_proto", + ], + opt_args = [ + "python-gapic-name=iam_admin", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-iam", + ], +) + +py_test( + name = "admin_py_gapic_test", + srcs = [ + "admin_py_gapic_pytest.py", + "admin_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":admin_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "iam-admin-v1-py", + deps = [ + ":admin_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "admin_php_proto", + deps = [":admin_proto"], +) + +php_gapic_library( + name = "admin_php_gapic", + srcs = [":admin_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + transport = "grpc+rest", + deps = [":admin_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-iam-admin-v1-php", + deps = [ + ":admin_php_gapic", + ":admin_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "admin_nodejs_gapic", + package_name = "@google-cloud/admin", + src = ":admin_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "iam_grpc_service_config.json", + package = "google.iam.admin.v1", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + transport = "grpc", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "iam-admin-v1-nodejs", + deps = [ + ":admin_nodejs_gapic", + ":admin_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "admin_ruby_proto", + deps = [":admin_proto"], +) + +ruby_grpc_library( + name = "admin_ruby_grpc", + srcs = [":admin_proto"], + deps = [":admin_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "admin_ruby_gapic", + srcs = [":admin_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-iam-admin-v1"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + transport = "grpc", + deps = [ + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-iam-admin-v1-ruby", + deps = [ + ":admin_ruby_gapic", + ":admin_ruby_grpc", + ":admin_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "admin_csharp_proto", + deps = [":admin_proto"], +) + +csharp_grpc_library( + name = "admin_csharp_grpc", + srcs = [":admin_proto"], + deps = [":admin_csharp_proto"], +) + +csharp_gapic_library( + name = "admin_csharp_gapic", + srcs = [":admin_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam.yaml", + transport = "grpc", + deps = [ + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-iam-admin-v1-csharp", + deps = [ + ":admin_csharp_gapic", + ":admin_csharp_grpc", + ":admin_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "admin_cc_proto", + deps = [":admin_proto"], +) + +cc_grpc_library( + name = "admin_cc_grpc", + srcs = [":admin_proto"], + grpc_only = True, + deps = [":admin_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/audit_data.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/audit_data.proto new file mode 100644 index 00000000..8f350872 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/audit_data.proto @@ -0,0 +1,42 @@ +// Copyright 2024 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.iam.admin.v1; + +option csharp_namespace = "Google.Cloud.Iam.Admin.V1"; +option go_package = "cloud.google.com/go/iam/admin/apiv1/adminpb;adminpb"; +option java_multiple_files = true; +option java_outer_classname = "AuditDataProto"; +option java_package = "com.google.iam.admin.v1"; +option php_namespace = "Google\\Cloud\\Iam\\Admin\\V1"; + +// Audit log information specific to Cloud IAM admin APIs. This message is +// serialized as an `Any` type in the `ServiceData` message of an +// `AuditLog` message. +message AuditData { + // A PermissionDelta message to record the added_permissions and + // removed_permissions inside a role. + message PermissionDelta { + // Added permissions. + repeated string added_permissions = 1; + + // Removed permissions. + repeated string removed_permissions = 2; + } + + // The permission_delta when when creating or updating a Role. + PermissionDelta permission_delta = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam.proto new file mode 100644 index 00000000..8d3fe5cd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam.proto @@ -0,0 +1,1623 @@ +// Copyright 2024 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.iam.admin.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/iam_policy.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/expr.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Iam.Admin.V1"; +option go_package = "cloud.google.com/go/iam/admin/apiv1/adminpb;adminpb"; +option java_multiple_files = true; +option java_package = "com.google.iam.admin.v1"; +option php_namespace = "Google\\Cloud\\Iam\\Admin\\V1"; + +// Creates and manages Identity and Access Management (IAM) resources. +// +// You can use this service to work with all of the following resources: +// +// * **Service accounts**, which identify an application or a virtual machine +// (VM) instance rather than a person +// * **Service account keys**, which service accounts use to authenticate with +// Google APIs +// * **IAM policies for service accounts**, which specify the roles that a +// principal has for the service account +// * **IAM custom roles**, which help you limit the number of permissions that +// you grant to principals +// +// In addition, you can use this service to complete the following tasks, among +// others: +// +// * Test whether a service account can use specific permissions +// * Check which roles you can grant for a specific resource +// * Lint, or validate, condition expressions in an IAM policy +// +// When you read data from the IAM API, each read is eventually consistent. In +// other words, if you write data with the IAM API, then immediately read that +// data, the read operation might return an older version of the data. To deal +// with this behavior, your application can retry the request with truncated +// exponential backoff. +// +// In contrast, writing data to the IAM API is sequentially consistent. In other +// words, write operations are always processed in the order in which they were +// received. +service IAM { + option (google.api.default_host) = "iam.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project. + rpc ListServiceAccounts(ListServiceAccountsRequest) returns (ListServiceAccountsResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*}/serviceAccounts" + }; + option (google.api.method_signature) = "name"; + } + + // Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + rpc GetServiceAccount(GetServiceAccountRequest) returns (ServiceAccount) { + option (google.api.http) = { + get: "/v1/{name=projects/*/serviceAccounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + rpc CreateServiceAccount(CreateServiceAccountRequest) returns (ServiceAccount) { + option (google.api.http) = { + post: "/v1/{name=projects/*}/serviceAccounts" + body: "*" + }; + option (google.api.method_signature) = "name,account_id,service_account"; + } + + // **Note:** We are in the process of deprecating this method. Use + // [PatchServiceAccount][google.iam.admin.v1.IAM.PatchServiceAccount] instead. + // + // Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + // + // You can update only the `display_name` field. + rpc UpdateServiceAccount(ServiceAccount) returns (ServiceAccount) { + option (google.api.http) = { + put: "/v1/{name=projects/*/serviceAccounts/*}" + body: "*" + }; + } + + // Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + rpc PatchServiceAccount(PatchServiceAccountRequest) returns (ServiceAccount) { + option (google.api.http) = { + patch: "/v1/{service_account.name=projects/*/serviceAccounts/*}" + body: "*" + }; + } + + // Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + // + // **Warning:** After you delete a service account, you might not be able to + // undelete it. If you know that you need to re-enable the service account in + // the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead. + // + // If you delete a service account, IAM permanently removes the service + // account 30 days later. Google Cloud cannot recover the service account + // after it is permanently removed, even if you file a support request. + // + // To help avoid unplanned outages, we recommend that you disable the service + // account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the + // service account, then wait at least 24 hours and watch for unintended + // consequences. If there are no unintended consequences, you can delete the + // service account. + rpc DeleteServiceAccount(DeleteServiceAccountRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/serviceAccounts/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + // + // **Important:** It is not always possible to restore a deleted service + // account. Use this method only as a last resort. + // + // After you delete a service account, IAM permanently removes the service + // account 30 days later. There is no way to restore a deleted service account + // that has been permanently removed. + rpc UndeleteServiceAccount(UndeleteServiceAccountRequest) returns (UndeleteServiceAccountResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:undelete" + body: "*" + }; + } + + // Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by + // [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount]. + // + // If the service account is already enabled, then this method has no effect. + // + // If the service account was disabled by other means—for example, if Google + // disabled the service account because it was compromised—you cannot use this + // method to enable the service account. + rpc EnableServiceAccount(EnableServiceAccountRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:enable" + body: "*" + }; + } + + // Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately. + // + // If an application uses the service account to authenticate, that + // application can no longer call Google APIs or access Google Cloud + // resources. Existing access tokens for the service account are rejected, and + // requests for new access tokens will fail. + // + // To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you + // re-enable the service account, its existing access tokens will be accepted, + // and you can request new access tokens. + // + // To help avoid unplanned outages, we recommend that you disable the service + // account before you delete it. Use this method to disable the service + // account, then wait at least 24 hours and watch for unintended consequences. + // If there are no unintended consequences, you can delete the service account + // with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount]. + rpc DisableServiceAccount(DisableServiceAccountRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:disable" + body: "*" + }; + } + + // Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account. + rpc ListServiceAccountKeys(ListServiceAccountKeysRequest) returns (ListServiceAccountKeysResponse) { + option (google.api.http) = { + get: "/v1/{name=projects/*/serviceAccounts/*}/keys" + }; + option (google.api.method_signature) = "name,key_types"; + } + + // Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. + rpc GetServiceAccountKey(GetServiceAccountKeyRequest) returns (ServiceAccountKey) { + option (google.api.http) = { + get: "/v1/{name=projects/*/serviceAccounts/*/keys/*}" + }; + option (google.api.method_signature) = "name,public_key_type"; + } + + // Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. + rpc CreateServiceAccountKey(CreateServiceAccountKeyRequest) returns (ServiceAccountKey) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}/keys" + body: "*" + }; + option (google.api.method_signature) = "name,private_key_type,key_algorithm"; + } + + // Uploads the public key portion of a key pair that you manage, and + // associates the public key with a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + // + // After you upload the public key, you can use the private key from the key + // pair as a service account key. + rpc UploadServiceAccountKey(UploadServiceAccountKeyRequest) returns (ServiceAccountKey) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}/keys:upload" + body: "*" + }; + } + + // Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. Deleting a service account key does not + // revoke short-lived credentials that have been issued based on the service + // account key. + rpc DeleteServiceAccountKey(DeleteServiceAccountKeyRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/serviceAccounts/*/keys/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. A disabled service account key can be + // re-enabled with [EnableServiceAccountKey][google.iam.admin.v1.IAM.EnableServiceAccountKey]. + rpc DisableServiceAccountKey(DisableServiceAccountKeyRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*/keys/*}:disable" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. + rpc EnableServiceAccountKey(EnableServiceAccountKeyRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*/keys/*}:enable" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // **Note:** This method is deprecated. Use the + // [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) + // method in the IAM Service Account Credentials API instead. If you currently + // use this method, see the [migration + // guide](https://cloud.google.com/iam/help/credentials/migrate-api) for + // instructions. + // + // Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + rpc SignBlob(SignBlobRequest) returns (SignBlobResponse) { + option deprecated = true; + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:signBlob" + body: "*" + }; + option (google.api.method_signature) = "name,bytes_to_sign"; + } + + // **Note:** This method is deprecated. Use the + // [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) + // method in the IAM Service Account Credentials API instead. If you currently + // use this method, see the [migration + // guide](https://cloud.google.com/iam/help/credentials/migrate-api) for + // instructions. + // + // Signs a JSON Web Token (JWT) using the system-managed private key for a + // [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + rpc SignJwt(SignJwtRequest) returns (SignJwtResponse) { + option deprecated = true; + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:signJwt" + body: "*" + }; + option (google.api.method_signature) = "name,payload"; + } + + // Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. This IAM + // policy specifies which principals have access to the service account. + // + // This method does not tell you whether the service account has been granted + // any roles on other resources. To check whether a service account has role + // grants on a resource, use the `getIamPolicy` method for that resource. For + // example, to view the role grants for a project, call the Resource Manager + // API's + // [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) + // method. + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/serviceAccounts/*}:getIamPolicy" + }; + option (google.api.method_signature) = "resource"; + } + + // Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + // + // Use this method to grant or revoke access to the service account. For + // example, you could grant a principal the ability to impersonate the service + // account. + // + // This method does not enable the service account to access other resources. + // To grant roles to a service account on a resource, follow these steps: + // + // 1. Call the resource's `getIamPolicy` method to get its current IAM policy. + // 2. Edit the policy so that it binds the service account to an IAM role for + // the resource. + // 3. Call the resource's `setIamPolicy` method to update its IAM policy. + // + // For detailed instructions, see + // [Manage access to project, folders, and + // organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) + // or [Manage access to other + // resources](https://cloud.google.com/iam/help/access/manage-other-resources). + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/serviceAccounts/*}:setIamPolicy" + body: "*" + }; + option (google.api.method_signature) = "resource,policy"; + } + + // Tests whether the caller has the specified permissions on a + // [ServiceAccount][google.iam.admin.v1.ServiceAccount]. + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/serviceAccounts/*}:testIamPermissions" + body: "*" + }; + option (google.api.method_signature) = "resource,permissions"; + } + + // Lists roles that can be granted on a Google Cloud resource. A role is + // grantable if the IAM policy for the resource can contain bindings to the + // role. + rpc QueryGrantableRoles(QueryGrantableRolesRequest) returns (QueryGrantableRolesResponse) { + option (google.api.http) = { + post: "/v1/roles:queryGrantableRoles" + body: "*" + }; + option (google.api.method_signature) = "full_resource_name"; + } + + // Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role + // that is defined for an organization or project. + rpc ListRoles(ListRolesRequest) returns (ListRolesResponse) { + option (google.api.http) = { + get: "/v1/roles" + additional_bindings { + get: "/v1/{parent=organizations/*}/roles" + } + additional_bindings { + get: "/v1/{parent=projects/*}/roles" + } + }; + } + + // Gets the definition of a [Role][google.iam.admin.v1.Role]. + rpc GetRole(GetRoleRequest) returns (Role) { + option (google.api.http) = { + get: "/v1/{name=roles/*}" + additional_bindings { + get: "/v1/{name=organizations/*/roles/*}" + } + additional_bindings { + get: "/v1/{name=projects/*/roles/*}" + } + }; + } + + // Creates a new custom [Role][google.iam.admin.v1.Role]. + rpc CreateRole(CreateRoleRequest) returns (Role) { + option (google.api.http) = { + post: "/v1/{parent=organizations/*}/roles" + body: "*" + additional_bindings { + post: "/v1/{parent=projects/*}/roles" + body: "*" + } + }; + } + + // Updates the definition of a custom [Role][google.iam.admin.v1.Role]. + rpc UpdateRole(UpdateRoleRequest) returns (Role) { + option (google.api.http) = { + patch: "/v1/{name=organizations/*/roles/*}" + body: "role" + additional_bindings { + patch: "/v1/{name=projects/*/roles/*}" + body: "role" + } + }; + } + + // Deletes a custom [Role][google.iam.admin.v1.Role]. + // + // When you delete a custom role, the following changes occur immediately: + // + // * You cannot bind a principal to the custom role in an IAM + // [Policy][google.iam.v1.Policy]. + // * Existing bindings to the custom role are not changed, but they have no + // effect. + // * By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom + // role. + // + // You have 7 days to undelete the custom role. After 7 days, the following + // changes occur: + // + // * The custom role is permanently deleted and cannot be recovered. + // * If an IAM policy contains a binding to the custom role, the binding is + // permanently removed. + rpc DeleteRole(DeleteRoleRequest) returns (Role) { + option (google.api.http) = { + delete: "/v1/{name=organizations/*/roles/*}" + additional_bindings { + delete: "/v1/{name=projects/*/roles/*}" + } + }; + } + + // Undeletes a custom [Role][google.iam.admin.v1.Role]. + rpc UndeleteRole(UndeleteRoleRequest) returns (Role) { + option (google.api.http) = { + post: "/v1/{name=organizations/*/roles/*}:undelete" + body: "*" + additional_bindings { + post: "/v1/{name=projects/*/roles/*}:undelete" + body: "*" + } + }; + } + + // Lists every permission that you can test on a resource. A permission is + // testable if you can check whether a principal has that permission on the + // resource. + rpc QueryTestablePermissions(QueryTestablePermissionsRequest) returns (QueryTestablePermissionsResponse) { + option (google.api.http) = { + post: "/v1/permissions:queryTestablePermissions" + body: "*" + }; + } + + // Returns a list of services that allow you to opt into audit logs that are + // not generated by default. + // + // To learn more about audit logs, see the [Logging + // documentation](https://cloud.google.com/logging/docs/audit). + rpc QueryAuditableServices(QueryAuditableServicesRequest) returns (QueryAuditableServicesResponse) { + option (google.api.http) = { + post: "/v1/iamPolicies:queryAuditableServices" + body: "*" + }; + } + + // Lints, or validates, an IAM policy. Currently checks the + // [google.iam.v1.Binding.condition][google.iam.v1.Binding.condition] field, which contains a condition + // expression for a role binding. + // + // Successful calls to this method always return an HTTP `200 OK` status code, + // even if the linter detects an issue in the IAM policy. + rpc LintPolicy(LintPolicyRequest) returns (LintPolicyResponse) { + option (google.api.http) = { + post: "/v1/iamPolicies:lintPolicy" + body: "*" + }; + } +} + +// An IAM service account. +// +// A service account is an account for an application or a virtual machine (VM) +// instance, not a person. You can use a service account to call Google APIs. To +// learn more, read the [overview of service +// accounts](https://cloud.google.com/iam/help/service-accounts/overview). +// +// When you create a service account, you specify the project ID that owns the +// service account, as well as a name that must be unique within the project. +// IAM uses these values to create an email address that identifies the service +// account. +message ServiceAccount { + option (google.api.resource) = { + type: "iam.googleapis.com/ServiceAccount" + pattern: "projects/{project}/serviceAccounts/{service_account}" + }; + + // The resource name of the service account. + // + // Use one of the following formats: + // + // * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` + // * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` + // + // As an alternative, you can use the `-` wildcard character instead of the + // project ID: + // + // * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` + // * `projects/-/serviceAccounts/{UNIQUE_ID}` + // + // When possible, avoid using the `-` wildcard character, because it can cause + // response messages to contain misleading error codes. For example, if you + // try to get the service account + // `projects/-/serviceAccounts/fake@example.com`, which does not exist, the + // response contains an HTTP `403 Forbidden` error instead of a `404 Not + // Found` error. + string name = 1; + + // Output only. The ID of the project that owns the service account. + string project_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The unique, stable numeric ID for the service account. + // + // Each service account retains its unique ID even if you delete the service + // account. For example, if you delete a service account, then create a new + // service account with the same name, the new service account has a different + // unique ID than the deleted service account. + string unique_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The email address of the service account. + string email = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. A user-specified, human-readable name for the service account. The maximum + // length is 100 UTF-8 bytes. + string display_name = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Deprecated. Do not use. + bytes etag = 7 [deprecated = true]; + + // Optional. A user-specified, human-readable description of the service account. The + // maximum length is 256 UTF-8 bytes. + string description = 8 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The OAuth 2.0 client ID for the service account. + string oauth2_client_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Whether the service account is disabled. + bool disabled = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The service account create request. +message CreateServiceAccountRequest { + // Required. The resource name of the project associated with the service + // accounts, such as `projects/my-project-123`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Required. The account id that is used to generate the service account + // email address and a stable unique id. It is unique within a project, + // must be 6-30 characters long, and match the regular expression + // `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035. + string account_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to + // create. Currently, only the following values are user assignable: + // `display_name` and `description`. + ServiceAccount service_account = 3; +} + +// The service account list request. +message ListServiceAccountsRequest { + // Required. The resource name of the project associated with the service + // accounts, such as `projects/my-project-123`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Optional limit on the number of service accounts to include in the + // response. Further accounts can subsequently be obtained by including the + // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token] + // in a subsequent request. + // + // The default is 20, and the maximum is 100. + int32 page_size = 2; + + // Optional pagination token returned in an earlier + // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]. + string page_token = 3; +} + +// The service account list response. +message ListServiceAccountsResponse { + // The list of matching service accounts. + repeated ServiceAccount accounts = 1; + + // To retrieve the next page of results, set + // [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token] + // to this value. + string next_page_token = 2; +} + +// The service account get request. +message GetServiceAccountRequest { + // Required. The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; +} + +// The service account delete request. +message DeleteServiceAccountRequest { + // Required. The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; +} + +// The service account patch request. +// +// You can patch only the `display_name` and `description` fields. You must use +// the `update_mask` field to specify which of these fields you want to patch. +// +// Only the fields specified in the request are guaranteed to be returned in +// the response. Other fields may be empty in the response. +message PatchServiceAccountRequest { + ServiceAccount service_account = 1; + + google.protobuf.FieldMask update_mask = 2; +} + +// The service account undelete request. +message UndeleteServiceAccountRequest { + // The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. + string name = 1; +} + +message UndeleteServiceAccountResponse { + // Metadata for the restored service account. + ServiceAccount restored_account = 1; +} + +// The service account enable request. +message EnableServiceAccountRequest { + // The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1; +} + +// The service account disable request. +message DisableServiceAccountRequest { + // The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1; +} + +// The service account keys list request. +message ListServiceAccountKeysRequest { + // `KeyType` filters to selectively retrieve certain varieties + // of keys. + enum KeyType { + // Unspecified key type. The presence of this in the + // message will immediately result in an error. + KEY_TYPE_UNSPECIFIED = 0; + + // User-managed keys (managed and rotated by the user). + USER_MANAGED = 1; + + // System-managed keys (managed and rotated by Google). + SYSTEM_MANAGED = 2; + } + + // Required. The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // + // Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // Filters the types of keys the user wants to include in the list + // response. Duplicate key types are not allowed. If no key type + // is provided, all keys are returned. + repeated KeyType key_types = 2; +} + +// The service account keys list response. +message ListServiceAccountKeysResponse { + // The public keys for the service account. + repeated ServiceAccountKey keys = 1; +} + +// The service account key get by id request. +message GetServiceAccountKeyRequest { + // Required. The resource name of the service account key in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + // + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/Key" + } + ]; + + // Optional. The output format of the public key. The default is `TYPE_NONE`, which + // means that the public key is not returned. + ServiceAccountPublicKeyType public_key_type = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Supported key algorithms. +enum ServiceAccountKeyAlgorithm { + // An unspecified key algorithm. + KEY_ALG_UNSPECIFIED = 0; + + // 1k RSA Key. + KEY_ALG_RSA_1024 = 1; + + // 2k RSA Key. + KEY_ALG_RSA_2048 = 2; +} + +// Supported private key output formats. +enum ServiceAccountPrivateKeyType { + // Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`. + TYPE_UNSPECIFIED = 0; + + // PKCS12 format. + // The password for the PKCS12 file is `notasecret`. + // For more information, see https://tools.ietf.org/html/rfc7292. + TYPE_PKCS12_FILE = 1; + + // Google Credentials File format. + TYPE_GOOGLE_CREDENTIALS_FILE = 2; +} + +// Supported public key output formats. +enum ServiceAccountPublicKeyType { + // Do not return the public key. + TYPE_NONE = 0; + + // X509 PEM format. + TYPE_X509_PEM_FILE = 1; + + // Raw public key. + TYPE_RAW_PUBLIC_KEY = 2; +} + +// Service Account Key Origin. +enum ServiceAccountKeyOrigin { + // Unspecified key origin. + ORIGIN_UNSPECIFIED = 0; + + // Key is provided by user. + USER_PROVIDED = 1; + + // Key is provided by Google. + GOOGLE_PROVIDED = 2; +} + +// Represents a service account key. +// +// A service account has two sets of key-pairs: user-managed, and +// system-managed. +// +// User-managed key-pairs can be created and deleted by users. Users are +// responsible for rotating these keys periodically to ensure security of +// their service accounts. Users retain the private key of these key-pairs, +// and Google retains ONLY the public key. +// +// System-managed keys are automatically rotated by Google, and are used for +// signing for a maximum of two weeks. The rotation process is probabilistic, +// and usage of the new key will gradually ramp up and down over the key's +// lifetime. +// +// If you cache the public key set for a service account, we recommend that you +// update the cache every 15 minutes. User-managed keys can be added and removed +// at any time, so it is important to update the cache frequently. For +// Google-managed keys, Google will publish a key at least 6 hours before it is +// first used for signing and will keep publishing it for at least 6 hours after +// it was last used for signing. +// +// Public keys for all service accounts are also published at the OAuth2 +// Service Account API. +message ServiceAccountKey { + option (google.api.resource) = { + type: "iam.googleapis.com/Key" + pattern: "projects/{project}/serviceAccounts/{service_account}/keys/{key}" + }; + + // The resource name of the service account key in the following format + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + string name = 1; + + // The output format for the private key. + // Only provided in `CreateServiceAccountKey` responses, not + // in `GetServiceAccountKey` or `ListServiceAccountKey` responses. + // + // Google never exposes system-managed private keys, and never retains + // user-managed private keys. + ServiceAccountPrivateKeyType private_key_type = 2; + + // Specifies the algorithm (and possibly key size) for the key. + ServiceAccountKeyAlgorithm key_algorithm = 8; + + // The private key data. Only provided in `CreateServiceAccountKey` + // responses. Make sure to keep the private key data secure because it + // allows for the assertion of the service account identity. + // When base64 decoded, the private key data can be used to authenticate with + // Google API client libraries and with + // gcloud + // auth activate-service-account. + bytes private_key_data = 3; + + // The public key data. Only provided in `GetServiceAccountKey` responses. + bytes public_key_data = 7; + + // The key can be used after this timestamp. + google.protobuf.Timestamp valid_after_time = 4; + + // The key can be used before this timestamp. + // For system-managed key pairs, this timestamp is the end time for the + // private key signing operation. The public key could still be used + // for verification for a few hours after this time. + google.protobuf.Timestamp valid_before_time = 5; + + // The key origin. + ServiceAccountKeyOrigin key_origin = 9; + + // The key type. + ListServiceAccountKeysRequest.KeyType key_type = 10; + + // The key status. + bool disabled = 11; +} + +// The service account key create request. +message CreateServiceAccountKeyRequest { + // Required. The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // The output format of the private key. The default value is + // `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File + // format. + ServiceAccountPrivateKeyType private_key_type = 2; + + // Which type of key and algorithm to use for the key. + // The default is currently a 2K RSA key. However this may change in the + // future. + ServiceAccountKeyAlgorithm key_algorithm = 3; +} + +// The service account key upload request. +message UploadServiceAccountKeyRequest { + // The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1; + + // The public key to associate with the service account. Must be an RSA public + // key that is wrapped in an X.509 v3 certificate. Include the first line, + // `-----BEGIN CERTIFICATE-----`, and the last line, + // `-----END CERTIFICATE-----`. + bytes public_key_data = 2; +} + +// The service account key delete request. +message DeleteServiceAccountKeyRequest { + // Required. The resource name of the service account key in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/Key" + } + ]; +} + +// The service account key disable request. +message DisableServiceAccountKeyRequest { + // Required. The resource name of the service account key in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + // + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/Key" + } + ]; +} + +// The service account key enable request. +message EnableServiceAccountKeyRequest { + // Required. The resource name of the service account key in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. + // + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/Key" + } + ]; +} + +// Deprecated. [Migrate to Service Account Credentials +// API](https://cloud.google.com/iam/help/credentials/migrate-api). +// +// The service account sign blob request. +message SignBlobRequest { + // Required. Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // Required. Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The bytes to sign. + bytes bytes_to_sign = 2 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; +} + +// Deprecated. [Migrate to Service Account Credentials +// API](https://cloud.google.com/iam/help/credentials/migrate-api). +// +// The service account sign blob response. +message SignBlobResponse { + // Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The id of the key used to sign the blob. + string key_id = 1 [deprecated = true]; + + // Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The signed blob. + bytes signature = 2 [deprecated = true]; +} + +// Deprecated. [Migrate to Service Account Credentials +// API](https://cloud.google.com/iam/help/credentials/migrate-api). +// +// The service account sign JWT request. +message SignJwtRequest { + // Required. Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The resource name of the service account in the following format: + // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. + // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from + // the account. The `ACCOUNT` value can be the `email` address or the + // `unique_id` of the service account. + string name = 1 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // Required. Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The JWT payload to sign. Must be a serialized JSON object that contains a + // JWT Claims Set. For example: `{"sub": "user@example.com", "iat": 313435}` + // + // If the JWT Claims Set contains an expiration time (`exp`) claim, it must be + // an integer timestamp that is not in the past and no more than 12 hours in + // the future. + // + // If the JWT Claims Set does not contain an expiration time (`exp`) claim, + // this claim is added automatically, with a timestamp that is 1 hour in the + // future. + string payload = 2 [ + deprecated = true, + (google.api.field_behavior) = REQUIRED + ]; +} + +// Deprecated. [Migrate to Service Account Credentials +// API](https://cloud.google.com/iam/help/credentials/migrate-api). +// +// The service account sign JWT response. +message SignJwtResponse { + // Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The id of the key used to sign the JWT. + string key_id = 1 [deprecated = true]; + + // Deprecated. [Migrate to Service Account Credentials + // API](https://cloud.google.com/iam/help/credentials/migrate-api). + // + // The signed JWT. + string signed_jwt = 2 [deprecated = true]; +} + +// A role in the Identity and Access Management API. +message Role { + // A stage representing a role's lifecycle phase. + enum RoleLaunchStage { + // The user has indicated this role is currently in an Alpha phase. If this + // launch stage is selected, the `stage` field will not be included when + // requesting the definition for a given role. + ALPHA = 0; + + // The user has indicated this role is currently in a Beta phase. + BETA = 1; + + // The user has indicated this role is generally available. + GA = 2; + + // The user has indicated this role is being deprecated. + DEPRECATED = 4; + + // This role is disabled and will not contribute permissions to any + // principals it is granted to in policies. + DISABLED = 5; + + // The user has indicated this role is currently in an EAP phase. + EAP = 6; + } + + // The name of the role. + // + // When Role is used in CreateRole, the role name must not be set. + // + // When Role is used in output and other input such as UpdateRole, the role + // name is the complete path, e.g., roles/logging.viewer for predefined roles + // and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles. + string name = 1; + + // Optional. A human-readable title for the role. Typically this + // is limited to 100 UTF-8 bytes. + string title = 2; + + // Optional. A human-readable description for the role. + string description = 3; + + // The names of the permissions this role grants when bound in an IAM policy. + repeated string included_permissions = 7; + + // The current launch stage of the role. If the `ALPHA` launch stage has been + // selected for a role, the `stage` field will not be included in the + // returned definition for the role. + RoleLaunchStage stage = 8; + + // Used to perform a consistent read-modify-write. + bytes etag = 9; + + // The current deleted state of the role. This field is read only. + // It will be ignored in calls to CreateRole and UpdateRole. + bool deleted = 11; +} + +// The grantable role query request. +message QueryGrantableRolesRequest { + // Required. The full resource name to query from the list of grantable roles. + // + // The name follows the Google Cloud Platform resource format. + // For example, a Cloud Platform project with id `my-project` will be named + // `//cloudresourcemanager.googleapis.com/projects/my-project`. + string full_resource_name = 1 [(google.api.field_behavior) = REQUIRED]; + + RoleView view = 2; + + // Optional limit on the number of roles to include in the response. + // + // The default is 300, and the maximum is 1,000. + int32 page_size = 3; + + // Optional pagination token returned in an earlier + // QueryGrantableRolesResponse. + string page_token = 4; +} + +// The grantable role query response. +message QueryGrantableRolesResponse { + // The list of matching roles. + repeated Role roles = 1; + + // To retrieve the next page of results, set + // `QueryGrantableRolesRequest.page_token` to this value. + string next_page_token = 2; +} + +// A view for Role objects. +enum RoleView { + // Omits the `included_permissions` field. + // This is the default value. + BASIC = 0; + + // Returns all fields. + FULL = 1; +} + +// The request to get all roles defined under a resource. +message ListRolesRequest { + // The `parent` parameter's value depends on the target resource for the + // request, namely + // [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), + // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), + // or + // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + // Each resource type's `parent` value format is described below: + // + // * [`roles.list()`](https://cloud.google.com/iam/reference/rest/v1/roles/list): An empty string. + // This method doesn't require a resource; it simply returns all + // [predefined + // roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) + // in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` + // + // * [`projects.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/list): + // `projects/{PROJECT_ID}`. This method lists all project-level + // [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + // Example request URL: + // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` + // + // * [`organizations.roles.list()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/list): + // `organizations/{ORGANIZATION_ID}`. This method lists all + // organization-level [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + // Example request URL: + // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` + // + // Note: Wildcard (*) values are invalid; you must specify a complete project + // ID or organization ID. + string parent = 1 [(google.api.resource_reference) = { + type: "*" + }]; + + // Optional limit on the number of roles to include in the response. + // + // The default is 300, and the maximum is 1,000. + int32 page_size = 2; + + // Optional pagination token returned in an earlier ListRolesResponse. + string page_token = 3; + + // Optional view for the returned Role objects. When `FULL` is specified, + // the `includedPermissions` field is returned, which includes a list of all + // permissions in the role. The default value is `BASIC`, which does not + // return the `includedPermissions` field. + RoleView view = 4; + + // Include Roles that have been deleted. + bool show_deleted = 6; +} + +// The response containing the roles defined under a resource. +message ListRolesResponse { + // The Roles defined on this resource. + repeated Role roles = 1; + + // To retrieve the next page of results, set + // `ListRolesRequest.page_token` to this value. + string next_page_token = 2; +} + +// The request to get the definition of an existing role. +message GetRoleRequest { + // The `name` parameter's value depends on the target resource for the + // request, namely + // [`roles`](https://cloud.google.com/iam/reference/rest/v1/roles), + // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles), + // or + // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + // Each resource type's `name` value format is described below: + // + // * [`roles.get()`](https://cloud.google.com/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. + // This method returns results from all + // [predefined + // roles](https://cloud.google.com/iam/docs/understanding-roles#predefined_roles) + // in Cloud IAM. Example request URL: + // `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` + // + // * [`projects.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/get): + // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only + // [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the project level. Example request URL: + // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + // + // * [`organizations.roles.get()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/get): + // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + // returns only [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the organization level. Example request URL: + // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + // + // Note: Wildcard (*) values are invalid; you must specify a complete project + // ID or organization ID. + string name = 1 [(google.api.resource_reference) = { + type: "*" + }]; +} + +// The request to create a new role. +message CreateRoleRequest { + // The `parent` parameter's value depends on the target resource for the + // request, namely + // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + // or + // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + // Each resource type's `parent` value format is described below: + // + // * [`projects.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/create): + // `projects/{PROJECT_ID}`. This method creates project-level + // [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + // Example request URL: + // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` + // + // * [`organizations.roles.create()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/create): + // `organizations/{ORGANIZATION_ID}`. This method creates organization-level + // [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles). + // Example request URL: + // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` + // + // Note: Wildcard (*) values are invalid; you must specify a complete project + // ID or organization ID. + string parent = 1 [(google.api.resource_reference) = { + type: "*" + }]; + + // The role ID to use for this role. + // + // A role ID may contain alphanumeric characters, underscores (`_`), and + // periods (`.`). It must contain a minimum of 3 characters and a maximum of + // 64 characters. + string role_id = 2; + + // The Role resource to create. + Role role = 3; +} + +// The request to update a role. +message UpdateRoleRequest { + // The `name` parameter's value depends on the target resource for the + // request, namely + // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + // or + // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + // Each resource type's `name` value format is described below: + // + // * [`projects.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/patch): + // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only + // [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the project level. Example request URL: + // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + // + // * [`organizations.roles.patch()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/patch): + // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + // updates only [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the organization level. Example request URL: + // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + // + // Note: Wildcard (*) values are invalid; you must specify a complete project + // ID or organization ID. + string name = 1 [(google.api.resource_reference) = { + type: "*" + }]; + + // The updated role. + Role role = 2; + + // A mask describing which fields in the Role have changed. + google.protobuf.FieldMask update_mask = 3; +} + +// The request to delete an existing role. +message DeleteRoleRequest { + // The `name` parameter's value depends on the target resource for the + // request, namely + // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + // or + // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + // Each resource type's `name` value format is described below: + // + // * [`projects.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/delete): + // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only + // [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the project level. Example request URL: + // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + // + // * [`organizations.roles.delete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/delete): + // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + // deletes only [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the organization level. Example request URL: + // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + // + // Note: Wildcard (*) values are invalid; you must specify a complete project + // ID or organization ID. + string name = 1 [(google.api.resource_reference) = { + type: "*" + }]; + + // Used to perform a consistent read-modify-write. + bytes etag = 2; +} + +// The request to undelete an existing role. +message UndeleteRoleRequest { + // The `name` parameter's value depends on the target resource for the + // request, namely + // [`projects`](https://cloud.google.com/iam/reference/rest/v1/projects.roles) + // or + // [`organizations`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles). + // Each resource type's `name` value format is described below: + // + // * [`projects.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/projects.roles/undelete): + // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes + // only [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the project level. Example request URL: + // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` + // + // * [`organizations.roles.undelete()`](https://cloud.google.com/iam/reference/rest/v1/organizations.roles/undelete): + // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method + // undeletes only [custom + // roles](https://cloud.google.com/iam/docs/understanding-custom-roles) that + // have been created at the organization level. Example request URL: + // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` + // + // Note: Wildcard (*) values are invalid; you must specify a complete project + // ID or organization ID. + string name = 1 [(google.api.resource_reference) = { + type: "*" + }]; + + // Used to perform a consistent read-modify-write. + bytes etag = 2; +} + +// A permission which can be included by a role. +message Permission { + // A stage representing a permission's lifecycle phase. + enum PermissionLaunchStage { + // The permission is currently in an alpha phase. + ALPHA = 0; + + // The permission is currently in a beta phase. + BETA = 1; + + // The permission is generally available. + GA = 2; + + // The permission is being deprecated. + DEPRECATED = 3; + } + + // The state of the permission with regards to custom roles. + enum CustomRolesSupportLevel { + // Default state. Permission is fully supported for custom role use. + SUPPORTED = 0; + + // Permission is being tested to check custom role compatibility. + TESTING = 1; + + // Permission is not supported for custom role use. + NOT_SUPPORTED = 2; + } + + // The name of this Permission. + string name = 1; + + // The title of this Permission. + string title = 2; + + // A brief description of what this Permission is used for. + // This permission can ONLY be used in predefined roles. + string description = 3; + + bool only_in_predefined_roles = 4 [deprecated = true]; + + // The current launch stage of the permission. + PermissionLaunchStage stage = 5; + + // The current custom role support level. + CustomRolesSupportLevel custom_roles_support_level = 6; + + // The service API associated with the permission is not enabled. + bool api_disabled = 7; + + // The preferred name for this permission. If present, then this permission is + // an alias of, and equivalent to, the listed primary_permission. + string primary_permission = 8; +} + +// A request to get permissions which can be tested on a resource. +message QueryTestablePermissionsRequest { + // Required. The full resource name to query from the list of testable + // permissions. + // + // The name follows the Google Cloud Platform resource format. + // For example, a Cloud Platform project with id `my-project` will be named + // `//cloudresourcemanager.googleapis.com/projects/my-project`. + string full_resource_name = 1; + + // Optional limit on the number of permissions to include in the response. + // + // The default is 100, and the maximum is 1,000. + int32 page_size = 2; + + // Optional pagination token returned in an earlier + // QueryTestablePermissionsRequest. + string page_token = 3; +} + +// The response containing permissions which can be tested on a resource. +message QueryTestablePermissionsResponse { + // The Permissions testable on the requested resource. + repeated Permission permissions = 1; + + // To retrieve the next page of results, set + // `QueryTestableRolesRequest.page_token` to this value. + string next_page_token = 2; +} + +// A request to get the list of auditable services for a resource. +message QueryAuditableServicesRequest { + // Required. The full resource name to query from the list of auditable + // services. + // + // The name follows the Google Cloud Platform resource format. + // For example, a Cloud Platform project with id `my-project` will be named + // `//cloudresourcemanager.googleapis.com/projects/my-project`. + string full_resource_name = 1; +} + +// A response containing a list of auditable services for a resource. +message QueryAuditableServicesResponse { + // Contains information about an auditable service. + message AuditableService { + // Public name of the service. + // For example, the service name for Cloud IAM is 'iam.googleapis.com'. + string name = 1; + } + + // The auditable services for a resource. + repeated AuditableService services = 1; +} + +// The request to lint a Cloud IAM policy object. +message LintPolicyRequest { + // The full resource name of the policy this lint request is about. + // + // The name follows the Google Cloud Platform (GCP) resource format. + // For example, a GCP project with ID `my-project` will be named + // `//cloudresourcemanager.googleapis.com/projects/my-project`. + // + // The resource name is not used to read the policy instance from the Cloud + // IAM database. The candidate policy for lint has to be provided in the same + // request object. + string full_resource_name = 1; + + // Required. The Cloud IAM object to be linted. + oneof lint_object { + // [google.iam.v1.Binding.condition] [google.iam.v1.Binding.condition] object to be linted. + google.type.Expr condition = 5; + } +} + +// Structured response of a single validation unit. +message LintResult { + // Possible Level values of a validation unit corresponding to its domain + // of discourse. + enum Level { + // Level is unspecified. + LEVEL_UNSPECIFIED = 0; + + // A validation unit which operates on an individual condition within a + // binding. + CONDITION = 3; + } + + // Possible Severity values of an issued result. + enum Severity { + // Severity is unspecified. + SEVERITY_UNSPECIFIED = 0; + + // A validation unit returns an error only for critical issues. If an + // attempt is made to set the problematic policy without rectifying the + // critical issue, it causes the `setPolicy` operation to fail. + ERROR = 1; + + // Any issue which is severe enough but does not cause an error. + // For example, suspicious constructs in the input object will not + // necessarily fail `setPolicy`, but there is a high likelihood that they + // won't behave as expected during policy evaluation in `checkPolicy`. + // This includes the following common scenarios: + // + // - Unsatisfiable condition: Expired timestamp in date/time condition. + // - Ineffective condition: Condition on a pair which is + // granted unconditionally in another binding of the same policy. + WARNING = 2; + + // Reserved for the issues that are not severe as `ERROR`/`WARNING`, but + // need special handling. For instance, messages about skipped validation + // units are issued as `NOTICE`. + NOTICE = 3; + + // Any informative statement which is not severe enough to raise + // `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on the + // input content. Note that current version of the linter does not utilize + // `INFO`. + INFO = 4; + + // Deprecated severity level. + DEPRECATED = 5; + } + + // The validation unit level. + Level level = 1; + + // The validation unit name, for instance + // "lintValidationUnits/ConditionComplexityCheck". + string validation_unit_name = 2; + + // The validation unit severity. + Severity severity = 3; + + // The name of the field for which this lint result is about. + // + // For nested messages `field_name` consists of names of the embedded fields + // separated by period character. The top-level qualifier is the input object + // to lint in the request. For example, the `field_name` value + // `condition.expression` identifies a lint result for the `expression` field + // of the provided condition. + string field_name = 5; + + // 0-based character position of problematic construct within the object + // identified by `field_name`. Currently, this is populated only for condition + // expression. + int32 location_offset = 6; + + // Human readable debug message associated with the issue. + string debug_message = 7; +} + +// The response of a lint operation. An empty response indicates +// the operation was able to fully execute and no lint issue was found. +message LintPolicyResponse { + // List of lint results sorted by `severity` in descending order. + repeated LintResult lint_results = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam.yaml new file mode 100644 index 00000000..b0c1dcbb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam.yaml @@ -0,0 +1,36 @@ +type: google.api.Service +config_version: 3 +name: iam.googleapis.com +title: Identity and Access Management (IAM) API + +apis: +- name: google.iam.admin.v1.IAM + +types: +- name: google.iam.admin.v1.AuditData + +documentation: + summary: |- + Manages identity and access control for Google Cloud Platform resources, + including the creation of service accounts, which you can use to + authenticate to Google and make API calls. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}' + additional_bindings: + - get: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}' + - get: '/v1/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}' + +authentication: + rules: + - selector: 'google.iam.admin.v1.IAM.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam_gapic.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam_gapic.yaml new file mode 100644 index 00000000..d954a637 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam_gapic.yaml @@ -0,0 +1,5 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + java: + package_name: com.google.cloud.iam.admin.v1 diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam_grpc_service_config.json new file mode 100755 index 00000000..deff5a71 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/admin/v1/iam_grpc_service_config.json @@ -0,0 +1,84 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.iam.admin.v1.IAM", + "method": "ListServiceAccounts" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "GetServiceAccount" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "UpdateServiceAccount" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "DeleteServiceAccount" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "ListServiceAccountKeys" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "GetServiceAccountKey" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "DeleteServiceAccountKey" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + }, + { + "name": [ + { + "service": "google.iam.admin.v1.IAM", + "method": "CreateServiceAccount" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "CreateServiceAccountKey" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "SignBlob" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "GetIamPolicy" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "SetIamPolicy" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "TestIamPermissions" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "QueryGrantableRoles" + }, + { + "service": "google.iam.admin.v1.IAM", + "method": "SignJwt" + } + ], + "timeout": "60s" + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/BUILD.bazel new file mode 100644 index 00000000..f3483e02 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/BUILD.bazel @@ -0,0 +1,41 @@ +# This build file includes a target for the Ruby wrapper library for +# google-iam-credentials. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for iamcredentials. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( + name = "iamcredentials_ruby_wrapper", + srcs = ["//google/iam/credentials/v1:credentials_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-iam-credentials", + "ruby-cloud-env-prefix=IAM_CREDENTIALS", + "ruby-cloud-wrapper-of=v1:0.8", + "ruby-cloud-product-url=https://cloud.google.com/iam", + "ruby-cloud-api-id=iamcredentials.googleapis.com", + "ruby-cloud-api-shortname=iamcredentials", + ], + ruby_cloud_description = "The Service Account Credentials API creates short-lived credentials for Identity and Access Management (IAM) service accounts. You can also use this API to sign JSON Web Tokens (JWTs), as well as blobs of binary data that contain other types of tokens.", + ruby_cloud_title = "IAM Service Account Credentials", + transport = "grpc+rest", +) + +# Open Source package. +ruby_gapic_assembly_pkg( + name = "google-iam-credentials-ruby", + deps = [ + ":iamcredentials_ruby_wrapper", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/BUILD.bazel new file mode 100644 index 00000000..d535d46e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/BUILD.bazel @@ -0,0 +1,314 @@ +# This file was automatically generated by BuildFileGenerator + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "credentials_proto", + srcs = [ + "common.proto", + "iamcredentials.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "credentials_proto_with_info", + deps = [ + ":credentials_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "credentials_java_proto", + deps = [":credentials_proto"], +) + +java_grpc_library( + name = "credentials_java_grpc", + srcs = [":credentials_proto"], + deps = [":credentials_java_proto"], +) + +java_gapic_library( + name = "credentials_java_gapic", + srcs = [":credentials_proto_with_info"], + grpc_service_config = "iamcredentials_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iamcredentials_v1.yaml", + test_deps = [ + ":credentials_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":credentials_java_proto", + ], +) + +java_gapic_test( + name = "credentials_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.iam.credentials.v1.IAMCredentialsClientHttpJsonTest", + "com.google.cloud.iam.credentials.v1.IAMCredentialsClientTest", + ], + runtime_deps = [":credentials_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-iam-credentials-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":credentials_java_gapic", + ":credentials_java_grpc", + ":credentials_java_proto", + ":credentials_proto", + ], +) + +go_proto_library( + name = "credentials_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/credentials/apiv1/credentialspb", + protos = [":credentials_proto"], + deps = [ + "//google/api:annotations_go_proto", + ], +) + +go_gapic_library( + name = "credentials_go_gapic", + srcs = [":credentials_proto_with_info"], + grpc_service_config = "iamcredentials_grpc_service_config.json", + importpath = "cloud.google.com/go/iam/credentials/apiv1;credentials", + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "iamcredentials_v1.yaml", + transport = "grpc+rest", + deps = [ + ":credentials_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-credentials-v1-go", + deps = [ + ":credentials_go_gapic", + ":credentials_go_gapic_srcjar-snippets.srcjar", + ":credentials_go_gapic_srcjar-test.srcjar", + ":credentials_go_proto", + ], +) + +py_gapic_library( + name = "credentials_py_gapic", + srcs = [":credentials_proto"], + grpc_service_config = "iamcredentials_grpc_service_config.json", + opt_args = [ + "warehouse-package-name=google-cloud-iam", + "python-gapic-namespace=google.cloud", + "python-gapic-name=iam_credentials", + ], + rest_numeric_enums = True, + service_yaml = "iamcredentials_v1.yaml", + transport = "grpc+rest", +) + +py_test( + name = "credentials_py_gapic_test", + srcs = [ + "credentials_py_gapic_pytest.py", + "credentials_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":credentials_py_gapic"], +) + +py_gapic_assembly_pkg( + name = "iam-credentials-v1-py", + deps = [ + ":credentials_py_gapic", + ], +) + +php_proto_library( + name = "credentials_php_proto", + deps = [":credentials_proto"], +) + +php_gapic_library( + name = "credentials_php_gapic", + srcs = [":credentials_proto_with_info"], + grpc_service_config = "iamcredentials_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "iamcredentials_v1.yaml", + transport = "grpc+rest", + deps = [":credentials_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-iam-credentials-v1-php", + deps = [ + ":credentials_php_gapic", + ":credentials_php_proto", + ], +) + +nodejs_gapic_library( + name = "credentials_nodejs_gapic", + package_name = "@google-cloud/iam-credentials", + src = ":credentials_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "iamcredentials_grpc_service_config.json", + package = "google.iam.credentials.v1", + rest_numeric_enums = True, + service_yaml = "iamcredentials_v1.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "iam-credentials-v1-nodejs", + deps = [ + ":credentials_nodejs_gapic", + ":credentials_proto", + ], +) + +ruby_proto_library( + name = "credentials_ruby_proto", + deps = [":credentials_proto"], +) + +ruby_grpc_library( + name = "credentials_ruby_grpc", + srcs = [":credentials_proto"], + deps = [":credentials_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "credentials_ruby_gapic", + srcs = [":credentials_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-iam-credentials-v1", + "ruby-cloud-env-prefix=IAM_CREDENTIALS", + "ruby-cloud-product-url=https://cloud.google.com/iam", + "ruby-cloud-api-id=iamcredentials.googleapis.com", + "ruby-cloud-api-shortname=iamcredentials", + ], + grpc_service_config = "iamcredentials_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "The Service Account Credentials API creates short-lived credentials for Identity and Access Management (IAM) service accounts. You can also use this API to sign JSON Web Tokens (JWTs), as well as blobs of binary data that contain other types of tokens.", + ruby_cloud_title = "IAM Service Account Credentials V1", + service_yaml = "iamcredentials_v1.yaml", + transport = "grpc+rest", + deps = [ + ":credentials_ruby_grpc", + ":credentials_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-iam-credentials-v1-ruby", + deps = [ + ":credentials_ruby_gapic", + ":credentials_ruby_grpc", + ":credentials_ruby_proto", + ], +) + +csharp_proto_library( + name = "credentials_csharp_proto", + deps = [":credentials_proto"], +) + +csharp_grpc_library( + name = "credentials_csharp_grpc", + srcs = [":credentials_proto"], + deps = [":credentials_csharp_proto"], +) + +csharp_gapic_library( + name = "credentials_csharp_gapic", + srcs = [":credentials_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "iamcredentials_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iamcredentials_v1.yaml", + transport = "grpc+rest", + deps = [ + ":credentials_csharp_grpc", + ":credentials_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-iam-credentials-v1-csharp", + deps = [ + ":credentials_csharp_gapic", + ":credentials_csharp_grpc", + ":credentials_csharp_proto", + ], +) + +cc_proto_library( + name = "credentials_cc_proto", + deps = [":credentials_proto"], +) + +cc_grpc_library( + name = "credentials_cc_grpc", + srcs = [":credentials_proto"], + grpc_only = True, + deps = [":credentials_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/common.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/common.proto new file mode 100644 index 00000000..d25982da --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/common.proto @@ -0,0 +1,190 @@ +// Copyright 2024 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.iam.credentials.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Iam.Credentials.V1"; +option go_package = "cloud.google.com/go/iam/credentials/apiv1/credentialspb;credentialspb"; +option java_multiple_files = true; +option java_outer_classname = "IAMCredentialsCommonProto"; +option java_package = "com.google.cloud.iam.credentials.v1"; +option php_namespace = "Google\\Cloud\\Iam\\Credentials\\V1"; +option (google.api.resource_definition) = { + type: "iam.googleapis.com/ServiceAccount" + pattern: "projects/{project}/serviceAccounts/{service_account}" +}; + +message GenerateAccessTokenRequest { + // Required. The resource name of the service account for which the credentials + // are requested, in the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // The sequence of service accounts in a delegation chain. Each service + // account must be granted the `roles/iam.serviceAccountTokenCreator` role + // on its next service account in the chain. The last service account in the + // chain must be granted the `roles/iam.serviceAccountTokenCreator` role + // on the service account that is specified in the `name` field of the + // request. + // + // The delegates must have the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + repeated string delegates = 2; + + // Required. Code to identify the scopes to be included in the OAuth 2.0 access token. + // See https://developers.google.com/identity/protocols/googlescopes for more + // information. + // At least one value required. + repeated string scope = 4 [(google.api.field_behavior) = REQUIRED]; + + // The desired lifetime duration of the access token in seconds. + // Must be set to a value less than or equal to 3600 (1 hour). If a value is + // not specified, the token's lifetime will be set to a default value of one + // hour. + google.protobuf.Duration lifetime = 7; +} + +message GenerateAccessTokenResponse { + // The OAuth 2.0 access token. + string access_token = 1; + + // Token expiration time. + // The expiration time is always set. + google.protobuf.Timestamp expire_time = 3; +} + +message SignBlobRequest { + // Required. The resource name of the service account for which the credentials + // are requested, in the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // The sequence of service accounts in a delegation chain. Each service + // account must be granted the `roles/iam.serviceAccountTokenCreator` role + // on its next service account in the chain. The last service account in the + // chain must be granted the `roles/iam.serviceAccountTokenCreator` role + // on the service account that is specified in the `name` field of the + // request. + // + // The delegates must have the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + repeated string delegates = 3; + + // Required. The bytes to sign. + bytes payload = 5 [(google.api.field_behavior) = REQUIRED]; +} + +message SignBlobResponse { + // The ID of the key used to sign the blob. + string key_id = 1; + + // The signed blob. + bytes signed_blob = 4; +} + +message SignJwtRequest { + // Required. The resource name of the service account for which the credentials + // are requested, in the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // The sequence of service accounts in a delegation chain. Each service + // account must be granted the `roles/iam.serviceAccountTokenCreator` role + // on its next service account in the chain. The last service account in the + // chain must be granted the `roles/iam.serviceAccountTokenCreator` role + // on the service account that is specified in the `name` field of the + // request. + // + // The delegates must have the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + repeated string delegates = 3; + + // Required. The JWT payload to sign: a JSON object that contains a JWT Claims Set. + string payload = 5 [(google.api.field_behavior) = REQUIRED]; +} + +message SignJwtResponse { + // The ID of the key used to sign the JWT. + string key_id = 1; + + // The signed JWT. + string signed_jwt = 2; +} + +message GenerateIdTokenRequest { + // Required. The resource name of the service account for which the credentials + // are requested, in the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/ServiceAccount" + } + ]; + + // The sequence of service accounts in a delegation chain. Each service + // account must be granted the `roles/iam.serviceAccountTokenCreator` role + // on its next service account in the chain. The last service account in the + // chain must be granted the `roles/iam.serviceAccountTokenCreator` role + // on the service account that is specified in the `name` field of the + // request. + // + // The delegates must have the following format: + // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard + // character is required; replacing it with a project ID is invalid. + repeated string delegates = 2; + + // Required. The audience for the token, such as the API or account that this token + // grants access to. + string audience = 3 [(google.api.field_behavior) = REQUIRED]; + + // Include the service account email in the token. If set to `true`, the + // token will contain `email` and `email_verified` claims. + bool include_email = 4; +} + +message GenerateIdTokenResponse { + // The OpenId Connect ID token. + string token = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials.proto new file mode 100644 index 00000000..3f5d7056 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials.proto @@ -0,0 +1,79 @@ +// Copyright 2024 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.iam.credentials.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/iam/credentials/v1/common.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Iam.Credentials.V1"; +option go_package = "cloud.google.com/go/iam/credentials/apiv1/credentialspb;credentialspb"; +option java_multiple_files = true; +option java_outer_classname = "IAMCredentialsProto"; +option java_package = "com.google.cloud.iam.credentials.v1"; +option php_namespace = "Google\\Cloud\\Iam\\Credentials\\V1"; + +// A service account is a special type of Google account that belongs to your +// application or a virtual machine (VM), instead of to an individual end user. +// Your application assumes the identity of the service account to call Google +// APIs, so that the users aren't directly involved. +// +// Service account credentials are used to temporarily assume the identity +// of the service account. Supported credential types include OAuth 2.0 access +// tokens, OpenID Connect ID tokens, self-signed JSON Web Tokens (JWTs), and +// more. +service IAMCredentials { + option (google.api.default_host) = "iamcredentials.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Generates an OAuth 2.0 access token for a service account. + rpc GenerateAccessToken(GenerateAccessTokenRequest) returns (GenerateAccessTokenResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:generateAccessToken" + body: "*" + }; + option (google.api.method_signature) = "name,delegates,scope,lifetime"; + } + + // Generates an OpenID Connect ID token for a service account. + rpc GenerateIdToken(GenerateIdTokenRequest) returns (GenerateIdTokenResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:generateIdToken" + body: "*" + }; + option (google.api.method_signature) = "name,delegates,audience,include_email"; + } + + // Signs a blob using a service account's system-managed private key. + rpc SignBlob(SignBlobRequest) returns (SignBlobResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:signBlob" + body: "*" + }; + option (google.api.method_signature) = "name,delegates,payload"; + } + + // Signs a JWT using a service account's system-managed private key. + rpc SignJwt(SignJwtRequest) returns (SignJwtResponse) { + option (google.api.http) = { + post: "/v1/{name=projects/*/serviceAccounts/*}:signJwt" + body: "*" + }; + option (google.api.method_signature) = "name,delegates,payload"; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials_grpc_service_config.json new file mode 100755 index 00000000..360bca92 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials_grpc_service_config.json @@ -0,0 +1,35 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.iam.credentials.v1.IAMCredentials", + "method": "GenerateAccessToken" + }, + { + "service": "google.iam.credentials.v1.IAMCredentials", + "method": "GenerateIdToken" + }, + { + "service": "google.iam.credentials.v1.IAMCredentials", + "method": "SignBlob" + }, + { + "service": "google.iam.credentials.v1.IAMCredentials", + "method": "SignJwt" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.100s", + "maxBackoff": "60s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials_v1.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials_v1.yaml new file mode 100644 index 00000000..51b504b7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/credentials/v1/iamcredentials_v1.yaml @@ -0,0 +1,17 @@ +type: google.api.Service +config_version: 3 +name: iamcredentials.googleapis.com +title: IAM Service Account Credentials API + +apis: +- name: google.iam.credentials.v1.IAMCredentials + +documentation: + summary: 'Creates short-lived, limited-privilege credentials for IAM service accounts.' + +authentication: + rules: + - selector: 'google.iam.credentials.v1.IAMCredentials.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/BUILD.bazel new file mode 100644 index 00000000..87f5dfcb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/BUILD.bazel @@ -0,0 +1,273 @@ +load("@rules_proto//proto:defs.bzl", "proto_library") + +############################################################################## +# Common +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", + "php_gapic_assembly_pkg", + "php_proto_library", + "proto_library_with_info", + "py_proto_library", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "iam_policy_proto", + srcs = ["iam_policy.proto"], + deps = [ + ":options_proto", + ":policy_proto", + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "@com_google_protobuf//:field_mask_proto", + ], +) + +proto_library( + name = "policy_proto", + srcs = ["policy.proto"], + deps = [ + "//google/api:annotations_proto", + "//google/type:expr_proto", + ], +) + +proto_library( + name = "options_proto", + srcs = ["options.proto"], + deps = [ + "//google/api:annotations_proto", + ], +) + +proto_library_with_info( + name = "iam_proto_with_info", + deps = [ + ":iam_policy_proto", + ":options_proto", + ":policy_proto", + ], +) + +java_proto_library( + name = "iam_java_proto", + deps = [ + ":iam_policy_proto", + ":options_proto", + ":policy_proto", + ], +) + +java_grpc_library( + name = "iam_java_grpc", + srcs = [":iam_policy_proto"], + deps = [":iam_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-iam-v1-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":iam_java_grpc", + ":iam_java_proto", + ":iam_policy_proto", + ], +) + +go_proto_library( + name = "iam_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/apiv1/iampb", + protos = [ + ":iam_policy_proto", + ":options_proto", + ":policy_proto", + ], + deps = [ + "//google/api:annotations_go_proto", + "//google/type:expr_go_proto", + ], +) + +# Manual addition for owlbot migration. +go_gapic_library( + name = "iam_go_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = None, + importpath = "cloud.google.com/go/iam/apiv1;iam", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "iam_meta_api.yaml", + transport = "grpc+rest", + deps = [":iam_go_proto"], +) + +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-v1-go", + deps = [ + ":iam_go_gapic", + ":iam_go_gapic_srcjar-metadata.srcjar", + ":iam_go_gapic_srcjar-snippets.srcjar", + ":iam_go_gapic_srcjar-test.srcjar", + ":iam_go_proto", + ], +) + +cc_proto_library( + name = "iam_policy_cc_proto", + deps = [":iam_policy_proto"], +) + +cc_proto_library( + name = "options_cc_proto", + deps = [":options_proto"], +) + +cc_proto_library( + name = "policy_cc_proto", + deps = [":policy_proto"], +) + +cc_grpc_library( + name = "iam_cc_grpc", + srcs = [":iam_policy_proto"], + grpc_only = True, + deps = [":iam_policy_cc_proto"], +) + +py_proto_library( + name = "iam_policy_py_proto", + deps = [":iam_policy_proto"], +) + +py_proto_library( + name = "policy_py_proto", + deps = [":policy_proto"], +) + +py_proto_library( + name = "options_py_proto", + deps = [":options_proto"], +) + +php_proto_library( + name = "iam_php_proto", + deps = [ + ":iam_policy_proto", + ":options_proto", + ":policy_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-iam-v1-php", + deps = [":iam_php_proto"], +) + +ruby_proto_library( + name = "iam_ruby_proto", + deps = [ + ":iam_policy_proto", + ":options_proto", + ":policy_proto", + "//google/iam/v1/logging:audit_data_proto", + ], +) + +ruby_grpc_library( + name = "iam_ruby_grpc", + srcs = [":iam_policy_proto"], + deps = [":iam_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "iam_ruby_gapic", + srcs = [":iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-iam-v1", + ], + rest_numeric_enums = False, + ruby_cloud_description = "An add-on interface used by some Google API clients to provide IAM Policy calls.", + ruby_cloud_title = "IAM", + service_yaml = "iam_meta_api.yaml", + transport = "grpc+rest", + deps = [ + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-iam-v1-ruby", + deps = [ + ":iam_ruby_gapic", + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +csharp_proto_library( + name = "iam_csharp_proto", + deps = [ + ":iam_policy_proto", + ":options_proto", + ":policy_proto", + "//google/iam/v1/logging:audit_data_proto", + ], +) + +csharp_grpc_library( + name = "iam_csharp_grpc", + srcs = [":iam_policy_proto"], + deps = [":iam_csharp_proto"], +) + +csharp_gapic_library( + name = "iam_csharp_gapic", + srcs = [":iam_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + rest_numeric_enums = False, + service_yaml = "iam_meta_api.yaml", + deps = [ + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-iam-v1-csharp", + deps = [ + ":iam_csharp_gapic", + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/iam_meta_api.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/iam_meta_api.yaml new file mode 100644 index 00000000..6d1cc53d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/iam_meta_api.yaml @@ -0,0 +1,48 @@ +type: google.api.Service +config_version: 3 +name: iam-meta-api.googleapis.com +title: IAM Meta API + +apis: +- name: google.iam.v1.IAMPolicy + +types: +- name: google.iam.v1.PolicyDelta + +documentation: + summary: Manages access control for Google Cloud Platform resources. + rules: + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + description: |- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + description: |- + Sets the access control policy on the specified resource. Replaces + any existing policy. + + Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` + errors. + + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + description: |- + Returns permissions that a caller has on the specified resource. If the + resource does not exist, this will return an empty set of + permissions, not a `NOT_FOUND` error. + + Note: This operation is designed to be used for building + permission-aware UIs and command-line tools, not for authorization + checking. This operation may "fail open" without warning. + +http: + rules: + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + post: '/v1/{resource=**}:getIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1/{resource=**}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1/{resource=**}:testIamPermissions' + body: '*' diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/iam_policy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/iam_policy.proto new file mode 100644 index 00000000..12580e9c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/iam_policy.proto @@ -0,0 +1,155 @@ +// Copyright 2024 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.iam.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/options.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/field_mask.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Iam.V1"; +option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "IamPolicyProto"; +option java_package = "com.google.iam.v1"; +option php_namespace = "Google\\Cloud\\Iam\\V1"; + +// API Overview +// +// +// Manages Identity and Access Management (IAM) policies. +// +// Any implementation of an API that offers access control features +// implements the google.iam.v1.IAMPolicy interface. +// +// ## Data model +// +// Access control is applied when a principal (user or service account), takes +// some action on a resource exposed by a service. Resources, identified by +// URI-like names, are the unit of access control specification. Service +// implementations can choose the granularity of access control and the +// supported permissions for their resources. +// For example one database service may allow access control to be +// specified only at the Table level, whereas another might allow access control +// to also be specified at the Column level. +// +// ## Policy Structure +// +// See google.iam.v1.Policy +// +// This is intentionally not a CRUD style API because access control policies +// are created and deleted implicitly with the resources to which they are +// attached. +service IAMPolicy { + option (google.api.default_host) = "iam-meta-api.googleapis.com"; + + // Sets the access control policy on the specified resource. Replaces any + // existing policy. + // + // Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy) { + option (google.api.http) = { + post: "/v1/{resource=**}:setIamPolicy" + body: "*" + }; + } + + // Gets the access control policy for a resource. + // Returns an empty policy if the resource exists and does not have a policy + // set. + rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy) { + option (google.api.http) = { + post: "/v1/{resource=**}:getIamPolicy" + body: "*" + }; + } + + // Returns permissions that a caller has on the specified resource. + // If the resource does not exist, this will return an empty set of + // permissions, not a `NOT_FOUND` error. + // + // Note: This operation is designed to be used for building permission-aware + // UIs and command-line tools, not for authorization checking. This operation + // may "fail open" without warning. + rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1/{resource=**}:testIamPermissions" + body: "*" + }; + } +} + +// Request message for `SetIamPolicy` method. +message SetIamPolicyRequest { + // REQUIRED: The resource for which the policy is being specified. + // See the operation documentation for the appropriate value for this field. + string resource = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference).type = "*"]; + + // REQUIRED: The complete policy to be applied to the `resource`. The size of + // the policy is limited to a few 10s of KB. An empty policy is a + // valid policy but certain Cloud Platform services (such as Projects) + // might reject them. + Policy policy = 2 [(google.api.field_behavior) = REQUIRED]; + + // OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + // the fields in the mask will be modified. If no mask is provided, the + // following default mask is used: + // + // `paths: "bindings, etag"` + google.protobuf.FieldMask update_mask = 3; +} + +// Request message for `GetIamPolicy` method. +message GetIamPolicyRequest { + // REQUIRED: The resource for which the policy is being requested. + // See the operation documentation for the appropriate value for this field. + string resource = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference).type = "*"]; + + // OPTIONAL: A `GetPolicyOptions` object for specifying options to + // `GetIamPolicy`. + GetPolicyOptions options = 2; +} + +// Request message for `TestIamPermissions` method. +message TestIamPermissionsRequest { + // REQUIRED: The resource for which the policy detail is being requested. + // See the operation documentation for the appropriate value for this field. + string resource = 1[ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference).type = "*"]; + + // The set of permissions to check for the `resource`. Permissions with + // wildcards (such as '*' or 'storage.*') are not allowed. For more + // information see + // [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + repeated string permissions = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for `TestIamPermissions` method. +message TestIamPermissionsResponse { + // A subset of `TestPermissionsRequest.permissions` that the caller is + // allowed. + repeated string permissions = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/logging/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/logging/BUILD.bazel new file mode 100644 index 00000000..6ad375a5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/logging/BUILD.bazel @@ -0,0 +1,139 @@ +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "audit_data_proto", + srcs = [ + "audit_data.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/iam/v1:policy_proto", + ], +) + +proto_library_with_info( + name = "logging_proto_with_info", + deps = [":audit_data_proto"], +) + +############################################################################## +# Java +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "java_proto_library", "java_gapic_assembly_gradle_pkg") + +java_proto_library( + name = "logging_java_proto", + deps = [":audit_data_proto"], +) + +java_gapic_assembly_gradle_pkg( + name = "google-iam-logging-v1-java", + deps = [ + ":logging_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/apiv1/logging/loggingpb", + protos = [":audit_data_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/iam/v1:iam_go_proto", + ], +) + +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-admin-go", + deps = [ + ":logging_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", +) + +py_gapic_library( + name = "logging_py_gapic", + srcs = [":audit_data_proto"], + opt_args = [ + "warehouse-package-name=google-cloud-iam-logging", + "python-gapic-namespace=google.cloud", + "python-gapic-name=iam_logging", + ], + rest_numeric_enums = False, + transport = "grpc", +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "google-cloud-iam-logging-v1-py", + deps = [ + ":logging_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":audit_data_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-iam-v1-logging-php", + deps = [":logging_php_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "logging_cc_proto", + deps = [":audit_data_proto"], +) + +cc_grpc_library( + name = "logging_cc_grpc", + srcs = [":audit_data_proto"], + grpc_only = True, + deps = [":logging_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/logging/audit_data.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/logging/audit_data.proto new file mode 100644 index 00000000..ccafe048 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/logging/audit_data.proto @@ -0,0 +1,33 @@ +// Copyright 2024 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.iam.v1.logging; + +import "google/iam/v1/policy.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V1.Logging"; +option go_package = "cloud.google.com/go/iam/apiv1/logging/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "AuditDataProto"; +option java_package = "com.google.iam.v1.logging"; + +// Audit log information specific to Cloud IAM. This message is serialized +// as an `Any` type in the `ServiceData` message of an +// `AuditLog` message. +message AuditData { + // Policy delta between the original policy and the newly set policy. + google.iam.v1.PolicyDelta policy_delta = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/options.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/options.proto new file mode 100644 index 00000000..5334962a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/options.proto @@ -0,0 +1,48 @@ +// Copyright 2024 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.iam.v1; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Iam.V1"; +option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "OptionsProto"; +option java_package = "com.google.iam.v1"; +option php_namespace = "Google\\Cloud\\Iam\\V1"; + +// Encapsulates settings provided to GetIamPolicy. +message GetPolicyOptions { + // Optional. The maximum policy version that will be used to format the + // policy. + // + // Valid values are 0, 1, and 3. Requests specifying an invalid value will be + // rejected. + // + // Requests for policies with any conditional role bindings must specify + // version 3. Policies with no conditional role bindings may specify any valid + // value or leave the field unset. + // + // The policy in the response might use the policy version that you specified, + // or it might use a lower policy version. For example, if you specify version + // 3, but the policy has no conditional role bindings, the response uses + // version 1. + // + // To learn which resources support conditions in their IAM policies, see the + // [IAM + // documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + int32 requested_policy_version = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/policy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/policy.proto new file mode 100644 index 00000000..9bff39ac --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1/policy.proto @@ -0,0 +1,410 @@ +// Copyright 2024 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.iam.v1; + +import "google/type/expr.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Iam.V1"; +option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.iam.v1"; +option php_namespace = "Google\\Cloud\\Iam\\V1"; + +// An Identity and Access Management (IAM) policy, which specifies access +// controls for Google Cloud resources. +// +// +// A `Policy` is a collection of `bindings`. A `binding` binds one or more +// `members`, or principals, to a single `role`. Principals can be user +// accounts, service accounts, Google groups, and domains (such as G Suite). A +// `role` is a named list of permissions; each `role` can be an IAM predefined +// role or a user-created custom role. +// +// For some types of Google Cloud resources, a `binding` can also specify a +// `condition`, which is a logical expression that allows access to a resource +// only if the expression evaluates to `true`. A condition can add constraints +// based on attributes of the request, the resource, or both. To learn which +// resources support conditions in their IAM policies, see the +// [IAM +// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +// +// **JSON example:** +// +// ``` +// { +// "bindings": [ +// { +// "role": "roles/resourcemanager.organizationAdmin", +// "members": [ +// "user:mike@example.com", +// "group:admins@example.com", +// "domain:google.com", +// "serviceAccount:my-project-id@appspot.gserviceaccount.com" +// ] +// }, +// { +// "role": "roles/resourcemanager.organizationViewer", +// "members": [ +// "user:eve@example.com" +// ], +// "condition": { +// "title": "expirable access", +// "description": "Does not grant access after Sep 2020", +// "expression": "request.time < +// timestamp('2020-10-01T00:00:00.000Z')", +// } +// } +// ], +// "etag": "BwWWja0YfJA=", +// "version": 3 +// } +// ``` +// +// **YAML example:** +// +// ``` +// bindings: +// - members: +// - user:mike@example.com +// - group:admins@example.com +// - domain:google.com +// - serviceAccount:my-project-id@appspot.gserviceaccount.com +// role: roles/resourcemanager.organizationAdmin +// - members: +// - user:eve@example.com +// role: roles/resourcemanager.organizationViewer +// condition: +// title: expirable access +// description: Does not grant access after Sep 2020 +// expression: request.time < timestamp('2020-10-01T00:00:00.000Z') +// etag: BwWWja0YfJA= +// version: 3 +// ``` +// +// For a description of IAM and its features, see the +// [IAM documentation](https://cloud.google.com/iam/docs/). +message Policy { + // Specifies the format of the policy. + // + // Valid values are `0`, `1`, and `3`. Requests that specify an invalid value + // are rejected. + // + // Any operation that affects conditional role bindings must specify version + // `3`. This requirement applies to the following operations: + // + // * Getting a policy that includes a conditional role binding + // * Adding a conditional role binding to a policy + // * Changing a conditional role binding in a policy + // * Removing any role binding, with or without a condition, from a policy + // that includes conditions + // + // **Important:** If you use IAM Conditions, you must include the `etag` field + // whenever you call `setIamPolicy`. If you omit this field, then IAM allows + // you to overwrite a version `3` policy with a version `1` policy, and all of + // the conditions in the version `3` policy are lost. + // + // If a policy does not include any conditions, operations on that policy may + // specify any valid version or leave the field unset. + // + // To learn which resources support conditions in their IAM policies, see the + // [IAM + // documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + int32 version = 1; + + // Associates a list of `members`, or principals, with a `role`. Optionally, + // may specify a `condition` that determines how and when the `bindings` are + // applied. Each of the `bindings` must contain at least one principal. + // + // The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 + // of these principals can be Google groups. Each occurrence of a principal + // counts towards these limits. For example, if the `bindings` grant 50 + // different roles to `user:alice@example.com`, and not to any other + // principal, then you can add another 1,450 principals to the `bindings` in + // the `Policy`. + repeated Binding bindings = 4; + + // Specifies cloud audit logging configuration for this policy. + repeated AuditConfig audit_configs = 6; + + // `etag` is used for optimistic concurrency control as a way to help + // prevent simultaneous updates of a policy from overwriting each other. + // It is strongly suggested that systems make use of the `etag` in the + // read-modify-write cycle to perform policy updates in order to avoid race + // conditions: An `etag` is returned in the response to `getIamPolicy`, and + // systems are expected to put that etag in the request to `setIamPolicy` to + // ensure that their change will be applied to the same version of the policy. + // + // **Important:** If you use IAM Conditions, you must include the `etag` field + // whenever you call `setIamPolicy`. If you omit this field, then IAM allows + // you to overwrite a version `3` policy with a version `1` policy, and all of + // the conditions in the version `3` policy are lost. + bytes etag = 3; +} + +// Associates `members`, or principals, with a `role`. +message Binding { + // Role that is assigned to the list of `members`, or principals. + // For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + string role = 1; + + // Specifies the principals requesting access for a Google Cloud resource. + // `members` can have the following values: + // + // * `allUsers`: A special identifier that represents anyone who is + // on the internet; with or without a Google account. + // + // * `allAuthenticatedUsers`: A special identifier that represents anyone + // who is authenticated with a Google account or a service account. + // + // * `user:{emailid}`: An email address that represents a specific Google + // account. For example, `alice@example.com` . + // + // + // * `serviceAccount:{emailid}`: An email address that represents a service + // account. For example, `my-other-app@appspot.gserviceaccount.com`. + // + // * `group:{emailid}`: An email address that represents a Google group. + // For example, `admins@example.com`. + // + // * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique + // identifier) representing a user that has been recently deleted. For + // example, `alice@example.com?uid=123456789012345678901`. If the user is + // recovered, this value reverts to `user:{emailid}` and the recovered user + // retains the role in the binding. + // + // * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a service account that has been recently + // deleted. For example, + // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + // If the service account is undeleted, this value reverts to + // `serviceAccount:{emailid}` and the undeleted service account retains the + // role in the binding. + // + // * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique + // identifier) representing a Google group that has been recently + // deleted. For example, `admins@example.com?uid=123456789012345678901`. If + // the group is recovered, this value reverts to `group:{emailid}` and the + // recovered group retains the role in the binding. + // + // + // * `domain:{domain}`: The G Suite domain (primary) that represents all the + // users of that domain. For example, `google.com` or `example.com`. + // + // + repeated string members = 2; + + // The condition that is associated with this binding. + // + // If the condition evaluates to `true`, then this binding applies to the + // current request. + // + // If the condition evaluates to `false`, then this binding does not apply to + // the current request. However, a different role binding might grant the same + // role to one or more of the principals in this binding. + // + // To learn which resources support conditions in their IAM policies, see the + // [IAM + // documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + google.type.Expr condition = 3; +} + +// Specifies the audit configuration for a service. +// The configuration determines which permission types are logged, and what +// identities, if any, are exempted from logging. +// An AuditConfig must have one or more AuditLogConfigs. +// +// If there are AuditConfigs for both `allServices` and a specific service, +// the union of the two AuditConfigs is used for that service: the log_types +// specified in each AuditConfig are enabled, and the exempted_members in each +// AuditLogConfig are exempted. +// +// Example Policy with multiple AuditConfigs: +// +// { +// "audit_configs": [ +// { +// "service": "allServices", +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// "exempted_members": [ +// "user:jose@example.com" +// ] +// }, +// { +// "log_type": "DATA_WRITE" +// }, +// { +// "log_type": "ADMIN_READ" +// } +// ] +// }, +// { +// "service": "sampleservice.googleapis.com", +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ" +// }, +// { +// "log_type": "DATA_WRITE", +// "exempted_members": [ +// "user:aliya@example.com" +// ] +// } +// ] +// } +// ] +// } +// +// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ +// logging. It also exempts `jose@example.com` from DATA_READ logging, and +// `aliya@example.com` from DATA_WRITE logging. +message AuditConfig { + // Specifies a service that will be enabled for audit logging. + // For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + // `allServices` is a special value that covers all services. + string service = 1; + + // The configuration for logging of each type of permission. + repeated AuditLogConfig audit_log_configs = 3; +} + +// Provides the configuration for logging a type of permissions. +// Example: +// +// { +// "audit_log_configs": [ +// { +// "log_type": "DATA_READ", +// "exempted_members": [ +// "user:jose@example.com" +// ] +// }, +// { +// "log_type": "DATA_WRITE" +// } +// ] +// } +// +// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting +// jose@example.com from DATA_READ logging. +message AuditLogConfig { + // The list of valid permission types for which logging can be configured. + // Admin writes are always logged, and are not configurable. + enum LogType { + // Default case. Should never be this. + LOG_TYPE_UNSPECIFIED = 0; + + // Admin reads. Example: CloudIAM getIamPolicy + ADMIN_READ = 1; + + // Data writes. Example: CloudSQL Users create + DATA_WRITE = 2; + + // Data reads. Example: CloudSQL Users list + DATA_READ = 3; + } + + // The log type that this config enables. + LogType log_type = 1; + + // Specifies the identities that do not cause logging for this type of + // permission. + // Follows the same format of + // [Binding.members][google.iam.v1.Binding.members]. + repeated string exempted_members = 2; +} + +// The difference delta between two policies. +message PolicyDelta { + // The delta for Bindings between two policies. + repeated BindingDelta binding_deltas = 1; + + // The delta for AuditConfigs between two policies. + repeated AuditConfigDelta audit_config_deltas = 2; +} + +// One delta entry for Binding. Each individual change (only one member in each +// entry) to a binding will be a separate entry. +message BindingDelta { + // The type of action performed on a Binding in a policy. + enum Action { + // Unspecified. + ACTION_UNSPECIFIED = 0; + + // Addition of a Binding. + ADD = 1; + + // Removal of a Binding. + REMOVE = 2; + } + + // The action that was performed on a Binding. + // Required + Action action = 1; + + // Role that is assigned to `members`. + // For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + // Required + string role = 2; + + // A single identity requesting access for a Google Cloud resource. + // Follows the same format of Binding.members. + // Required + string member = 3; + + // The condition that is associated with this binding. + google.type.Expr condition = 4; +} + +// One delta entry for AuditConfig. Each individual change (only one +// exempted_member in each entry) to a AuditConfig will be a separate entry. +message AuditConfigDelta { + // The type of action performed on an audit configuration in a policy. + enum Action { + // Unspecified. + ACTION_UNSPECIFIED = 0; + + // Addition of an audit configuration. + ADD = 1; + + // Removal of an audit configuration. + REMOVE = 2; + } + + // The action that was performed on an audit configuration in a policy. + // Required + Action action = 1; + + // Specifies a service that was configured for Cloud Audit Logging. + // For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. + // `allServices` is a special value that covers all services. + // Required + string service = 2; + + // A single identity that is exempted from "data access" audit + // logging for the `service` specified above. + // Follows the same format of Binding.members. + string exempted_member = 3; + + // Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always + // enabled, and cannot be configured. + // Required + string log_type = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/BUILD.bazel new file mode 100644 index 00000000..2a08e2fd --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/BUILD.bazel @@ -0,0 +1,309 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", + "proto_library_with_info", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +proto_library( + name = "iam_proto", + srcs = [ + "workload_identity_pool.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "@com_google_protobuf//:field_mask_proto", + ], +) + +proto_library_with_info( + name = "iam_proto_with_info", + deps = [ + ":iam_proto", + "//google/cloud:common_resources_proto", + ], +) + +java_proto_library( + name = "iam_java_proto", + deps = [":iam_proto"], +) + +java_grpc_library( + name = "iam_java_grpc", + srcs = [":iam_proto"], + deps = [":iam_java_proto"], +) + +java_gapic_library( + name = "iam_java_gapic", + srcs = [":iam_proto_with_info"], + gapic_yaml = "iam_gapic.yaml", + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v1beta.yaml", + test_deps = [ + ":iam_java_grpc", + ], + transport = "grpc", + deps = [ + ":iam_java_proto", + ], +) + +java_gapic_test( + name = "iam_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.iam.v1beta.WorkloadIdentityPoolsClientTest", + ], + runtime_deps = [":iam_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-iam-v1beta-java", + include_samples = True, + transport = "grpc", + deps = [ + ":iam_java_gapic", + ":iam_java_grpc", + ":iam_java_proto", + ":iam_proto", + ], +) + +go_proto_library( + name = "iam_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/apiv1beta/iampb", + protos = [":iam_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + ], +) + +go_gapic_library( + name = "iam_go_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + importpath = "cloud.google.com/go/iam/apiv1beta;iam", + rest_numeric_enums = True, + service_yaml = "iam_v1beta.yaml", + transport = "grpc", + deps = [ + ":iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-v1beta-go", + deps = [ + ":iam_go_gapic", + ":iam_go_gapic_srcjar-snippets.srcjar", + ":iam_go_gapic_srcjar-test.srcjar", + ":iam_go_proto", + ], +) + +py_gapic_library( + name = "iam_py_gapic", + srcs = [":iam_proto"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v1beta.yaml", + transport = "grpc", +) + +py_test( + name = "iam_py_gapic_test", + srcs = [ + "iam_py_gapic_pytest.py", + "iam_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":iam_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "iam-v1beta-py", + deps = [ + ":iam_py_gapic", + ], +) + +php_proto_library( + name = "iam_php_proto", + deps = [":iam_proto"], +) + +php_gapic_library( + name = "iam_php_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v1beta.yaml", + transport = "grpc+rest", + deps = [":iam_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-iam-v1beta-php", + deps = [ + ":iam_php_gapic", + ":iam_php_proto", + ], +) + +nodejs_gapic_library( + name = "iam_nodejs_gapic", + src = ":iam_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "iam_grpc_service_config.json", + package = "google.iam.v1beta", + rest_numeric_enums = True, + service_yaml = "iam_v1beta.yaml", + transport = "grpc", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "iam-v1beta-nodejs", + deps = [ + ":iam_nodejs_gapic", + ":iam_proto", + ], +) + +ruby_proto_library( + name = "iam_ruby_proto", + deps = [":iam_proto"], +) + +ruby_grpc_library( + name = "iam_ruby_grpc", + srcs = [":iam_proto"], + deps = [":iam_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "iam_ruby_gapic", + srcs = [":iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-gem-name=google-iam-v1beta", + "ruby-cloud-env-prefix=IAM", + "ruby-cloud-product-url=https://cloud.google.com/iam/docs/manage-workload-identity-pools-providers", + "ruby-cloud-api-id=iam.googleapis.com", + "ruby-cloud-api-shortname=iam", + ], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Pre-release client for the WorkloadIdentityPools service.", + ruby_cloud_title = "Google IAM V1beta", + service_yaml = "iam_v1beta.yaml", + transport = "grpc", + deps = [ + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-iam-v1beta-ruby", + deps = [ + ":iam_ruby_gapic", + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +csharp_proto_library( + name = "iam_csharp_proto", + deps = [":iam_proto"], +) + +csharp_grpc_library( + name = "iam_csharp_grpc", + srcs = [":iam_proto"], + deps = [":iam_csharp_proto"], +) + +csharp_gapic_library( + name = "iam_csharp_gapic", + srcs = [":iam_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v1beta.yaml", + transport = "grpc", + deps = [ + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-iam-v1beta-csharp", + deps = [ + ":iam_csharp_gapic", + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_gapic.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_gapic.yaml new file mode 100644 index 00000000..887ce7ed --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_gapic.yaml @@ -0,0 +1,6 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +# The settings of generated code in a specific language. +language_settings: + java: + package_name: com.google.cloud.iam.v1beta diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_grpc_service_config.json new file mode 100644 index 00000000..5731f973 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_grpc_service_config.json @@ -0,0 +1,67 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "ListWorkloadIdentityPools" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "GetWorkloadIdentityPool" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "CreateWorkloadIdentityPool" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "UpdateWorkloadIdentityPool" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "DeleteWorkloadIdentityPool" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "UndeleteWorkloadIdentityPool" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "ListWorkloadIdentityPoolProviders" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "GetWorkloadIdentityPoolProvider" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "CreateWorkloadIdentityPoolProvider" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "UpdateWorkloadIdentityPoolProvider" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "DeleteWorkloadIdentityPoolProvider" + }, + { + "service": "google.iam.v1beta.WorkloadIdentityPools", + "method": "UndeleteWorkloadIdentityPoolProvider" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE", + "DEADLINE_EXCEEDED" + ] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_v1beta.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_v1beta.yaml new file mode 100644 index 00000000..638931b1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/iam_v1beta.yaml @@ -0,0 +1,50 @@ +type: google.api.Service +config_version: 2 +name: iam.googleapis.com +title: Identity and Access Management (IAM) API + +apis: +- name: google.iam.v1beta.WorkloadIdentityPools + +documentation: + summary: |- +

Manages identity and access control for Google Cloud Platform resources, + including the creation of service accounts, which you can use to + authenticate to Google and make API calls.

+ +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}:cancel' + body: '*' + additional_bindings: + - post: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.DeleteOperation + delete: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}' + additional_bindings: + - delete: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}' + - selector: google.longrunning.Operations.GetOperation + get: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/operations/*}' + additional_bindings: + - get: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}/operations' + additional_bindings: + - get: '/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}/operations' + +authentication: + rules: + - selector: 'google.iam.v1beta.WorkloadIdentityPools.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/workload_identity_pool.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/workload_identity_pool.proto new file mode 100644 index 00000000..5a4a97a0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v1beta/workload_identity_pool.proto @@ -0,0 +1,640 @@ +// Copyright 2024 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.iam.v1beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option go_package = "cloud.google.com/go/iam/apiv1beta/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "WorkloadIdentityPoolProto"; +option java_package = "com.google.iam.v1beta"; + +// Manages WorkloadIdentityPools. +service WorkloadIdentityPools { + option (google.api.default_host) = "iam.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Lists all non-deleted + // [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]s in a + // project. If `show_deleted` is set to `true`, then deleted pools are also + // listed. + rpc ListWorkloadIdentityPools(ListWorkloadIdentityPoolsRequest) returns (ListWorkloadIdentityPoolsResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*}/workloadIdentityPools" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets an individual + // [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]. + rpc GetWorkloadIdentityPool(GetWorkloadIdentityPoolRequest) returns (WorkloadIdentityPool) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new + // [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]. + // + // You cannot reuse the name of a deleted pool until 30 days after deletion. + rpc CreateWorkloadIdentityPool(CreateWorkloadIdentityPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*}/workloadIdentityPools" + body: "workload_identity_pool" + }; + option (google.api.method_signature) = "parent,workload_identity_pool,workload_identity_pool_id"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPool" + metadata_type: "WorkloadIdentityPoolOperationMetadata" + }; + } + + // Updates an existing + // [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]. + rpc UpdateWorkloadIdentityPool(UpdateWorkloadIdentityPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{workload_identity_pool.name=projects/*/locations/*/workloadIdentityPools/*}" + body: "workload_identity_pool" + }; + option (google.api.method_signature) = "workload_identity_pool,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPool" + metadata_type: "WorkloadIdentityPoolOperationMetadata" + }; + } + + // Deletes a + // [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]. + // + // You cannot use a deleted pool to exchange external + // credentials for Google Cloud credentials. However, deletion does + // not revoke credentials that have already been issued. + // Credentials issued for a deleted pool do not grant access to resources. + // If the pool is undeleted, and the credentials are not expired, they + // grant access again. + // You can undelete a pool for 30 days. After 30 days, deletion is + // permanent. + // You cannot update deleted pools. However, you can view and list them. + rpc DeleteWorkloadIdentityPool(DeleteWorkloadIdentityPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPool" + metadata_type: "WorkloadIdentityPoolOperationMetadata" + }; + } + + // Undeletes a [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool], + // as long as it was deleted fewer than 30 days ago. + rpc UndeleteWorkloadIdentityPool(UndeleteWorkloadIdentityPoolRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*}:undelete" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPool" + metadata_type: "WorkloadIdentityPoolOperationMetadata" + }; + } + + // Lists all non-deleted + // [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityPoolProvider]s + // in a [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]. + // If `show_deleted` is set to `true`, then deleted providers are also listed. + rpc ListWorkloadIdentityPoolProviders(ListWorkloadIdentityPoolProvidersRequest) returns (ListWorkloadIdentityPoolProvidersResponse) { + option (google.api.http) = { + get: "/v1beta/{parent=projects/*/locations/*/workloadIdentityPools/*}/providers" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets an individual + // [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityPoolProvider]. + rpc GetWorkloadIdentityPoolProvider(GetWorkloadIdentityPoolProviderRequest) returns (WorkloadIdentityPoolProvider) { + option (google.api.http) = { + get: "/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new + // [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider] + // in a [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]. + // + // You cannot reuse the name of a deleted provider until 30 days after + // deletion. + rpc CreateWorkloadIdentityPoolProvider(CreateWorkloadIdentityPoolProviderRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{parent=projects/*/locations/*/workloadIdentityPools/*}/providers" + body: "workload_identity_pool_provider" + }; + option (google.api.method_signature) = "parent,workload_identity_pool_provider,workload_identity_pool_provider_id"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPoolProvider" + metadata_type: "WorkloadIdentityPoolProviderOperationMetadata" + }; + } + + // Updates an existing + // [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider]. + rpc UpdateWorkloadIdentityPoolProvider(UpdateWorkloadIdentityPoolProviderRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta/{workload_identity_pool_provider.name=projects/*/locations/*/workloadIdentityPools/*/providers/*}" + body: "workload_identity_pool_provider" + }; + option (google.api.method_signature) = "workload_identity_pool_provider,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPoolProvider" + metadata_type: "WorkloadIdentityPoolProviderOperationMetadata" + }; + } + + // Deletes a + // [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider]. + // Deleting a provider does not revoke credentials that have already been + // issued; they continue to grant access. + // You can undelete a provider for 30 days. After 30 days, deletion is + // permanent. + // You cannot update deleted providers. However, you can view and list them. + rpc DeleteWorkloadIdentityPoolProvider(DeleteWorkloadIdentityPoolProviderRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPoolProvider" + metadata_type: "WorkloadIdentityPoolProviderOperationMetadata" + }; + } + + // Undeletes a + // [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider], + // as long as it was deleted fewer than 30 days ago. + rpc UndeleteWorkloadIdentityPoolProvider(UndeleteWorkloadIdentityPoolProviderRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta/{name=projects/*/locations/*/workloadIdentityPools/*/providers/*}:undelete" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "WorkloadIdentityPoolProvider" + metadata_type: "WorkloadIdentityPoolProviderOperationMetadata" + }; + } +} + +// Represents a collection of external workload identities. You can define IAM +// policies to grant these identities access to Google Cloud resources. +message WorkloadIdentityPool { + option (google.api.resource) = { + type: "iam.googleapis.com/WorkloadIdentityPool" + pattern: "projects/{project}/locations/{location}/workloadIdentityPools/{workload_identity_pool}" + }; + + // The current state of the pool. + enum State { + // State unspecified. + STATE_UNSPECIFIED = 0; + + // The pool is active, and may be used in Google Cloud policies. + ACTIVE = 1; + + // The pool is soft-deleted. Soft-deleted pools are permanently deleted + // after approximately 30 days. You can restore a soft-deleted pool using + // [UndeleteWorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPools.UndeleteWorkloadIdentityPool]. + // + // You cannot reuse the ID of a soft-deleted pool until it is permanently + // deleted. + // + // While a pool is deleted, you cannot use it to exchange tokens, or use + // existing tokens to access resources. If the pool is undeleted, existing + // tokens grant access again. + DELETED = 2; + } + + // Output only. The resource name of the pool. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A display name for the pool. Cannot exceed 32 characters. + string display_name = 2; + + // A description of the pool. Cannot exceed 256 characters. + string description = 3; + + // Output only. The state of the pool. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Whether the pool is disabled. You cannot use a disabled pool to exchange + // tokens, or use existing tokens to access resources. If + // the pool is re-enabled, existing tokens grant access again. + bool disabled = 5; +} + +// A configuration for an external identity provider. +message WorkloadIdentityPoolProvider { + option (google.api.resource) = { + type: "iam.googleapis.com/WorkloadIdentityPoolProvider" + pattern: "projects/{project}/locations/{location}/workloadIdentityPools/{workload_identity_pool}/providers/{workload_identity_pool_provider}" + }; + + // Represents an Amazon Web Services identity provider. + message Aws { + // Required. The AWS account ID. + string account_id = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // Represents an OpenId Connect 1.0 identity provider. + message Oidc { + // Required. The OIDC issuer URL. + string issuer_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Acceptable values for the `aud` field (audience) in the OIDC token. Token + // exchange requests are rejected if the token audience does not match one + // of the configured values. Each audience may be at most 256 characters. A + // maximum of 10 audiences may be configured. + // + // If this list is empty, the OIDC token audience must be equal to + // the full canonical resource name of the WorkloadIdentityPoolProvider, + // with or without the HTTPS prefix. For example: + // + // ``` + // //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ + // https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ + // ``` + repeated string allowed_audiences = 2; + } + + // The current state of the provider. + enum State { + // State unspecified. + STATE_UNSPECIFIED = 0; + + // The provider is active, and may be used to validate authentication + // credentials. + ACTIVE = 1; + + // The provider is soft-deleted. Soft-deleted providers are permanently + // deleted after approximately 30 days. You can restore a soft-deleted + // provider using + // [UndeleteWorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityPools.UndeleteWorkloadIdentityPoolProvider]. + // + // You cannot reuse the ID of a soft-deleted provider until it is + // permanently deleted. + DELETED = 2; + } + + // Output only. The resource name of the provider. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A display name for the provider. Cannot exceed 32 characters. + string display_name = 2; + + // A description for the provider. Cannot exceed 256 characters. + string description = 3; + + // Output only. The state of the provider. + State state = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Whether the provider is disabled. You cannot use a disabled provider to + // exchange tokens. However, existing tokens still grant access. + bool disabled = 5; + + // Maps attributes from authentication credentials issued by an external + // identity provider to Google Cloud attributes, such as `subject` and + // `segment`. + // + // Each key must be a string specifying the Google Cloud IAM attribute to + // map to. + // + // The following keys are supported: + // + // * `google.subject`: The principal IAM is authenticating. You can reference + // this value in IAM bindings. This is also the + // subject that appears in Cloud Logging logs. + // Cannot exceed 127 characters. + // + // * `google.groups`: Groups the external identity belongs to. You can grant + // groups access to resources using an IAM `principalSet` + // binding; access applies to all members of the group. + // + // You can also provide custom attributes by specifying + // `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of + // the custom attribute to be mapped. You can define a maximum of 50 custom + // attributes. The maximum length of a mapped attribute key is + // 100 characters, and the key may only contain the characters [a-z0-9_]. + // + // You can reference these attributes in IAM policies to define fine-grained + // access for a workload to Google Cloud resources. For example: + // + // * `google.subject`: + // `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` + // + // * `google.groups`: + // `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` + // + // * `attribute.{custom_attribute}`: + // `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` + // + // Each value must be a [Common Expression Language] + // (https://opensource.google/projects/cel) function that maps an + // identity provider credential to the normalized attribute specified by the + // corresponding map key. + // + // You can use the `assertion` keyword in the expression to access a JSON + // representation of the authentication credential issued by the provider. + // + // The maximum length of an attribute mapping expression is 2048 characters. + // When evaluated, the total size of all mapped attributes must not exceed + // 8KB. + // + // For AWS providers, the following rules apply: + // + // - If no attribute mapping is defined, the following default mapping + // applies: + // + // ``` + // { + // "google.subject":"assertion.arn", + // "attribute.aws_role": + // "assertion.arn.contains('assumed-role')" + // " ? assertion.arn.extract('{account_arn}assumed-role/')" + // " + 'assumed-role/'" + // " + assertion.arn.extract('assumed-role/{role_name}/')" + // " : assertion.arn", + // } + // ``` + // + // - If any custom attribute mappings are defined, they must include a mapping + // to the `google.subject` attribute. + // + // + // For OIDC providers, the following rules apply: + // + // - Custom attribute mappings must be defined, and must include a mapping to + // the `google.subject` attribute. For example, the following maps the + // `sub` claim of the incoming credential to the `subject` attribute on + // a Google token. + // + // ``` + // {"google.subject": "assertion.sub"} + // ``` + map attribute_mapping = 6; + + // [A Common Expression Language](https://opensource.google/projects/cel) + // expression, in plain text, to restrict what otherwise valid authentication + // credentials issued by the provider should not be accepted. + // + // The expression must output a boolean representing whether to allow the + // federation. + // + // The following keywords may be referenced in the expressions: + // + // * `assertion`: JSON representing the authentication credential issued by + // the provider. + // * `google`: The Google attributes mapped from the assertion in the + // `attribute_mappings`. + // * `attribute`: The custom attributes mapped from the assertion in the + // `attribute_mappings`. + // + // The maximum length of the attribute condition expression is 4096 + // characters. If unspecified, all valid authentication credential are + // accepted. + // + // The following example shows how to only allow credentials with a mapped + // `google.groups` value of `admins`: + // + // ``` + // "'admins' in google.groups" + // ``` + string attribute_condition = 7; + + // Identity provider configuration types. + oneof provider_config { + // An Amazon Web Services identity provider. + Aws aws = 8; + + // An OpenId Connect 1.0 identity provider. + Oidc oidc = 9; + } +} + +// Request message for ListWorkloadIdentityPools. +message ListWorkloadIdentityPoolsRequest { + // Required. The parent resource to list pools for. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // The maximum number of pools to return. + // If unspecified, at most 50 pools are returned. + // The maximum value is 1000; values above are 1000 truncated to 1000. + int32 page_size = 2; + + // A page token, received from a previous `ListWorkloadIdentityPools` + // call. Provide this to retrieve the subsequent page. + string page_token = 3; + + // Whether to return soft-deleted pools. + bool show_deleted = 4; +} + +// Response message for ListWorkloadIdentityPools. +message ListWorkloadIdentityPoolsResponse { + // A list of pools. + repeated WorkloadIdentityPool workload_identity_pools = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for GetWorkloadIdentityPool. +message GetWorkloadIdentityPoolRequest { + // Required. The name of the pool to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPool" + } + ]; +} + +// Request message for CreateWorkloadIdentityPool. +message CreateWorkloadIdentityPoolRequest { + // Required. The parent resource to create the pool in. The only supported + // location is `global`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Required. The pool to create. + WorkloadIdentityPool workload_identity_pool = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the pool, which becomes the + // final component of the resource name. This value should be 4-32 characters, + // and may contain the characters [a-z0-9-]. The prefix `gcp-` is + // reserved for use by Google, and may not be specified. + string workload_identity_pool_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateWorkloadIdentityPool. +message UpdateWorkloadIdentityPoolRequest { + // Required. The pool to update. The `name` field is used to identify the pool. + WorkloadIdentityPool workload_identity_pool = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields update. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteWorkloadIdentityPool. +message DeleteWorkloadIdentityPoolRequest { + // Required. The name of the pool to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPool" + } + ]; +} + +// Request message for UndeleteWorkloadIdentityPool. +message UndeleteWorkloadIdentityPoolRequest { + // Required. The name of the pool to undelete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPool" + } + ]; +} + +// Request message for ListWorkloadIdentityPoolProviders. +message ListWorkloadIdentityPoolProvidersRequest { + // Required. The pool to list providers for. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPool" + } + ]; + + // The maximum number of providers to return. + // If unspecified, at most 50 providers are returned. + // The maximum value is 100; values above 100 are truncated to 100. + int32 page_size = 2; + + // A page token, received from a previous + // `ListWorkloadIdentityPoolProviders` call. Provide this to retrieve the + // subsequent page. + string page_token = 3; + + // Whether to return soft-deleted providers. + bool show_deleted = 4; +} + +// Response message for ListWorkloadIdentityPoolProviders. +message ListWorkloadIdentityPoolProvidersResponse { + // A list of providers. + repeated WorkloadIdentityPoolProvider workload_identity_pool_providers = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request message for GetWorkloadIdentityPoolProvider. +message GetWorkloadIdentityPoolProviderRequest { + // Required. The name of the provider to retrieve. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPoolProvider" + } + ]; +} + +// Request message for CreateWorkloadIdentityPoolProvider. +message CreateWorkloadIdentityPoolProviderRequest { + // Required. The pool to create this provider in. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPool" + } + ]; + + // Required. The provider to create. + WorkloadIdentityPoolProvider workload_identity_pool_provider = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID for the provider, which becomes the + // final component of the resource name. This value must be 4-32 characters, + // and may contain the characters [a-z0-9-]. The prefix `gcp-` is + // reserved for use by Google, and may not be specified. + string workload_identity_pool_provider_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for UpdateWorkloadIdentityPoolProvider. +message UpdateWorkloadIdentityPoolProviderRequest { + // Required. The provider to update. + WorkloadIdentityPoolProvider workload_identity_pool_provider = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for DeleteWorkloadIdentityPoolProvider. +message DeleteWorkloadIdentityPoolProviderRequest { + // Required. The name of the provider to delete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPoolProvider" + } + ]; +} + +// Request message for UndeleteWorkloadIdentityPoolProvider. +message UndeleteWorkloadIdentityPoolProviderRequest { + // Required. The name of the provider to undelete. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "iam.googleapis.com/WorkloadIdentityPoolProvider" + } + ]; +} + +// Metadata for long-running WorkloadIdentityPool operations. +message WorkloadIdentityPoolOperationMetadata {} + +// Metadata for long-running WorkloadIdentityPoolProvider operations. +message WorkloadIdentityPoolProviderOperationMetadata {} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/BUILD.bazel new file mode 100644 index 00000000..e15eae01 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/BUILD.bazel @@ -0,0 +1,409 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "iam_proto", + srcs = [ + "deny.proto", + "policy.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/longrunning:operations_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library( + name = "policy_proto", + srcs = [ + "deny.proto", + "policy.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/longrunning:operations_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "iam_proto_with_info", + deps = [ + ":iam_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "iam_java_proto", + deps = [":iam_proto"], +) + +java_grpc_library( + name = "iam_java_grpc", + srcs = [":iam_proto"], + deps = [":iam_java_proto"], +) + +java_gapic_library( + name = "iam_java_gapic", + srcs = [":iam_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v2.yaml", + test_deps = [ + ":iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":iam_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "iam_java_gapic_test_suite", + test_classes = [ + "com.google.iam.v2.PoliciesClientHttpJsonTest", + "com.google.iam.v2.PoliciesClientTest", + ], + runtime_deps = [":iam_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-iam-v2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":iam_java_gapic", + ":iam_java_grpc", + ":iam_java_proto", + ":iam_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "iam_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/apiv2/iampb", + protos = [":iam_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "iam_go_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + importpath = "cloud.google.com/go/iam/apiv2;iam", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "iam_v2.yaml", + transport = "grpc+rest", + deps = [ + ":iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-v2-go", + deps = [ + ":iam_go_gapic", + ":iam_go_gapic_srcjar-metadata.srcjar", + ":iam_go_gapic_srcjar-snippets.srcjar", + ":iam_go_gapic_srcjar-test.srcjar", + ":iam_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_proto_library", + "py_test", +) + +py_proto_library( + name = "iam_policy_py_proto", + deps = [":policy_proto"], +) + +py_gapic_library( + name = "iam_py_gapic", + srcs = [":iam_proto"], + grpc_service_config = "iam_grpc_service_config.json", + opt_args = [ + "python-gapic-name=iam", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-iam", + ], + rest_numeric_enums = True, + service_yaml = "iam_v2.yaml", + transport = "grpc+rest", + deps = [ + ], +) + +py_test( + name = "iam_py_gapic_test", + srcs = [ + "iam_py_gapic_pytest.py", + "iam_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":iam_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "iam-v2-py", + deps = [ + ":iam_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "iam_php_proto", + deps = [":iam_proto"], +) + +php_gapic_library( + name = "iam_php_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + migration_mode = "NEW_SURFACE_ONLY", + rest_numeric_enums = True, + service_yaml = "iam_v2.yaml", + transport = "grpc+rest", + deps = [":iam_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-iam-v2-php", + deps = [ + ":iam_php_gapic", + ":iam_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "iam_nodejs_gapic", + package_name = "@google-cloud/iam", + src = ":iam_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "iam_grpc_service_config.json", + package = "google.iam.v2", + rest_numeric_enums = True, + service_yaml = "iam_v2.yaml", + transport = "grpc+rest", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "iam-v2-nodejs", + deps = [ + ":iam_nodejs_gapic", + ":iam_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "iam_ruby_proto", + deps = [":iam_proto"], +) + +ruby_grpc_library( + name = "iam_ruby_grpc", + srcs = [":iam_proto"], + deps = [":iam_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "iam_ruby_gapic", + srcs = [":iam_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=iam.googleapis.com", + "ruby-cloud-api-shortname=iam", + "ruby-cloud-gem-name=google-iam-v2", + "ruby-cloud-product-url=https://cloud.google.com/iam", + "ruby-cloud-wrapper-gem-override=google-iam-client", + ], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "Manages identity and access control policies for Google Cloud Platform resources.", + ruby_cloud_title = "IAM V2", + service_yaml = "iam_v2.yaml", + transport = "grpc+rest", + deps = [ + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-iam-v2-ruby", + deps = [ + ":iam_ruby_gapic", + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "iam_csharp_proto", + deps = [":iam_proto"], +) + +csharp_grpc_library( + name = "iam_csharp_grpc", + srcs = [":iam_proto"], + deps = [":iam_csharp_proto"], +) + +csharp_gapic_library( + name = "iam_csharp_gapic", + srcs = [":iam_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v2.yaml", + transport = "grpc+rest", + deps = [ + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-iam-v2-csharp", + deps = [ + ":iam_csharp_gapic", + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "iam_cc_proto", + deps = [":iam_proto"], +) + +cc_grpc_library( + name = "iam_cc_grpc", + srcs = [":iam_proto"], + grpc_only = True, + deps = [":iam_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/deny.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/deny.proto new file mode 100644 index 00000000..2f402872 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/deny.proto @@ -0,0 +1,109 @@ +// Copyright 2024 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.iam.v2; + +import "google/type/expr.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V2"; +option go_package = "cloud.google.com/go/iam/apiv2/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "DenyRuleProto"; +option java_package = "com.google.iam.v2"; +option php_namespace = "Google\\Cloud\\Iam\\V2"; + +// A deny rule in an IAM deny policy. +message DenyRule { + // The identities that are prevented from using one or more permissions on + // Google Cloud resources. This field can contain the following values: + // + // * `principalSet://goog/public:all`: A special identifier that represents + // any principal that is on the internet, even if they do not have a Google + // Account or are not logged in. + // + // * `principal://goog/subject/{email_id}`: A specific Google Account. + // Includes Gmail, Cloud Identity, and Google Workspace user accounts. For + // example, `principal://goog/subject/alice@example.com`. + // + // * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific + // Google Account that was deleted recently. For example, + // `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If + // the Google Account is recovered, this identifier reverts to the standard + // identifier for a Google Account. + // + // * `principalSet://goog/group/{group_id}`: A Google group. For example, + // `principalSet://goog/group/admins@example.com`. + // + // * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group + // that was deleted recently. For example, + // `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If + // the Google group is restored, this identifier reverts to the standard + // identifier for a Google group. + // + // * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: + // A Google Cloud service account. For example, + // `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. + // + // * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: + // A Google Cloud service account that was deleted recently. For example, + // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. + // If the service account is undeleted, this identifier reverts to the + // standard identifier for a service account. + // + // * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the + // principals associated with the specified Google Workspace or Cloud + // Identity customer ID. For example, + // `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. + repeated string denied_principals = 1; + + // The identities that are excluded from the deny rule, even if they are + // listed in the `denied_principals`. For example, you could add a Google + // group to the `denied_principals`, then exclude specific users who belong to + // that group. + // + // This field can contain the same values as the `denied_principals` field, + // excluding `principalSet://goog/public:all`, which represents all users on + // the internet. + repeated string exception_principals = 2; + + // The permissions that are explicitly denied by this rule. Each permission + // uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` + // is the fully qualified domain name for the service. For example, + // `iam.googleapis.com/roles.list`. + repeated string denied_permissions = 3; + + // Specifies the permissions that this rule excludes from the set of denied + // permissions given by `denied_permissions`. If a permission appears in + // `denied_permissions` _and_ in `exception_permissions` then it will _not_ be + // denied. + // + // The excluded permissions can be specified using the same syntax as + // `denied_permissions`. + repeated string exception_permissions = 4; + + // The condition that determines whether this deny rule applies to a request. + // If the condition expression evaluates to `true`, then the deny rule is + // applied; otherwise, the deny rule is not applied. + // + // Each deny rule is evaluated independently. If this deny rule does not apply + // to a request, other deny rules might still apply. + // + // The condition can use CEL functions that evaluate + // [resource + // tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other + // functions and operators are not supported. + google.type.Expr denial_condition = 5; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/iam_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/iam_grpc_service_config.json new file mode 100644 index 00000000..603087e0 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/iam_grpc_service_config.json @@ -0,0 +1,38 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.iam.v2.Policies", + "method": "ListPolicies" + }, + { + "service": "google.iam.v2.Policies", + "method": "GetPolicy" + }, + { + "service": "google.iam.v2.Policies", + "method": "CreatePolicy" + }, + { + "service": "google.iam.v2.Policies", + "method": "UpdatePolicy" + }, + { + "service": "google.iam.v2.Policies", + "method": "DeletePolicy" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/iam_v2.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/iam_v2.yaml new file mode 100644 index 00000000..9e03ac8a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/iam_v2.yaml @@ -0,0 +1,33 @@ +type: google.api.Service +config_version: 3 +name: iam.googleapis.com +title: Identity and Access Management (IAM) API + +apis: +- name: google.iam.v2.Policies +- name: google.longrunning.Operations + +types: +- name: google.iam.v2.PolicyOperationMetadata + +documentation: + summary: |- + Manages identity and access control for Google Cloud Platform resources, + including the creation of service accounts, which you can use to + authenticate to Google and make API calls. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v2/{name=policies/*/*/*/operations/*}' + +authentication: + rules: + - selector: 'google.iam.v2.Policies.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/policy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/policy.proto new file mode 100644 index 00000000..e732fa24 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2/policy.proto @@ -0,0 +1,287 @@ +// Copyright 2024 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.iam.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/iam/v2/deny.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V2"; +option go_package = "cloud.google.com/go/iam/apiv2/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.iam.v2"; +option php_namespace = "Google\\Cloud\\Iam\\V2"; + +// An interface for managing Identity and Access Management (IAM) policies. +service Policies { + option (google.api.default_host) = "iam.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Retrieves the policies of the specified kind that are attached to a + // resource. + // + // The response lists only policy metadata. In particular, policy rules are + // omitted. + rpc ListPolicies(ListPoliciesRequest) returns (ListPoliciesResponse) { + option (google.api.http) = { + get: "/v2/{parent=policies/*/*}" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a policy. + rpc GetPolicy(GetPolicyRequest) returns (Policy) { + option (google.api.http) = { + get: "/v2/{name=policies/*/*/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a policy. + rpc CreatePolicy(CreatePolicyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=policies/*/*}" + body: "policy" + }; + option (google.api.method_signature) = "parent,policy,policy_id"; + option (google.longrunning.operation_info) = { + response_type: "Policy" + metadata_type: "PolicyOperationMetadata" + }; + } + + // Updates the specified policy. + // + // You can update only the rules and the display name for the policy. + // + // To update a policy, you should use a read-modify-write loop: + // + // 1. Use [GetPolicy][google.iam.v2.Policies.GetPolicy] to read the current version of the policy. + // 2. Modify the policy as needed. + // 3. Use `UpdatePolicy` to write the updated policy. + // + // This pattern helps prevent conflicts between concurrent updates. + rpc UpdatePolicy(UpdatePolicyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + put: "/v2/{policy.name=policies/*/*/*}" + body: "policy" + }; + option (google.longrunning.operation_info) = { + response_type: "Policy" + metadata_type: "PolicyOperationMetadata" + }; + } + + // Deletes a policy. This action is permanent. + rpc DeletePolicy(DeletePolicyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v2/{name=policies/*/*/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Policy" + metadata_type: "PolicyOperationMetadata" + }; + } +} + +// Data for an IAM policy. +message Policy { + // Immutable. The resource name of the `Policy`, which must be unique. Format: + // `policies/{attachment_point}/denypolicies/{policy_id}` + // + // + // The attachment point is identified by its URL-encoded full resource name, + // which means that the forward-slash character, `/`, must be written as + // `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, requests can use the alphanumeric or the numeric ID. + // Responses always contain the numeric ID. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The globally unique ID of the `Policy`. Assigned automatically when the + // `Policy` is created. + string uid = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. + string kind = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A user-specified description of the `Policy`. This value can be up to 63 + // characters. + string display_name = 4; + + // A key-value map to store arbitrary metadata for the `Policy`. Keys + // can be up to 63 characters. Values can be up to 255 characters. + map annotations = 5; + + // An opaque tag that identifies the current version of the `Policy`. IAM uses + // this value to help manage concurrent updates, so they do not cause one + // update to be overwritten by another. + // + // If this field is present in a [CreatePolicy][] request, the value is + // ignored. + string etag = 6; + + // Output only. The time when the `Policy` was created. + google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the `Policy` was last updated. + google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. + google.protobuf.Timestamp delete_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A list of rules that specify the behavior of the `Policy`. All of the rules + // should be of the `kind` specified in the `Policy`. + repeated PolicyRule rules = 10; + + // Immutable. Specifies that this policy is managed by an authority and can only be + // modified by that authority. Usage is restricted. + string managing_authority = 11 [(google.api.field_behavior) = IMMUTABLE]; +} + +// A single rule in a `Policy`. +message PolicyRule { + oneof kind { + // A rule for a deny policy. + DenyRule deny_rule = 2; + } + + // A user-specified description of the rule. This value can be up to 256 + // characters. + string description = 1; +} + +// Request message for `ListPolicies`. +message ListPoliciesRequest { + // Required. The resource that the policy is attached to, along with the kind of policy + // to list. Format: + // `policies/{attachment_point}/denypolicies` + // + // + // The attachment point is identified by its URL-encoded full resource name, + // which means that the forward-slash character, `/`, must be written as + // `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of policies to return. IAM ignores this value and uses + // the value 1000. + int32 page_size = 2; + + // A page token received in a [ListPoliciesResponse][google.iam.v2.ListPoliciesResponse]. Provide this token to + // retrieve the next page. + string page_token = 3; +} + +// Response message for `ListPolicies`. +message ListPoliciesResponse { + // Metadata for the policies that are attached to the resource. + repeated Policy policies = 1; + + // A page token that you can use in a [ListPoliciesRequest][google.iam.v2.ListPoliciesRequest] to retrieve the + // next page. If this field is omitted, there are no additional pages. + string next_page_token = 2; +} + +// Request message for `GetPolicy`. +message GetPolicyRequest { + // Required. The resource name of the policy to retrieve. Format: + // `policies/{attachment_point}/denypolicies/{policy_id}` + // + // + // Use the URL-encoded full resource name, which means that the forward-slash + // character, `/`, must be written as `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for `CreatePolicy`. +message CreatePolicyRequest { + // Required. The resource that the policy is attached to, along with the kind of policy + // to create. Format: `policies/{attachment_point}/denypolicies` + // + // + // The attachment point is identified by its URL-encoded full resource name, + // which means that the forward-slash character, `/`, must be written as + // `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The policy to create. + Policy policy = 2 [(google.api.field_behavior) = REQUIRED]; + + // The ID to use for this policy, which will become the final component of + // the policy's resource name. The ID must contain 3 to 63 characters. It can + // contain lowercase letters and numbers, as well as dashes (`-`) and periods + // (`.`). The first character must be a lowercase letter. + string policy_id = 3; +} + +// Request message for `UpdatePolicy`. +message UpdatePolicyRequest { + // Required. The policy to update. + // + // To prevent conflicting updates, the `etag` value must match the value that + // is stored in IAM. If the `etag` values do not match, the request fails with + // a `409` error code and `ABORTED` status. + Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for `DeletePolicy`. +message DeletePolicyRequest { + // Required. The resource name of the policy to delete. Format: + // `policies/{attachment_point}/denypolicies/{policy_id}` + // + // + // Use the URL-encoded full resource name, which means that the forward-slash + // character, `/`, must be written as `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The expected `etag` of the policy to delete. If the value does not match + // the value that is stored in IAM, the request fails with a `409` error code + // and `ABORTED` status. + // + // If you omit this field, the policy is deleted regardless of its current + // `etag`. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Metadata for long-running `Policy` operations. +message PolicyOperationMetadata { + // Timestamp when the `google.longrunning.Operation` was created. + google.protobuf.Timestamp create_time = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/BUILD.bazel new file mode 100644 index 00000000..8ccaec3f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/BUILD.bazel @@ -0,0 +1,377 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "iam_proto", + srcs = [ + "deny.proto", + "policy.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/longrunning:operations_proto", + "//google/type:expr_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "iam_proto_with_info", + deps = [ + ":iam_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "iam_java_proto", + deps = [":iam_proto"], +) + +java_grpc_library( + name = "iam_java_grpc", + srcs = [":iam_proto"], + deps = [":iam_java_proto"], +) + +java_gapic_library( + name = "iam_java_gapic", + srcs = [":iam_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + test_deps = [ + ":iam_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":iam_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "iam_java_gapic_test_suite", + test_classes = [ + "com.google.iam.v2beta.PoliciesClientHttpJsonTest", + "com.google.iam.v2beta.PoliciesClientTest", + ], + runtime_deps = [":iam_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-iam-v2beta-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":iam_java_gapic", + ":iam_java_grpc", + ":iam_java_proto", + ":iam_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "iam_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/iam/apiv2beta/iampb", + protos = [":iam_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/type:expr_go_proto", + ], +) + +go_gapic_library( + name = "iam_go_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + importpath = "cloud.google.com/go/iam/apiv2beta;iam", + metadata = True, + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + transport = "grpc", + deps = [ + ":iam_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-iam-v2beta-go", + deps = [ + ":iam_go_gapic", + ":iam_go_gapic_srcjar-metadata.srcjar", + ":iam_go_gapic_srcjar-snippets.srcjar", + ":iam_go_gapic_srcjar-test.srcjar", + ":iam_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "iam_py_gapic", + srcs = [":iam_proto"], + grpc_service_config = "iam_grpc_service_config.json", + opt_args = [ + "python-gapic-name=iam", + "python-gapic-namespace=google.cloud", + "warehouse-package-name=google-cloud-iam", + ], + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + transport = "grpc", + deps = [ + ], +) + +py_test( + name = "iam_py_gapic_test", + srcs = [ + "iam_py_gapic_pytest.py", + "iam_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":iam_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "iam-v2beta-py", + deps = [ + ":iam_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "iam_php_proto", + deps = [":iam_proto"], +) + +php_gapic_library( + name = "iam_php_gapic", + srcs = [":iam_proto_with_info"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + transport = "grpc+rest", + deps = [":iam_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-iam-v2beta-php", + deps = [ + ":iam_php_gapic", + ":iam_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "iam_nodejs_gapic", + package_name = "@google-cloud/iam", + src = ":iam_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "iam_grpc_service_config.json", + package = "google.iam.v2beta", + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + transport = "grpc", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "iam-v2beta-nodejs", + deps = [ + ":iam_nodejs_gapic", + ":iam_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "iam_ruby_proto", + deps = [":iam_proto"], +) + +ruby_grpc_library( + name = "iam_ruby_grpc", + srcs = [":iam_proto"], + deps = [":iam_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "iam_ruby_gapic", + srcs = [":iam_proto_with_info"], + extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-iam-v2beta"], + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-iam-v2beta-ruby", + deps = [ + ":iam_ruby_gapic", + ":iam_ruby_grpc", + ":iam_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "iam_csharp_proto", + deps = [":iam_proto"], +) + +csharp_grpc_library( + name = "iam_csharp_grpc", + srcs = [":iam_proto"], + deps = [":iam_csharp_proto"], +) + +csharp_gapic_library( + name = "iam_csharp_gapic", + srcs = [":iam_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "iam_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "iam_v2beta.yaml", + transport = "grpc+rest", + deps = [ + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-iam-v2beta-csharp", + deps = [ + ":iam_csharp_gapic", + ":iam_csharp_grpc", + ":iam_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "iam_cc_proto", + deps = [":iam_proto"], +) + +cc_grpc_library( + name = "iam_cc_grpc", + srcs = [":iam_proto"], + grpc_only = True, + deps = [":iam_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/deny.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/deny.proto new file mode 100644 index 00000000..56dd64fc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/deny.proto @@ -0,0 +1,109 @@ +// Copyright 2024 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.iam.v2beta; + +import "google/type/expr.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V2Beta"; +option go_package = "cloud.google.com/go/iam/apiv2beta/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "DenyRuleProto"; +option java_package = "com.google.iam.v2beta"; +option php_namespace = "Google\\Cloud\\Iam\\V2beta"; + +// A deny rule in an IAM deny policy. +message DenyRule { + // The identities that are prevented from using one or more permissions on + // Google Cloud resources. This field can contain the following values: + // + // * `principalSet://goog/public:all`: A special identifier that represents + // any principal that is on the internet, even if they do not have a Google + // Account or are not logged in. + // + // * `principal://goog/subject/{email_id}`: A specific Google Account. + // Includes Gmail, Cloud Identity, and Google Workspace user accounts. For + // example, `principal://goog/subject/alice@example.com`. + // + // * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific + // Google Account that was deleted recently. For example, + // `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If + // the Google Account is recovered, this identifier reverts to the standard + // identifier for a Google Account. + // + // * `principalSet://goog/group/{group_id}`: A Google group. For example, + // `principalSet://goog/group/admins@example.com`. + // + // * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group + // that was deleted recently. For example, + // `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If + // the Google group is restored, this identifier reverts to the standard + // identifier for a Google group. + // + // * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: + // A Google Cloud service account. For example, + // `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. + // + // * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: + // A Google Cloud service account that was deleted recently. For example, + // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. + // If the service account is undeleted, this identifier reverts to the + // standard identifier for a service account. + // + // * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the + // principals associated with the specified Google Workspace or Cloud + // Identity customer ID. For example, + // `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. + repeated string denied_principals = 1; + + // The identities that are excluded from the deny rule, even if they are + // listed in the `denied_principals`. For example, you could add a Google + // group to the `denied_principals`, then exclude specific users who belong to + // that group. + // + // This field can contain the same values as the `denied_principals` field, + // excluding `principalSet://goog/public:all`, which represents all users on + // the internet. + repeated string exception_principals = 2; + + // The permissions that are explicitly denied by this rule. Each permission + // uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` + // is the fully qualified domain name for the service. For example, + // `iam.googleapis.com/roles.list`. + repeated string denied_permissions = 3; + + // Specifies the permissions that this rule excludes from the set of denied + // permissions given by `denied_permissions`. If a permission appears in + // `denied_permissions` _and_ in `exception_permissions` then it will _not_ be + // denied. + // + // The excluded permissions can be specified using the same syntax as + // `denied_permissions`. + repeated string exception_permissions = 4; + + // The condition that determines whether this deny rule applies to a request. + // If the condition expression evaluates to `true`, then the deny rule is + // applied; otherwise, the deny rule is not applied. + // + // Each deny rule is evaluated independently. If this deny rule does not apply + // to a request, other deny rules might still apply. + // + // The condition can use CEL functions that evaluate + // [resource + // tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other + // functions and operators are not supported. + google.type.Expr denial_condition = 5; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/iam_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/iam_grpc_service_config.json new file mode 100644 index 00000000..8db9764f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/iam_grpc_service_config.json @@ -0,0 +1,42 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.iam.v2beta.Policies", + "method": "ListPolicies" + }, + { + "service": "google.iam.v2beta.Policies", + "method": "GetPolicy" + }, + { + "service": "google.iam.v2beta.Policies", + "method": "CreatePolicy" + }, + { + "service": "google.iam.v2beta.Policies", + "method": "UpdatePolicy" + }, + { + "service": "google.iam.v2beta.Policies", + "method": "DeletePolicy" + }, + { + "service": "google.iam.v2beta.Policies", + "method": "GetEffectivePolicies" + } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/iam_v2beta.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/iam_v2beta.yaml new file mode 100644 index 00000000..a7d8d015 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/iam_v2beta.yaml @@ -0,0 +1,33 @@ +type: google.api.Service +config_version: 3 +name: iam.googleapis.com +title: Identity and Access Management (IAM) API + +apis: +- name: google.iam.v2beta.Policies +- name: google.longrunning.Operations + +types: +- name: google.iam.v2beta.PolicyOperationMetadata + +documentation: + summary: |- + Manages identity and access control for Google Cloud Platform resources, + including the creation of service accounts, which you can use to + authenticate to Google and make API calls. + +http: + rules: + - selector: google.longrunning.Operations.GetOperation + get: '/v2beta/{name=policies/*/*/*/operations/*}' + +authentication: + rules: + - selector: 'google.iam.v2beta.Policies.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/policy.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/policy.proto new file mode 100644 index 00000000..f96e4b50 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/iam/v2beta/policy.proto @@ -0,0 +1,283 @@ +// Copyright 2024 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.iam.v2beta; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/iam/v2beta/deny.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.Iam.V2Beta"; +option go_package = "cloud.google.com/go/iam/apiv2beta/iampb;iampb"; +option java_multiple_files = true; +option java_outer_classname = "PolicyProto"; +option java_package = "com.google.iam.v2beta"; +option php_namespace = "Google\\Cloud\\Iam\\V2beta"; + +// An interface for managing Identity and Access Management (IAM) policies. +service Policies { + option (google.api.default_host) = "iam.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Retrieves the policies of the specified kind that are attached to a + // resource. + // + // The response lists only policy metadata. In particular, policy rules are + // omitted. + rpc ListPolicies(ListPoliciesRequest) returns (ListPoliciesResponse) { + option (google.api.http) = { + get: "/v2beta/{parent=policies/*/*}" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a policy. + rpc GetPolicy(GetPolicyRequest) returns (Policy) { + option (google.api.http) = { + get: "/v2beta/{name=policies/*/*/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a policy. + rpc CreatePolicy(CreatePolicyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2beta/{parent=policies/*/*}" + body: "policy" + }; + option (google.api.method_signature) = "parent,policy,policy_id"; + option (google.longrunning.operation_info) = { + response_type: "Policy" + metadata_type: "PolicyOperationMetadata" + }; + } + + // Updates the specified policy. + // + // You can update only the rules and the display name for the policy. + // + // To update a policy, you should use a read-modify-write loop: + // + // 1. Use [GetPolicy][google.iam.v2beta.Policies.GetPolicy] to read the current version of the policy. + // 2. Modify the policy as needed. + // 3. Use `UpdatePolicy` to write the updated policy. + // + // This pattern helps prevent conflicts between concurrent updates. + rpc UpdatePolicy(UpdatePolicyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + put: "/v2beta/{policy.name=policies/*/*/*}" + body: "policy" + }; + option (google.longrunning.operation_info) = { + response_type: "Policy" + metadata_type: "PolicyOperationMetadata" + }; + } + + // Deletes a policy. This action is permanent. + rpc DeletePolicy(DeletePolicyRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v2beta/{name=policies/*/*/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Policy" + metadata_type: "PolicyOperationMetadata" + }; + } +} + +// Data for an IAM policy. +message Policy { + // Immutable. The resource name of the `Policy`, which must be unique. Format: + // `policies/{attachment_point}/denypolicies/{policy_id}` + // + // + // The attachment point is identified by its URL-encoded full resource name, + // which means that the forward-slash character, `/`, must be written as + // `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, requests can use the alphanumeric or the numeric ID. + // Responses always contain the numeric ID. + string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The globally unique ID of the `Policy`. Assigned automatically when the + // `Policy` is created. + string uid = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`. + string kind = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A user-specified description of the `Policy`. This value can be up to 63 + // characters. + string display_name = 4; + + // A key-value map to store arbitrary metadata for the `Policy`. Keys + // can be up to 63 characters. Values can be up to 255 characters. + map annotations = 5; + + // An opaque tag that identifies the current version of the `Policy`. IAM uses + // this value to help manage concurrent updates, so they do not cause one + // update to be overwritten by another. + // + // If this field is present in a [CreatePolicy][] request, the value is + // ignored. + string etag = 6; + + // Output only. The time when the `Policy` was created. + google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the `Policy` was last updated. + google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted. + google.protobuf.Timestamp delete_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A list of rules that specify the behavior of the `Policy`. All of the rules + // should be of the `kind` specified in the `Policy`. + repeated PolicyRule rules = 10; +} + +// A single rule in a `Policy`. +message PolicyRule { + oneof kind { + // A rule for a deny policy. + DenyRule deny_rule = 2; + } + + // A user-specified description of the rule. This value can be up to 256 + // characters. + string description = 1; +} + +// Request message for `ListPolicies`. +message ListPoliciesRequest { + // Required. The resource that the policy is attached to, along with the kind of policy + // to list. Format: + // `policies/{attachment_point}/denypolicies` + // + // + // The attachment point is identified by its URL-encoded full resource name, + // which means that the forward-slash character, `/`, must be written as + // `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The maximum number of policies to return. IAM ignores this value and uses + // the value 1000. + int32 page_size = 2; + + // A page token received in a [ListPoliciesResponse][google.iam.v2beta.ListPoliciesResponse]. Provide this token to + // retrieve the next page. + string page_token = 3; +} + +// Response message for `ListPolicies`. +message ListPoliciesResponse { + // Metadata for the policies that are attached to the resource. + repeated Policy policies = 1; + + // A page token that you can use in a [ListPoliciesRequest][google.iam.v2beta.ListPoliciesRequest] to retrieve the + // next page. If this field is omitted, there are no additional pages. + string next_page_token = 2; +} + +// Request message for `GetPolicy`. +message GetPolicyRequest { + // Required. The resource name of the policy to retrieve. Format: + // `policies/{attachment_point}/denypolicies/{policy_id}` + // + // + // Use the URL-encoded full resource name, which means that the forward-slash + // character, `/`, must be written as `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string name = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for `CreatePolicy`. +message CreatePolicyRequest { + // Required. The resource that the policy is attached to, along with the kind of policy + // to create. Format: `policies/{attachment_point}/denypolicies` + // + // + // The attachment point is identified by its URL-encoded full resource name, + // which means that the forward-slash character, `/`, must be written as + // `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The policy to create. + Policy policy = 2 [(google.api.field_behavior) = REQUIRED]; + + // The ID to use for this policy, which will become the final component of + // the policy's resource name. The ID must contain 3 to 63 characters. It can + // contain lowercase letters and numbers, as well as dashes (`-`) and periods + // (`.`). The first character must be a lowercase letter. + string policy_id = 3; +} + +// Request message for `UpdatePolicy`. +message UpdatePolicyRequest { + // Required. The policy to update. + // + // To prevent conflicting updates, the `etag` value must match the value that + // is stored in IAM. If the `etag` values do not match, the request fails with + // a `409` error code and `ABORTED` status. + Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for `DeletePolicy`. +message DeletePolicyRequest { + // Required. The resource name of the policy to delete. Format: + // `policies/{attachment_point}/denypolicies/{policy_id}` + // + // + // Use the URL-encoded full resource name, which means that the forward-slash + // character, `/`, must be written as `%2F`. For example, + // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. + // + // For organizations and folders, use the numeric ID in the full resource + // name. For projects, you can use the alphanumeric or the numeric ID. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The expected `etag` of the policy to delete. If the value does not match + // the value that is stored in IAM, the request fails with a `409` error code + // and `ABORTED` status. + // + // If you omit this field, the policy is deleted regardless of its current + // `etag`. + string etag = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Metadata for long-running `Policy` operations. +message PolicyOperationMetadata { + // Timestamp when the `google.longrunning.Operation` was created. + google.protobuf.Timestamp create_time = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/BUILD.bazel new file mode 100644 index 00000000..a87c57fe --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/BUILD.bazel @@ -0,0 +1 @@ +exports_files(glob(["*.yaml"])) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/README.md new file mode 100644 index 00000000..2f14ba1b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/README.md @@ -0,0 +1,3 @@ +# Introduction + +The Stackdriver Logging service. diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/BUILD.bazel new file mode 100644 index 00000000..e7089a3e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/BUILD.bazel @@ -0,0 +1,200 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "type_proto", + srcs = [ + "http_request.proto", + "log_severity.proto", + ], + deps = [ + "@com_google_protobuf//:duration_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", +) + +java_proto_library( + name = "type_java_proto", + deps = [":type_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-logging-type-java", + transport = "grpc+rest", + deps = [ + ":type_java_proto", + ":type_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_proto_library", +) + +go_proto_library( + name = "type_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/logging/type", + protos = [":type_proto"], + deps = [ + ], +) + +go_gapic_assembly_pkg( + name = "logging-type-go", + deps = [ + ":type_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_grpc_library", + "py_proto_library", +) + +moved_proto_library( + name = "type_moved_proto", + srcs = [":type_proto"], + deps = [ + "@com_google_protobuf//:duration_proto", + ], +) + +py_proto_library( + name = "type_py_proto", + deps = [":type_moved_proto"], +) + +py_grpc_library( + name = "type_py_grpc", + srcs = [":type_moved_proto"], + deps = [":type_py_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "type_php_proto", + deps = [":type_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate php files for these protos. +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-logging-type-php", + deps = [ + ":type_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "type_ruby_proto", + deps = [":type_proto"], +) + +ruby_grpc_library( + name = "type_ruby_grpc", + srcs = [":type_proto"], + deps = [":type_ruby_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "type_csharp_proto", + deps = [":type_proto"], +) + +csharp_grpc_library( + name = "type_csharp_grpc", + srcs = [":type_proto"], + deps = [":type_csharp_proto"], +) + +csharp_gapic_assembly_pkg( + name = "google-logging-type-csharp", + package_name = "Google.Cloud.Logging.Type", + generate_nongapic_package = True, + deps = [ + ":type_csharp_grpc", + ":type_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "type_cc_proto", + deps = [":type_proto"], +) + +cc_grpc_library( + name = "type_cc_grpc", + srcs = [":type_proto"], + grpc_only = True, + deps = [":type_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/README.md new file mode 100644 index 00000000..227dc8c4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/README.md @@ -0,0 +1,12 @@ +## Logging types + +This package contains shared [protocol buffer][protobuf] types that are populated +by the Cloud 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/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/http_request.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/http_request.proto new file mode 100644 index 00000000..fa2dd64e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/http_request.proto @@ -0,0 +1,95 @@ +// Copyright 2024 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.logging.type; + +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"; +option ruby_package = "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. This field can include port information. Examples: + // `"192.168.1.1"`, `"10.0.0.1:80"`, `"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. This field can include port information. Examples: + // `"192.168.1.1"`, `"10.0.0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`. + string server_ip = 13; + + // The referer URL of the request, as defined in + // [HTTP/1.1 Header Field + // Definitions](https://datatracker.ietf.org/doc/html/rfc2616#section-14.36). + 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/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/log_severity.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/log_severity.proto new file mode 100644 index 00000000..96ff8746 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/type/log_severity.proto @@ -0,0 +1,71 @@ +// Copyright 2024 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.logging.type; + +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 objc_class_prefix = "GLOG"; +option php_namespace = "Google\\Cloud\\Logging\\Type"; +option ruby_package = "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/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/BUILD.bazel new file mode 100644 index 00000000..c4ccd454 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/BUILD.bazel @@ -0,0 +1,414 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "logging_proto", + srcs = [ + "log_entry.proto", + "logging.proto", + "logging_config.proto", + "logging_metrics.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:distribution_proto", + "//google/api:field_behavior_proto", + "//google/api:metric_proto", + "//google/api:monitored_resource_proto", + "//google/api:resource_proto", + "//google/logging/type:type_proto", + "//google/longrunning:operations_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "logging_proto_with_info", + deps = [ + ":logging_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "logging_java_proto", + deps = [":logging_proto"], +) + +java_grpc_library( + name = "logging_java_grpc", + srcs = [":logging_proto"], + deps = [":logging_java_proto"], +) + +java_gapic_library( + name = "logging_java_gapic", + srcs = [":logging_proto_with_info"], + gapic_yaml = "logging_gapic.yaml", + grpc_service_config = "logging_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "logging_v2.yaml", + test_deps = [ + ":logging_java_grpc", + ], + transport = "grpc", + deps = [ + ":logging_java_proto", + "//google/api:api_java_proto", + ], +) + +java_gapic_test( + name = "logging_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.logging.v2.ConfigClientTest", + "com.google.cloud.logging.v2.LoggingClientTest", + "com.google.cloud.logging.v2.MetricsClientTest", + ], + runtime_deps = [":logging_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-logging-v2-java", + include_samples = True, + transport = "grpc", + deps = [ + ":logging_java_gapic", + ":logging_java_grpc", + ":logging_java_proto", + ":logging_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "logging_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/logging/apiv2/loggingpb", + protos = [":logging_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/api:distribution_go_proto", + "//google/api:metric_go_proto", + "//google/api:monitoredres_go_proto", + "//google/logging/type:type_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "logging_go_gapic", + srcs = [":logging_proto_with_info"], + grpc_service_config = "logging_grpc_service_config.json", + importpath = "cloud.google.com/go/logging/apiv2;logging", + metadata = True, + release_level = "ga", + rest_numeric_enums = True, + service_yaml = "logging_v2.yaml", + transport = "grpc", + deps = [ + ":logging_go_proto", + "//google/api:metric_go_proto", + "//google/api:monitoredres_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go_longrunning//:go_default_library", + "@com_google_cloud_go_longrunning//autogen:go_default_library", + "@io_bazel_rules_go//proto/wkt:any_go_proto", + "@io_bazel_rules_go//proto/wkt:duration_go_proto", + "@io_bazel_rules_go//proto/wkt:struct_go_proto", + ], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-logging-v2-go", + deps = [ + ":logging_go_gapic", + ":logging_go_gapic_srcjar-metadata.srcjar", + ":logging_go_gapic_srcjar-snippets.srcjar", + ":logging_go_gapic_srcjar-test.srcjar", + ":logging_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "logging_py_gapic", + srcs = [":logging_proto"], + grpc_service_config = "logging_grpc_service_config.json", + opt_args = [ + "python-gapic-name=logging", + "python-gapic-namespace=google.cloud", + ], + rest_numeric_enums = True, + service_yaml = "logging_v2.yaml", + transport = "grpc", + deps = [ + ], +) + +py_test( + name = "logging_py_gapic_test", + srcs = [ + "logging_py_gapic_pytest.py", + "logging_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":logging_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "logging-v2-py", + deps = [ + ":logging_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "logging_php_proto", + deps = [":logging_proto"], +) + +php_gapic_library( + name = "logging_php_gapic", + srcs = [":logging_proto_with_info"], + gapic_yaml = "logging_gapic.yaml", + grpc_service_config = "logging_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = True, + service_yaml = "logging_v2.yaml", + transport = "grpc+rest", + deps = [":logging_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-logging-v2-php", + deps = [ + ":logging_php_gapic", + ":logging_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "logging_nodejs_gapic", + package_name = "@google-cloud/logging", + src = ":logging_proto_with_info", + bundle_config = "logging_gapic.yaml", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "logging_grpc_service_config.json", + main_service = "logging", + package = "google.logging.v2", + rest_numeric_enums = True, + service_yaml = "logging_v2.yaml", + transport = "grpc", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "logging-v2-nodejs", + deps = [ + ":logging_nodejs_gapic", + ":logging_proto", + "//google/logging/type:type_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "logging_ruby_proto", + deps = [":logging_proto"], +) + +ruby_grpc_library( + name = "logging_ruby_grpc", + srcs = [":logging_proto"], + deps = [":logging_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "logging_ruby_gapic", + srcs = [":logging_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=logging.googleapis.com", + "ruby-cloud-api-shortname=logging", + "ruby-cloud-env-prefix=LOGGING", + "ruby-cloud-gem-name=google-cloud-logging-v2", + "ruby-cloud-product-url=https://cloud.google.com/logging", + "ruby-cloud-service-override=ConfigServiceV2=ConfigService;LoggingServiceV2=LoggingService;MetricsServiceV2=MetricsService", + "ruby-cloud-yard-strict=false", + ], + grpc_service_config = "logging_grpc_service_config.json", + rest_numeric_enums = True, + ruby_cloud_description = "The Cloud Logging API lets you programmatically read and write log entries, set up exclusions, create logs-based metrics, and manage export sinks.", + ruby_cloud_title = "Cloud Logging V2", + service_yaml = "logging_v2.yaml", + transport = "grpc", + deps = [ + ":logging_ruby_grpc", + ":logging_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-logging-v2-ruby", + deps = [ + ":logging_ruby_gapic", + ":logging_ruby_grpc", + ":logging_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "logging_csharp_proto", + deps = [":logging_proto"], +) + +csharp_grpc_library( + name = "logging_csharp_grpc", + srcs = [":logging_proto"], + deps = [":logging_csharp_proto"], +) + +csharp_gapic_library( + name = "logging_csharp_gapic", + srcs = [":logging_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "logging_grpc_service_config.json", + rest_numeric_enums = True, + service_yaml = "logging_v2.yaml", + transport = "grpc", + deps = [ + ":logging_csharp_grpc", + ":logging_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-logging-v2-csharp", + deps = [ + ":logging_csharp_gapic", + ":logging_csharp_grpc", + ":logging_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "logging_cc_proto", + deps = [":logging_proto"], +) + +cc_grpc_library( + name = "logging_cc_grpc", + srcs = [":logging_proto"], + grpc_only = True, + deps = [":logging_cc_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/log_entry.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/log_entry.proto new file mode 100644 index 00000000..2404219f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/log_entry.proto @@ -0,0 +1,280 @@ +// Copyright 2024 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.logging.v2; + +import "google/api/field_behavior.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/resource.proto"; +import "google/logging/type/http_request.proto"; +import "google/logging/type/log_severity.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Logging.V2"; +option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "LogEntryProto"; +option java_package = "com.google.logging.v2"; +option php_namespace = "Google\\Cloud\\Logging\\V2"; +option ruby_package = "Google::Cloud::Logging::V2"; + +// An individual entry in a log. +message LogEntry { + option (google.api.resource) = { + type: "logging.googleapis.com/Log" + pattern: "projects/{project}/logs/{log}" + pattern: "organizations/{organization}/logs/{log}" + pattern: "folders/{folder}/logs/{log}" + pattern: "billingAccounts/{billing_account}/logs/{log}" + name_field: "log_name" + }; + + // Required. The resource name of the log to which this log entry belongs: + // + // "projects/[PROJECT_ID]/logs/[LOG_ID]" + // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" + // "folders/[FOLDER_ID]/logs/[LOG_ID]" + // + // A project number may be used in place of PROJECT_ID. The project number is + // translated to its corresponding PROJECT_ID internally and the `log_name` + // field will contain PROJECT_ID in queries and exports. + // + // `[LOG_ID]` must be URL-encoded within `log_name`. Example: + // `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + // + // `[LOG_ID]` must be less than 512 characters long and can only include the + // following characters: upper and lower case alphanumeric characters, + // forward-slash, underscore, hyphen, and period. + // + // For backward compatibility, if `log_name` begins with a forward-slash, such + // as `/projects/...`, then the log entry is ingested as usual, but the + // forward-slash is removed. Listing the log entry will not show the leading + // slash and filtering for a log name with a leading slash will never return + // any results. + string log_name = 12 [(google.api.field_behavior) = REQUIRED]; + + // Required. The monitored resource that produced this log entry. + // + // Example: a log entry that reports a database error would be associated with + // the monitored resource designating the particular database that reported + // the error. + google.api.MonitoredResource resource = 8 + [(google.api.field_behavior) = REQUIRED]; + + // The log entry payload, which can be one of multiple types. + oneof payload { + // The log entry payload, represented as a protocol buffer. Some Google + // Cloud Platform services use this field for their log entry payloads. + // + // The following protocol buffer types are supported; user-defined types + // are not supported: + // + // "type.googleapis.com/google.cloud.audit.AuditLog" + // "type.googleapis.com/google.appengine.logging.v1.RequestLog" + google.protobuf.Any proto_payload = 2; + + // The log entry payload, represented as a Unicode string (UTF-8). + string text_payload = 3; + + // The log entry payload, represented as a structure that is + // expressed as a JSON object. + google.protobuf.Struct json_payload = 6; + } + + // Optional. The time the event described by the log entry occurred. This time + // is used to compute the log entry's age and to enforce the logs retention + // period. If this field is omitted in a new log entry, then Logging assigns + // it the current time. Timestamps have nanosecond accuracy, but trailing + // zeros in the fractional seconds might be omitted when the timestamp is + // displayed. + // + // Incoming log entries must have timestamps that don't exceed the + // [logs retention + // period](https://cloud.google.com/logging/quotas#logs_retention_periods) in + // the past, and that don't exceed 24 hours in the future. Log entries outside + // those time boundaries aren't ingested by Logging. + google.protobuf.Timestamp timestamp = 9 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The time the log entry was received by Logging. + google.protobuf.Timestamp receive_timestamp = 24 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The severity of the log entry. The default value is + // `LogSeverity.DEFAULT`. + google.logging.type.LogSeverity severity = 10 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A unique identifier for the log entry. If you provide a value, + // then Logging considers other log entries in the same project, with the same + // `timestamp`, and with the same `insert_id` to be duplicates which are + // removed in a single query result. However, there are no guarantees of + // de-duplication in the export of logs. + // + // If the `insert_id` is omitted when writing a log entry, the Logging API + // assigns its own unique identifier in this field. + // + // In queries, the `insert_id` is also used to order log entries that have + // the same `log_name` and `timestamp` values. + string insert_id = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Information about the HTTP request associated with this log + // entry, if applicable. + google.logging.type.HttpRequest http_request = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A map of key, value pairs that provides additional information + // about the log entry. The labels can be user-defined or system-defined. + // + // User-defined labels are arbitrary key, value pairs that you can use to + // classify logs. + // + // System-defined labels are defined by GCP services for platform logs. + // They have two components - a service namespace component and the + // attribute name. For example: `compute.googleapis.com/resource_name`. + // + // Cloud Logging truncates label keys that exceed 512 B and label + // values that exceed 64 KB upon their associated log entry being + // written. The truncation is indicated by an ellipsis at the + // end of the character string. + map labels = 11 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Information about an operation associated with the log entry, if + // applicable. + LogEntryOperation operation = 15 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The REST resource name of the trace being written to + // [Cloud Trace](https://cloud.google.com/trace) in + // association with this log entry. For example, if your trace data is stored + // in the Cloud project "my-trace-project" and if the service that is creating + // the log entry receives a trace header that includes the trace ID "12345", + // then the service should use "projects/my-tracing-project/traces/12345". + // + // The `trace` field provides the link between logs and traces. By using + // this field, you can navigate from a log entry to a trace. + string trace = 22 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The ID of the [Cloud Trace](https://cloud.google.com/trace) span + // associated with the current operation in which the log is being written. + // For example, if a span has the REST resource name of + // "projects/some-project/traces/some-trace/spans/some-span-id", then the + // `span_id` field is "some-span-id". + // + // A + // [Span](https://cloud.google.com/trace/docs/reference/v2/rest/v2/projects.traces/batchWrite#Span) + // represents a single operation within a trace. Whereas a trace may involve + // multiple different microservices running on multiple different machines, + // a span generally corresponds to a single logical operation being performed + // in a single instance of a microservice on one specific machine. Spans + // are the nodes within the tree that is a trace. + // + // Applications that are [instrumented for + // tracing](https://cloud.google.com/trace/docs/setup) will generally assign a + // new, unique span ID on each incoming request. It is also common to create + // and record additional spans corresponding to internal processing elements + // as well as issuing requests to dependencies. + // + // The span ID is expected to be a 16-character, hexadecimal encoding of an + // 8-byte array and should not be zero. It should be unique within the trace + // and should, ideally, be generated in a manner that is uniformly random. + // + // Example values: + // + // - `000000000000004a` + // - `7a2190356c3fc94b` + // - `0000f00300090021` + // - `d39223e101960076` + string span_id = 27 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The sampling decision of the trace associated with the log entry. + // + // True means that the trace resource name in the `trace` field was sampled + // for storage in a trace backend. False means that the trace was not sampled + // for storage when this log entry was written, or the sampling decision was + // unknown at the time. A non-sampled `trace` value is still useful as a + // request correlation identifier. The default is False. + bool trace_sampled = 30 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Source code location information associated with the log entry, + // if any. + LogEntrySourceLocation source_location = 23 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Information indicating this LogEntry is part of a sequence of + // multiple log entries split from a single LogEntry. + LogSplit split = 35 [(google.api.field_behavior) = OPTIONAL]; +} + +// Additional information about a potentially long-running operation with which +// a log entry is associated. +message LogEntryOperation { + // Optional. An arbitrary operation identifier. Log entries with the same + // identifier are assumed to be part of the same operation. + string id = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An arbitrary producer identifier. The combination of `id` and + // `producer` must be globally unique. Examples for `producer`: + // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. + string producer = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set this to True if this is the first log entry in the operation. + bool first = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Set this to True if this is the last log entry in the operation. + bool last = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Additional information about the source code location that produced the log +// entry. +message LogEntrySourceLocation { + // Optional. Source file name. Depending on the runtime environment, this + // might be a simple name or a fully-qualified name. + string file = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Line within the source file. 1-based; 0 indicates no line number + // available. + int64 line = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Human-readable name of the function or method being invoked, with + // optional context such as the class or package name. This information may be + // used in contexts such as the logs viewer, where a file and line number are + // less meaningful. The format can vary by language. For example: + // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` + // (Python). + string function = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Additional information used to correlate multiple log entries. Used when a +// single LogEntry would exceed the Google Cloud Logging size limit and is +// split across multiple log entries. +message LogSplit { + // A globally unique identifier for all log entries in a sequence of split log + // entries. All log entries with the same |LogSplit.uid| are assumed to be + // part of the same sequence of split log entries. + string uid = 1; + + // The index of this LogEntry in the sequence of split log entries. Log + // entries are given |index| values 0, 1, ..., n-1 for a sequence of n log + // entries. + int32 index = 2; + + // The total number of log entries that the original LogEntry was split into. + int32 total_splits = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging.proto new file mode 100644 index 00000000..cd686e9f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging.proto @@ -0,0 +1,483 @@ +// Copyright 2024 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.logging.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/resource.proto"; +import "google/logging/v2/log_entry.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/rpc/status.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Logging.V2"; +option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "LoggingProto"; +option java_package = "com.google.logging.v2"; +option php_namespace = "Google\\Cloud\\Logging\\V2"; +option ruby_package = "Google::Cloud::Logging::V2"; + +// Service for ingesting and querying logs. +service LoggingServiceV2 { + option (google.api.default_host) = "logging.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/logging.admin," + "https://www.googleapis.com/auth/logging.read," + "https://www.googleapis.com/auth/logging.write"; + + // Deletes all the log entries in a log for the _Default Log Bucket. The log + // reappears if it receives new entries. Log entries written shortly before + // the delete operation might not be deleted. Entries received after the + // delete operation with a timestamp before the operation will be deleted. + rpc DeleteLog(DeleteLogRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{log_name=projects/*/logs/*}" + additional_bindings { delete: "/v2/{log_name=*/*/logs/*}" } + additional_bindings { delete: "/v2/{log_name=organizations/*/logs/*}" } + additional_bindings { delete: "/v2/{log_name=folders/*/logs/*}" } + additional_bindings { delete: "/v2/{log_name=billingAccounts/*/logs/*}" } + }; + option (google.api.method_signature) = "log_name"; + } + + // Writes log entries to Logging. This API method is the + // only way to send log entries to Logging. This method + // is used, directly or indirectly, by the Logging agent + // (fluentd) and all logging libraries configured to use Logging. + // A single request may contain log entries for a maximum of 1000 + // different resources (projects, organizations, billing accounts or + // folders) + rpc WriteLogEntries(WriteLogEntriesRequest) + returns (WriteLogEntriesResponse) { + option (google.api.http) = { + post: "/v2/entries:write" + body: "*" + }; + option (google.api.method_signature) = "log_name,resource,labels,entries"; + } + + // Lists log entries. Use this method to retrieve log entries that originated + // from a project/folder/organization/billing account. For ways to export log + // entries, see [Exporting + // Logs](https://cloud.google.com/logging/docs/export). + rpc ListLogEntries(ListLogEntriesRequest) returns (ListLogEntriesResponse) { + option (google.api.http) = { + post: "/v2/entries:list" + body: "*" + }; + option (google.api.method_signature) = "resource_names,filter,order_by"; + } + + // Lists the descriptors for monitored resource types used by Logging. + rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) + returns (ListMonitoredResourceDescriptorsResponse) { + option (google.api.http) = { + get: "/v2/monitoredResourceDescriptors" + }; + } + + // Lists the logs in projects, organizations, folders, or billing accounts. + // Only logs that have entries are listed. + rpc ListLogs(ListLogsRequest) returns (ListLogsResponse) { + option (google.api.http) = { + get: "/v2/{parent=*/*}/logs" + additional_bindings { get: "/v2/{parent=projects/*}/logs" } + additional_bindings { get: "/v2/{parent=organizations/*}/logs" } + additional_bindings { get: "/v2/{parent=folders/*}/logs" } + additional_bindings { get: "/v2/{parent=billingAccounts/*}/logs" } + additional_bindings { + get: "/v2/{parent=projects/*/locations/*/buckets/*/views/*}/logs" + } + additional_bindings { + get: "/v2/{parent=organizations/*/locations/*/buckets/*/views/*}/logs" + } + additional_bindings { + get: "/v2/{parent=folders/*/locations/*/buckets/*/views/*}/logs" + } + additional_bindings { + get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*/views/*}/logs" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Streaming read of log entries as they are ingested. Until the stream is + // terminated, it will continue reading logs. + rpc TailLogEntries(stream TailLogEntriesRequest) + returns (stream TailLogEntriesResponse) { + option (google.api.http) = { + post: "/v2/entries:tail" + body: "*" + }; + } +} + +// The parameters to DeleteLog. +message DeleteLogRequest { + // Required. The resource name of the log to delete: + // + // * `projects/[PROJECT_ID]/logs/[LOG_ID]` + // * `organizations/[ORGANIZATION_ID]/logs/[LOG_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]` + // * `folders/[FOLDER_ID]/logs/[LOG_ID]` + // + // `[LOG_ID]` must be URL-encoded. For example, + // `"projects/my-project-id/logs/syslog"`, + // `"organizations/123/logs/cloudaudit.googleapis.com%2Factivity"`. + // + // For more information about log names, see + // [LogEntry][google.logging.v2.LogEntry]. + string log_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/Log" } + ]; +} + +// The parameters to WriteLogEntries. +message WriteLogEntriesRequest { + // Optional. A default log resource name that is assigned to all log entries + // in `entries` that do not specify a value for `log_name`: + // + // * `projects/[PROJECT_ID]/logs/[LOG_ID]` + // * `organizations/[ORGANIZATION_ID]/logs/[LOG_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]` + // * `folders/[FOLDER_ID]/logs/[LOG_ID]` + // + // `[LOG_ID]` must be URL-encoded. For example: + // + // "projects/my-project-id/logs/syslog" + // "organizations/123/logs/cloudaudit.googleapis.com%2Factivity" + // + // The permission `logging.logEntries.create` is needed on each project, + // organization, billing account, or folder that is receiving new log + // entries, whether the resource is specified in `logName` or in an + // individual log entry. + string log_name = 1 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { type: "logging.googleapis.com/Log" } + ]; + + // Optional. A default monitored resource object that is assigned to all log + // entries in `entries` that do not specify a value for `resource`. Example: + // + // { "type": "gce_instance", + // "labels": { + // "zone": "us-central1-a", "instance_id": "00000000000000000000" }} + // + // See [LogEntry][google.logging.v2.LogEntry]. + google.api.MonitoredResource resource = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Default labels that are added to the `labels` field of all log + // entries in `entries`. If a log entry already has a label with the same key + // as a label in this parameter, then the log entry's label is not changed. + // See [LogEntry][google.logging.v2.LogEntry]. + map labels = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The log entries to send to Logging. The order of log + // entries in this list does not matter. Values supplied in this method's + // `log_name`, `resource`, and `labels` fields are copied into those log + // entries in this list that do not include values for their corresponding + // fields. For more information, see the + // [LogEntry][google.logging.v2.LogEntry] type. + // + // If the `timestamp` or `insert_id` fields are missing in log entries, then + // this method supplies the current time or a unique identifier, respectively. + // The supplied values are chosen so that, among the log entries that did not + // supply their own values, the entries earlier in the list will sort before + // the entries later in the list. See the `entries.list` method. + // + // Log entries with timestamps that are more than the + // [logs retention period](https://cloud.google.com/logging/quotas) in + // the past or more than 24 hours in the future will not be available when + // calling `entries.list`. However, those log entries can still be [exported + // with + // LogSinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs). + // + // To improve throughput and to avoid exceeding the + // [quota limit](https://cloud.google.com/logging/quotas) for calls to + // `entries.write`, you should try to include several log entries in this + // list, rather than calling this method for each individual log entry. + repeated LogEntry entries = 4 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Whether a batch's valid entries should be written even if some + // other entry failed due to a permanent error such as INVALID_ARGUMENT or + // PERMISSION_DENIED. If any entry failed, then the response status is the + // response status of one of the failed entries. The response will include + // error details in `WriteLogEntriesPartialErrors.log_entry_errors` keyed by + // the entries' zero-based index in the `entries`. Failed requests for which + // no entries are written will not include per-entry errors. + bool partial_success = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If true, the request should expect normal response, but the + // entries won't be persisted nor exported. Useful for checking whether the + // logging API endpoints are working properly before sending valuable data. + bool dry_run = 6 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from WriteLogEntries. +message WriteLogEntriesResponse {} + +// Error details for WriteLogEntries with partial success. +message WriteLogEntriesPartialErrors { + // When `WriteLogEntriesRequest.partial_success` is true, records the error + // status for entries that were not written due to a permanent error, keyed + // by the entry's zero-based index in `WriteLogEntriesRequest.entries`. + // + // Failed requests for which no entries are written will not include + // per-entry errors. + map log_entry_errors = 1; +} + +// The parameters to `ListLogEntries`. +message ListLogEntriesRequest { + // Required. Names of one or more parent resources from which to + // retrieve log entries: + // + // * `projects/[PROJECT_ID]` + // * `organizations/[ORGANIZATION_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]` + // * `folders/[FOLDER_ID]` + // + // May alternatively be one or more views: + // + // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // + // Projects listed in the `project_ids` field are added to this list. + // A maximum of 100 resources may be specified in a single request. + repeated string resource_names = 8 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/Log" + } + ]; + + // Optional. Only log entries that match the filter are returned. An empty + // filter matches all log entries in the resources listed in `resource_names`. + // Referencing a parent resource that is not listed in `resource_names` will + // cause the filter to return no results. The maximum length of a filter is + // 20,000 characters. + string filter = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. How the results should be sorted. Presently, the only permitted + // values are `"timestamp asc"` (default) and `"timestamp desc"`. The first + // option returns entries in order of increasing values of + // `LogEntry.timestamp` (oldest first), and the second option returns entries + // in order of decreasing timestamps (newest first). Entries with equal + // timestamps are returned in order of their `insert_id` values. + string order_by = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of results to return from this request. + // Default is 50. If the value is negative or exceeds 1000, the request is + // rejected. The presence of `next_page_token` in the response indicates that + // more results might be available. + int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `page_token` must be the value of + // `next_page_token` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from `ListLogEntries`. +message ListLogEntriesResponse { + // A list of log entries. If `entries` is empty, `nextPageToken` may still be + // returned, indicating that more entries may exist. See `nextPageToken` for + // more information. + repeated LogEntry entries = 1; + + // If there might be more results than those appearing in this response, then + // `nextPageToken` is included. To get the next set of results, call this + // method again using the value of `nextPageToken` as `pageToken`. + // + // If a value for `next_page_token` appears and the `entries` field is empty, + // it means that the search found no log entries so far but it did not have + // time to search all the possible log entries. Retry the method with this + // value for `page_token` to continue the search. Alternatively, consider + // speeding up the search by changing your filter to specify a single log name + // or resource type, or to narrow the time range of the search. + string next_page_token = 2; +} + +// The parameters to ListMonitoredResourceDescriptors +message ListMonitoredResourceDescriptorsRequest { + // Optional. The maximum number of results to return from this request. + // Non-positive values are ignored. The presence of `nextPageToken` in the + // response indicates that more results might be available. + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from ListMonitoredResourceDescriptors. +message ListMonitoredResourceDescriptorsResponse { + // A list of resource descriptors. + repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1; + + // If there might be more results than those appearing in this response, then + // `nextPageToken` is included. To get the next set of results, call this + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to ListLogs. +message ListLogsRequest { + // Required. The resource name to list logs for: + // + // * `projects/[PROJECT_ID]` + // * `organizations/[ORGANIZATION_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]` + // * `folders/[FOLDER_ID]` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/Log" + } + ]; + + // Optional. List of resource names to list logs for: + // + // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // + // To support legacy queries, it could also be: + // + // * `projects/[PROJECT_ID]` + // * `organizations/[ORGANIZATION_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]` + // * `folders/[FOLDER_ID]` + // + // The resource name in the `parent` field is added to this list. + repeated string resource_names = 8 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/Log" + } + ]; + + // Optional. The maximum number of results to return from this request. + // Non-positive values are ignored. The presence of `nextPageToken` in the + // response indicates that more results might be available. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from ListLogs. +message ListLogsResponse { + // A list of log names. For example, + // `"projects/my-project/logs/syslog"` or + // `"organizations/123/logs/cloudresourcemanager.googleapis.com%2Factivity"`. + repeated string log_names = 3; + + // If there might be more results than those appearing in this response, then + // `nextPageToken` is included. To get the next set of results, call this + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to `TailLogEntries`. +message TailLogEntriesRequest { + // Required. Name of a parent resource from which to retrieve log entries: + // + // * `projects/[PROJECT_ID]` + // * `organizations/[ORGANIZATION_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]` + // * `folders/[FOLDER_ID]` + // + // May alternatively be one or more views: + // + // * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + // * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` + repeated string resource_names = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Only log entries that match the filter are returned. An empty + // filter matches all log entries in the resources listed in `resource_names`. + // Referencing a parent resource that is not listed in `resource_names` will + // cause the filter to return no results. The maximum length of a filter is + // 20,000 characters. + string filter = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The amount of time to buffer log entries at the server before + // being returned to prevent out of order results due to late arriving log + // entries. Valid values are between 0-60000 milliseconds. Defaults to 2000 + // milliseconds. + google.protobuf.Duration buffer_window = 3 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from `TailLogEntries`. +message TailLogEntriesResponse { + // Information about entries that were omitted from the session. + message SuppressionInfo { + // An indicator of why entries were omitted. + enum Reason { + // Unexpected default. + REASON_UNSPECIFIED = 0; + + // Indicates suppression occurred due to relevant entries being + // received in excess of rate limits. For quotas and limits, see + // [Logging API quotas and + // limits](https://cloud.google.com/logging/quotas#api-limits). + RATE_LIMIT = 1; + + // Indicates suppression occurred due to the client not consuming + // responses quickly enough. + NOT_CONSUMED = 2; + } + + // The reason that entries were omitted from the session. + Reason reason = 1; + + // A lower bound on the count of entries omitted due to `reason`. + int32 suppressed_count = 2; + } + + // A list of log entries. Each response in the stream will order entries with + // increasing values of `LogEntry.timestamp`. Ordering is not guaranteed + // between separate responses. + repeated LogEntry entries = 1; + + // If entries that otherwise would have been included in the session were not + // sent back to the client, counts of relevant entries omitted from the + // session with the reason that they were not included. There will be at most + // one of each reason per response. The counts represent the number of + // suppressed entries since the last streamed response. + repeated SuppressionInfo suppression_info = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging_config.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging_config.proto new file mode 100644 index 00000000..d914df1b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging_config.proto @@ -0,0 +1,2317 @@ +// Copyright 2024 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.logging.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Logging.V2"; +option go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb"; +option java_multiple_files = true; +option java_outer_classname = "LoggingConfigProto"; +option java_package = "com.google.logging.v2"; +option php_namespace = "Google\\Cloud\\Logging\\V2"; +option ruby_package = "Google::Cloud::Logging::V2"; +option (google.api.resource_definition) = { + type: "logging.googleapis.com/OrganizationLocation" + pattern: "organizations/{organization}/locations/{location}" +}; +option (google.api.resource_definition) = { + type: "logging.googleapis.com/FolderLocation" + pattern: "folders/{folder}/locations/{location}" +}; +option (google.api.resource_definition) = { + type: "logging.googleapis.com/BillingAccountLocation" + pattern: "billingAccounts/{billing_account}/locations/{location}" +}; + +// Service for configuring sinks used to route log entries. +service ConfigServiceV2 { + option (google.api.default_host) = "logging.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/logging.admin," + "https://www.googleapis.com/auth/logging.read"; + + // Lists log buckets. + rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse) { + option (google.api.http) = { + get: "/v2/{parent=*/*/locations/*}/buckets" + additional_bindings { get: "/v2/{parent=projects/*/locations/*}/buckets" } + additional_bindings { + get: "/v2/{parent=organizations/*/locations/*}/buckets" + } + additional_bindings { get: "/v2/{parent=folders/*/locations/*}/buckets" } + additional_bindings { + get: "/v2/{parent=billingAccounts/*/locations/*}/buckets" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a log bucket. + rpc GetBucket(GetBucketRequest) returns (LogBucket) { + option (google.api.http) = { + get: "/v2/{name=*/*/locations/*/buckets/*}" + additional_bindings { get: "/v2/{name=projects/*/locations/*/buckets/*}" } + additional_bindings { + get: "/v2/{name=organizations/*/locations/*/buckets/*}" + } + additional_bindings { get: "/v2/{name=folders/*/locations/*/buckets/*}" } + additional_bindings { + get: "/v2/{name=billingAccounts/*/locations/*/buckets/*}" + } + }; + } + + // Creates a log bucket asynchronously that can be used to store log entries. + // + // After a bucket has been created, the bucket's location cannot be changed. + rpc CreateBucketAsync(CreateBucketRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=*/*/locations/*}/buckets:createAsync" + body: "bucket" + additional_bindings { + post: "/v2/{parent=projects/*/locations/*}/buckets:createAsync" + body: "bucket" + } + additional_bindings { + post: "/v2/{parent=organizations/*/locations/*}/buckets:createAsync" + body: "bucket" + } + additional_bindings { + post: "/v2/{parent=folders/*/locations/*}/buckets:createAsync" + body: "bucket" + } + additional_bindings { + post: "/v2/{parent=billingAccounts/*/locations/*}/buckets:createAsync" + body: "bucket" + } + }; + option (google.longrunning.operation_info) = { + response_type: "LogBucket" + metadata_type: "BucketMetadata" + }; + } + + // Updates a log bucket asynchronously. + // + // If the bucket has a `lifecycle_state` of `DELETE_REQUESTED`, then + // `FAILED_PRECONDITION` will be returned. + // + // After a bucket has been created, the bucket's location cannot be changed. + rpc UpdateBucketAsync(UpdateBucketRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{name=*/*/locations/*/buckets/*}:updateAsync" + body: "bucket" + additional_bindings { + post: "/v2/{name=projects/*/locations/*/buckets/*}:updateAsync" + body: "bucket" + } + additional_bindings { + post: "/v2/{name=organizations/*/locations/*/buckets/*}:updateAsync" + body: "bucket" + } + additional_bindings { + post: "/v2/{name=folders/*/locations/*/buckets/*}:updateAsync" + body: "bucket" + } + additional_bindings { + post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:updateAsync" + body: "bucket" + } + }; + option (google.longrunning.operation_info) = { + response_type: "LogBucket" + metadata_type: "BucketMetadata" + }; + } + + // Creates a log bucket that can be used to store log entries. After a bucket + // has been created, the bucket's location cannot be changed. + rpc CreateBucket(CreateBucketRequest) returns (LogBucket) { + option (google.api.http) = { + post: "/v2/{parent=*/*/locations/*}/buckets" + body: "bucket" + additional_bindings { + post: "/v2/{parent=projects/*/locations/*}/buckets" + body: "bucket" + } + additional_bindings { + post: "/v2/{parent=organizations/*/locations/*}/buckets" + body: "bucket" + } + additional_bindings { + post: "/v2/{parent=folders/*/locations/*}/buckets" + body: "bucket" + } + additional_bindings { + post: "/v2/{parent=billingAccounts/*/locations/*}/buckets" + body: "bucket" + } + }; + } + + // Updates a log bucket. + // + // If the bucket has a `lifecycle_state` of `DELETE_REQUESTED`, then + // `FAILED_PRECONDITION` will be returned. + // + // After a bucket has been created, the bucket's location cannot be changed. + rpc UpdateBucket(UpdateBucketRequest) returns (LogBucket) { + option (google.api.http) = { + patch: "/v2/{name=*/*/locations/*/buckets/*}" + body: "bucket" + additional_bindings { + patch: "/v2/{name=projects/*/locations/*/buckets/*}" + body: "bucket" + } + additional_bindings { + patch: "/v2/{name=organizations/*/locations/*/buckets/*}" + body: "bucket" + } + additional_bindings { + patch: "/v2/{name=folders/*/locations/*/buckets/*}" + body: "bucket" + } + additional_bindings { + patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*}" + body: "bucket" + } + }; + } + + // Deletes a log bucket. + // + // Changes the bucket's `lifecycle_state` to the `DELETE_REQUESTED` state. + // After 7 days, the bucket will be purged and all log entries in the bucket + // will be permanently deleted. + rpc DeleteBucket(DeleteBucketRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{name=*/*/locations/*/buckets/*}" + additional_bindings { + delete: "/v2/{name=projects/*/locations/*/buckets/*}" + } + additional_bindings { + delete: "/v2/{name=organizations/*/locations/*/buckets/*}" + } + additional_bindings { + delete: "/v2/{name=folders/*/locations/*/buckets/*}" + } + additional_bindings { + delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*}" + } + }; + } + + // Undeletes a log bucket. A bucket that has been deleted can be undeleted + // within the grace period of 7 days. + rpc UndeleteBucket(UndeleteBucketRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v2/{name=*/*/locations/*/buckets/*}:undelete" + body: "*" + additional_bindings { + post: "/v2/{name=projects/*/locations/*/buckets/*}:undelete" + body: "*" + } + additional_bindings { + post: "/v2/{name=organizations/*/locations/*/buckets/*}:undelete" + body: "*" + } + additional_bindings { + post: "/v2/{name=folders/*/locations/*/buckets/*}:undelete" + body: "*" + } + additional_bindings { + post: "/v2/{name=billingAccounts/*/locations/*/buckets/*}:undelete" + body: "*" + } + }; + } + + // Lists views on a log bucket. + rpc ListViews(ListViewsRequest) returns (ListViewsResponse) { + option (google.api.http) = { + get: "/v2/{parent=*/*/locations/*/buckets/*}/views" + additional_bindings { + get: "/v2/{parent=projects/*/locations/*/buckets/*}/views" + } + additional_bindings { + get: "/v2/{parent=organizations/*/locations/*/buckets/*}/views" + } + additional_bindings { + get: "/v2/{parent=folders/*/locations/*/buckets/*}/views" + } + additional_bindings { + get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a view on a log bucket.. + rpc GetView(GetViewRequest) returns (LogView) { + option (google.api.http) = { + get: "/v2/{name=*/*/locations/*/buckets/*/views/*}" + additional_bindings { + get: "/v2/{name=projects/*/locations/*/buckets/*/views/*}" + } + additional_bindings { + get: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}" + } + additional_bindings { + get: "/v2/{name=folders/*/locations/*/buckets/*/views/*}" + } + additional_bindings { + get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}" + } + }; + } + + // Creates a view over log entries in a log bucket. A bucket may contain a + // maximum of 30 views. + rpc CreateView(CreateViewRequest) returns (LogView) { + option (google.api.http) = { + post: "/v2/{parent=*/*/locations/*/buckets/*}/views" + body: "view" + additional_bindings { + post: "/v2/{parent=projects/*/locations/*/buckets/*}/views" + body: "view" + } + additional_bindings { + post: "/v2/{parent=organizations/*/locations/*/buckets/*}/views" + body: "view" + } + additional_bindings { + post: "/v2/{parent=folders/*/locations/*/buckets/*}/views" + body: "view" + } + additional_bindings { + post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/views" + body: "view" + } + }; + } + + // Updates a view on a log bucket. This method replaces the following fields + // in the existing view with values from the new view: `filter`. + // If an `UNAVAILABLE` error is returned, this indicates that system is not in + // a state where it can update the view. If this occurs, please try again in a + // few minutes. + rpc UpdateView(UpdateViewRequest) returns (LogView) { + option (google.api.http) = { + patch: "/v2/{name=*/*/locations/*/buckets/*/views/*}" + body: "view" + additional_bindings { + patch: "/v2/{name=projects/*/locations/*/buckets/*/views/*}" + body: "view" + } + additional_bindings { + patch: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}" + body: "view" + } + additional_bindings { + patch: "/v2/{name=folders/*/locations/*/buckets/*/views/*}" + body: "view" + } + additional_bindings { + patch: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}" + body: "view" + } + }; + } + + // Deletes a view on a log bucket. + // If an `UNAVAILABLE` error is returned, this indicates that system is not in + // a state where it can delete the view. If this occurs, please try again in a + // few minutes. + rpc DeleteView(DeleteViewRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{name=*/*/locations/*/buckets/*/views/*}" + additional_bindings { + delete: "/v2/{name=projects/*/locations/*/buckets/*/views/*}" + } + additional_bindings { + delete: "/v2/{name=organizations/*/locations/*/buckets/*/views/*}" + } + additional_bindings { + delete: "/v2/{name=folders/*/locations/*/buckets/*/views/*}" + } + additional_bindings { + delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/views/*}" + } + }; + } + + // Lists sinks. + rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) { + option (google.api.http) = { + get: "/v2/{parent=*/*}/sinks" + additional_bindings { get: "/v2/{parent=projects/*}/sinks" } + additional_bindings { get: "/v2/{parent=organizations/*}/sinks" } + additional_bindings { get: "/v2/{parent=folders/*}/sinks" } + additional_bindings { get: "/v2/{parent=billingAccounts/*}/sinks" } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a sink. + rpc GetSink(GetSinkRequest) returns (LogSink) { + option (google.api.http) = { + get: "/v2/{sink_name=*/*/sinks/*}" + additional_bindings { get: "/v2/{sink_name=projects/*/sinks/*}" } + additional_bindings { get: "/v2/{sink_name=organizations/*/sinks/*}" } + additional_bindings { get: "/v2/{sink_name=folders/*/sinks/*}" } + additional_bindings { get: "/v2/{sink_name=billingAccounts/*/sinks/*}" } + }; + option (google.api.method_signature) = "sink_name"; + } + + // Creates a sink that exports specified log entries to a destination. The + // export of newly-ingested log entries begins immediately, unless the sink's + // `writer_identity` is not permitted to write to the destination. A sink can + // export log entries only from the resource owning the sink. + rpc CreateSink(CreateSinkRequest) returns (LogSink) { + option (google.api.http) = { + post: "/v2/{parent=*/*}/sinks" + body: "sink" + additional_bindings { post: "/v2/{parent=projects/*}/sinks" body: "sink" } + additional_bindings { + post: "/v2/{parent=organizations/*}/sinks" + body: "sink" + } + additional_bindings { post: "/v2/{parent=folders/*}/sinks" body: "sink" } + additional_bindings { + post: "/v2/{parent=billingAccounts/*}/sinks" + body: "sink" + } + }; + option (google.api.method_signature) = "parent,sink"; + } + + // Updates a sink. This method replaces the following fields in the existing + // sink with values from the new sink: `destination`, and `filter`. + // + // The updated sink might also have a new `writer_identity`; see the + // `unique_writer_identity` field. + rpc UpdateSink(UpdateSinkRequest) returns (LogSink) { + option (google.api.http) = { + put: "/v2/{sink_name=*/*/sinks/*}" + body: "sink" + additional_bindings { + put: "/v2/{sink_name=projects/*/sinks/*}" + body: "sink" + } + additional_bindings { + put: "/v2/{sink_name=organizations/*/sinks/*}" + body: "sink" + } + additional_bindings { + put: "/v2/{sink_name=folders/*/sinks/*}" + body: "sink" + } + additional_bindings { + put: "/v2/{sink_name=billingAccounts/*/sinks/*}" + body: "sink" + } + additional_bindings { + patch: "/v2/{sink_name=projects/*/sinks/*}" + body: "sink" + } + additional_bindings { + patch: "/v2/{sink_name=organizations/*/sinks/*}" + body: "sink" + } + additional_bindings { + patch: "/v2/{sink_name=folders/*/sinks/*}" + body: "sink" + } + additional_bindings { + patch: "/v2/{sink_name=billingAccounts/*/sinks/*}" + body: "sink" + } + }; + option (google.api.method_signature) = "sink_name,sink,update_mask"; + option (google.api.method_signature) = "sink_name,sink"; + } + + // Deletes a sink. If the sink has a unique `writer_identity`, then that + // service account is also deleted. + rpc DeleteSink(DeleteSinkRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{sink_name=*/*/sinks/*}" + additional_bindings { delete: "/v2/{sink_name=projects/*/sinks/*}" } + additional_bindings { delete: "/v2/{sink_name=organizations/*/sinks/*}" } + additional_bindings { delete: "/v2/{sink_name=folders/*/sinks/*}" } + additional_bindings { + delete: "/v2/{sink_name=billingAccounts/*/sinks/*}" + } + }; + option (google.api.method_signature) = "sink_name"; + } + + // Asynchronously creates a linked dataset in BigQuery which makes it possible + // to use BigQuery to read the logs stored in the log bucket. A log bucket may + // currently only contain one link. + rpc CreateLink(CreateLinkRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/{parent=*/*/locations/*/buckets/*}/links" + body: "link" + additional_bindings { + post: "/v2/{parent=projects/*/locations/*/buckets/*}/links" + body: "link" + } + additional_bindings { + post: "/v2/{parent=organizations/*/locations/*/buckets/*}/links" + body: "link" + } + additional_bindings { + post: "/v2/{parent=folders/*/locations/*/buckets/*}/links" + body: "link" + } + additional_bindings { + post: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links" + body: "link" + } + }; + option (google.api.method_signature) = "parent,link,link_id"; + option (google.longrunning.operation_info) = { + response_type: "Link" + metadata_type: "LinkMetadata" + }; + } + + // Deletes a link. This will also delete the corresponding BigQuery linked + // dataset. + rpc DeleteLink(DeleteLinkRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v2/{name=*/*/locations/*/buckets/*/links/*}" + additional_bindings { + delete: "/v2/{name=projects/*/locations/*/buckets/*/links/*}" + } + additional_bindings { + delete: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}" + } + additional_bindings { + delete: "/v2/{name=folders/*/locations/*/buckets/*/links/*}" + } + additional_bindings { + delete: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}" + } + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "LinkMetadata" + }; + } + + // Lists links. + rpc ListLinks(ListLinksRequest) returns (ListLinksResponse) { + option (google.api.http) = { + get: "/v2/{parent=*/*/locations/*/buckets/*}/links" + additional_bindings { + get: "/v2/{parent=projects/*/locations/*/buckets/*}/links" + } + additional_bindings { + get: "/v2/{parent=organizations/*/locations/*/buckets/*}/links" + } + additional_bindings { + get: "/v2/{parent=folders/*/locations/*/buckets/*}/links" + } + additional_bindings { + get: "/v2/{parent=billingAccounts/*/locations/*/buckets/*}/links" + } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets a link. + rpc GetLink(GetLinkRequest) returns (Link) { + option (google.api.http) = { + get: "/v2/{name=*/*/locations/*/buckets/*/links/*}" + additional_bindings { + get: "/v2/{name=projects/*/locations/*/buckets/*/links/*}" + } + additional_bindings { + get: "/v2/{name=organizations/*/locations/*/buckets/*/links/*}" + } + additional_bindings { + get: "/v2/{name=folders/*/locations/*/buckets/*/links/*}" + } + additional_bindings { + get: "/v2/{name=billingAccounts/*/locations/*/buckets/*/links/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Lists all the exclusions on the _Default sink in a parent resource. + rpc ListExclusions(ListExclusionsRequest) returns (ListExclusionsResponse) { + option (google.api.http) = { + get: "/v2/{parent=*/*}/exclusions" + additional_bindings { get: "/v2/{parent=projects/*}/exclusions" } + additional_bindings { get: "/v2/{parent=organizations/*}/exclusions" } + additional_bindings { get: "/v2/{parent=folders/*}/exclusions" } + additional_bindings { get: "/v2/{parent=billingAccounts/*}/exclusions" } + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the description of an exclusion in the _Default sink. + rpc GetExclusion(GetExclusionRequest) returns (LogExclusion) { + option (google.api.http) = { + get: "/v2/{name=*/*/exclusions/*}" + additional_bindings { get: "/v2/{name=projects/*/exclusions/*}" } + additional_bindings { get: "/v2/{name=organizations/*/exclusions/*}" } + additional_bindings { get: "/v2/{name=folders/*/exclusions/*}" } + additional_bindings { get: "/v2/{name=billingAccounts/*/exclusions/*}" } + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new exclusion in the _Default sink in a specified parent + // resource. Only log entries belonging to that resource can be excluded. You + // can have up to 10 exclusions in a resource. + rpc CreateExclusion(CreateExclusionRequest) returns (LogExclusion) { + option (google.api.http) = { + post: "/v2/{parent=*/*}/exclusions" + body: "exclusion" + additional_bindings { + post: "/v2/{parent=projects/*}/exclusions" + body: "exclusion" + } + additional_bindings { + post: "/v2/{parent=organizations/*}/exclusions" + body: "exclusion" + } + additional_bindings { + post: "/v2/{parent=folders/*}/exclusions" + body: "exclusion" + } + additional_bindings { + post: "/v2/{parent=billingAccounts/*}/exclusions" + body: "exclusion" + } + }; + option (google.api.method_signature) = "parent,exclusion"; + } + + // Changes one or more properties of an existing exclusion in the _Default + // sink. + rpc UpdateExclusion(UpdateExclusionRequest) returns (LogExclusion) { + option (google.api.http) = { + patch: "/v2/{name=*/*/exclusions/*}" + body: "exclusion" + additional_bindings { + patch: "/v2/{name=projects/*/exclusions/*}" + body: "exclusion" + } + additional_bindings { + patch: "/v2/{name=organizations/*/exclusions/*}" + body: "exclusion" + } + additional_bindings { + patch: "/v2/{name=folders/*/exclusions/*}" + body: "exclusion" + } + additional_bindings { + patch: "/v2/{name=billingAccounts/*/exclusions/*}" + body: "exclusion" + } + }; + option (google.api.method_signature) = "name,exclusion,update_mask"; + } + + // Deletes an exclusion in the _Default sink. + rpc DeleteExclusion(DeleteExclusionRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v2/{name=*/*/exclusions/*}" + additional_bindings { delete: "/v2/{name=projects/*/exclusions/*}" } + additional_bindings { delete: "/v2/{name=organizations/*/exclusions/*}" } + additional_bindings { delete: "/v2/{name=folders/*/exclusions/*}" } + additional_bindings { + delete: "/v2/{name=billingAccounts/*/exclusions/*}" + } + }; + option (google.api.method_signature) = "name"; + } + + // Gets the Logging CMEK settings for the given resource. + // + // Note: CMEK for the Log Router can be configured for Google Cloud projects, + // folders, organizations and billing accounts. Once configured for an + // organization, it applies to all projects and folders in the Google Cloud + // organization. + // + // See [Enabling CMEK for Log + // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + // for more information. + rpc GetCmekSettings(GetCmekSettingsRequest) returns (CmekSettings) { + option (google.api.http) = { + get: "/v2/{name=*/*}/cmekSettings" + additional_bindings { get: "/v2/{name=projects/*}/cmekSettings" } + additional_bindings { get: "/v2/{name=organizations/*}/cmekSettings" } + additional_bindings { get: "/v2/{name=folders/*}/cmekSettings" } + additional_bindings { get: "/v2/{name=billingAccounts/*}/cmekSettings" } + }; + } + + // Updates the Log Router CMEK settings for the given resource. + // + // Note: CMEK for the Log Router can currently only be configured for Google + // Cloud organizations. Once configured, it applies to all projects and + // folders in the Google Cloud organization. + // + // [UpdateCmekSettings][google.logging.v2.ConfigServiceV2.UpdateCmekSettings] + // will fail if 1) `kms_key_name` is invalid, or 2) the associated service + // account does not have the required + // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or + // 3) access to the key is disabled. + // + // See [Enabling CMEK for Log + // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + // for more information. + rpc UpdateCmekSettings(UpdateCmekSettingsRequest) returns (CmekSettings) { + option (google.api.http) = { + patch: "/v2/{name=*/*}/cmekSettings" + body: "cmek_settings" + additional_bindings { + patch: "/v2/{name=organizations/*}/cmekSettings" + body: "cmek_settings" + } + }; + } + + // Gets the Log Router settings for the given resource. + // + // Note: Settings for the Log Router can be get for Google Cloud projects, + // folders, organizations and billing accounts. Currently it can only be + // configured for organizations. Once configured for an organization, it + // applies to all projects and folders in the Google Cloud organization. + // + // See [Enabling CMEK for Log + // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + // for more information. + rpc GetSettings(GetSettingsRequest) returns (Settings) { + option (google.api.http) = { + get: "/v2/{name=*/*}/settings" + additional_bindings { get: "/v2/{name=projects/*}/settings" } + additional_bindings { get: "/v2/{name=organizations/*}/settings" } + additional_bindings { get: "/v2/{name=folders/*}/settings" } + additional_bindings { get: "/v2/{name=billingAccounts/*}/settings" } + }; + option (google.api.method_signature) = "name"; + } + + // Updates the Log Router settings for the given resource. + // + // Note: Settings for the Log Router can currently only be configured for + // Google Cloud organizations. Once configured, it applies to all projects and + // folders in the Google Cloud organization. + // + // [UpdateSettings][google.logging.v2.ConfigServiceV2.UpdateSettings] + // will fail if 1) `kms_key_name` is invalid, or 2) the associated service + // account does not have the required + // `roles/cloudkms.cryptoKeyEncrypterDecrypter` role assigned for the key, or + // 3) access to the key is disabled. 4) `location_id` is not supported by + // Logging. 5) `location_id` violate OrgPolicy. + // + // See [Enabling CMEK for Log + // Router](https://cloud.google.com/logging/docs/routing/managed-encryption) + // for more information. + rpc UpdateSettings(UpdateSettingsRequest) returns (Settings) { + option (google.api.http) = { + patch: "/v2/{name=*/*}/settings" + body: "settings" + additional_bindings { + patch: "/v2/{name=organizations/*}/settings" + body: "settings" + } + additional_bindings { + patch: "/v2/{name=folders/*}/settings" + body: "settings" + } + }; + option (google.api.method_signature) = "settings,update_mask"; + } + + // Copies a set of log entries from a log bucket to a Cloud Storage bucket. + rpc CopyLogEntries(CopyLogEntriesRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v2/entries:copy" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "CopyLogEntriesResponse" + metadata_type: "CopyLogEntriesMetadata" + }; + } +} + +// Configuration for an indexed field. +message IndexConfig { + // Required. The LogEntry field path to index. + // + // Note that some paths are automatically indexed, and other paths are not + // eligible for indexing. See [indexing documentation]( + // https://cloud.google.com/logging/docs/view/advanced-queries#indexed-fields) + // for details. + // + // For example: `jsonPayload.request.status` + string field_path = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The type of data in this index. + IndexType type = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The timestamp when the index was last modified. + // + // This is used to return the timestamp, and will be ignored if supplied + // during update. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Describes a repository in which log entries are stored. +message LogBucket { + option (google.api.resource) = { + type: "logging.googleapis.com/LogBucket" + pattern: "projects/{project}/locations/{location}/buckets/{bucket}" + pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}" + pattern: "folders/{folder}/locations/{location}/buckets/{bucket}" + pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}" + }; + + // Output only. The resource name of the bucket. + // + // For example: + // + // `projects/my-project/locations/global/buckets/my-bucket` + // + // For a list of supported locations, see [Supported + // Regions](https://cloud.google.com/logging/docs/region-support) + // + // For the location of `global` it is unspecified where log entries are + // actually stored. + // + // After a bucket has been created, the location cannot be changed. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Describes this bucket. + string description = 3; + + // Output only. The creation timestamp of the bucket. This is not set for any + // of the default buckets. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update timestamp of the bucket. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Logs will be retained by default for this amount of time, after which they + // will automatically be deleted. The minimum retention period is 1 day. If + // this value is set to zero at bucket creation time, the default time of 30 + // days will be used. + int32 retention_days = 11; + + // Whether the bucket is locked. + // + // The retention period on a locked bucket cannot be changed. Locked buckets + // may only be deleted if they are empty. + bool locked = 9; + + // Output only. The bucket lifecycle state. + LifecycleState lifecycle_state = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Whether log analytics is enabled for this bucket. + // + // Once enabled, log analytics features cannot be disabled. + bool analytics_enabled = 14; + + // Log entry field paths that are denied access in this bucket. + // + // The following fields and their children are eligible: `textPayload`, + // `jsonPayload`, `protoPayload`, `httpRequest`, `labels`, `sourceLocation`. + // + // Restricting a repeated field will restrict all values. Adding a parent will + // block all child fields. (e.g. `foo.bar` will block `foo.bar.baz`) + repeated string restricted_fields = 15; + + // A list of indexed fields and related configuration data. + repeated IndexConfig index_configs = 17; + + // The CMEK settings of the log bucket. If present, new log entries written to + // this log bucket are encrypted using the CMEK key provided in this + // configuration. If a log bucket has CMEK settings, the CMEK settings cannot + // be disabled later by updating the log bucket. Changing the KMS key is + // allowed. + CmekSettings cmek_settings = 19; +} + +// Describes a view over log entries in a bucket. +message LogView { + option (google.api.resource) = { + type: "logging.googleapis.com/LogView" + pattern: "projects/{project}/locations/{location}/buckets/{bucket}/views/{view}" + pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/views/{view}" + pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/views/{view}" + pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/views/{view}" + }; + + // The resource name of the view. + // + // For example: + // + // `projects/my-project/locations/global/buckets/my-bucket/views/my-view` + string name = 1; + + // Describes this view. + string description = 3; + + // Output only. The creation timestamp of the view. + google.protobuf.Timestamp create_time = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update timestamp of the view. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Filter that restricts which log entries in a bucket are visible in this + // view. + // + // Filters are restricted to be a logical AND of ==/!= of any of the + // following: + // + // - originating project/folder/organization/billing account. + // - resource type + // - log id + // + // For example: + // + // SOURCE("projects/myproject") AND resource.type = "gce_instance" + // AND LOG_ID("stdout") + string filter = 7; +} + +// Describes a sink used to export log entries to one of the following +// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, a +// Pub/Sub topic or a Cloud Logging log bucket. A logs filter controls which log +// entries are exported. The sink must be created within a project, +// organization, billing account, or folder. +message LogSink { + option (google.api.resource) = { + type: "logging.googleapis.com/LogSink" + pattern: "projects/{project}/sinks/{sink}" + pattern: "organizations/{organization}/sinks/{sink}" + pattern: "folders/{folder}/sinks/{sink}" + pattern: "billingAccounts/{billing_account}/sinks/{sink}" + }; + + // Deprecated. This is unused. + enum VersionFormat { + // An unspecified format version that will default to V2. + VERSION_FORMAT_UNSPECIFIED = 0; + + // `LogEntry` version 2 format. + V2 = 1; + + // `LogEntry` version 1 format. + V1 = 2; + } + + // Required. The client-assigned sink identifier, unique within the project. + // + // For example: `"my-syslog-errors-to-pubsub"`. Sink identifiers are limited + // to 100 characters and can include only the following characters: upper and + // lower-case alphanumeric characters, underscores, hyphens, and periods. + // First character has to be alphanumeric. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The export destination: + // + // "storage.googleapis.com/[GCS_BUCKET]" + // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" + // "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" + // + // The sink's `writer_identity`, set when the sink is created, must have + // permission to write to the destination or else the log entries are not + // exported. For more information, see + // [Exporting Logs with + // Sinks](https://cloud.google.com/logging/docs/api/tasks/exporting-logs). + string destination = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "*" } + ]; + + // Optional. An [advanced logs + // filter](https://cloud.google.com/logging/docs/view/advanced-queries). The + // only exported log entries are those that are in the resource owning the + // sink and that match the filter. + // + // For example: + // + // `logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR` + string filter = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A description of this sink. + // + // The maximum length of the description is 8000 characters. + string description = 18 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to true, then this sink is disabled and it does not export + // any log entries. + bool disabled = 19 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Log entries that match any of these exclusion filters will not be + // exported. + // + // If a log entry is matched by both `filter` and one of `exclusion_filters` + // it will not be exported. + repeated LogExclusion exclusions = 16 + [(google.api.field_behavior) = OPTIONAL]; + + // Deprecated. This field is unused. + VersionFormat output_version_format = 6 [deprecated = true]; + + // Output only. An IAM identity—a service account or group—under + // which Cloud Logging writes the exported log entries to the sink's + // destination. This field is either set by specifying + // `custom_writer_identity` or set automatically by + // [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] and + // [sinks.update][google.logging.v2.ConfigServiceV2.UpdateSink] based on the + // value of `unique_writer_identity` in those methods. + // + // Until you grant this identity write-access to the destination, log entry + // exports from this sink will fail. For more information, see [Granting + // Access for a + // Resource](https://cloud.google.com/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource). + // Consult the destination service's documentation to determine the + // appropriate IAM roles to assign to the identity. + // + // Sinks that have a destination that is a log bucket in the same project as + // the sink cannot have a writer_identity and no additional permissions are + // required. + string writer_identity = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. This field applies only to sinks owned by organizations and + // folders. If the field is false, the default, only the logs owned by the + // sink's parent resource are available for export. If the field is true, then + // log entries from all the projects, folders, and billing accounts contained + // in the sink's parent resource are also available for export. Whether a + // particular log entry from the children is exported depends on the sink's + // filter expression. + // + // For example, if this field is true, then the filter + // `resource.type=gce_instance` would export all Compute Engine VM instance + // log entries from all projects in the sink's parent. + // + // To only export entries from certain child projects, filter on the project + // part of the log name: + // + // logName:("projects/test-project1/" OR "projects/test-project2/") AND + // resource.type=gce_instance + bool include_children = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Destination dependent options. + oneof options { + // Optional. Options that affect sinks exporting data to BigQuery. + BigQueryOptions bigquery_options = 12 + [(google.api.field_behavior) = OPTIONAL]; + } + + // Output only. The creation timestamp of the sink. + // + // This field may not be present for older sinks. + google.protobuf.Timestamp create_time = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update timestamp of the sink. + // + // This field may not be present for older sinks. + google.protobuf.Timestamp update_time = 14 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Describes a BigQuery dataset that was created by a link. +message BigQueryDataset { + // Output only. The full resource name of the BigQuery dataset. The DATASET_ID + // will match the ID of the link, so the link must match the naming + // restrictions of BigQuery datasets (alphanumeric characters and underscores + // only). + // + // The dataset will have a resource path of + // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]" + string dataset_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Describes a link connected to an analytics enabled bucket. +message Link { + option (google.api.resource) = { + type: "logging.googleapis.com/Link" + pattern: "projects/{project}/locations/{location}/buckets/{bucket}/links/{link}" + pattern: "organizations/{organization}/locations/{location}/buckets/{bucket}/links/{link}" + pattern: "folders/{folder}/locations/{location}/buckets/{bucket}/links/{link}" + pattern: "billingAccounts/{billing_account}/locations/{location}/buckets/{bucket}/links/{link}" + }; + + // The resource name of the link. The name can have up to 100 characters. + // A valid link id (at the end of the link name) must only have alphanumeric + // characters and underscores within it. + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // + // For example: + // + // `projects/my-project/locations/global/buckets/my-bucket/links/my_link + string name = 1; + + // Describes this link. + // + // The maximum length of the description is 8000 characters. + string description = 2; + + // Output only. The creation timestamp of the link. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The resource lifecycle state. + LifecycleState lifecycle_state = 4 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The information of a BigQuery Dataset. When a link is created, a BigQuery + // dataset is created along with it, in the same project as the LogBucket it's + // linked to. This dataset will also have BigQuery Views corresponding to the + // LogViews in the bucket. + BigQueryDataset bigquery_dataset = 5; +} + +// Options that change functionality of a sink exporting data to BigQuery. +message BigQueryOptions { + // Optional. Whether to use [BigQuery's partition + // tables](https://cloud.google.com/bigquery/docs/partitioned-tables). By + // default, Cloud Logging creates dated tables based on the log entries' + // timestamps, e.g. syslog_20170523. With partitioned tables the date suffix + // is no longer present and [special query + // syntax](https://cloud.google.com/bigquery/docs/querying-partitioned-tables) + // has to be used instead. In both cases, tables are sharded based on UTC + // timezone. + bool use_partitioned_tables = 1 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. True if new timestamp column based partitioning is in use, + // false if legacy ingestion-time partitioning is in use. + // + // All new sinks will have this field set true and will use timestamp column + // based partitioning. If use_partitioned_tables is false, this value has no + // meaning and will be false. Legacy sinks using partitioned tables will have + // this field set to false. + bool uses_timestamp_column_partitioning = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The parameters to `ListBuckets`. +message ListBucketsRequest { + // Required. The parent resource whose buckets are to be listed: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]" + // + // Note: The locations portion of the resource must be specified, but + // supplying the character `-` in place of [LOCATION_ID] will return all + // buckets. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/LogBucket" + } + ]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of results to return from this request. + // Non-positive values are ignored. The presence of `nextPageToken` in the + // response indicates that more results might be available. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response from ListBuckets. +message ListBucketsResponse { + // A list of buckets. + repeated LogBucket buckets = 1; + + // If there might be more results than appear in this response, then + // `nextPageToken` is included. To get the next set of results, call the same + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to `CreateBucket`. +message CreateBucketRequest { + // Required. The resource in which to create the log bucket: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]" + // + // For example: + // + // `"projects/my-project/locations/global"` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/LogBucket" + } + ]; + + // Required. A client-assigned identifier such as `"my-bucket"`. Identifiers + // are limited to 100 characters and can include only letters, digits, + // underscores, hyphens, and periods. + string bucket_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new bucket. The region specified in the new bucket must be + // compliant with any Location Restriction Org Policy. The name field in the + // bucket is ignored. + LogBucket bucket = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to `UpdateBucket`. +message UpdateBucketRequest { + // Required. The full resource name of the bucket to update. + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket"` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogBucket" + } + ]; + + // Required. The updated bucket. + LogBucket bucket = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Field mask that specifies the fields in `bucket` that need an + // update. A bucket field will be overwritten if, and only if, it is in the + // update mask. `name` and output only fields cannot be updated. + // + // For a detailed `FieldMask` definition, see: + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + // + // For example: `updateMask=retention_days` + google.protobuf.FieldMask update_mask = 4 + [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to `GetBucket`. +message GetBucketRequest { + // Required. The resource name of the bucket: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket"` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogBucket" + } + ]; +} + +// The parameters to `DeleteBucket`. +message DeleteBucketRequest { + // Required. The full resource name of the bucket to delete. + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket"` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogBucket" + } + ]; +} + +// The parameters to `UndeleteBucket`. +message UndeleteBucketRequest { + // Required. The full resource name of the bucket to undelete. + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket"` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogBucket" + } + ]; +} + +// The parameters to `ListViews`. +message ListViewsRequest { + // Required. The bucket whose views are to be listed: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of results to return from this request. + // + // Non-positive values are ignored. The presence of `nextPageToken` in the + // response indicates that more results might be available. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response from ListViews. +message ListViewsResponse { + // A list of views. + repeated LogView views = 1; + + // If there might be more results than appear in this response, then + // `nextPageToken` is included. To get the next set of results, call the same + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to `CreateView`. +message CreateViewRequest { + // Required. The bucket in which to create the view + // + // `"projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"` + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket"` + string parent = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A client-assigned identifier such as `"my-view"`. Identifiers are + // limited to 100 characters and can include only letters, digits, + // underscores, hyphens, and periods. + string view_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new view. + LogView view = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to `UpdateView`. +message UpdateViewRequest { + // Required. The full resource name of the view to update + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The updated view. + LogView view = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Field mask that specifies the fields in `view` that need + // an update. A field will be overwritten if, and only if, it is + // in the update mask. `name` and output only fields cannot be updated. + // + // For a detailed `FieldMask` definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + // + // For example: `updateMask=filter` + google.protobuf.FieldMask update_mask = 4 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The parameters to `GetView`. +message GetViewRequest { + // Required. The resource name of the policy: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/LogView" } + ]; +} + +// The parameters to `DeleteView`. +message DeleteViewRequest { + // Required. The full resource name of the view to delete: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" + // + // For example: + // + // `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/LogView" } + ]; +} + +// The parameters to `ListSinks`. +message ListSinksRequest { + // Required. The parent resource whose sinks are to be listed: + // + // "projects/[PROJECT_ID]" + // "organizations/[ORGANIZATION_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]" + // "folders/[FOLDER_ID]" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/LogSink" + } + ]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of results to return from this request. + // Non-positive values are ignored. The presence of `nextPageToken` in the + // response indicates that more results might be available. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from `ListSinks`. +message ListSinksResponse { + // A list of sinks. + repeated LogSink sinks = 1; + + // If there might be more results than appear in this response, then + // `nextPageToken` is included. To get the next set of results, call the same + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to `GetSink`. +message GetSinkRequest { + // Required. The resource name of the sink: + // + // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + // + // For example: + // + // `"projects/my-project/sinks/my-sink"` + string sink_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" } + ]; +} + +// The parameters to `CreateSink`. +message CreateSinkRequest { + // Required. The resource in which to create the sink: + // + // "projects/[PROJECT_ID]" + // "organizations/[ORGANIZATION_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]" + // "folders/[FOLDER_ID]" + // + // For examples: + // + // `"projects/my-project"` + // `"organizations/123456789"` + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/LogSink" + } + ]; + + // Required. The new sink, whose `name` parameter is a sink identifier that + // is not already in use. + LogSink sink = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Determines the kind of IAM identity returned as `writer_identity` + // in the new sink. If this value is omitted or set to false, and if the + // sink's parent is a project, then the value returned as `writer_identity` is + // the same group or service account used by Cloud Logging before the addition + // of writer identities to this API. The sink's destination must be in the + // same project as the sink itself. + // + // If this field is set to true, or if the sink is owned by a non-project + // resource such as an organization, then the value of `writer_identity` will + // be a unique service account used only for exports from the new sink. For + // more information, see `writer_identity` in + // [LogSink][google.logging.v2.LogSink]. + bool unique_writer_identity = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The parameters to `UpdateSink`. +message UpdateSinkRequest { + // Required. The full resource name of the sink to update, including the + // parent resource and the sink identifier: + // + // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + // + // For example: + // + // `"projects/my-project/sinks/my-sink"` + string sink_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" } + ]; + + // Required. The updated sink, whose name is the same identifier that appears + // as part of `sink_name`. + LogSink sink = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. See [sinks.create][google.logging.v2.ConfigServiceV2.CreateSink] + // for a description of this field. When updating a sink, the effect of this + // field on the value of `writer_identity` in the updated sink depends on both + // the old and new values of this field: + // + // + If the old and new values of this field are both false or both true, + // then there is no change to the sink's `writer_identity`. + // + If the old value is false and the new value is true, then + // `writer_identity` is changed to a unique service account. + // + It is an error if the old value is true and the new value is + // set to false or defaulted to false. + bool unique_writer_identity = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Field mask that specifies the fields in `sink` that need + // an update. A sink field will be overwritten if, and only if, it is + // in the update mask. `name` and output only fields cannot be updated. + // + // An empty `updateMask` is temporarily treated as using the following mask + // for backwards compatibility purposes: + // + // `destination,filter,includeChildren` + // + // At some point in the future, behavior will be removed and specifying an + // empty `updateMask` will be an error. + // + // For a detailed `FieldMask` definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask + // + // For example: `updateMask=filter` + google.protobuf.FieldMask update_mask = 4 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The parameters to `DeleteSink`. +message DeleteSinkRequest { + // Required. The full resource name of the sink to delete, including the + // parent resource and the sink identifier: + // + // "projects/[PROJECT_ID]/sinks/[SINK_ID]" + // "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/sinks/[SINK_ID]" + // "folders/[FOLDER_ID]/sinks/[SINK_ID]" + // + // For example: + // + // `"projects/my-project/sinks/my-sink"` + string sink_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/LogSink" } + ]; +} + +// The parameters to CreateLink. +message CreateLinkRequest { + // Required. The full resource name of the bucket to create a link for. + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/Link" + } + ]; + + // Required. The new link. + Link link = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The ID to use for the link. The link_id can have up to 100 + // characters. A valid link_id must only have alphanumeric characters and + // underscores within it. + string link_id = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to DeleteLink. +message DeleteLinkRequest { + // Required. The full resource name of the link to delete. + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/Link" } + ]; +} + +// The parameters to ListLinks. +message ListLinksRequest { + // Required. The parent resource whose links are to be listed: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/ + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/Link" + } + ]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of results to return from this request. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response from ListLinks. +message ListLinksResponse { + // A list of links. + repeated Link links = 1; + + // If there might be more results than those appearing in this response, then + // `nextPageToken` is included. To get the next set of results, call the same + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to GetLink. +message GetLinkRequest { + // Required. The resource name of the link: + // + // "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID]" + // "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/links/[LINK_ID] + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "logging.googleapis.com/Link" } + ]; +} + +// Specifies a set of log entries that are filtered out by a sink. If +// your Google Cloud resource receives a large volume of log entries, you can +// use exclusions to reduce your chargeable logs. Note that exclusions on +// organization-level and folder-level sinks don't apply to child resources. +// Note also that you cannot modify the _Required sink or exclude logs from it. +message LogExclusion { + option (google.api.resource) = { + type: "logging.googleapis.com/LogExclusion" + pattern: "projects/{project}/exclusions/{exclusion}" + pattern: "organizations/{organization}/exclusions/{exclusion}" + pattern: "folders/{folder}/exclusions/{exclusion}" + pattern: "billingAccounts/{billing_account}/exclusions/{exclusion}" + }; + + // Required. A client-assigned identifier, such as + // `"load-balancer-exclusion"`. Identifiers are limited to 100 characters and + // can include only letters, digits, underscores, hyphens, and periods. First + // character has to be alphanumeric. + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. A description of this exclusion. + string description = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Required. An [advanced logs + // filter](https://cloud.google.com/logging/docs/view/advanced-queries) that + // matches the log entries to be excluded. By using the [sample + // function](https://cloud.google.com/logging/docs/view/advanced-queries#sample), + // you can exclude less than 100% of the matching log entries. + // + // For example, the following query matches 99% of low-severity log entries + // from Google Cloud Storage buckets: + // + // `resource.type=gcs_bucket severity=ERROR" + // + // The maximum length of the filter is 20000 characters. + string filter = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The resource name of the Log Bucket that owns the Log Metric. + // Only Log Buckets in projects are supported. The bucket has to be in the + // same project as the metric. + // + // For example: + // + // `projects/my-project/locations/global/buckets/my-bucket` + // + // If empty, then the Log Metric is considered a non-Bucket Log Metric. + string bucket_name = 13 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If set to True, then this metric is disabled and it does not + // generate any points. + bool disabled = 12 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The metric descriptor associated with the logs-based metric. + // If unspecified, it uses a default metric descriptor with a DELTA metric + // kind, INT64 value type, with no labels and a unit of "1". Such a metric + // counts the number of log entries matching the `filter` expression. + // + // The `name`, `type`, and `description` fields in the `metric_descriptor` + // are output only, and is constructed using the `name` and `description` + // field in the LogMetric. + // + // To create a logs-based metric that records a distribution of log values, a + // DELTA metric kind with a DISTRIBUTION value type must be used along with + // a `value_extractor` expression in the LogMetric. + // + // Each label in the metric descriptor must have a matching label + // name as the key and an extractor expression as the value in the + // `label_extractors` map. + // + // The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot + // be updated once initially configured. New labels can be added in the + // `metric_descriptor`, but existing labels cannot be modified except for + // their description. + google.api.MetricDescriptor metric_descriptor = 5 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A `value_extractor` is required when using a distribution + // logs-based metric to extract the values to record from a log entry. + // Two functions are supported for value extraction: `EXTRACT(field)` or + // `REGEXP_EXTRACT(field, regex)`. The arguments are: + // + // 1. field: The name of the log entry field from which the value is to be + // extracted. + // 2. regex: A regular expression using the Google RE2 syntax + // (https://github.com/google/re2/wiki/Syntax) with a single capture + // group to extract data from the specified log entry field. The value + // of the field is converted to a string before applying the regex. + // It is an error to specify a regex that does not include exactly one + // capture group. + // + // The result of the extraction must be convertible to a double type, as the + // distribution always records double values. If either the extraction or + // the conversion to double fails, then those values are not recorded in the + // distribution. + // + // Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")` + string value_extractor = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A map from a label key string to an extractor expression which is + // used to extract data from a log entry field and assign as the label value. + // Each label key specified in the LabelDescriptor must have an associated + // extractor expression in this map. The syntax of the extractor expression + // is the same as for the `value_extractor` field. + // + // The extracted value is converted to the type defined in the label + // descriptor. If either the extraction or the type conversion fails, + // the label will have a default value. The default value for a string + // label is an empty string, for an integer label its 0, and for a boolean + // label its `false`. + // + // Note that there are upper bounds on the maximum number of labels and the + // number of active time series that are allowed in a project. + map label_extractors = 7 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The `bucket_options` are required when the logs-based metric is + // using a DISTRIBUTION value type and it describes the bucket boundaries + // used to create a histogram of the extracted values. + google.api.Distribution.BucketOptions bucket_options = 8 + [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The creation timestamp of the metric. + // + // This field may not be present for older metrics. + google.protobuf.Timestamp create_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update timestamp of the metric. + // + // This field may not be present for older metrics. + google.protobuf.Timestamp update_time = 10 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Deprecated. The API version that created or updated this metric. + // The v2 format is used by default and cannot be changed. + ApiVersion version = 4 [deprecated = true]; +} + +// The parameters to ListLogMetrics. +message ListLogMetricsRequest { + // Required. The name of the project containing the metrics: + // + // "projects/[PROJECT_ID]" + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudresourcemanager.googleapis.com/Project" + } + ]; + + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `pageToken` must be the value of + // `nextPageToken` from the previous response. The values of other method + // parameters should be identical to those in the previous call. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of results to return from this request. + // Non-positive values are ignored. The presence of `nextPageToken` in the + // response indicates that more results might be available. + int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from ListLogMetrics. +message ListLogMetricsResponse { + // A list of logs-based metrics. + repeated LogMetric metrics = 1; + + // If there might be more results than appear in this response, then + // `nextPageToken` is included. To get the next set of results, call this + // method again using the value of `nextPageToken` as `pageToken`. + string next_page_token = 2; +} + +// The parameters to GetLogMetric. +message GetLogMetricRequest { + // Required. The resource name of the desired metric: + // + // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + string metric_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogMetric" + } + ]; +} + +// The parameters to CreateLogMetric. +message CreateLogMetricRequest { + // Required. The resource name of the project in which to create the metric: + // + // "projects/[PROJECT_ID]" + // + // The new metric must be provided in the request. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "logging.googleapis.com/LogMetric" + } + ]; + + // Required. The new logs-based metric, which must not have an identifier that + // already exists. + LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to UpdateLogMetric. +message UpdateLogMetricRequest { + // Required. The resource name of the metric to update: + // + // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + // + // The updated metric must be provided in the request and it's + // `name` field must be the same as `[METRIC_ID]` If the metric + // does not exist in `[PROJECT_ID]`, then a new metric is created. + string metric_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogMetric" + } + ]; + + // Required. The updated metric. + LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to DeleteLogMetric. +message DeleteLogMetricRequest { + // Required. The resource name of the metric to delete: + // + // "projects/[PROJECT_ID]/metrics/[METRIC_ID]" + string metric_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "logging.googleapis.com/LogMetric" + } + ]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging_v2.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging_v2.yaml new file mode 100644 index 00000000..6e217e9c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/logging/v2/logging_v2.yaml @@ -0,0 +1,224 @@ +type: google.api.Service +config_version: 3 +name: logging.googleapis.com +title: Cloud Logging API + +apis: +- name: google.logging.v2.ConfigServiceV2 +- name: google.logging.v2.LoggingServiceV2 +- name: google.logging.v2.MetricsServiceV2 +- name: google.longrunning.Operations + +types: +- name: google.logging.v2.BucketMetadata +- name: google.logging.v2.CopyLogEntriesMetadata +- name: google.logging.v2.CopyLogEntriesResponse +- name: google.logging.v2.LinkMetadata +- name: google.logging.v2.LocationMetadata + +documentation: + summary: Writes log entries and manages your Cloud Logging configuration. + overview: |- + # Introduction + + The Cloud Logging service. + +backend: + rules: + - selector: 'google.logging.v2.ConfigServiceV2.*' + deadline: 60.0 + - selector: google.logging.v2.ConfigServiceV2.CreateBucket + deadline: 600.0 + - selector: google.logging.v2.ConfigServiceV2.UpdateBucket + deadline: 600.0 + - selector: 'google.logging.v2.LoggingServiceV2.*' + deadline: 60.0 + - selector: google.logging.v2.LoggingServiceV2.ListLogEntries + deadline: 10.0 + - selector: google.logging.v2.LoggingServiceV2.TailLogEntries + deadline: 3600.0 + - selector: 'google.logging.v2.MetricsServiceV2.*' + deadline: 60.0 + - selector: 'google.longrunning.Operations.*' + deadline: 60.0 + +http: + rules: + - selector: google.longrunning.Operations.CancelOperation + post: '/v2/{name=*/*/locations/*/operations/*}:cancel' + body: '*' + additional_bindings: + - post: '/v2/{name=projects/*/locations/*/operations/*}:cancel' + body: '*' + - post: '/v2/{name=organizations/*/locations/*/operations/*}:cancel' + body: '*' + - post: '/v2/{name=folders/*/locations/*/operations/*}:cancel' + body: '*' + - post: '/v2/{name=billingAccounts/*/locations/*/operations/*}:cancel' + body: '*' + - selector: google.longrunning.Operations.GetOperation + get: '/v2/{name=*/*/locations/*/operations/*}' + additional_bindings: + - get: '/v2/{name=projects/*/locations/*/operations/*}' + - get: '/v2/{name=organizations/*/locations/*/operations/*}' + - get: '/v2/{name=folders/*/locations/*/operations/*}' + - get: '/v2/{name=billingAccounts/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v2/{name=*/*/locations/*}/operations' + additional_bindings: + - get: '/v2/{name=projects/*/locations/*}/operations' + - get: '/v2/{name=organizations/*/locations/*}/operations' + - get: '/v2/{name=folders/*/locations/*}/operations' + - get: '/v2/{name=billingAccounts/*/locations/*}/operations' + +authentication: + rules: + - selector: 'google.logging.v2.ConfigServiceV2.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/logging.admin + - selector: google.logging.v2.ConfigServiceV2.GetBucket + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.GetCmekSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.GetExclusion + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.GetLink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.GetSettings + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.GetSink + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.GetView + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.ListBuckets + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.ListExclusions + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.ListLinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.ListSinks + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.ConfigServiceV2.ListViews + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: 'google.logging.v2.LoggingServiceV2.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.LoggingServiceV2.DeleteLog + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/logging.admin + - selector: google.logging.v2.LoggingServiceV2.WriteLogEntries + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.write + - selector: 'google.logging.v2.MetricsServiceV2.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.write + - selector: google.logging.v2.MetricsServiceV2.GetLogMetric + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.logging.v2.MetricsServiceV2.ListLogMetrics + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.longrunning.Operations.CancelOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/logging.admin + - selector: google.longrunning.Operations.GetOperation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + - selector: google.longrunning.Operations.ListOperations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform, + https://www.googleapis.com/auth/cloud-platform.read-only, + https://www.googleapis.com/auth/logging.admin, + https://www.googleapis.com/auth/logging.read + +publishing: + documentation_uri: https://cloud.google.com/logging/docs/ diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/BUILD.bazel new file mode 100644 index 00000000..a2c6bf45 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/BUILD.bazel @@ -0,0 +1,223 @@ +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "operations_proto", + srcs = ["operations.proto"], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/rpc:status_proto", + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:descriptor_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:empty_proto", + ], +) + +proto_library_with_info( + name = "longrunning_proto_with_info", + deps = [":operations_proto"], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "longrunning_java_proto", + deps = [":operations_proto"], +) + +java_grpc_library( + name = "longrunning_java_grpc", + srcs = [":operations_proto"], + deps = [":longrunning_java_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-longrunning-java", + transport = "grpc+rest", + deps = [ + ":longrunning_java_grpc", + ":longrunning_java_proto", + ":operations_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", +) + +go_proto_library( + name = "longrunning_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "cloud.google.com/go/longrunning/autogen/longrunningpb", + protos = [":operations_proto"], + visibility = ["//visibility:public"], + deps = [ + "//google/api:annotations_go_proto", + "//google/rpc:status_go_proto", + ], +) + +go_gapic_library( + name = "longrunning_go_gapic", + srcs = [":longrunning_proto_with_info"], + grpc_service_config = "longrunning_grpc_service_config.json", + importpath = "cloud.google.com/go/longrunning/autogen;longrunning", + metadata = True, + release_level = "ga", + rest_numeric_enums = False, + service_yaml = "longrunning.yaml", + transport = "grpc+rest", + deps = [":longrunning_go_proto"], +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-longrunning-go", + deps = [ + ":longrunning_go_gapic", + ":longrunning_go_gapic_srcjar-metadata.srcjar", + ":longrunning_go_gapic_srcjar-snippets.srcjar", + ":longrunning_go_gapic_srcjar-test.srcjar", + ":longrunning_go_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_grpc_library", + "cc_proto_library", +) + +cc_proto_library( + name = "longrunning_cc_proto", + deps = [":operations_proto"], +) + +cc_grpc_library( + name = "longrunning_cc_grpc", + srcs = [":operations_proto"], + grpc_only = True, + deps = [":longrunning_cc_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "longrunning_csharp_proto", + deps = [":operations_proto"], +) + +csharp_grpc_library( + name = "longrunning_csharp_grpc", + srcs = [":operations_proto"], + deps = [":longrunning_csharp_proto"], +) + +csharp_gapic_library( + name = "longrunning_csharp_gapic", + srcs = [":longrunning_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "longrunning_grpc_service_config.json", + rest_numeric_enums = False, + service_yaml = "longrunning.yaml", + deps = [ + ":longrunning_csharp_grpc", + ":longrunning_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-longrunning-csharp", + deps = [ + ":longrunning_csharp_gapic", + ":longrunning_csharp_grpc", + ":longrunning_csharp_proto", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_proto_library", +) + +php_proto_library( + name = "longrunning_php_proto", + deps = [":operations_proto"], +) + +php_gapic_library( + name = "longrunning_php_gapic", + srcs = [":longrunning_proto_with_info"], + grpc_service_config = "longrunning_grpc_service_config.json", + migration_mode = "MIGRATING", + rest_numeric_enums = False, + service_yaml = "longrunning.yaml", + transport = "grpc+rest", + deps = [":longrunning_php_proto"], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-longrunning-php", + deps = [ + ":longrunning_php_gapic", + ":longrunning_php_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "operations_py_proto", + deps = ["operations_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/README.md new file mode 100644 index 00000000..7eba891e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/README.md @@ -0,0 +1,31 @@ +## 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/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning.yaml new file mode 100644 index 00000000..9e240efe --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning.yaml @@ -0,0 +1,78 @@ +type: google.api.Service +config_version: 3 +name: longrunning.googleapis.com +title: Long Running Operations API + +apis: +- name: google.longrunning.Operations + +types: +- name: google.longrunning.OperationInfo + +documentation: + overview: |- + # Long Running Operation API + + This package contains the definition of Long Running Operation (LRO) + interface. It is a standard interface that API services can implement for + managing asynchronous operations. + + + ## What are Long Running Operations? + + A Long Running Operation (LRO) is a way of representing an action that may + take a significant amount of time to complete. For example, an API call + that starts exporting a large amount of data could take quite a while to + complete and is therefore best represented as an LRO. A common rule of + thumb is to think of LROs as "API promises" that represent the result of + some on-going action. + + For more information, see [AIP-151](https://google.aip.dev/151). + + ## Using LROs + + If an API method could potentially take long time to finish, the method + should return a long running operation instead of a direct response. This + means that even if there are situations where the response could be + immediate, the API should still return an LRO -- it just may be already + marked as completed. + For example, if a data export operation is called on an empty resource, + the operation itself may be possible to execute immediately, and would + result in an already completed LRO. + + Additionally, the operation should be managed using the LRO interface, + which allows clients to poll the operation for status updates or cancel it + entirely. + + Finally, an LRO represents an action and as a result, the operation is not + created directly. Instead, the operation comes into existence as a + side-effect of the action it represents. For example, an RPC called + `ExportData` would + create and return an LRO. This means that there should never be an RPC + called `CreateOperation`. + + This also means that any permissions on the operation would be based on + the action it represents. Any immediate side effects of starting the + operation must be visible in the service as soon as the LRO is returned. + For example, if an LRO is returned when creating a resource, that resource + should be visible in the API immediately, but be in a non-final state + until the LRO is completed. + + ## LROs versus Jobs + + A [job](https://google.aip.dev/152) is a common design pattern often used + in data processing that tends to be used to represent some contained piece + of work that would be stored, re-run, and modified over time. Jobs also + typically + interact with multiple resources and are created, deleted, and updated + directly as independent resources. + + Jobs can also offer support for more complex actions such as pausing and + resuming an individual job, where each action could return an LRO as a + response. + + In general, if an action may take a while but it represents a single piece + of work, it's best to represent the response as an LRO. If the action is + something more complex (for example, it involves lots of resources and + can't be created as a byproduct of a single action), it may make more + sense to represent it as a job. diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning_gapic.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning_gapic.yaml new file mode 100644 index 00000000..d6502cfb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning_gapic.yaml @@ -0,0 +1,54 @@ +type: com.google.api.codegen.ConfigProto +config_schema_version: 2.0.0 +language_settings: + java: + package_name: com.google.longrunning + python: + package_name: google.longrunning.gapic + go: + package_name: cloud.google.com/go/longrunning/autogen + domain_layer_location: cloud.google.com/go/longrunning + csharp: + package_name: Google.LongRunning + ruby: + package_name: Google::Longrunning + php: + package_name: Google\LongRunning + nodejs: + package_name: longrunning +interfaces: +- name: google.longrunning.Operations + required_constructor_params: + - service_address + - scopes + retry_params_def: + - name: default + initial_retry_delay_millis: 100 + retry_delay_multiplier: 1.3 + max_retry_delay_millis: 60000 + initial_rpc_timeout_millis: 90000 + rpc_timeout_multiplier: 1 + max_rpc_timeout_millis: 90000 + total_timeout_millis: 600000 + methods: + - name: GetOperation + retry_params_name: default + - name: ListOperations + retry_params_name: default + - name: CancelOperation + retry_codes_name: idempotent + retry_params_name: default + - name: DeleteOperation + retry_codes_name: idempotent + retry_params_name: default + - name: WaitOperation + surface_treatments: + - include_languages: + - go + - java + - csharp + - ruby + - nodejs + - python + - php + visibility: DISABLED diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning_grpc_service_config.json b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning_grpc_service_config.json new file mode 100644 index 00000000..a5a9ae95 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/longrunning_grpc_service_config.json @@ -0,0 +1,34 @@ +{ + "methodConfig": [ + { + "name": [ + { + "service": "google.longrunning.Operations", + "method": "GetOperation" + }, + { + "service": "google.longrunning.Operations", + "method": "ListOperations" + }, + { + "service": "google.longrunning.Operations", + "method": "CancelOperation" + }, + { + "service": "google.longrunning.Operations", + "method": "DeleteOperation" + } + ], + "timeout": "10s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "0.5s", + "maxBackoff": "10s", + "backoffMultiplier": 2.0, + "retryableStatusCodes": [ + "UNAVAILABLE" + ] + } + } + ] +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/operations.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/operations.proto new file mode 100644 index 00000000..be8880b3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/longrunning/operations.proto @@ -0,0 +1,247 @@ +// Copyright 2024 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 = "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb"; +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 until the specified long-running operation 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/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/any.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/any.proto new file mode 100644 index 00000000..eff44e50 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/any.proto @@ -0,0 +1,162 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/anypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// // or ... +// if (any.isSameTypeAs(Foo.getDefaultInstance())) { +// foo = any.unpack(Foo.getDefaultInstance()); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// Example 4: Pack and unpack a message in Go +// +// foo := &pb.Foo{...} +// any, err := anypb.New(foo) +// if err != nil { +// ... +// } +// ... +// foo := &pb.Foo{} +// if err := any.UnmarshalTo(foo); err != nil { +// ... +// } +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/any_test.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/any_test.proto new file mode 100644 index 00000000..db8c97c1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/any_test.proto @@ -0,0 +1,21 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package protobuf_unittest; + +import "google/protobuf/any.proto"; + +option java_outer_classname = "TestAnyProto"; + +message TestAny { + int32 int32_value = 1; + google.protobuf.Any any_value = 2; + repeated google.protobuf.Any repeated_any_value = 3; + string text = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/api.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/api.proto new file mode 100644 index 00000000..42223516 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/api.proto @@ -0,0 +1,207 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/source_context.proto"; +import "google/protobuf/type.proto"; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "ApiProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/apipb"; + +// Api is a light-weight descriptor for an API Interface. +// +// Interfaces are also described as "protocol buffer services" in some contexts, +// such as by the "service" keyword in a .proto file, but they are different +// from API Services, which represent a concrete implementation of an interface +// as opposed to simply a description of methods and bindings. They are also +// sometimes simply referred to as "APIs" in other contexts, such as the name of +// this message itself. See https://cloud.google.com/apis/design/glossary for +// detailed terminology. +message Api { + // The fully qualified name of this interface, including package name + // followed by the interface's simple name. + string name = 1; + + // The methods of this interface, in unspecified order. + repeated Method methods = 2; + + // Any metadata attached to the interface. + repeated Option options = 3; + + // A version string for this interface. If specified, must have the form + // `major-version.minor-version`, as in `1.10`. If the minor version is + // omitted, it defaults to zero. If the entire version field is empty, the + // major version is derived from the package name, as outlined below. If the + // field is not empty, the version in the package name will be verified to be + // consistent with what is provided here. + // + // The versioning schema uses [semantic + // versioning](http://semver.org) where the major version number + // indicates a breaking change and the minor version an additive, + // non-breaking change. Both version numbers are signals to users + // what to expect from different versions, and should be carefully + // chosen based on the product plan. + // + // The major version is also reflected in the package name of the + // interface, which must end in `v`, as in + // `google.feature.v1`. For major versions 0 and 1, the suffix can + // be omitted. Zero major versions must only be used for + // experimental, non-GA interfaces. + // + string version = 4; + + // Source context for the protocol buffer service represented by this + // message. + SourceContext source_context = 5; + + // Included interfaces. See [Mixin][]. + repeated Mixin mixins = 6; + + // The source syntax of the service. + Syntax syntax = 7; +} + +// Method represents a method of an API interface. +message Method { + // The simple name of this method. + string name = 1; + + // A URL of the input message type. + string request_type_url = 2; + + // If true, the request is streamed. + bool request_streaming = 3; + + // The URL of the output message type. + string response_type_url = 4; + + // If true, the response is streamed. + bool response_streaming = 5; + + // Any metadata attached to the method. + repeated Option options = 6; + + // The source syntax of this method. + Syntax syntax = 7; +} + +// Declares an API Interface to be included in this interface. The including +// interface must redeclare all the methods from the included interface, but +// documentation and options are inherited as follows: +// +// - If after comment and whitespace stripping, the documentation +// string of the redeclared method is empty, it will be inherited +// from the original method. +// +// - Each annotation belonging to the service config (http, +// visibility) which is not set in the redeclared method will be +// inherited. +// +// - If an http annotation is inherited, the path pattern will be +// modified as follows. Any version prefix will be replaced by the +// version of the including interface plus the [root][] path if +// specified. +// +// Example of a simple mixin: +// +// package google.acl.v1; +// service AccessControl { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +// } +// } +// +// package google.storage.v2; +// service Storage { +// rpc GetAcl(GetAclRequest) returns (Acl); +// +// // Get a data record. +// rpc GetData(GetDataRequest) returns (Data) { +// option (google.api.http).get = "/v2/{resource=**}"; +// } +// } +// +// Example of a mixin configuration: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// +// The mixin construct implies that all methods in `AccessControl` are +// also declared with same name and request/response types in +// `Storage`. A documentation generator or annotation processor will +// see the effective `Storage.GetAcl` method after inherting +// documentation and annotations as follows: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +// } +// ... +// } +// +// Note how the version in the path pattern changed from `v1` to `v2`. +// +// If the `root` field in the mixin is specified, it should be a +// relative path under which inherited HTTP paths are placed. Example: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// root: acls +// +// This implies the following inherited HTTP annotation: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +// } +// ... +// } +message Mixin { + // The fully qualified name of the interface which is included. + string name = 1; + + // If non-empty specifies a path under which inherited HTTP paths + // are rooted. + string root = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/cpp_features.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/cpp_features.proto new file mode 100644 index 00000000..a0d19299 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/cpp_features.proto @@ -0,0 +1,67 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2023 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +package pb; + +import "google/protobuf/descriptor.proto"; + +extend google.protobuf.FeatureSet { + optional CppFeatures cpp = 1000; +} + +message CppFeatures { + // Whether or not to treat an enum field as closed. This option is only + // applicable to enum fields, and will be removed in the future. It is + // consistent with the legacy behavior of using proto3 enum types for proto2 + // fields. + optional bool legacy_closed_enum = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + edition_deprecated: EDITION_2023, + deprecation_warning: "The legacy closed enum behavior in C++ is " + "deprecated and is scheduled to be removed in " + "edition 2025. See http://protobuf.dev/programming-guides/enum/#cpp for " + "more information", + }, + edition_defaults = { edition: EDITION_LEGACY, value: "true" }, + edition_defaults = { edition: EDITION_PROTO3, value: "false" } + ]; + + enum StringType { + STRING_TYPE_UNKNOWN = 0; + VIEW = 1; + CORD = 2; + STRING = 3; + } + + optional StringType string_type = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "STRING" }, + edition_defaults = { edition: EDITION_2024, value: "VIEW" } + ]; + + optional bool enum_name_uses_string_view = 3 [ + retention = RETENTION_SOURCE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2024, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "false" }, + edition_defaults = { edition: EDITION_2024, value: "true" } + ]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/descriptor.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/descriptor.proto new file mode 100644 index 00000000..dfabac41 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/descriptor.proto @@ -0,0 +1,1296 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + +syntax = "proto2"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// The full set of known editions. +enum Edition { + // A placeholder for an unknown edition value. + EDITION_UNKNOWN = 0; + + // A placeholder edition for specifying default behaviors *before* a feature + // was first introduced. This is effectively an "infinite past". + EDITION_LEGACY = 900; + + // Legacy syntax "editions". These pre-date editions, but behave much like + // distinct editions. These can't be used to specify the edition of proto + // files, but feature definitions must supply proto2/proto3 defaults for + // backwards compatibility. + EDITION_PROTO2 = 998; + EDITION_PROTO3 = 999; + + // Editions that have been released. The specific values are arbitrary and + // should not be depended on, but they will always be time-ordered for easy + // comparison. + EDITION_2023 = 1000; + EDITION_2024 = 1001; + + // Placeholder editions for testing feature resolution. These should not be + // used or relyed on outside of tests. + EDITION_1_TEST_ONLY = 1; + EDITION_2_TEST_ONLY = 2; + EDITION_99997_TEST_ONLY = 99997; + EDITION_99998_TEST_ONLY = 99998; + EDITION_99999_TEST_ONLY = 99999; + + // Placeholder for specifying unbounded edition support. This should only + // ever be used by plugins that can expect to never require any changes to + // support a new edition. + EDITION_MAX = 0x7FFFFFFF; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2", "proto3", and "editions". + // + // If `edition` is present, this value must be "editions". + optional string syntax = 12; + + // The edition of the proto file. + optional Edition edition = 14; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + + optional ExtensionRangeOptions options = 3; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + message Declaration { + // The extension number declared within the extension range. + optional int32 number = 1; + + // The fully-qualified name of the extension field. There must be a leading + // dot in front of the full name. + optional string full_name = 2; + + // The fully-qualified type name of the extension field. Unlike + // Metadata.type, Declaration.type must have a leading dot for messages + // and enums. + optional string type = 3; + + // If true, indicates that the number is reserved in the extension range, + // and any extension field with the number will fail to compile. Set this + // when a declared extension field is deleted. + optional bool reserved = 5; + + // If true, indicates that the extension must be defined as repeated. + // Otherwise the extension must be defined as optional. + optional bool repeated = 6; + + reserved 4; // removed is_repeated + } + + // For external users: DO NOT USE. We are in the process of open sourcing + // extension declaration and executing internal cleanups before it can be + // used externally. + repeated Declaration declaration = 2 [retention = RETENTION_SOURCE]; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The verification state of the extension range. + enum VerificationState { + // All the extensions of the range must be declared. + DECLARATION = 0; + UNVERIFIED = 1; + } + + // The verification state of the range. + // TODO: flip the default to DECLARATION once all empty ranges + // are marked as UNVERIFIED. + optional VerificationState verification = 3 + [default = UNVERIFIED, retention = RETENTION_SOURCE]; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + // Tag-delimited aggregate. + // Group type is deprecated and not supported after google.protobuf. However, Proto3 + // implementations should still be able to parse the group wire format and + // treat group fields as unknown fields. In Editions, the group wire format + // can be enabled via the `message_encoding` feature. + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + } + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REPEATED = 3; + // The required label is only allowed in google.protobuf. In proto3 and Editions + // it's explicitly prohibited. In Editions, the `field_presence` feature + // can be used to get this behavior. + LABEL_REQUIRED = 2; + } + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; + + // If true, this is a proto3 "optional". When a proto3 field is optional, it + // tracks presence regardless of field type. + // + // When proto3_optional is true, this field must belong to a oneof to signal + // to old proto3 clients that presence is tracked for this field. This oneof + // is known as a "synthetic" oneof, and this field must be its sole member + // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs + // exist in the descriptor only, and do not generate any API. Synthetic oneofs + // must be ordered after all "real" oneofs. + // + // For message fields, proto3_optional doesn't create any semantic change, + // since non-repeated message fields always track presence. However it still + // indicates the semantic detail of whether the user wrote "optional" or not. + // This can be useful for round-tripping the .proto file. For consistency we + // give message fields a synthetic oneof also, even though it is not required + // to track presence. This is especially important because the parser can't + // tell if a field is a message or an enum, so it must always create a + // synthetic oneof. + // + // Proto2 optional fields do not set this flag, because they already indicate + // optional with `LABEL_OPTIONAL`. + optional bool proto3_optional = 17; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; + + // Range of reserved numeric values. Reserved values may not be used by + // entries in the same enum. Reserved ranges may not overlap. + // + // Note that this is distinct from DescriptorProto.ReservedRange in that it + // is inclusive such that it can appropriately represent the entire int32 + // domain. + message EnumReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Inclusive. + } + + // Range of reserved numeric values. Reserved numeric values may not be used + // by enum values in the same enum declaration. Reserved ranges may not + // overlap. + repeated EnumReservedRange reserved_range = 4; + + // Reserved enum value names, which may not be reused. A given name may only + // be reserved once. + repeated string reserved_name = 5; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default = false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default = false]; +} + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + // Controls the name of the wrapper Java class generated for the .proto file. + // That class will always contain the .proto file's getDescriptor() method as + // well as any top-level extensions defined in the .proto file. + // If java_multiple_files is disabled, then all the other classes from the + // .proto file will be nested inside the single wrapper outer class. + optional string java_outer_classname = 8; + + // If enabled, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the wrapper class + // named by java_outer_classname. However, the wrapper class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default = false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // A proto2 file can set this to true to opt in to UTF-8 checking for Java, + // which will throw an exception if invalid UTF-8 is parsed from the wire or + // assigned to a string field. + // + // TODO: clarify exactly what kinds of field types this option + // applies to, and update these docs accordingly. + // + // Proto3 files already perform these checks. Setting the option explicitly to + // false has no effect: it cannot be used to opt proto3 files out of UTF-8 + // checks. + optional bool java_string_check_utf8 = 27 [default = false]; + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default = SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + reserved 42; // removed php_generic_services + reserved "php_generic_services"; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default = false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default = true]; + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // By default Swift generators will take the proto package and CamelCase it + // replacing '.' with underscore and use that to prefix the types/symbols + // defined. When this options is provided, they will use this value instead + // to prefix the types/symbols defined. + optional string swift_prefix = 39; + + // Sets the php class prefix which is prepended to all php generated classes + // from this .proto. Default is empty. + optional string php_class_prefix = 40; + + // Use this option to change the namespace of php generated classes. Default + // is empty. When this option is empty, the package name will be used for + // determining the namespace. + optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be + // used for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + + // Any features defined in the specific edition. + optional FeatureSet features = 50; + + // The parser stores options it doesn't recognize here. + // See the documentation for the "Options" section above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. + // See the documentation for the "Options" section above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default = false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default = false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default = false]; + + reserved 4, 5, 6; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementations still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + reserved 8; // javalite_serializable + reserved 9; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // + // This should only be used as a temporary measure against broken builds due + // to the change in behavior for JSON field name conflicts. + // + // TODO This is legacy behavior we plan to remove once downstream + // teams have had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 12; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message FieldOptions { + // NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead. + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is only implemented to support use of + // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of + // type "bytes" in the open source release. + // TODO: make ctype actually deprecated. + optional CType ctype = 1 [/*deprecated = true,*/ default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + // The option [ctype=CORD] may be applied to a non-repeated field of type + // "bytes". It indicates that in C++, the data should be stored in a Cord + // instead of a string. For very large strings, this may reduce memory + // fragmentation. It may also allow better performance when parsing from a + // Cord, or when parsing with aliasing enabled, as the parsed Cord may then + // alias the original buffer. + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. This option is prohibited in + // Editions, but the `repeated_field_encoding` feature can be used to control + // the behavior. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + // is represented as JavaScript string, which avoids loss of precision that + // can happen when a large value is converted to a floating point JavaScript. + // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + // use the JavaScript "number" type. The behavior of the default option + // JS_NORMAL is implementation dependent. + // + // This option is an enum to permit additional types to be added, e.g. + // goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // Note that lazy message fields are still eagerly verified to check + // ill-formed wireformat or missing required fields. Calling IsInitialized() + // on the outer message would fail if the inner message has missing required + // fields. Failed verification would result in parsing failure (except when + // uninitialized messages are acceptable). + optional bool lazy = 5 [default = false]; + + // unverified_lazy does no correctness checks on the byte stream. This should + // only be used where lazy with verification is prohibitive for performance + // reasons. + optional bool unverified_lazy = 15 [default = false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default = false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default = false]; + + // Indicate that the field value should not be printed out when using debug + // formats, e.g. when the field contains sensitive credentials. + optional bool debug_redact = 16 [default = false]; + + // If set to RETENTION_SOURCE, the option will be omitted from the binary. + // Note: as of January 2023, support for this is in progress and does not yet + // have an effect (b/264593489). + enum OptionRetention { + RETENTION_UNKNOWN = 0; + RETENTION_RUNTIME = 1; + RETENTION_SOURCE = 2; + } + + optional OptionRetention retention = 17; + + // This indicates the types of entities that the field may apply to when used + // as an option. If it is unset, then the field may be freely used as an + // option on any kind of entity. Note: as of January 2023, support for this is + // in progress and does not yet have an effect (b/264593489). + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0; + TARGET_TYPE_FILE = 1; + TARGET_TYPE_EXTENSION_RANGE = 2; + TARGET_TYPE_MESSAGE = 3; + TARGET_TYPE_FIELD = 4; + TARGET_TYPE_ONEOF = 5; + TARGET_TYPE_ENUM = 6; + TARGET_TYPE_ENUM_ENTRY = 7; + TARGET_TYPE_SERVICE = 8; + TARGET_TYPE_METHOD = 9; + } + + repeated OptionTargetType targets = 19; + + message EditionDefault { + optional Edition edition = 3; + optional string value = 2; // Textproto value. + } + repeated EditionDefault edition_defaults = 20; + + // Any features defined in the specific edition. + optional FeatureSet features = 21; + + // Information about the support window of a feature. + message FeatureSupport { + // The edition that this feature was first available in. In editions + // earlier than this one, the default assigned to EDITION_LEGACY will be + // used, and proto files will not be able to override it. + optional Edition edition_introduced = 1; + + // The edition this feature becomes deprecated in. Using this after this + // edition may trigger warnings. + optional Edition edition_deprecated = 2; + + // The deprecation warning text if this feature is used after the edition it + // was marked deprecated in. + optional string deprecation_warning = 3; + + // The edition this feature is no longer available in. In editions after + // this one, the last default assigned will be used, and proto files will + // not be able to override it. + optional Edition edition_removed = 4; + } + optional FeatureSupport feature_support = 22; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype + reserved 18; // reserve target, target_obsolete_do_not_use +} + +message OneofOptions { + // Any features defined in the specific edition. + optional FeatureSet features = 1; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default = false]; + + reserved 5; // javanano_as_lite + + // Enable the legacy handling of JSON field name conflicts. This lowercases + // and strips underscored from the fields before comparison in proto3 only. + // The new behavior takes `json_name` into account and applies to proto2 as + // well. + // TODO Remove this legacy behavior once downstream teams have + // had time to migrate. + optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true]; + + // Any features defined in the specific edition. + optional FeatureSet features = 7; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default = false]; + + // Any features defined in the specific edition. + optional FeatureSet features = 2; + + // Indicate that fields annotated with this enum value should not be printed + // out when using debug formats, e.g. when the field contains sensitive + // credentials. + optional bool debug_redact = 3 [default = false]; + + // Information about the support window of a feature value. + optional FieldOptions.FeatureSupport feature_support = 4; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Any features defined in the specific edition. + optional FeatureSet features = 34; + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default = false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default = false]; + + // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + // or neither? HTTP based RPC implementation may choose GET verb for safe + // methods, and PUT verb for idempotent methods instead of the default POST. + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; // implies idempotent + IDEMPOTENT = 2; // idempotent, but may have side effects + } + optional IdempotencyLevel idempotency_level = 34 + [default = IDEMPOTENCY_UNKNOWN]; + + // Any features defined in the specific edition. + optional FeatureSet features = 35; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents + // "foo.(bar.baz).moo". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Features + +// TODO Enums in C++ gencode (and potentially other languages) are +// not well scoped. This means that each of the feature enums below can clash +// with each other. The short names we've chosen maximize call-site +// readability, but leave us very open to this scenario. A future feature will +// be designed and implemented to handle this, hopefully before we ever hit a +// conflict here. +message FeatureSet { + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0; + EXPLICIT = 1; + IMPLICIT = 2; + LEGACY_REQUIRED = 3; + } + optional FieldPresence field_presence = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "EXPLICIT" }, + edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" }, + edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" } + ]; + + enum EnumType { + ENUM_TYPE_UNKNOWN = 0; + OPEN = 1; + CLOSED = 2; + } + optional EnumType enum_type = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "CLOSED" }, + edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" } + ]; + + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0; + PACKED = 1; + EXPANDED = 2; + } + optional RepeatedFieldEncoding repeated_field_encoding = 3 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "EXPANDED" }, + edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" } + ]; + + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0; + VERIFY = 2; + NONE = 3; + reserved 1; + } + optional Utf8Validation utf8_validation = 4 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "NONE" }, + edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" } + ]; + + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0; + LENGTH_PREFIXED = 1; + DELIMITED = 2; + } + optional MessageEncoding message_encoding = 5 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "LENGTH_PREFIXED" } + ]; + + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0; + ALLOW = 1; + LEGACY_BEST_EFFORT = 2; + } + optional JsonFormat json_format = 6 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_FILE, + feature_support = { + edition_introduced: EDITION_2023, + }, + edition_defaults = { edition: EDITION_LEGACY, value: "LEGACY_BEST_EFFORT" }, + edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" } + ]; + + reserved 999; + + extensions 1000 to 9994 [ + declaration = { + number: 1000, + full_name: ".pb.cpp", + type: ".pb.CppFeatures" + }, + declaration = { + number: 1001, + full_name: ".pb.java", + type: ".pb.JavaFeatures" + }, + declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" }, + declaration = { + number: 9990, + full_name: ".pb.proto1", + type: ".pb.Proto1Features" + } + ]; + + extensions 9995 to 9999; // For internal testing + extensions 10000; // for https://github.com/bufbuild/protobuf-es +} + +// A compiled specification for the defaults of a set of features. These +// messages are generated from FeatureSet extensions and can be used to seed +// feature resolution. The resolution with this object becomes a simple search +// for the closest matching edition, followed by proto merges. +message FeatureSetDefaults { + // A map from every known edition with a unique set of defaults to its + // defaults. Not all editions may be contained here. For a given edition, + // the defaults at the closest matching edition ordered at or before it should + // be used. This field must be in strict ascending order by edition. + message FeatureSetEditionDefault { + optional Edition edition = 3; + + // Defaults of features that can be overridden in this edition. + optional FeatureSet overridable_features = 4; + + // Defaults of features that can't be overridden in this edition. + optional FeatureSet fixed_features = 5; + + reserved 1, 2; + reserved "features"; + } + repeated FeatureSetEditionDefault defaults = 1; + + // The minimum supported edition (inclusive) when this was constructed. + // Editions before this will not have defaults. + optional Edition minimum_edition = 4; + + // The maximum known edition (inclusive) when this was constructed. Editions + // after this will not have reliable defaults. + optional Edition maximum_edition = 5; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendant. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition appears. + // For example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed = true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed = true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to moo. + // // + // // Another line attached to moo. + // optional double moo = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to moo or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed = true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified object. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + + // Represents the identified object's effect on the element in the original + // .proto file. + enum Semantic { + // There is no effect or the effect is indescribable. + NONE = 0; + // The element is set or otherwise mutated. + SET = 1; + // An alias to the element is returned. + ALIAS = 2; + } + optional Semantic semantic = 5; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/duration.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/duration.proto new file mode 100644 index 00000000..41f40c22 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/duration.proto @@ -0,0 +1,115 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/durationpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// # Examples +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (duration.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// # JSON Mapping +// +// In JSON format, the Duration type is encoded as a string rather than an +// object, where the string ends in the suffix "s" (indicating seconds) and +// is preceded by the number of seconds, with nanoseconds expressed as +// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +// microsecond should be expressed in JSON format as "3.000001s". +// +message Duration { + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. Note: these bounds are computed from: + // 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/edition_unittest.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/edition_unittest.proto new file mode 100644 index 00000000..81848b87 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/edition_unittest.proto @@ -0,0 +1,1908 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file we will use for unit testing. See comments in +// edition_message_unittest.cc before adding new features. +// +// LINT: ALLOW_GROUPS, LEGACY_NAMES + +edition = "2023"; + +import "google/protobuf/cpp_features.proto"; + +option features.field_presence = EXPLICIT; +option features.enum_type = CLOSED; +option features.(pb.cpp).string_type = VIEW; + +// Some generic_services option(s) added automatically. +// See: http://go/proto2-generic-services-default +option cc_generic_services = true; // auto-added +option java_generic_services = true; // auto-added +option py_generic_services = true; // auto-added +option cc_enable_arenas = true; + +import "google/protobuf/unittest_import.proto"; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In test_util.h we do "using namespace unittest = edition_unittest". +package edition_unittest; + +// Protos optimized for SPEED use a strict superset of the generated code +// of equivalent ones optimized for CODE_SIZE, so we should optimize all our +// tests for speed unless explicitly testing code size optimization. +option optimize_for = SPEED; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + int32 bb = 1; + } + + enum NestedEnum { + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + message OptionalGroup { + int32 a = 17; + } + OptionalGroup optionalgroup = 16 + [features.message_encoding = DELIMITED]; + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + protobuf_unittest_import.ImportMessage optional_import_message = 20; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + protobuf_unittest_import.ImportEnum optional_import_enum = 23; + + string optional_string_piece = 24 [ctype=STRING_PIECE]; + string optional_cord = 25 [ctype=CORD]; + + // Defined in unittest_import_public.proto + protobuf_unittest_import.PublicImportMessage + optional_public_import_message = 26; + + NestedMessage optional_lazy_message = 27 [lazy=true]; + NestedMessage optional_unverified_lazy_message = 28 [unverified_lazy=true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + message RepeatedGroup { + int32 a = 47; + } + repeated RepeatedGroup repeatedgroup = 46 + [features.message_encoding = DELIMITED]; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessage repeated_import_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53; + + repeated string repeated_string_piece = 54 [ctype=STRING_PIECE]; + repeated string repeated_cord = 55 [ctype=CORD]; + + repeated NestedMessage repeated_lazy_message = 57 ; + + // Singular with defaults + int32 default_int32 = 61 [default = 41 ]; + int64 default_int64 = 62 [default = 42 ]; + uint32 default_uint32 = 63 [default = 43 ]; + uint64 default_uint64 = 64 [default = 44 ]; + sint32 default_sint32 = 65 [default = -45 ]; + sint64 default_sint64 = 66 [default = 46 ]; + fixed32 default_fixed32 = 67 [default = 47 ]; + fixed64 default_fixed64 = 68 [default = 48 ]; + sfixed32 default_sfixed32 = 69 [default = 49 ]; + sfixed64 default_sfixed64 = 70 [default = -50 ]; + float default_float = 71 [default = 51.5 ]; + double default_double = 72 [default = 52e3 ]; + bool default_bool = 73 [default = true ]; + string default_string = 74 [default = "hello"]; + bytes default_bytes = 75 [default = "world"]; + + NestedEnum default_nested_enum = 81 [default = BAR ]; + ForeignEnum default_foreign_enum = 82 [default = FOREIGN_BAR]; + protobuf_unittest_import.ImportEnum + default_import_enum = 83 [default = IMPORT_BAR]; + + string default_string_piece = 84 [ctype=STRING_PIECE,default="abc"]; + string default_cord = 85 [ctype=CORD,default="123"]; + + // For oneof test + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + string oneof_cord = 115 [ctype=CORD]; + string oneof_string_piece = 116 [ctype=STRING_PIECE]; + NestedMessage oneof_lazy_nested_message = 117 [lazy=true]; + } +} + +// This proto includes a recursively nested message. +message NestedTestAllTypes { + NestedTestAllTypes child = 1; + TestAllTypes payload = 2; + repeated NestedTestAllTypes repeated_child = 3; + NestedTestAllTypes lazy_child = 4 [lazy=true]; + TestAllTypes eager_child = 5 [lazy=false]; +} + +message TestDeprecatedFields { + int32 deprecated_int32 = 1 [deprecated=true]; + repeated string deprecated_repeated_string = 4 [deprecated=true]; + TestAllTypes.NestedMessage deprecated_message = 3 [deprecated=true]; + oneof oneof_fields { + int32 deprecated_int32_in_oneof = 2 [deprecated=true]; + } + TestDeprecatedFields nested = 5; +} + +message TestDeprecatedMessage { + option deprecated = true; +} + +// Define these after TestAllTypes to make sure the compiler can handle that. +message ForeignMessage { + int32 c = 1; + int32 d = 2; +} + +enum ForeignEnum { + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; + FOREIGN_BAX = 32; // (1 << 32) to generate a 64b bitmask would be incorrect. +} + +message TestReservedFields { + reserved 2, 15, 9 to 11; + reserved bar, baz; +} + +enum TestReservedEnumFields { + UNKNOWN = 0; + reserved 2, 15, 9 to 11; + reserved bar, baz; +} + +message TestAllExtensions { + extensions 1 to max; +} + + message OptionalGroup_extension { + int32 a = 17; + } + + message RepeatedGroup_extension { + int32 a = 47; + } + +extend TestAllExtensions { + // Singular + int32 optional_int32_extension = 1; + int64 optional_int64_extension = 2; + uint32 optional_uint32_extension = 3; + uint64 optional_uint64_extension = 4; + sint32 optional_sint32_extension = 5; + sint64 optional_sint64_extension = 6; + fixed32 optional_fixed32_extension = 7; + fixed64 optional_fixed64_extension = 8; + sfixed32 optional_sfixed32_extension = 9; + sfixed64 optional_sfixed64_extension = 10; + float optional_float_extension = 11; + double optional_double_extension = 12; + bool optional_bool_extension = 13; + string optional_string_extension = 14; + bytes optional_bytes_extension = 15; + + OptionalGroup_extension optionalgroup_extension = 16 + [features.message_encoding = DELIMITED]; + + TestAllTypes.NestedMessage optional_nested_message_extension = 18; + ForeignMessage optional_foreign_message_extension = 19; + protobuf_unittest_import.ImportMessage + optional_import_message_extension = 20; + + TestAllTypes.NestedEnum optional_nested_enum_extension = 21; + ForeignEnum optional_foreign_enum_extension = 22; + protobuf_unittest_import.ImportEnum + optional_import_enum_extension = 23; + + string optional_string_piece_extension = 24 [ctype=STRING_PIECE]; + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + string optional_cord_extension = 25; + + protobuf_unittest_import.PublicImportMessage + optional_public_import_message_extension = 26; + + TestAllTypes.NestedMessage + optional_lazy_message_extension = 27 [lazy=true]; + TestAllTypes.NestedMessage + optional_unverified_lazy_message_extension = 28 [unverified_lazy=true]; + + // Repeated + repeated int32 repeated_int32_extension = 31; + repeated int64 repeated_int64_extension = 32; + repeated uint32 repeated_uint32_extension = 33; + repeated uint64 repeated_uint64_extension = 34; + repeated sint32 repeated_sint32_extension = 35; + repeated sint64 repeated_sint64_extension = 36; + repeated fixed32 repeated_fixed32_extension = 37; + repeated fixed64 repeated_fixed64_extension = 38; + repeated sfixed32 repeated_sfixed32_extension = 39; + repeated sfixed64 repeated_sfixed64_extension = 40; + repeated float repeated_float_extension = 41; + repeated double repeated_double_extension = 42; + repeated bool repeated_bool_extension = 43; + repeated string repeated_string_extension = 44; + repeated bytes repeated_bytes_extension = 45; + + repeated RepeatedGroup_extension repeatedgroup_extension = 46 + [features.message_encoding = DELIMITED]; + + repeated TestAllTypes.NestedMessage repeated_nested_message_extension = 48; + repeated ForeignMessage repeated_foreign_message_extension = 49; + repeated protobuf_unittest_import.ImportMessage + repeated_import_message_extension = 50; + + repeated TestAllTypes.NestedEnum repeated_nested_enum_extension = 51; + repeated ForeignEnum repeated_foreign_enum_extension = 52; + repeated protobuf_unittest_import.ImportEnum + repeated_import_enum_extension = 53; + + repeated string repeated_string_piece_extension = 54 [ctype=STRING_PIECE]; + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + repeated string repeated_cord_extension = 55; + + repeated TestAllTypes.NestedMessage + repeated_lazy_message_extension = 57 [lazy=true]; + + // Singular with defaults + int32 default_int32_extension = 61 [default = 41 ]; + int64 default_int64_extension = 62 [default = 42 ]; + uint32 default_uint32_extension = 63 [default = 43 ]; + uint64 default_uint64_extension = 64 [default = 44 ]; + sint32 default_sint32_extension = 65 [default = -45 ]; + sint64 default_sint64_extension = 66 [default = 46 ]; + fixed32 default_fixed32_extension = 67 [default = 47 ]; + fixed64 default_fixed64_extension = 68 [default = 48 ]; + sfixed32 default_sfixed32_extension = 69 [default = 49 ]; + sfixed64 default_sfixed64_extension = 70 [default = -50 ]; + float default_float_extension = 71 [default = 51.5 ]; + double default_double_extension = 72 [default = 52e3 ]; + bool default_bool_extension = 73 [default = true ]; + string default_string_extension = 74 [default = "hello"]; + bytes default_bytes_extension = 75 [default = "world"]; + + TestAllTypes.NestedEnum + default_nested_enum_extension = 81 [default = BAR]; + ForeignEnum + default_foreign_enum_extension = 82 [default = FOREIGN_BAR]; + protobuf_unittest_import.ImportEnum + default_import_enum_extension = 83 [default = IMPORT_BAR]; + + string default_string_piece_extension = 84 + [ctype=STRING_PIECE, default="abc"]; + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + string default_cord_extension = 85 [default="123"]; + + // For oneof test + uint32 oneof_uint32_extension = 111; + TestAllTypes.NestedMessage oneof_nested_message_extension = 112; + string oneof_string_extension = 113; + bytes oneof_bytes_extension = 114; +} + +message TestMixedFieldsAndExtensions { + int32 a = 1; + repeated fixed32 b = 3; + extensions 2, 4; + extend TestMixedFieldsAndExtensions { + int32 c = 2; + repeated fixed32 d = 4; + } +} + +message TestGroup { + message OptionalGroup { + int32 a = 17; + int32 zz = 89; // fast table size must be at least 16, for this + // field to be parsed by the fast parser, since + // 89 - 17 = 72 is a multiple of 8. + } + OptionalGroup optionalgroup = 16 [features.message_encoding = DELIMITED]; + ForeignEnum optional_foreign_enum = 22; +} + +message TestGroupExtension { + extensions 1 to max; +} + +message TestNestedExtension { + extend TestAllExtensions { + // Check for bug where string extensions declared in tested scope did not + // compile. + string test = 1002 [default="test"]; + // Used to test if generated extension name is correct when there are + // underscores. + string nested_string_extension = 1003; + } + + message OptionalGroup_extension { + int32 a = 17; + } + extend TestGroupExtension { + OptionalGroup_extension optionalgroup_extension = 16 + [features.message_encoding = DELIMITED]; + ForeignEnum optional_foreign_enum_extension = 22; + } +} + +message TestChildExtension { + string a = 1; + string b = 2; + TestAllExtensions optional_extension = 3; +} + +// Emulates wireformat data of TestChildExtension with dynamic extension +// (DynamicExtension). +message TestChildExtensionData { + message NestedTestAllExtensionsData { + message NestedDynamicExtensions { + int32 a = 1; + int32 b = 2; + } + NestedDynamicExtensions dynamic = 409707008; + } + string a = 1; + string b = 2; + NestedTestAllExtensionsData optional_extension = 3; +} + +message TestNestedChildExtension { + int32 a = 1; + TestChildExtension child = 2; +} + +// Emulates wireformat data of TestNestedChildExtension with dynamic extension +// (DynamicExtension). +message TestNestedChildExtensionData { + int32 a = 1; + TestChildExtensionData child = 2; +} + +// Required and closed enum fields are considered unknown fields if the value is +// not valid. We need to make sure it functions as expected. +message TestRequiredEnum { + ForeignEnum required_enum = 1 [features.field_presence = LEGACY_REQUIRED]; + + // A dummy optional field. + int32 a = 2; +} + +// TestRequiredEnum + using enum values that won't fit to 64 bitmask. +message TestRequiredEnumNoMask { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 2; + BAR = 100; + BAZ = -1; // Intentionally negative. + } + + NestedEnum required_enum = 1 [features.field_presence = LEGACY_REQUIRED]; + + // A dummy optional field. + int32 a = 2; +} + +message TestRequiredEnumMulti { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 100; + } + + // Intentionally placed in descending field number to force sorting in closed + // enum verification. + NestedEnum required_enum_4 = 4 [features.field_presence = LEGACY_REQUIRED]; + int32 a_3 = 3; + NestedEnum required_enum_2 = 2 [features.field_presence = LEGACY_REQUIRED]; + ForeignEnum required_enum_1 = 1 [features.field_presence = LEGACY_REQUIRED]; +} + +message TestRequiredNoMaskMulti { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 100; + } + + // Intentionally placed in descending field number to force sorting in closed + // enum verification. Also, using large field numbers to use tag only + // matching for fields. + fixed32 required_fixed32_80 = 80 [features.field_presence = LEGACY_REQUIRED]; + fixed32 required_fixed32_70 = 70 [features.field_presence = LEGACY_REQUIRED]; + + NestedEnum required_enum_64 = 64 [features.field_presence = LEGACY_REQUIRED]; + NestedEnum required_enum_4 = 4 [features.field_presence = LEGACY_REQUIRED]; + int32 a_3 = 3; + NestedEnum required_enum_2 = 2 [features.field_presence = LEGACY_REQUIRED]; + ForeignEnum required_enum_1 = 1 [features.field_presence = LEGACY_REQUIRED]; +} + +// We have separate messages for testing fields because it's +// annoying to have to fill in fields in TestProto in order to +// do anything with it. Note that we don't need to test every type of +// filed because the code output is basically identical to +// optional fields for all types. +message TestRequired { + int32 a = 1 [features.field_presence = LEGACY_REQUIRED]; + int32 dummy2 = 2; + int32 b = 3 [features.field_presence = LEGACY_REQUIRED]; + + extend TestAllExtensions { + TestRequired single = 1000; + repeated TestRequired multi = 1001; + } + + // Pad the field count to 32 so that we can test that IsInitialized() + // properly checks multiple elements of has_bits_. + int32 dummy4 = 4; + int32 dummy5 = 5; + int32 dummy6 = 6; + int32 dummy7 = 7; + int32 dummy8 = 8; + int32 dummy9 = 9; + int32 dummy10 = 10; + int32 dummy11 = 11; + int32 dummy12 = 12; + int32 dummy13 = 13; + int32 dummy14 = 14; + int32 dummy15 = 15; + int32 dummy16 = 16; + int32 dummy17 = 17; + int32 dummy18 = 18; + int32 dummy19 = 19; + int32 dummy20 = 20; + int32 dummy21 = 21; + int32 dummy22 = 22; + int32 dummy23 = 23; + int32 dummy24 = 24; + int32 dummy25 = 25; + int32 dummy26 = 26; + int32 dummy27 = 27; + int32 dummy28 = 28; + int32 dummy29 = 29; + int32 dummy30 = 30; + int32 dummy31 = 31; + int32 dummy32 = 32; + + int32 c = 33 [features.field_presence = LEGACY_REQUIRED]; + + // Add an optional child message to make this non-trivial for go/pdlazy. + ForeignMessage optional_foreign = 34; +} + +message TestRequiredForeign { + TestRequired optional_message = 1; + repeated TestRequired repeated_message = 2; + int32 dummy = 3; + + // Missing fields must not affect verification of child messages. + NestedTestAllTypes optional_lazy_message = 4 [lazy = true]; +} + +message TestRequiredMessage { + TestRequired optional_message = 1; + repeated TestRequired repeated_message = 2; + TestRequired required_message = 3 [features.field_presence = LEGACY_REQUIRED]; +} + +message TestNestedRequiredForeign { + TestNestedRequiredForeign child = 1; + TestRequiredForeign payload = 2; + int32 dummy = 3; + // optional message to test closed enum. + TestRequiredEnum required_enum = 5; + TestRequiredEnumNoMask required_enum_no_mask = 6; + TestRequiredEnumMulti required_enum_multi = 7; + TestRequiredNoMaskMulti required_no_mask = 9; +} + +// Test that we can use NestedMessage from outside TestAllTypes. +message TestForeignNested { + TestAllTypes.NestedMessage foreign_nested = 1; +} + +// TestEmptyMessage is used to test unknown field support. +message TestEmptyMessage { +} + +// Like above, but declare all field numbers as potential extensions. No +// actual extensions should ever be defined for this type. +message TestEmptyMessageWithExtensions { + extensions 1 to max; +} + +// Needed for a Python test. +message TestPickleNestedMessage { + message NestedMessage { + int32 bb = 1; + message NestedNestedMessage { + int32 cc = 1; + } + } +} + +message TestMultipleExtensionRanges { + extensions 42; + extensions 4143 to 4243; + extensions 65536 to max; +} + +// Test that really large tag numbers don't break anything. +message TestReallyLargeTagNumber { + // The largest possible tag number is 2^28 - 1, since the wire format uses + // three bits to communicate wire type. + int32 a = 1; + int32 bb = 268435455; +} + +message TestRecursiveMessage { + TestRecursiveMessage a = 1; + int32 i = 2; +} + +// Test that mutual recursion works. +message TestMutualRecursionA { + message SubMessage { + TestMutualRecursionB b = 1; + } + TestMutualRecursionB bb = 1; + message SubGroup { + SubMessage sub_message = 3; // Needed because of bug in javatest + TestAllTypes not_in_this_scc = 4; + } + SubGroup subgroup = 2 [features.message_encoding = DELIMITED]; + message SubGroupR { + TestAllTypes payload = 6; + } + repeated SubGroupR subgroupr = 5 [features.message_encoding = DELIMITED]; +} + +message TestMutualRecursionB { + TestMutualRecursionA a = 1; + int32 optional_int32 = 2; +} + +message TestIsInitialized { + message SubMessage { + message SubGroup { + int32 i = 2 [features.field_presence = LEGACY_REQUIRED]; + } + SubGroup subgroup = 1 [features.message_encoding = DELIMITED]; + } + SubMessage sub_message = 1; +} + +// Test that groups have disjoint field numbers from their siblings and +// parents. This is NOT possible in proto1; only google.protobuf. When attempting +// to compile with proto1, this will emit an error; so we only include it +// in protobuf_unittest_proto. +message TestDupFieldNumber { // NO_PROTO1 + int32 a = 1; // NO_PROTO1 + message Foo { int32 a = 1; } // NO_PROTO1 + message Bar { int32 a = 1; } // NO_PROTO1 + Foo foo = 2 [features.message_encoding = DELIMITED]; + Bar bar = 3 [features.message_encoding = DELIMITED]; +} // NO_PROTO1 + +// Additional messages for testing lazy fields. +message TestEagerMessage { + TestAllTypes sub_message = 1 [lazy=false]; +} +message TestLazyMessage { + TestAllTypes sub_message = 1 [lazy=true]; +} +message TestLazyMessageRepeated { + repeated TestLazyMessage repeated_message = 1; +} +message TestEagerMaybeLazy { + message NestedMessage { + TestPackedTypes packed = 1; + } + TestAllTypes message_foo = 1; + TestAllTypes message_bar = 2; + NestedMessage message_baz = 3; +} +// Needed for a Python test. +message TestNestedMessageHasBits { + message NestedMessage { + repeated int32 nestedmessage_repeated_int32 = 1; + repeated ForeignMessage nestedmessage_repeated_foreignmessage = 2; + } + NestedMessage optional_nested_message = 1; +} + + +// Test an enum that has multiple values with the same number. +enum TestEnumWithDupValue { + option allow_alias = true; + + DUP_UNKNOWN1 = 0; + DUP_FOO1 = 1; + DUP_BAR1 = 2; + DUP_BAZ = 3; + DUP_UNKNOWN2 = 0; + DUP_FOO2 = 1; + DUP_BAR2 = 2; +} + +// Test an enum with large, unordered values. +enum TestSparseEnum { + SPARSE_A = 123; + SPARSE_B = 62374; + SPARSE_C = 12589234; + SPARSE_D = -15; + SPARSE_E = -53452; + SPARSE_F = 0; + SPARSE_G = 2; +} + +// Test message with CamelCase field names. This violates Protocol Buffer +// standard style. +message TestCamelCaseFieldNames { + int32 PrimitiveField = 1; + string StringField = 2; + ForeignEnum EnumField = 3; + ForeignMessage MessageField = 4; + string StringPieceField = 5 [ctype=STRING_PIECE]; + string CordField = 6 [ctype=CORD]; + + repeated int32 RepeatedPrimitiveField = 7; + repeated string RepeatedStringField = 8; + repeated ForeignEnum RepeatedEnumField = 9; + repeated ForeignMessage RepeatedMessageField = 10; + repeated string RepeatedStringPieceField = 11 [ctype=STRING_PIECE]; + repeated string RepeatedCordField = 12 [ctype=CORD]; +} + + +// We list fields out of order, to ensure that we're using field number and not +// field index to determine serialization order. +message TestFieldOrderings { + string my_string = 11; + extensions 2 to 10; + int64 my_int = 1; + extensions 12 to 100; + float my_float = 101; + message NestedMessage { + int64 oo = 2; + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + int32 bb = 1; + } + + NestedMessage optional_nested_message = 200; +} + +extend TestFieldOrderings { + string my_extension_string = 50; + int32 my_extension_int = 5; +} + +message TestExtensionOrderings1 { + extend TestFieldOrderings { + TestExtensionOrderings1 test_ext_orderings1 = 13; + } + string my_string = 1; +} + +message TestExtensionOrderings2 { + extend TestFieldOrderings { + TestExtensionOrderings2 test_ext_orderings2 = 12; + } + message TestExtensionOrderings3 { + extend TestFieldOrderings { + TestExtensionOrderings3 test_ext_orderings3 = 14; + } + string my_string = 1; + } + string my_string = 1; +} + +message TestExtremeDefaultValues { + bytes escaped_bytes = 1 [default = "\0\001\a\b\f\n\r\t\v\\\'\"\xfe"]; + uint32 large_uint32 = 2 [default = 0xFFFFFFFF]; + uint64 large_uint64 = 3 [default = 0xFFFFFFFFFFFFFFFF]; + int32 small_int32 = 4 [default = -0x7FFFFFFF]; + int64 small_int64 = 5 [default = -0x7FFFFFFFFFFFFFFF]; + int32 really_small_int32 = 21 [default = -0x80000000]; + int64 really_small_int64 = 22 [default = -0x8000000000000000]; + + // The default value here is UTF-8 for "\u1234". (We could also just type + // the UTF-8 text directly into this text file rather than escape it, but + // lots of people use editors that would be confused by this.) + string utf8_string = 6 [default = "\341\210\264"]; + + // Tests for single-precision floating-point values. + float zero_float = 7 [default = 0]; + float one_float = 8 [default = 1]; + float small_float = 9 [default = 1.5]; + float negative_one_float = 10 [default = -1]; + float negative_float = 11 [default = -1.5]; + // Using exponents + float large_float = 12 [default = 2E8]; + float small_negative_float = 13 [default = -8e-28]; + + // Text for nonfinite floating-point values. + double inf_double = 14 [default = inf]; + double neg_inf_double = 15 [default = -inf]; + double nan_double = 16 [default = nan]; + float inf_float = 17 [default = inf]; + float neg_inf_float = 18 [default = -inf]; + float nan_float = 19 [default = nan]; + + // Tests for C++ trigraphs. + // Trigraphs should be escaped in C++ generated files, but they should not be + // escaped for other languages. + // Note that in .proto file, "\?" is a valid way to escape ? in string + // literals. + string cpp_trigraph = 20 [default = "? \? ?? \?? \??? ??/ ?\?-"]; + + // String defaults containing the character '\000' + string string_with_zero = 23 [default = "hel\000lo"]; + bytes bytes_with_zero = 24 [default = "wor\000ld"]; + string string_piece_with_zero = 25 [ctype=STRING_PIECE, + default="ab\000c"]; + string cord_with_zero = 26 [ctype=CORD, + default="12\0003"]; + string replacement_string = 27 [default="${unknown}"]; +} + +message SparseEnumMessage { + TestSparseEnum sparse_enum = 1; +} + +// Test String and Bytes: string is for valid UTF-8 strings +message OneString { + string data = 1; +} + +message MoreString { + repeated string data = 1; +} + +message OneBytes { + bytes data = 1; +} + +message MoreBytes { + repeated bytes data = 1; +} + +message ManyOptionalString { + string str1 = 1; + string str2 = 2; + string str3 = 3; + string str4 = 4; + string str5 = 5; + string str6 = 6; + string str7 = 7; + string str8 = 8; + string str9 = 9; + string str10 = 10; + string str11 = 11; + string str12 = 12; + string str13 = 13; + string str14 = 14; + string str15 = 15; + string str16 = 16; + string str17 = 17; + string str18 = 18; + string str19 = 19; + string str20 = 20; + string str21 = 21; + string str22 = 22; + string str23 = 23; + string str24 = 24; + string str25 = 25; + string str26 = 26; + string str27 = 27; + string str28 = 28; + string str29 = 29; + string str30 = 30; + string str31 = 31; + string str32 = 32; +} + +// Test int32, uint32, int64, uint64, and bool are all compatible +message Int32Message { + int32 data = 1; +} + +message Uint32Message { + uint32 data = 1; +} + +message Int64Message { + int64 data = 1; +} + +message Uint64Message { + uint64 data = 1; +} + +message BoolMessage { + bool data = 1; +} + +// Test oneofs. +message TestOneof { + message FooGroup { + int32 a = 5; + string b = 6; + } + oneof foo { + int32 foo_int = 1; + string foo_string = 2; + TestAllTypes foo_message = 3; + FooGroup foogroup= 4 [features.message_encoding = DELIMITED]; + } +} + +message TestOneofBackwardsCompatible { + int32 foo_int = 1; + string foo_string = 2; + TestAllTypes foo_message = 3; + message FooGroup { + int32 a = 5; + string b = 6; + } + FooGroup foogroup= 4 [features.message_encoding = DELIMITED]; +} + +message TestOneof2 { + message FooGroup { + int32 a = 9; + string b = 10; + } + oneof foo { + int32 foo_int = 1; + string foo_string = 2; + string foo_cord = 3 [ctype=CORD]; + string foo_string_piece = 4 [ctype=STRING_PIECE]; + bytes foo_bytes = 5; + NestedEnum foo_enum = 6; + NestedMessage foo_message = 7; + FooGroup foogroup = 8 [features.message_encoding = DELIMITED]; + NestedMessage foo_lazy_message = 11 [lazy=true]; + bytes foo_bytes_cord = 30 [ctype=CORD]; + } + + oneof bar { + int32 bar_int = 12 [default = 5]; + string bar_string = 13 [default = "STRING"]; + string bar_cord = 14 [ctype=CORD, default = "CORD"]; + string bar_string_piece = 15 [ctype=STRING_PIECE, default = "SPIECE"]; + bytes bar_bytes = 16 [default = "BYTES"]; + NestedEnum bar_enum = 17 [default = BAR]; + string bar_string_with_empty_default = 20 [default = ""]; + string bar_cord_with_empty_default = 21 [ctype=CORD, default = ""]; + string bar_string_piece_with_empty_default = 22 + [ctype=STRING_PIECE, default = ""]; + bytes bar_bytes_with_empty_default = 23 [default = ""]; + } + + int32 baz_int = 18; + string baz_string = 19 [default = "BAZ"]; + + message NestedMessage { + int64 moo_int = 1; + repeated int32 corge_int = 2; + } + + enum NestedEnum { + UNKNOWN = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + } +} + +message TestRequiredOneof { + oneof foo { + int32 foo_int = 1; + string foo_string = 2; + NestedMessage foo_message = 3; + NestedMessage foo_lazy_message = 4 [lazy = true]; + } + message NestedMessage { + double required_double = 1 [features.field_presence = LEGACY_REQUIRED]; + } +} + +// Test messages for packed fields + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [features.repeated_field_encoding = PACKED]; + repeated int64 packed_int64 = 91 [features.repeated_field_encoding = PACKED]; + repeated uint32 packed_uint32 = 92 [features.repeated_field_encoding = PACKED]; + repeated uint64 packed_uint64 = 93 [features.repeated_field_encoding = PACKED]; + repeated sint32 packed_sint32 = 94 [features.repeated_field_encoding = PACKED]; + repeated sint64 packed_sint64 = 95 [features.repeated_field_encoding = PACKED]; + repeated fixed32 packed_fixed32 = 96 [features.repeated_field_encoding = PACKED]; + repeated fixed64 packed_fixed64 = 97 [features.repeated_field_encoding = PACKED]; + repeated sfixed32 packed_sfixed32 = 98 [features.repeated_field_encoding = PACKED]; + repeated sfixed64 packed_sfixed64 = 99 [features.repeated_field_encoding = PACKED]; + repeated float packed_float = 100 [features.repeated_field_encoding = PACKED]; + repeated double packed_double = 101 [features.repeated_field_encoding = PACKED]; + repeated bool packed_bool = 102 [features.repeated_field_encoding = PACKED]; + repeated ForeignEnum packed_enum = 103 [features.repeated_field_encoding = PACKED]; +} + +// A message with the same fields as TestPackedTypes, but without packing. Used +// to test packed <-> unpacked wire compatibility. +message TestUnpackedTypes { + repeated int32 unpacked_int32 = 90 [features.repeated_field_encoding = EXPANDED]; + repeated int64 unpacked_int64 = 91 [features.repeated_field_encoding = EXPANDED]; + repeated uint32 unpacked_uint32 = 92 [features.repeated_field_encoding = EXPANDED]; + repeated uint64 unpacked_uint64 = 93 [features.repeated_field_encoding = EXPANDED]; + repeated sint32 unpacked_sint32 = 94 [features.repeated_field_encoding = EXPANDED]; + repeated sint64 unpacked_sint64 = 95 [features.repeated_field_encoding = EXPANDED]; + repeated fixed32 unpacked_fixed32 = 96 [features.repeated_field_encoding = EXPANDED]; + repeated fixed64 unpacked_fixed64 = 97 [features.repeated_field_encoding = EXPANDED]; + repeated sfixed32 unpacked_sfixed32 = 98 [features.repeated_field_encoding = EXPANDED]; + repeated sfixed64 unpacked_sfixed64 = 99 [features.repeated_field_encoding = EXPANDED]; + repeated float unpacked_float = 100 [features.repeated_field_encoding = EXPANDED]; + repeated double unpacked_double = 101 [features.repeated_field_encoding = EXPANDED]; + repeated bool unpacked_bool = 102 [features.repeated_field_encoding = EXPANDED]; + repeated ForeignEnum unpacked_enum = 103 [features.repeated_field_encoding = EXPANDED]; +} + +message TestPackedExtensions { + extensions 1 to max; +} + +extend TestPackedExtensions { + repeated int32 packed_int32_extension = 90 [features.repeated_field_encoding = PACKED]; + repeated int64 packed_int64_extension = 91 [features.repeated_field_encoding = PACKED]; + repeated uint32 packed_uint32_extension = 92 [features.repeated_field_encoding = PACKED]; + repeated uint64 packed_uint64_extension = 93 [features.repeated_field_encoding = PACKED]; + repeated sint32 packed_sint32_extension = 94 [features.repeated_field_encoding = PACKED]; + repeated sint64 packed_sint64_extension = 95 [features.repeated_field_encoding = PACKED]; + repeated fixed32 packed_fixed32_extension = 96 [features.repeated_field_encoding = PACKED]; + repeated fixed64 packed_fixed64_extension = 97 [features.repeated_field_encoding = PACKED]; + repeated sfixed32 packed_sfixed32_extension = 98 [features.repeated_field_encoding = PACKED]; + repeated sfixed64 packed_sfixed64_extension = 99 [features.repeated_field_encoding = PACKED]; + repeated float packed_float_extension = 100 [features.repeated_field_encoding = PACKED]; + repeated double packed_double_extension = 101 [features.repeated_field_encoding = PACKED]; + repeated bool packed_bool_extension = 102 [features.repeated_field_encoding = PACKED]; + repeated ForeignEnum packed_enum_extension = 103 [features.repeated_field_encoding = PACKED]; +} + +message TestUnpackedExtensions { + extensions 1 to max; +} + +extend TestUnpackedExtensions { + repeated int32 unpacked_int32_extension = 90 [features.repeated_field_encoding = EXPANDED]; + repeated int64 unpacked_int64_extension = 91 [features.repeated_field_encoding = EXPANDED]; + repeated uint32 unpacked_uint32_extension = 92 [features.repeated_field_encoding = EXPANDED]; + repeated uint64 unpacked_uint64_extension = 93 [features.repeated_field_encoding = EXPANDED]; + repeated sint32 unpacked_sint32_extension = 94 [features.repeated_field_encoding = EXPANDED]; + repeated sint64 unpacked_sint64_extension = 95 [features.repeated_field_encoding = EXPANDED]; + repeated fixed32 unpacked_fixed32_extension = 96 [features.repeated_field_encoding = EXPANDED]; + repeated fixed64 unpacked_fixed64_extension = 97 [features.repeated_field_encoding = EXPANDED]; + repeated sfixed32 unpacked_sfixed32_extension = 98 [features.repeated_field_encoding = EXPANDED]; + repeated sfixed64 unpacked_sfixed64_extension = 99 [features.repeated_field_encoding = EXPANDED]; + repeated float unpacked_float_extension = 100 [features.repeated_field_encoding = EXPANDED]; + repeated double unpacked_double_extension = 101 [features.repeated_field_encoding = EXPANDED]; + repeated bool unpacked_bool_extension = 102 [features.repeated_field_encoding = EXPANDED]; + repeated ForeignEnum unpacked_enum_extension = 103 [features.repeated_field_encoding = EXPANDED]; +} + +// Used by ExtensionSetTest/DynamicExtensions. The test actually builds +// a set of extensions to TestAllExtensions dynamically, based on the fields +// of this message type. +message TestDynamicExtensions { + enum DynamicEnumType { + DYNAMIC_UNKNOWN = 0; + DYNAMIC_FOO = 2200; + DYNAMIC_BAR = 2201; + DYNAMIC_BAZ = 2202; + } + message DynamicMessageType { + int32 dynamic_field = 2100; + } + + fixed32 scalar_extension = 2000; + ForeignEnum enum_extension = 2001; + DynamicEnumType dynamic_enum_extension = 2002; + + ForeignMessage message_extension = 2003; + DynamicMessageType dynamic_message_extension = 2004; + + repeated string repeated_extension = 2005; + repeated sint32 packed_extension = 2006 [features.repeated_field_encoding = PACKED]; +} + +message TestRepeatedString { + repeated string repeated_string1 = 1; + repeated string repeated_string2 = 2; + + repeated bytes repeated_bytes11 = 11; + repeated bytes repeated_bytes12 = 12; +} + +message TestRepeatedScalarDifferentTagSizes { + // Parsing repeated fixed size values used to fail. This message needs to be + // used in order to get a tag of the right size; all of the repeated fields + // in TestAllTypes didn't trigger the check. + repeated fixed32 repeated_fixed32 = 12; + // Check for a varint type, just for good measure. + repeated int32 repeated_int32 = 13; + + // These have two-byte tags. + repeated fixed64 repeated_fixed64 = 2046; + repeated int64 repeated_int64 = 2047; + + // Three byte tags. + repeated float repeated_float = 262142; + repeated uint64 repeated_uint64 = 262143; +} + +// Test that if an optional or message/group field appears multiple +// times in the input, they need to be merged. +message TestParsingMerge { + // RepeatedFieldsGenerator defines matching field types as TestParsingMerge, + // except that all fields are repeated. In the tests, we will serialize the + // RepeatedFieldsGenerator to bytes, and parse the bytes to TestParsingMerge. + // Repeated fields in RepeatedFieldsGenerator are expected to be merged into + // the corresponding required/optional fields in TestParsingMerge. + message RepeatedFieldsGenerator { + repeated TestAllTypes field1 = 1; + repeated TestAllTypes field2 = 2; + repeated TestAllTypes field3 = 3; + message Group1 { + TestAllTypes field1 = 11; + } + repeated Group1 group1= 10 [features.message_encoding = DELIMITED]; + message Group2 { + TestAllTypes field1 = 21; + } + repeated Group2 group2= 20 [features.message_encoding = DELIMITED]; + repeated TestAllTypes ext1 = 1000; + repeated TestAllTypes ext2 = 1001; + } + TestAllTypes required_all_types = 1 [features.field_presence = LEGACY_REQUIRED]; + TestAllTypes optional_all_types = 2; + repeated TestAllTypes repeated_all_types = 3; + message OptionalGroup { + TestAllTypes optional_group_all_types = 11; + } + OptionalGroup optionalgroup= 10 [features.message_encoding = DELIMITED]; + message RepeatedGroup { + TestAllTypes repeated_group_all_types = 21; + } + repeated RepeatedGroup repeatedgroup= 20 [features.message_encoding = DELIMITED]; + extensions 1000 to max; + extend TestParsingMerge { + TestAllTypes optional_ext = 1000; + repeated TestAllTypes repeated_ext = 1001; + } +} + +// Test that the correct exception is thrown by parseFrom in a corner case +// involving merging, extensions, and fields. +message TestMergeException { + TestAllExtensions all_extensions = 1; +} + +message TestCommentInjectionMessage { + // */ <- This should not close the generated doc comment + string a = 1 [default="*/ <- Neither should this."]; +} + +// Used to check that the c++ code generator re-orders messages to reduce +// padding. +message TestMessageSize { + bool m1 = 1; + int64 m2 = 2; + bool m3 = 3; + string m4 = 4; + int32 m5 = 5; + int64 m6 = 6; +} + +// Test that RPC services work. +message FooRequest {} +message FooResponse {} + +message FooClientMessage {} +message FooServerMessage{} + +message BarRequest {} +message BarResponse {} + +message TestJsonName { + int32 field_name1 = 1; + int32 fieldName2 = 2; + int32 FieldName3 = 3; + int32 _field_name4 = 4; + int32 FIELD_NAME5 = 5; + int32 field_name6 = 6 [json_name = "@type"]; + int32 fieldname7 = 7; +} + +message TestHugeFieldNumbers { + int32 optional_int32 = 536870000; + int32 fixed_32 = 536870001; + repeated int32 repeated_int32 = 536870002 [features.repeated_field_encoding = EXPANDED]; + repeated int32 packed_int32 = 536870003 [features.repeated_field_encoding = PACKED]; + + ForeignEnum optional_enum = 536870004; + string optional_string = 536870005; + bytes optional_bytes = 536870006; + ForeignMessage optional_message = 536870007; + + message OptionalGroup { + int32 group_a = 536870009; + } + OptionalGroup optionalgroup = 536870008 [features.message_encoding = DELIMITED]; + + map string_string_map = 536870010; + + oneof oneof_field { + uint32 oneof_uint32 = 536870011; + TestAllTypes oneof_test_all_types = 536870012; + string oneof_string = 536870013; + bytes oneof_bytes = 536870014; + } + + extensions 536860000 to 536869999 [declaration = { + number: 536860000 + full_name: ".edition_unittest.test_all_types" + type: ".edition_unittest.TestAllTypes" + }]; +} + +extend TestHugeFieldNumbers { + TestAllTypes test_all_types = 536860000; +} + +message TestExtensionInsideTable { + int32 field1 = 1; + int32 field2 = 2; + int32 field3 = 3; + int32 field4 = 4; + extensions 5 to 5; + int32 field6 = 6; + int32 field7 = 7; + int32 field8 = 8; + int32 field9 = 9; + int32 field10 = 10; +} + +extend TestExtensionInsideTable { + int32 test_extension_inside_table_extension = 5; +} + +// NOTE: Intentionally nested to mirror go/glep. +message TestNestedGroupExtensionOuter { + message Layer1OptionalGroup { + message Layer2RepeatedGroup { + extensions 3 + // NOTE: extension metadata is not supported due to targets such as + // `//google/protobuf_legacy_opensource/src:shell_scripts_test`, + // eee https://screenshot.googleplex.com/Axz2QD8nxjdpyFF + //[metadata = { + // NOTE: can't write type there due to some clever build gen code at + // http://google3/google/protobuf/BUILD;l=1247;rcl=411090862 + // type: "edition_unittest.TestNestedGroupExtensionInnerExtension", + // name: "inner", + // }] + ; + string another_field = 6; + } + message Layer2AnotherOptionalRepeatedGroup { + string but_why_tho = 5; + } + repeated Layer2RepeatedGroup layer2repeatedgroup = 2 [features.message_encoding = DELIMITED]; + repeated Layer2AnotherOptionalRepeatedGroup layer2anotheroptionalrepeatedgroup = 4 [features.message_encoding = DELIMITED]; + } + Layer1OptionalGroup lay1optionalgroup = 1 [features.message_encoding = DELIMITED]; +} + +message TestNestedGroupExtensionInnerExtension { + string inner_name= 1; +} + +extend TestNestedGroupExtensionOuter.Layer1OptionalGroup.Layer2RepeatedGroup { + TestNestedGroupExtensionInnerExtension inner = 3; +} + +enum VeryLargeEnum { + ENUM_LABEL_DEFAULT = 0; + ENUM_LABEL_1 = 1; + ENUM_LABEL_2 = 2; + ENUM_LABEL_3 = 3; + ENUM_LABEL_4 = 4; + ENUM_LABEL_5 = 5; + ENUM_LABEL_6 = 6; + ENUM_LABEL_7 = 7; + ENUM_LABEL_8 = 8; + ENUM_LABEL_9 = 9; + ENUM_LABEL_10 = 10; + ENUM_LABEL_11 = 11; + ENUM_LABEL_12 = 12; + ENUM_LABEL_13 = 13; + ENUM_LABEL_14 = 14; + ENUM_LABEL_15 = 15; + ENUM_LABEL_16 = 16; + ENUM_LABEL_17 = 17; + ENUM_LABEL_18 = 18; + ENUM_LABEL_19 = 19; + ENUM_LABEL_20 = 20; + ENUM_LABEL_21 = 21; + ENUM_LABEL_22 = 22; + ENUM_LABEL_23 = 23; + ENUM_LABEL_24 = 24; + ENUM_LABEL_25 = 25; + ENUM_LABEL_26 = 26; + ENUM_LABEL_27 = 27; + ENUM_LABEL_28 = 28; + ENUM_LABEL_29 = 29; + ENUM_LABEL_30 = 30; + ENUM_LABEL_31 = 31; + ENUM_LABEL_32 = 32; + ENUM_LABEL_33 = 33; + ENUM_LABEL_34 = 34; + ENUM_LABEL_35 = 35; + ENUM_LABEL_36 = 36; + ENUM_LABEL_37 = 37; + ENUM_LABEL_38 = 38; + ENUM_LABEL_39 = 39; + ENUM_LABEL_40 = 40; + ENUM_LABEL_41 = 41; + ENUM_LABEL_42 = 42; + ENUM_LABEL_43 = 43; + ENUM_LABEL_44 = 44; + ENUM_LABEL_45 = 45; + ENUM_LABEL_46 = 46; + ENUM_LABEL_47 = 47; + ENUM_LABEL_48 = 48; + ENUM_LABEL_49 = 49; + ENUM_LABEL_50 = 50; + ENUM_LABEL_51 = 51; + ENUM_LABEL_52 = 52; + ENUM_LABEL_53 = 53; + ENUM_LABEL_54 = 54; + ENUM_LABEL_55 = 55; + ENUM_LABEL_56 = 56; + ENUM_LABEL_57 = 57; + ENUM_LABEL_58 = 58; + ENUM_LABEL_59 = 59; + ENUM_LABEL_60 = 60; + ENUM_LABEL_61 = 61; + ENUM_LABEL_62 = 62; + ENUM_LABEL_63 = 63; + ENUM_LABEL_64 = 64; + ENUM_LABEL_65 = 65; + ENUM_LABEL_66 = 66; + ENUM_LABEL_67 = 67; + ENUM_LABEL_68 = 68; + ENUM_LABEL_69 = 69; + ENUM_LABEL_70 = 70; + ENUM_LABEL_71 = 71; + ENUM_LABEL_72 = 72; + ENUM_LABEL_73 = 73; + ENUM_LABEL_74 = 74; + ENUM_LABEL_75 = 75; + ENUM_LABEL_76 = 76; + ENUM_LABEL_77 = 77; + ENUM_LABEL_78 = 78; + ENUM_LABEL_79 = 79; + ENUM_LABEL_80 = 80; + ENUM_LABEL_81 = 81; + ENUM_LABEL_82 = 82; + ENUM_LABEL_83 = 83; + ENUM_LABEL_84 = 84; + ENUM_LABEL_85 = 85; + ENUM_LABEL_86 = 86; + ENUM_LABEL_87 = 87; + ENUM_LABEL_88 = 88; + ENUM_LABEL_89 = 89; + ENUM_LABEL_90 = 90; + ENUM_LABEL_91 = 91; + ENUM_LABEL_92 = 92; + ENUM_LABEL_93 = 93; + ENUM_LABEL_94 = 94; + ENUM_LABEL_95 = 95; + ENUM_LABEL_96 = 96; + ENUM_LABEL_97 = 97; + ENUM_LABEL_98 = 98; + ENUM_LABEL_99 = 99; + ENUM_LABEL_100 = 100; +}; + +message TestExtensionRangeSerialize { + int32 foo_one = 1; + + extensions 2 to 2; + extensions 3 to 4; + + int32 foo_two = 6; + int32 foo_three = 7; + + extensions 9 to 10; + + int32 foo_four = 13; + + extensions 15 to 15; + extensions 17 to 17; + extensions 19 to 19; + + extend TestExtensionRangeSerialize { + int32 bar_one = 2; + int32 bar_two = 4; + + int32 bar_three = 10; + + int32 bar_four = 15; + int32 bar_five = 19; + } +} + +message TestVerifyInt32Simple { + int32 optional_int32_1 = 1; + int32 optional_int32_2 = 2; + int32 optional_int32_63 = 63; + int32 optional_int32_64 = 64; +} + +message TestVerifyInt32 { + int32 optional_int32_1 = 1; + int32 optional_int32_2 = 2; + int32 optional_int32_63 = 63; + int32 optional_int32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyMostlyInt32 { + int64 optional_int64_30 = 30; + + int32 optional_int32_1 = 1; + int32 optional_int32_2 = 2; + int32 optional_int32_3 = 3; + int32 optional_int32_4 = 4; + int32 optional_int32_63 = 63; + int32 optional_int32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyMostlyInt32BigFieldNumber { + int64 optional_int64_30 = 30; + int32 optional_int32_300 = 300; + + int32 optional_int32_1 = 1; + int32 optional_int32_2 = 2; + int32 optional_int32_3 = 3; + int32 optional_int32_4 = 4; + int32 optional_int32_63 = 63; + int32 optional_int32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyUint32Simple { + uint32 optional_uint32_1 = 1; + uint32 optional_uint32_2 = 2; + uint32 optional_uint32_63 = 63; + uint32 optional_uint32_64 = 64; +} + +message TestVerifyUint32 { + uint32 optional_uint32_1 = 1; + uint32 optional_uint32_2 = 2; + uint32 optional_uint32_63 = 63; + uint32 optional_uint32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyOneUint32 { + uint32 optional_uint32_1 = 1; + int32 optional_int32_2 = 2; + int32 optional_int32_63 = 63; + int32 optional_int32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyOneInt32BigFieldNumber { + int32 optional_int32_65 = 65; + + int64 optional_int64_1 = 1; + int64 optional_int64_2 = 2; + int64 optional_int64_63 = 63; + int64 optional_int64_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyInt32BigFieldNumber { + int32 optional_int32_1000 = 1000; + int32 optional_int32_65 = 65; + + int32 optional_int32_1 = 1; + int32 optional_int32_2 = 2; + int32 optional_int32_63 = 63; + int32 optional_int32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyUint32BigFieldNumber { + uint32 optional_uint32_1000 = 1000; + uint32 optional_uint32_65 = 65; + + uint32 optional_uint32_1 = 1; + uint32 optional_uint32_2 = 2; + uint32 optional_uint32_63 = 63; + uint32 optional_uint32_64 = 64; + + TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyBigFieldNumberUint32 { + message Nested { + uint32 optional_uint32_5000 = 5000; + uint32 optional_uint32_1000 = 1000; + uint32 optional_uint32_66 = 66; + uint32 optional_uint32_65 = 65; + + uint32 optional_uint32_1 = 1; + uint32 optional_uint32_2 = 2; + uint32 optional_uint32_63 = 63; + uint32 optional_uint32_64 = 64; + + Nested optional_nested = 9; + repeated Nested repeated_nested = 10; + } + Nested optional_nested = 1; +} + +// This message contains different kind of enums to exercise the different +// parsers in table-driven. +message EnumParseTester { + enum SeqSmall0 { + SEQ_SMALL_0_DEFAULT = 0; + SEQ_SMALL_0_1 = 1; + SEQ_SMALL_0_2 = 2; + }; + SeqSmall0 optional_seq_small_0_lowfield = 1; + SeqSmall0 optional_seq_small_0_midfield = 1001; + SeqSmall0 optional_seq_small_0_hifield = 1000001; + repeated SeqSmall0 repeated_seq_small_0_lowfield = 2; + repeated SeqSmall0 repeated_seq_small_0_midfield = 1002; + repeated SeqSmall0 repeated_seq_small_0_hifield = 1000002; + repeated SeqSmall0 packed_seq_small_0_lowfield = 3 + [features.repeated_field_encoding = PACKED]; + repeated SeqSmall0 packed_seq_small_0_midfield = 1003 + [features.repeated_field_encoding = PACKED]; + repeated SeqSmall0 packed_seq_small_0_hifield = 1000003 + [features.repeated_field_encoding = PACKED]; + + enum SeqSmall1 { + UNKNOWN = 0; + SEQ_SMALL_1_DEFAULT = 1; + SEQ_SMALL_1_2 = 2; + SEQ_SMALL_1_3 = 3; + }; + SeqSmall1 optional_seq_small_1_lowfield = 4; + SeqSmall1 optional_seq_small_1_midfield = 1004; + SeqSmall1 optional_seq_small_1_hifield = 1000004; + repeated SeqSmall1 repeated_seq_small_1_lowfield = 5; + repeated SeqSmall1 repeated_seq_small_1_midfield = 1005; + repeated SeqSmall1 repeated_seq_small_1_hifield = 1000005; + repeated SeqSmall1 packed_seq_small_1_lowfield = 6 + [features.repeated_field_encoding = PACKED]; + repeated SeqSmall1 packed_seq_small_1_midfield = 1006 + [features.repeated_field_encoding = PACKED]; + repeated SeqSmall1 packed_seq_small_1_hifield = 1000006 + [features.repeated_field_encoding = PACKED]; + + enum SeqLarge { + SEQ_LARGE_DEFAULT = -1; + SEQ_LARGE_0 = 0; + SEQ_LARGE_1 = 1; + SEQ_LARGE_2 = 2; + SEQ_LARGE_3 = 3; + SEQ_LARGE_4 = 4; + SEQ_LARGE_5 = 5; + SEQ_LARGE_6 = 6; + SEQ_LARGE_7 = 7; + SEQ_LARGE_8 = 8; + SEQ_LARGE_9 = 9; + SEQ_LARGE_10 = 10; + SEQ_LARGE_11 = 11; + SEQ_LARGE_12 = 12; + SEQ_LARGE_13 = 13; + SEQ_LARGE_14 = 14; + SEQ_LARGE_15 = 15; + SEQ_LARGE_16 = 16; + SEQ_LARGE_17 = 17; + SEQ_LARGE_18 = 18; + SEQ_LARGE_19 = 19; + SEQ_LARGE_20 = 20; + SEQ_LARGE_21 = 21; + SEQ_LARGE_22 = 22; + SEQ_LARGE_23 = 23; + SEQ_LARGE_24 = 24; + SEQ_LARGE_25 = 25; + SEQ_LARGE_26 = 26; + SEQ_LARGE_27 = 27; + SEQ_LARGE_28 = 28; + SEQ_LARGE_29 = 29; + SEQ_LARGE_30 = 30; + SEQ_LARGE_31 = 31; + SEQ_LARGE_32 = 32; + SEQ_LARGE_33 = 33; + }; + SeqLarge optional_seq_large_lowfield = 7; + SeqLarge optional_seq_large_midfield = 1007; + SeqLarge optional_seq_large_hifield = 1000007; + repeated SeqLarge repeated_seq_large_lowfield = 8; + repeated SeqLarge repeated_seq_large_midfield = 1008; + repeated SeqLarge repeated_seq_large_hifield = 1000008; + repeated SeqLarge packed_seq_large_lowfield = 9 + [features.repeated_field_encoding = PACKED]; + repeated SeqLarge packed_seq_large_midfield = 1009 + [features.repeated_field_encoding = PACKED]; + repeated SeqLarge packed_seq_large_hifield = 1000009 + [features.repeated_field_encoding = PACKED]; + + enum Arbitrary { + ARBITRARY_DEFAULT = -123123; + ARBITRARY_1 = -123; + ARBITRARY_2 = 213; + ARBITRARY_3 = 213213; + ARBITRARY_MIN = -2147483648; + ARBITRARY_MAX = 2147483647; + }; + Arbitrary optional_arbitrary_lowfield = 10; + Arbitrary optional_arbitrary_midfield = 1010; + Arbitrary optional_arbitrary_hifield = 1000010; + repeated Arbitrary repeated_arbitrary_lowfield = 11; + repeated Arbitrary repeated_arbitrary_midfield = 1011; + repeated Arbitrary repeated_arbitrary_hifield = 1000011; + repeated Arbitrary packed_arbitrary_lowfield = 12 + [features.repeated_field_encoding = PACKED]; + repeated Arbitrary packed_arbitrary_midfield = 1012 + [features.repeated_field_encoding = PACKED]; + repeated Arbitrary packed_arbitrary_hifield = 1000012 + [features.repeated_field_encoding = PACKED]; + + extensions 2000000 to max; + extend EnumParseTester { + Arbitrary optional_arbitrary_ext = 2000000; + repeated Arbitrary repeated_arbitrary_ext = 2000001; + repeated Arbitrary packed_arbitrary_ext = 2000002 + [features.repeated_field_encoding = PACKED]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + int32 other_field = 99; +} + +// This message contains different kind of bool fields to exercise the different +// parsers in table-drived. +message BoolParseTester { + bool optional_bool_lowfield = 1; + bool optional_bool_midfield = 1001; + bool optional_bool_hifield = 1000001; + repeated bool repeated_bool_lowfield = 2; + repeated bool repeated_bool_midfield = 1002; + repeated bool repeated_bool_hifield = 1000002; + repeated bool packed_bool_lowfield = 3 + [features.repeated_field_encoding = PACKED]; + repeated bool packed_bool_midfield = 1003 + [features.repeated_field_encoding = PACKED]; + repeated bool packed_bool_hifield = 1000003 + [features.repeated_field_encoding = PACKED]; + + extensions 2000000 to max; + extend BoolParseTester { + bool optional_bool_ext = 2000000; + repeated bool repeated_bool_ext = 2000001; + repeated bool packed_bool_ext = 2000002 + [features.repeated_field_encoding = PACKED]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + int32 other_field = 99; +} + +message Int32ParseTester { + int32 optional_int32_lowfield = 1; + int32 optional_int32_midfield = 1001; + int32 optional_int32_hifield = 1000001; + repeated int32 repeated_int32_lowfield = 2; + repeated int32 repeated_int32_midfield = 1002; + repeated int32 repeated_int32_hifield = 1000002; + repeated int32 packed_int32_lowfield = 3 + [features.repeated_field_encoding = PACKED]; + repeated int32 packed_int32_midfield = 1003 + [features.repeated_field_encoding = PACKED]; + repeated int32 packed_int32_hifield = 1000003 + [features.repeated_field_encoding = PACKED]; + + extensions 2000000 to max; + extend Int32ParseTester { + int32 optional_int32_ext = 2000000; + repeated int32 repeated_int32_ext = 2000001; + repeated int32 packed_int32_ext = 2000002 + [features.repeated_field_encoding = PACKED]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + int32 other_field = 99; +} + +message Int64ParseTester { + int64 optional_int64_lowfield = 1; + int64 optional_int64_midfield = 1001; + int64 optional_int64_hifield = 1000001; + repeated int64 repeated_int64_lowfield = 2; + repeated int64 repeated_int64_midfield = 1002; + repeated int64 repeated_int64_hifield = 1000002; + repeated int64 packed_int64_lowfield = 3 + [features.repeated_field_encoding = PACKED]; + repeated int64 packed_int64_midfield = 1003 + [features.repeated_field_encoding = PACKED]; + repeated int64 packed_int64_hifield = 1000003 + [features.repeated_field_encoding = PACKED]; + + extensions 2000000 to max; + extend Int64ParseTester { + int64 optional_int64_ext = 2000000; + repeated int64 repeated_int64_ext = 2000001; + repeated int64 packed_int64_ext = 2000002 + [features.repeated_field_encoding = PACKED]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + int32 other_field = 99; +} + +message InlinedStringIdxRegressionProto { + // We mix data to make sure aux ids and inlined string idx do not match. + // aux_idx == inlined_string_idx == 1 + string str1 = 1; + // aux_idx == 2 + InlinedStringIdxRegressionProto sub = 2; + // aux_idx == 3, inlined_string_idx == 2 + string str2 = 3; + // aux_idx == 4, inlined_string_idx == 3 + bytes str3 = 4; +} + +message StringParseTester { + string optional_string_lowfield = 1; + string optional_string_midfield = 1001; + string optional_string_hifield = 1000001; + repeated string repeated_string_lowfield = 2; + repeated string repeated_string_midfield = 1002; + repeated string repeated_string_hifield = 1000002; + + extensions 2000000 to max; + extend StringParseTester { + string optional_string_ext = 2000000; + repeated string repeated_string_ext = 2000001; + } +} + +message BadFieldNames{ + int32 OptionalInt32 = 1; + int32 for = 2; +} + +message TestNestedMessageRedaction { + string optional_unredacted_nested_string = 1; + string optional_redacted_nested_string = 2 [debug_redact = true]; +} + +message RedactedFields { + string optional_redacted_string = 1 [debug_redact = true]; + string optional_unredacted_string = 2; + repeated string repeated_redacted_string = 3 [debug_redact = true]; + repeated string repeated_unredacted_string = 4; + TestNestedMessageRedaction optional_redacted_message = 5 [debug_redact = true]; + TestNestedMessageRedaction optional_unredacted_message = 6; + repeated TestNestedMessageRedaction repeated_redacted_message = 7 + [debug_redact = true]; + repeated TestNestedMessageRedaction repeated_unredacted_message = 8; + map map_redacted_string = 9 [debug_redact = true]; + map map_unredacted_string = 10; +} + +message TestCord{ + bytes optional_bytes_cord = 1 [ctype=CORD]; + bytes optional_bytes_cord_default = 2 [ctype=CORD, default = "hello"]; +} + +message TestPackedEnumSmallRange { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + } + repeated NestedEnum vals = 1 + [features.repeated_field_encoding = PACKED]; +} + +message EnumsForBenchmark { + enum Flat { + A0 = 0; + A1 = 1; + A2 = 2; + A3 = 3; + A4 = 4; + A5 = 5; + A6 = 6; + A7 = 7; + A8 = 8; + A9 = 9; + A10 = 10; + A11 = 11; + A12 = 12; + A13 = 13; + A14 = 14; + A15 = 15; + } + // Has a few holes, bitmap can be used. + enum AlmostFlat { + B0 = 0; + B1 = 1; + B2 = 2; + B3 = 3; + B5 = 5; + B6 = 6; + B7 = 7; + B8 = 8; + B9 = 9; + B11 = 11; + B12 = 12; + B13 = 13; + B14 = 14; + B15 = 15; + B17 = 17; + B19 = 19; + } + enum Sparse { + C0 = 0; + C536 = 536; + C8387 = 8387; + C9673 = 9673; + C10285 = 10285; + C13318 = 13318; + C15963 = 15963; + C16439 = 16439; + C18197 = 18197; + C19430 = 19430; + C20361 = 20361; + C20706 = 20706; + C21050 = 21050; + C21906 = 21906; + C27265 = 27265; + C30109 = 30109; + C31670 = 31670; + } +} + +message TestMessageWithManyRepeatedPtrFields { + repeated string repeated_string_1 = 1; + repeated string repeated_string_2 = 2; + repeated string repeated_string_3 = 3; + repeated string repeated_string_4 = 4; + repeated string repeated_string_5 = 5; + repeated string repeated_string_6 = 6; + repeated string repeated_string_7 = 7; + repeated string repeated_string_8 = 8; + repeated string repeated_string_9 = 9; + repeated string repeated_string_10 = 10; + repeated string repeated_string_11 = 11; + repeated string repeated_string_12 = 12; + repeated string repeated_string_13 = 13; + repeated string repeated_string_14 = 14; + repeated string repeated_string_15 = 15; + repeated string repeated_string_16 = 16; + repeated string repeated_string_17 = 17; + repeated string repeated_string_18 = 18; + repeated string repeated_string_19 = 19; + repeated string repeated_string_20 = 20; + repeated string repeated_string_21 = 21; + repeated string repeated_string_22 = 22; + repeated string repeated_string_23 = 23; + repeated string repeated_string_24 = 24; + repeated string repeated_string_25 = 25; + repeated string repeated_string_26 = 26; + repeated string repeated_string_27 = 27; + repeated string repeated_string_28 = 28; + repeated string repeated_string_29 = 29; + repeated string repeated_string_30 = 30; + repeated string repeated_string_31 = 31; + repeated string repeated_string_32 = 32; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/empty.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/empty.proto new file mode 100644 index 00000000..b87c89dc --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/empty.proto @@ -0,0 +1,51 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option go_package = "google.golang.org/protobuf/types/known/emptypb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +// +message Empty {} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/field_mask.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/field_mask.proto new file mode 100644 index 00000000..b28334b9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/field_mask.proto @@ -0,0 +1,245 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "FieldMaskProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/fieldmaskpb"; +option cc_enable_arenas = true; + +// `FieldMask` represents a set of symbolic field paths, for example: +// +// paths: "f.a" +// paths: "f.b.d" +// +// Here `f` represents a field in some root message, `a` and `b` +// fields in the message found in `f`, and `d` a field found in the +// message in `f.b`. +// +// Field masks are used to specify a subset of fields that should be +// returned by a get operation or modified by an update operation. +// Field masks also have a custom JSON encoding (see below). +// +// # Field Masks in Projections +// +// When used in the context of a projection, a response message or +// sub-message is filtered by the API to only contain those fields as +// specified in the mask. For example, if the mask in the previous +// example is applied to a response message as follows: +// +// f { +// a : 22 +// b { +// d : 1 +// x : 2 +// } +// y : 13 +// } +// z: 8 +// +// The result will not contain specific values for fields x,y and z +// (their value will be set to the default, and omitted in proto text +// output): +// +// +// f { +// a : 22 +// b { +// d : 1 +// } +// } +// +// A repeated field is not allowed except at the last position of a +// paths string. +// +// If a FieldMask object is not present in a get operation, the +// operation applies to all fields (as if a FieldMask of all fields +// had been specified). +// +// Note that a field mask does not necessarily apply to the +// top-level response message. In case of a REST get operation, the +// field mask applies directly to the response, but in case of a REST +// list operation, the mask instead applies to each individual message +// in the returned resource list. In case of a REST custom method, +// other definitions may be used. Where the mask applies will be +// clearly documented together with its declaration in the API. In +// any case, the effect on the returned resource/resources is required +// behavior for APIs. +// +// # Field Masks in Update Operations +// +// A field mask in update operations specifies which fields of the +// targeted resource are going to be updated. The API is required +// to only change the values of the fields as specified in the mask +// and leave the others untouched. If a resource is passed in to +// describe the updated values, the API ignores the values of all +// fields not covered by the mask. +// +// If a repeated field is specified for an update operation, new values will +// be appended to the existing repeated field in the target resource. Note that +// a repeated field is only allowed in the last position of a `paths` string. +// +// If a sub-message is specified in the last position of the field mask for an +// update operation, then new value will be merged into the existing sub-message +// in the target resource. +// +// For example, given the target message: +// +// f { +// b { +// d: 1 +// x: 2 +// } +// c: [1] +// } +// +// And an update message: +// +// f { +// b { +// d: 10 +// } +// c: [2] +// } +// +// then if the field mask is: +// +// paths: ["f.b", "f.c"] +// +// then the result will be: +// +// f { +// b { +// d: 10 +// x: 2 +// } +// c: [1, 2] +// } +// +// An implementation may provide options to override this default behavior for +// repeated and message fields. +// +// In order to reset a field's value to the default, the field must +// be in the mask and set to the default value in the provided resource. +// Hence, in order to reset all fields of a resource, provide a default +// instance of the resource and set all fields in the mask, or do +// not provide a mask as described below. +// +// If a field mask is not present on update, the operation applies to +// all fields (as if a field mask of all fields has been specified). +// Note that in the presence of schema evolution, this may mean that +// fields the client does not know and has therefore not filled into +// the request will be reset to their default. If this is unwanted +// behavior, a specific service may require a client to always specify +// a field mask, producing an error if not. +// +// As with get operations, the location of the resource which +// describes the updated values in the request message depends on the +// operation kind. In any case, the effect of the field mask is +// required to be honored by the API. +// +// ## Considerations for HTTP REST +// +// The HTTP kind of an update operation which uses a field mask must +// be set to PATCH instead of PUT in order to satisfy HTTP semantics +// (PUT must only be used for full updates). +// +// # JSON Encoding of Field Masks +// +// In JSON, a field mask is encoded as a single string where paths are +// separated by a comma. Fields name in each path are converted +// to/from lower-camel naming conventions. +// +// As an example, consider the following message declarations: +// +// message Profile { +// User user = 1; +// Photo photo = 2; +// } +// message User { +// string display_name = 1; +// string address = 2; +// } +// +// In proto a field mask for `Profile` may look as such: +// +// mask { +// paths: "user.display_name" +// paths: "photo" +// } +// +// In JSON, the same mask is represented as below: +// +// { +// mask: "user.displayName,photo" +// } +// +// # Field Masks and Oneof Fields +// +// Field masks treat fields in oneofs just as regular fields. Consider the +// following message: +// +// message SampleMessage { +// oneof test_oneof { +// string name = 4; +// SubMessage sub_message = 9; +// } +// } +// +// The field mask can be: +// +// mask { +// paths: "name" +// } +// +// Or: +// +// mask { +// paths: "sub_message" +// } +// +// Note that oneof type names ("test_oneof" in this case) cannot be used in +// paths. +// +// ## Field Mask Verification +// +// The implementation of any API method which has a FieldMask type field in the +// request should verify the included field paths, and return an +// `INVALID_ARGUMENT` error if any path is unmappable. +message FieldMask { + // The set of field mask paths. + repeated string paths = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_lite_unittest.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_lite_unittest.proto new file mode 100644 index 00000000..b42b3de8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_lite_unittest.proto @@ -0,0 +1,112 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +package protobuf_unittest; + +import "google/protobuf/unittest_lite.proto"; + +option features.enum_type = CLOSED; +option features.utf8_validation = NONE; +option cc_enable_arenas = true; +option optimize_for = LITE_RUNTIME; + +message TestMapLite { + map map_int32_int32 = 1; + map map_int64_int64 = 2; + map map_uint32_uint32 = 3; + map map_uint64_uint64 = 4; + map map_sint32_sint32 = 5; + map map_sint64_sint64 = 6; + map map_fixed32_fixed32 = 7; + map map_fixed64_fixed64 = 8; + map map_sfixed32_sfixed32 = 9; + map map_sfixed64_sfixed64 = 10; + map map_int32_float = 11; + map map_int32_double = 12; + map map_bool_bool = 13; + map map_string_string = 14; + map map_int32_bytes = 15; + map map_int32_enum = 16; + map map_int32_foreign_message = 17; + map teboring = 18; +} + +message TestArenaMapLite { + map map_int32_int32 = 1; + map map_int64_int64 = 2; + map map_uint32_uint32 = 3; + map map_uint64_uint64 = 4; + map map_sint32_sint32 = 5; + map map_sint64_sint64 = 6; + map map_fixed32_fixed32 = 7; + map map_fixed64_fixed64 = 8; + map map_sfixed32_sfixed32 = 9; + map map_sfixed64_sfixed64 = 10; + map map_int32_float = 11; + map map_int32_double = 12; + map map_bool_bool = 13; + map map_string_string = 14; + map map_int32_bytes = 15; + map map_int32_enum = 16; + map map_int32_foreign_message = 17; +} + +// Test embedded message with required fields +message TestRequiredMessageMapLite { + map map_field = 1; +} + +message TestEnumMapLite { + map known_map_field = 101; + map unknown_map_field = 102; +} + +message TestEnumMapPlusExtraLite { + map known_map_field = 101; + map unknown_map_field = 102; +} + +message TestMessageMapLite { + map map_int32_message = 1; +} + +enum Proto2MapEnumLite { + PROTO2_MAP_ENUM_FOO_LITE = 0; + PROTO2_MAP_ENUM_BAR_LITE = 1; + PROTO2_MAP_ENUM_BAZ_LITE = 2; +} + +enum Proto2MapEnumPlusExtraLite { + E_PROTO2_MAP_ENUM_FOO_LITE = 0; + E_PROTO2_MAP_ENUM_BAR_LITE = 1; + E_PROTO2_MAP_ENUM_BAZ_LITE = 2; + E_PROTO2_MAP_ENUM_EXTRA_LITE = 3; +} + +enum MapEnumLite { + MAP_ENUM_FOO_LITE = 0; + MAP_ENUM_BAR_LITE = 1; + MAP_ENUM_BAZ_LITE = 2; +} + +message TestRequiredLite { + int32 a = 1 [features.field_presence = LEGACY_REQUIRED]; + + int32 b = 2 [features.field_presence = LEGACY_REQUIRED]; + + int32 c = 3 [features.field_presence = LEGACY_REQUIRED]; + + extend TestAllExtensionsLite { + TestRequiredLite single = 1000; + } +} + +message ForeignMessageArenaLite { + int32 c = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_proto2_unittest.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_proto2_unittest.proto new file mode 100644 index 00000000..34a38128 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_proto2_unittest.proto @@ -0,0 +1,102 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +import "google/protobuf/unittest_import.proto"; + +option cc_enable_arenas = true; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In map_test_util.h we do "using namespace unittest = protobuf_unittest". +package protobuf_unittest; + +enum Proto2MapEnum { + PROTO2_MAP_ENUM_FOO = 0; + PROTO2_MAP_ENUM_BAR = 1; + PROTO2_MAP_ENUM_BAZ = 2; +} + +enum Proto2MapEnumPlusExtra { + E_PROTO2_MAP_ENUM_FOO = 0; + E_PROTO2_MAP_ENUM_BAR = 1; + E_PROTO2_MAP_ENUM_BAZ = 2; + E_PROTO2_MAP_ENUM_EXTRA = 3; +} + +message TestEnumMap { + map known_map_field = 101; + map unknown_map_field = 102; + + // Other maps with all key types to test the unknown entry serialization + map unknown_map_field_int64 = 200; + map unknown_map_field_uint64 = 201; + map unknown_map_field_int32 = 202; + map unknown_map_field_uint32 = 203; + map unknown_map_field_fixed32 = 204; + map unknown_map_field_fixed64 = 205; + map unknown_map_field_bool = 206; + map unknown_map_field_string = 207; + map unknown_map_field_sint32 = 208; + map unknown_map_field_sint64 = 209; + map unknown_map_field_sfixed32 = 210; + map unknown_map_field_sfixed64 = 211; +} + +message TestEnumMapPlusExtra { + map known_map_field = 101; + map unknown_map_field = 102; + + // Other maps with all key types to test the unknown entry serialization + map unknown_map_field_int64 = 200; + map unknown_map_field_uint64 = 201; + map unknown_map_field_int32 = 202; + map unknown_map_field_uint32 = 203; + map unknown_map_field_fixed32 = 204; + map unknown_map_field_fixed64 = 205; + map unknown_map_field_bool = 206; + map unknown_map_field_string = 207; + map unknown_map_field_sint32 = 208; + map unknown_map_field_sint64 = 209; + map unknown_map_field_sfixed32 = 210; + map unknown_map_field_sfixed64 = 211; +} + +message TestImportEnumMap { + map import_enum_amp = 1; +} + +message TestIntIntMap { + map m = 1; +} + +// Test all key types: string, plus the non-floating-point scalars. +message TestMaps { + map m_int32 = 1; + map m_int64 = 2; + map m_uint32 = 3; + map m_uint64 = 4; + map m_sint32 = 5; + map m_sint64 = 6; + map m_fixed32 = 7; + map m_fixed64 = 8; + map m_sfixed32 = 9; + map m_sfixed64 = 10; + map m_bool = 11; + map m_string = 12; +} + +// Test maps in submessages. +message TestSubmessageMaps { + optional TestMaps m = 1; +} + +message TestProto2BytesMap { + map map_bytes = 1; + map map_string = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_proto3_unittest.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_proto3_unittest.proto new file mode 100644 index 00000000..29a3b367 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_proto3_unittest.proto @@ -0,0 +1,27 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +// Treat all fields as implicit present by default (proto3 behavior). +option features.field_presence = IMPLICIT; + +// This file contains definitions that have different behavior in proto3. + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In map_test_util.h we do "using namespace unittest = protobuf_unittest". +package proto3_unittest; + +message TestProto3BytesMap { + map map_bytes = 1; + map map_string = 2; +} + +message TestI32StrMap { + map m_32_str = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_unittest.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_unittest.proto new file mode 100644 index 00000000..91ee855a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/map_unittest.proto @@ -0,0 +1,122 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +option cc_enable_arenas = true; + +import "google/protobuf/unittest.proto"; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In map_test_util.h we do "using namespace unittest = protobuf_unittest". +package protobuf_unittest; + +// Tests maps. +message TestMap { + map map_int32_int32 = 1; + map map_int64_int64 = 2; + map map_uint32_uint32 = 3; + map map_uint64_uint64 = 4; + map map_sint32_sint32 = 5; + map map_sint64_sint64 = 6; + map map_fixed32_fixed32 = 7; + map map_fixed64_fixed64 = 8; + map map_sfixed32_sfixed32 = 9; + map map_sfixed64_sfixed64 = 10; + map map_int32_float = 11; + map map_int32_double = 12; + map map_bool_bool = 13; + map map_string_string = 14; + map map_int32_bytes = 15; + map map_int32_enum = 16; + map map_int32_foreign_message = 17; + map map_string_foreign_message = 18; + map map_int32_all_types = 19; +} + +message TestMapWithMessages { + map map_int32_all_types = 1; + map map_int64_all_types = 2; + map map_uint32_all_types = 3; + map map_uint64_all_types = 4; + map map_sint32_all_types = 5; + map map_sint64_all_types = 6; + map map_fixed32_all_types = 7; + map map_fixed64_all_types = 8; + map map_sfixed32_all_types = 9; + map map_sfixed64_all_types = 10; + map map_bool_all_types = 11; + map map_string_all_types = 12; +} + +message TestMapSubmessage { + TestMap test_map = 1; +} + +message TestMessageMap { + map map_int32_message = 1; +} + +// Two map fields share the same entry default instance. +message TestSameTypeMap { + map map1 = 1; + map map2 = 2; +} + +enum MapEnum { + MAP_ENUM_FOO = 0; + MAP_ENUM_BAR = 1; + MAP_ENUM_BAZ = 2; +} + +// Test embedded message with required fields +message TestRequiredMessageMap { + map map_field = 1; +} + +message TestArenaMap { + map map_int32_int32 = 1; + map map_int64_int64 = 2; + map map_uint32_uint32 = 3; + map map_uint64_uint64 = 4; + map map_sint32_sint32 = 5; + map map_sint64_sint64 = 6; + map map_fixed32_fixed32 = 7; + map map_fixed64_fixed64 = 8; + map map_sfixed32_sfixed32 = 9; + map map_sfixed64_sfixed64 = 10; + map map_int32_float = 11; + map map_int32_double = 12; + map map_bool_bool = 13; + map map_string_string = 14; + map map_int32_bytes = 15; + map map_int32_enum = 16; + map map_int32_foreign_message = 17; +} + +// Previously, message containing enum called Type cannot be used as value of +// map field. +message MessageContainingEnumCalledType { + enum Type { + TYPE_FOO = 0; + } + map type = 1; +} + +// Previously, message cannot contain map field called "entry". +message MessageContainingMapCalledEntry { + map entry = 1; +} + +message TestRecursiveMapMessage { + map a = 1; +} + +message TestI32StrMap { + map m_32_str = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/sample_messages_edition.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/sample_messages_edition.proto new file mode 100644 index 00000000..464a816d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/sample_messages_edition.proto @@ -0,0 +1,427 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd +// +// Sample messages to generate example code. + +edition = "2023"; + +package protobuf_test_messages.edition; + +import "google/protobuf/cpp_features.proto"; + +option optimize_for = SPEED; +option features.(pb.cpp).string_type = VIEW; + +// This proto includes every type of field in both singular and repeated +// forms. +// +// Also, crucially, all messages and enums in this file are eventually +// submessages of this message. So for example, a fuzz test of TestAllTypes +// could trigger bugs that occur in any message type in this file. We verify +// this stays true in a unit test. +message TestAllTypesEdition { + message NestedMessage { + int32 a = 1; + TestAllTypesEdition corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + NestedMessage optional_nested_message = 18; + ForeignMessageEdition optional_foreign_message = 19; + + NestedEnum optional_nested_enum = 21; + ForeignEnumEdition optional_foreign_enum = 22; + + string optional_string_piece = 24 [ctype = STRING_PIECE]; + string optional_cord = 25 [ctype = CORD]; + + TestAllTypesEdition recursive_message = 27; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessageEdition repeated_foreign_message = 49; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnumEdition repeated_foreign_enum = 52; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + // Packed + repeated int32 packed_int32 = 75 [features.repeated_field_encoding = PACKED]; + repeated int64 packed_int64 = 76 [features.repeated_field_encoding = PACKED]; + repeated uint32 packed_uint32 = 77 + [features.repeated_field_encoding = PACKED]; + repeated uint64 packed_uint64 = 78 + [features.repeated_field_encoding = PACKED]; + repeated sint32 packed_sint32 = 79 + [features.repeated_field_encoding = PACKED]; + repeated sint64 packed_sint64 = 80 + [features.repeated_field_encoding = PACKED]; + repeated fixed32 packed_fixed32 = 81 + [features.repeated_field_encoding = PACKED]; + repeated fixed64 packed_fixed64 = 82 + [features.repeated_field_encoding = PACKED]; + repeated sfixed32 packed_sfixed32 = 83 + [features.repeated_field_encoding = PACKED]; + repeated sfixed64 packed_sfixed64 = 84 + [features.repeated_field_encoding = PACKED]; + repeated float packed_float = 85 [features.repeated_field_encoding = PACKED]; + repeated double packed_double = 86 + [features.repeated_field_encoding = PACKED]; + repeated bool packed_bool = 87 [features.repeated_field_encoding = PACKED]; + repeated NestedEnum packed_nested_enum = 88 + [features.repeated_field_encoding = PACKED]; + + // Unpacked + repeated int32 unpacked_int32 = 89 + [features.repeated_field_encoding = EXPANDED]; + repeated int64 unpacked_int64 = 90 + [features.repeated_field_encoding = EXPANDED]; + repeated uint32 unpacked_uint32 = 91 + [features.repeated_field_encoding = EXPANDED]; + repeated uint64 unpacked_uint64 = 92 + [features.repeated_field_encoding = EXPANDED]; + repeated sint32 unpacked_sint32 = 93 + [features.repeated_field_encoding = EXPANDED]; + repeated sint64 unpacked_sint64 = 94 + [features.repeated_field_encoding = EXPANDED]; + repeated fixed32 unpacked_fixed32 = 95 + [features.repeated_field_encoding = EXPANDED]; + repeated fixed64 unpacked_fixed64 = 96 + [features.repeated_field_encoding = EXPANDED]; + repeated sfixed32 unpacked_sfixed32 = 97 + [features.repeated_field_encoding = EXPANDED]; + repeated sfixed64 unpacked_sfixed64 = 98 + [features.repeated_field_encoding = EXPANDED]; + repeated float unpacked_float = 99 + [features.repeated_field_encoding = EXPANDED]; + repeated double unpacked_double = 100 + [features.repeated_field_encoding = EXPANDED]; + repeated bool unpacked_bool = 101 + [features.repeated_field_encoding = EXPANDED]; + repeated NestedEnum unpacked_nested_enum = 102 + [features.repeated_field_encoding = EXPANDED]; + + // Map + map map_int32_int32 = 56; + map map_int64_int64 = 57; + map map_uint32_uint32 = 58; + map map_uint64_uint64 = 59; + map map_sint32_sint32 = 60; + map map_sint64_sint64 = 61; + map map_fixed32_fixed32 = 62; + map map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map map_int32_float = 66; + map map_int32_double = 67; + map map_bool_bool = 68; + map map_string_string = 69; + map map_string_bytes = 70; + map map_string_nested_message = 71; + map map_string_foreign_message = 72; + map map_string_nested_enum = 73; + map map_string_foreign_enum = 74; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + bool oneof_bool = 115; + uint64 oneof_uint64 = 116; + float oneof_float = 117; + double oneof_double = 118; + NestedEnum oneof_enum = 119; + } + + // extensions + extensions 120 to 200; + + // groups + message Data { + int32 group_int32 = 202; + uint32 group_uint32 = 203; + } + + Data data = 201 [features.message_encoding = DELIMITED]; + + // default values + int32 default_int32 = 241 [default = -123456789]; + int64 default_int64 = 242 [default = -9123456789123456789]; + uint32 default_uint32 = 243 [default = 2123456789]; + uint64 default_uint64 = 244 [default = 10123456789123456789]; + sint32 default_sint32 = 245 [default = -123456789]; + sint64 default_sint64 = 246 [default = -9123456789123456789]; + fixed32 default_fixed32 = 247 [default = 2123456789]; + fixed64 default_fixed64 = 248 [default = 10123456789123456789]; + sfixed32 default_sfixed32 = 249 [default = -123456789]; + sfixed64 default_sfixed64 = 250 [default = -9123456789123456789]; + float default_float = 251 [default = 9e9]; + double default_double = 252 [default = 7e22]; + bool default_bool = 253 [default = true]; + string default_string = 254 [default = "Rosebud"]; + bytes default_bytes = 255 [default = "joshua"]; + + // Test field-name-to-JSON-name convention. + // (protobuf says names can be any valid C/C++ identifier.) + int32 fieldname1 = 401; + int32 field_name2 = 402; + int32 _field_name3 = 403; + int32 field__name4_ = 404; + int32 field0name5 = 405; + int32 field_0_name6 = 406; + int32 fieldName7 = 407; + int32 FieldName8 = 408; + int32 field_Name9 = 409; + int32 Field_Name10 = 410; + int32 FIELD_NAME11 = 411; + int32 FIELD_name12 = 412; + int32 __field_name13 = 413; + int32 __Field_name14 = 414; + int32 field__name15 = 415; + int32 field__Name16 = 416; + int32 field_name17__ = 417; + int32 Field_name18__ = 418; + + // Reserved for unknown fields test. + reserved 1000 to 9999; + + // message_set test case. + message MessageSetCorrect { + option message_set_wire_format = true; + + extensions 4 to max; + } + + message MessageSetCorrectExtension1 { + extend MessageSetCorrect { + MessageSetCorrectExtension1 message_set_extension = 1547769; + } + string str = 25; + } + + message MessageSetCorrectExtension2 { + extend MessageSetCorrect { + MessageSetCorrectExtension2 message_set_extension = 4135312; + } + int32 i = 9; + } +} + +message ForeignMessageEdition { + int32 c = 1; +} + +enum ForeignEnumEdition { + FOREIGN_FOO = 0; + FOREIGN_BAR = 1; + FOREIGN_BAZ = 2; +} + +extend TestAllTypesEdition { + int32 extension_int32 = 120; +} + +message UnknownToTestAllTypes { + int32 optional_int32 = 1001; + string optional_string = 1002; + ForeignMessageEdition nested_message = 1003; + message OptionalGroup { + int32 a = 1; + } + OptionalGroup optionalgroup = 1004 [features.message_encoding = DELIMITED]; + bool optional_bool = 1006; + repeated int32 repeated_int32 = 1011; +} + +message NullHypothesisEdition {} + +message EnumOnlyEdition { + enum Bool { + kFalse = 0; + kTrue = 1; + } +} + +message OneStringEdition { + string data = 1; +} + +message ProtoWithKeywords { + int32 inline = 1; + string concept = 2; + repeated string requires = 3; +} + +message TestAllRequiredTypesEdition { + message NestedMessage { + int32 a = 1 [features.field_presence = LEGACY_REQUIRED]; + TestAllRequiredTypesEdition corecursive = 2 + [features.field_presence = LEGACY_REQUIRED]; + TestAllRequiredTypesEdition optional_corecursive = 3; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 required_int32 = 1 [features.field_presence = LEGACY_REQUIRED]; + int64 required_int64 = 2 [features.field_presence = LEGACY_REQUIRED]; + uint32 required_uint32 = 3 [features.field_presence = LEGACY_REQUIRED]; + uint64 required_uint64 = 4 [features.field_presence = LEGACY_REQUIRED]; + sint32 required_sint32 = 5 [features.field_presence = LEGACY_REQUIRED]; + sint64 required_sint64 = 6 [features.field_presence = LEGACY_REQUIRED]; + fixed32 required_fixed32 = 7 [features.field_presence = LEGACY_REQUIRED]; + fixed64 required_fixed64 = 8 [features.field_presence = LEGACY_REQUIRED]; + sfixed32 required_sfixed32 = 9 [features.field_presence = LEGACY_REQUIRED]; + sfixed64 required_sfixed64 = 10 [features.field_presence = LEGACY_REQUIRED]; + float required_float = 11 [features.field_presence = LEGACY_REQUIRED]; + double required_double = 12 [features.field_presence = LEGACY_REQUIRED]; + bool required_bool = 13 [features.field_presence = LEGACY_REQUIRED]; + string required_string = 14 [features.field_presence = LEGACY_REQUIRED]; + bytes required_bytes = 15 [features.field_presence = LEGACY_REQUIRED]; + + NestedMessage required_nested_message = 18 + [features.field_presence = LEGACY_REQUIRED]; + ForeignMessageEdition required_foreign_message = 19 + [features.field_presence = LEGACY_REQUIRED]; + + NestedEnum required_nested_enum = 21 + [features.field_presence = LEGACY_REQUIRED]; + ForeignEnumEdition required_foreign_enum = 22 + [features.field_presence = LEGACY_REQUIRED]; + + string required_string_piece = 24 + [ctype = STRING_PIECE, features.field_presence = LEGACY_REQUIRED]; + string required_cord = 25 + [ctype = CORD, features.field_presence = LEGACY_REQUIRED]; + + TestAllRequiredTypesEdition recursive_message = 27; + TestAllRequiredTypesEdition optional_recursive_message = 28; + + // extensions + extensions 120 to 200; + + // groups + message Data { + int32 group_int32 = 202 [features.field_presence = LEGACY_REQUIRED]; + uint32 group_uint32 = 203 [features.field_presence = LEGACY_REQUIRED]; + } + + Data data = 201 [features.message_encoding = DELIMITED]; + + // default values + int32 default_int32 = 241 + [default = -123456789, features.field_presence = LEGACY_REQUIRED]; + int64 default_int64 = 242 [ + default = -9123456789123456789, + features.field_presence = LEGACY_REQUIRED + ]; + uint32 default_uint32 = 243 + [default = 2123456789, features.field_presence = LEGACY_REQUIRED]; + uint64 default_uint64 = 244 [ + default = 10123456789123456789, + features.field_presence = LEGACY_REQUIRED + ]; + sint32 default_sint32 = 245 + [default = -123456789, features.field_presence = LEGACY_REQUIRED]; + sint64 default_sint64 = 246 [ + default = -9123456789123456789, + features.field_presence = LEGACY_REQUIRED + ]; + fixed32 default_fixed32 = 247 + [default = 2123456789, features.field_presence = LEGACY_REQUIRED]; + fixed64 default_fixed64 = 248 [ + default = 10123456789123456789, + features.field_presence = LEGACY_REQUIRED + ]; + sfixed32 default_sfixed32 = 249 + [default = -123456789, features.field_presence = LEGACY_REQUIRED]; + sfixed64 default_sfixed64 = 250 [ + default = -9123456789123456789, + features.field_presence = LEGACY_REQUIRED + ]; + float default_float = 251 + [default = 9e9, features.field_presence = LEGACY_REQUIRED]; + double default_double = 252 + [default = 7e22, features.field_presence = LEGACY_REQUIRED]; + bool default_bool = 253 + [default = true, features.field_presence = LEGACY_REQUIRED]; + string default_string = 254 + [default = "Rosebud", features.field_presence = LEGACY_REQUIRED]; + bytes default_bytes = 255 + [default = "joshua", features.field_presence = LEGACY_REQUIRED]; + + // Reserved for unknown fields test. + reserved 1000 to 9999; + + // message_set test case. + message MessageSetCorrect { + option message_set_wire_format = true; + + extensions 4 to max; + } + + message MessageSetCorrectExtension1 { + extend MessageSetCorrect { + MessageSetCorrectExtension1 message_set_extension = 1547769; + } + string str = 25 [features.field_presence = LEGACY_REQUIRED]; + } + + message MessageSetCorrectExtension2 { + extend MessageSetCorrect { + MessageSetCorrectExtension2 message_set_extension = 4135312; + } + int32 i = 9 [features.field_presence = LEGACY_REQUIRED]; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/source_context.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/source_context.proto new file mode 100644 index 00000000..135f50fe --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/source_context.proto @@ -0,0 +1,48 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "SourceContextProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/sourcecontextpb"; + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +message SourceContext { + // The path-qualified name of the .proto file that contained the associated + // protobuf element. For example: `"google/protobuf/source_context.proto"`. + string file_name = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/struct.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/struct.proto new file mode 100644 index 00000000..1bf0c1ad --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/struct.proto @@ -0,0 +1,95 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/structpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "StructProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +// +// The JSON representation for `Struct` is JSON object. +message Struct { + // Unordered map of dynamically typed values. + map fields = 1; +} + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of these +// variants. Absence of any variant indicates an error. +// +// The JSON representation for `Value` is JSON value. +message Value { + // The kind of value. + oneof kind { + // Represents a null value. + NullValue null_value = 1; + // Represents a double value. + double number_value = 2; + // Represents a string value. + string string_value = 3; + // Represents a boolean value. + bool bool_value = 4; + // Represents a structured value. + Struct struct_value = 5; + // Represents a repeated `Value`. + ListValue list_value = 6; + } +} + +// `NullValue` is a singleton enumeration to represent the null value for the +// `Value` type union. +// +// The JSON representation for `NullValue` is JSON `null`. +enum NullValue { + // Null value. + NULL_VALUE = 0; +} + +// `ListValue` is a wrapper around a repeated field of values. +// +// The JSON representation for `ListValue` is JSON array. +message ListValue { + // Repeated field of dynamically typed values. + repeated Value values = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/test_messages_proto2.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/test_messages_proto2.proto new file mode 100644 index 00000000..73cba558 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/test_messages_proto2.proto @@ -0,0 +1,387 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd +// +// Test schema for proto2 messages. This test schema is used by: +// +// - conformance tests +// + +// LINT: ALLOW_GROUPS + +syntax = "proto2"; + +package protobuf_test_messages.proto2; + +option java_package = "com.google.protobuf_test_messages.proto2"; +option objc_class_prefix = "Proto2"; + +// This is the default, but we specify it here explicitly. +option optimize_for = SPEED; + +option cc_enable_arenas = true; + + +// This proto includes every type of field in both singular and repeated +// forms. +// +// Also, crucially, all messages and enums in this file are eventually +// submessages of this message. So for example, a fuzz test of TestAllTypes +// could trigger bugs that occur in any message type in this file. We verify +// this stays true in a unit test. +message TestAllTypesProto2 { + message NestedMessage { + optional int32 a = 1; + optional TestAllTypesProto2 corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + // Singular + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + + optional NestedMessage optional_nested_message = 18; + optional ForeignMessageProto2 optional_foreign_message = 19; + + optional NestedEnum optional_nested_enum = 21; + optional ForeignEnumProto2 optional_foreign_enum = 22; + + optional string optional_string_piece = 24 [ctype = STRING_PIECE]; + optional string optional_cord = 25 [ctype = CORD]; + + optional TestAllTypesProto2 recursive_message = 27; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessageProto2 repeated_foreign_message = 49; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnumProto2 repeated_foreign_enum = 52; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + // Packed + repeated int32 packed_int32 = 75 [packed = true]; + repeated int64 packed_int64 = 76 [packed = true]; + repeated uint32 packed_uint32 = 77 [packed = true]; + repeated uint64 packed_uint64 = 78 [packed = true]; + repeated sint32 packed_sint32 = 79 [packed = true]; + repeated sint64 packed_sint64 = 80 [packed = true]; + repeated fixed32 packed_fixed32 = 81 [packed = true]; + repeated fixed64 packed_fixed64 = 82 [packed = true]; + repeated sfixed32 packed_sfixed32 = 83 [packed = true]; + repeated sfixed64 packed_sfixed64 = 84 [packed = true]; + repeated float packed_float = 85 [packed = true]; + repeated double packed_double = 86 [packed = true]; + repeated bool packed_bool = 87 [packed = true]; + repeated NestedEnum packed_nested_enum = 88 [packed = true]; + + // Unpacked + repeated int32 unpacked_int32 = 89 [packed = false]; + repeated int64 unpacked_int64 = 90 [packed = false]; + repeated uint32 unpacked_uint32 = 91 [packed = false]; + repeated uint64 unpacked_uint64 = 92 [packed = false]; + repeated sint32 unpacked_sint32 = 93 [packed = false]; + repeated sint64 unpacked_sint64 = 94 [packed = false]; + repeated fixed32 unpacked_fixed32 = 95 [packed = false]; + repeated fixed64 unpacked_fixed64 = 96 [packed = false]; + repeated sfixed32 unpacked_sfixed32 = 97 [packed = false]; + repeated sfixed64 unpacked_sfixed64 = 98 [packed = false]; + repeated float unpacked_float = 99 [packed = false]; + repeated double unpacked_double = 100 [packed = false]; + repeated bool unpacked_bool = 101 [packed = false]; + repeated NestedEnum unpacked_nested_enum = 102 [packed = false]; + + // Map + map map_int32_int32 = 56; + map map_int64_int64 = 57; + map map_uint32_uint32 = 58; + map map_uint64_uint64 = 59; + map map_sint32_sint32 = 60; + map map_sint64_sint64 = 61; + map map_fixed32_fixed32 = 62; + map map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map map_int32_float = 66; + map map_int32_double = 67; + map map_bool_bool = 68; + map map_string_string = 69; + map map_string_bytes = 70; + map map_string_nested_message = 71; + map map_string_foreign_message = 72; + map map_string_nested_enum = 73; + map map_string_foreign_enum = 74; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + bool oneof_bool = 115; + uint64 oneof_uint64 = 116; + float oneof_float = 117; + double oneof_double = 118; + NestedEnum oneof_enum = 119; + } + + // extensions + extensions 120 to 200; + + // groups + optional group Data = 201 { + optional int32 group_int32 = 202; + optional uint32 group_uint32 = 203; + } + + optional group MultiWordGroupField = 204 { + optional int32 group_int32 = 205; + optional uint32 group_uint32 = 206; + } + + // default values + optional int32 default_int32 = 241 [default = -123456789]; + optional int64 default_int64 = 242 [default = -9123456789123456789]; + optional uint32 default_uint32 = 243 [default = 2123456789]; + optional uint64 default_uint64 = 244 [default = 10123456789123456789]; + optional sint32 default_sint32 = 245 [default = -123456789]; + optional sint64 default_sint64 = 246 [default = -9123456789123456789]; + optional fixed32 default_fixed32 = 247 [default = 2123456789]; + optional fixed64 default_fixed64 = 248 [default = 10123456789123456789]; + optional sfixed32 default_sfixed32 = 249 [default = -123456789]; + optional sfixed64 default_sfixed64 = 250 [default = -9123456789123456789]; + optional float default_float = 251 [default = 9e9]; + optional double default_double = 252 [default = 7e22]; + optional bool default_bool = 253 [default = true]; + optional string default_string = 254 [default = "Rosebud"]; + optional bytes default_bytes = 255 [default = "joshua"]; + + // Test field-name-to-JSON-name convention. + // (protobuf says names can be any valid C/C++ identifier.) + optional int32 fieldname1 = 401; + optional int32 field_name2 = 402; + optional int32 _field_name3 = 403; + optional int32 field__name4_ = 404; + optional int32 field0name5 = 405; + optional int32 field_0_name6 = 406; + optional int32 fieldName7 = 407; + optional int32 FieldName8 = 408; + optional int32 field_Name9 = 409; + optional int32 Field_Name10 = 410; + optional int32 FIELD_NAME11 = 411; + optional int32 FIELD_name12 = 412; + optional int32 __field_name13 = 413; + optional int32 __Field_name14 = 414; + optional int32 field__name15 = 415; + optional int32 field__Name16 = 416; + optional int32 field_name17__ = 417; + optional int32 Field_name18__ = 418; + + // Reserved for unknown fields test. + reserved 1000 to 9999; + + // message_set test case. + message MessageSetCorrect { + option message_set_wire_format = true; + + extensions 4 to max; + } + + message MessageSetCorrectExtension1 { + extend MessageSetCorrect { + optional MessageSetCorrectExtension1 message_set_extension = 1547769; + } + optional string str = 25; + } + + message MessageSetCorrectExtension2 { + extend MessageSetCorrect { + optional MessageSetCorrectExtension2 message_set_extension = 4135312; + } + optional int32 i = 9; + } +} + +message ForeignMessageProto2 { + optional int32 c = 1; +} + +enum ForeignEnumProto2 { + FOREIGN_FOO = 0; + FOREIGN_BAR = 1; + FOREIGN_BAZ = 2; +} + +extend TestAllTypesProto2 { + optional int32 extension_int32 = 120; +} + +extend TestAllTypesProto2 { + optional group GroupField = 121 { + optional int32 group_int32 = 122; + optional uint32 group_uint32 = 123; + } +} + +message UnknownToTestAllTypes { + optional int32 optional_int32 = 1001; + optional string optional_string = 1002; + optional ForeignMessageProto2 nested_message = 1003; + optional group OptionalGroup = 1004 { + optional int32 a = 1; + } + optional bool optional_bool = 1006; + repeated int32 repeated_int32 = 1011; +} + +message NullHypothesisProto2 {} + +message EnumOnlyProto2 { + enum Bool { + kFalse = 0; + kTrue = 1; + } +} + +message OneStringProto2 { + optional string data = 1; +} + +message ProtoWithKeywords { + optional int32 inline = 1; + optional string concept = 2; + repeated string requires = 3; +} + +message TestAllRequiredTypesProto2 { + message NestedMessage { + required int32 a = 1; + required TestAllRequiredTypesProto2 corecursive = 2; + optional TestAllRequiredTypesProto2 optional_corecursive = 3; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + // Singular + required int32 required_int32 = 1; + required int64 required_int64 = 2; + required uint32 required_uint32 = 3; + required uint64 required_uint64 = 4; + required sint32 required_sint32 = 5; + required sint64 required_sint64 = 6; + required fixed32 required_fixed32 = 7; + required fixed64 required_fixed64 = 8; + required sfixed32 required_sfixed32 = 9; + required sfixed64 required_sfixed64 = 10; + required float required_float = 11; + required double required_double = 12; + required bool required_bool = 13; + required string required_string = 14; + required bytes required_bytes = 15; + + required NestedMessage required_nested_message = 18; + required ForeignMessageProto2 required_foreign_message = 19; + + required NestedEnum required_nested_enum = 21; + required ForeignEnumProto2 required_foreign_enum = 22; + + required string required_string_piece = 24 [ctype = STRING_PIECE]; + required string required_cord = 25 [ctype = CORD]; + + required TestAllRequiredTypesProto2 recursive_message = 27; + optional TestAllRequiredTypesProto2 optional_recursive_message = 28; + + // extensions + extensions 120 to 200; + + // groups + required group Data = 201 { + required int32 group_int32 = 202; + required uint32 group_uint32 = 203; + } + + // default values + required int32 default_int32 = 241 [default = -123456789]; + required int64 default_int64 = 242 [default = -9123456789123456789]; + required uint32 default_uint32 = 243 [default = 2123456789]; + required uint64 default_uint64 = 244 [default = 10123456789123456789]; + required sint32 default_sint32 = 245 [default = -123456789]; + required sint64 default_sint64 = 246 [default = -9123456789123456789]; + required fixed32 default_fixed32 = 247 [default = 2123456789]; + required fixed64 default_fixed64 = 248 [default = 10123456789123456789]; + required sfixed32 default_sfixed32 = 249 [default = -123456789]; + required sfixed64 default_sfixed64 = 250 [default = -9123456789123456789]; + required float default_float = 251 [default = 9e9]; + required double default_double = 252 [default = 7e22]; + required bool default_bool = 253 [default = true]; + required string default_string = 254 [default = "Rosebud"]; + required bytes default_bytes = 255 [default = "joshua"]; + + // Reserved for unknown fields test. + reserved 1000 to 9999; + + // message_set test case. + message MessageSetCorrect { + option message_set_wire_format = true; + + extensions 4 to max; + } + + message MessageSetCorrectExtension1 { + extend MessageSetCorrect { + optional MessageSetCorrectExtension1 message_set_extension = 1547769; + } + required string str = 25; + } + + message MessageSetCorrectExtension2 { + extend MessageSetCorrect { + optional MessageSetCorrectExtension2 message_set_extension = 4135312; + } + required int32 i = 9; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/test_messages_proto3.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/test_messages_proto3.proto new file mode 100644 index 00000000..55ec54cb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/test_messages_proto3.proto @@ -0,0 +1,265 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd +// +// Test schema for proto3 messages. This test schema is used by: +// +// - benchmarks +// - fuzz tests +// - conformance tests +// + +syntax = "proto3"; + +package protobuf_test_messages.proto3; + +option java_package = "com.google.protobuf_test_messages.proto3"; +option objc_class_prefix = "Proto3"; + +// This is the default, but we specify it here explicitly. +option optimize_for = SPEED; + +import "google/protobuf/any.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +option cc_enable_arenas = true; + +// This proto includes every type of field in both singular and repeated +// forms. +// +// Also, crucially, all messages and enums in this file are eventually +// submessages of this message. So for example, a fuzz test of TestAllTypes +// could trigger bugs that occur in any message type in this file. We verify +// this stays true in a unit test. +message TestAllTypesProto3 { + message NestedMessage { + int32 a = 1; + TestAllTypesProto3 corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + enum AliasedEnum { + option allow_alias = true; + + ALIAS_FOO = 0; + ALIAS_BAR = 1; + ALIAS_BAZ = 2; + MOO = 2; + moo = 2; + bAz = 2; + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + AliasedEnum optional_aliased_enum = 23; + + string optional_string_piece = 24 [ctype = STRING_PIECE]; + string optional_cord = 25 [ctype = CORD]; + + TestAllTypesProto3 recursive_message = 27; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + // Packed + repeated int32 packed_int32 = 75 [packed = true]; + repeated int64 packed_int64 = 76 [packed = true]; + repeated uint32 packed_uint32 = 77 [packed = true]; + repeated uint64 packed_uint64 = 78 [packed = true]; + repeated sint32 packed_sint32 = 79 [packed = true]; + repeated sint64 packed_sint64 = 80 [packed = true]; + repeated fixed32 packed_fixed32 = 81 [packed = true]; + repeated fixed64 packed_fixed64 = 82 [packed = true]; + repeated sfixed32 packed_sfixed32 = 83 [packed = true]; + repeated sfixed64 packed_sfixed64 = 84 [packed = true]; + repeated float packed_float = 85 [packed = true]; + repeated double packed_double = 86 [packed = true]; + repeated bool packed_bool = 87 [packed = true]; + repeated NestedEnum packed_nested_enum = 88 [packed = true]; + + // Unpacked + repeated int32 unpacked_int32 = 89 [packed = false]; + repeated int64 unpacked_int64 = 90 [packed = false]; + repeated uint32 unpacked_uint32 = 91 [packed = false]; + repeated uint64 unpacked_uint64 = 92 [packed = false]; + repeated sint32 unpacked_sint32 = 93 [packed = false]; + repeated sint64 unpacked_sint64 = 94 [packed = false]; + repeated fixed32 unpacked_fixed32 = 95 [packed = false]; + repeated fixed64 unpacked_fixed64 = 96 [packed = false]; + repeated sfixed32 unpacked_sfixed32 = 97 [packed = false]; + repeated sfixed64 unpacked_sfixed64 = 98 [packed = false]; + repeated float unpacked_float = 99 [packed = false]; + repeated double unpacked_double = 100 [packed = false]; + repeated bool unpacked_bool = 101 [packed = false]; + repeated NestedEnum unpacked_nested_enum = 102 [packed = false]; + + // Map + map map_int32_int32 = 56; + map map_int64_int64 = 57; + map map_uint32_uint32 = 58; + map map_uint64_uint64 = 59; + map map_sint32_sint32 = 60; + map map_sint64_sint64 = 61; + map map_fixed32_fixed32 = 62; + map map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map map_int32_float = 66; + map map_int32_double = 67; + map map_bool_bool = 68; + map map_string_string = 69; + map map_string_bytes = 70; + map map_string_nested_message = 71; + map map_string_foreign_message = 72; + map map_string_nested_enum = 73; + map map_string_foreign_enum = 74; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + bool oneof_bool = 115; + uint64 oneof_uint64 = 116; + float oneof_float = 117; + double oneof_double = 118; + NestedEnum oneof_enum = 119; + google.protobuf.NullValue oneof_null_value = 120; + } + + // Well-known types + google.protobuf.BoolValue optional_bool_wrapper = 201; + google.protobuf.Int32Value optional_int32_wrapper = 202; + google.protobuf.Int64Value optional_int64_wrapper = 203; + google.protobuf.UInt32Value optional_uint32_wrapper = 204; + google.protobuf.UInt64Value optional_uint64_wrapper = 205; + google.protobuf.FloatValue optional_float_wrapper = 206; + google.protobuf.DoubleValue optional_double_wrapper = 207; + google.protobuf.StringValue optional_string_wrapper = 208; + google.protobuf.BytesValue optional_bytes_wrapper = 209; + + repeated google.protobuf.BoolValue repeated_bool_wrapper = 211; + repeated google.protobuf.Int32Value repeated_int32_wrapper = 212; + repeated google.protobuf.Int64Value repeated_int64_wrapper = 213; + repeated google.protobuf.UInt32Value repeated_uint32_wrapper = 214; + repeated google.protobuf.UInt64Value repeated_uint64_wrapper = 215; + repeated google.protobuf.FloatValue repeated_float_wrapper = 216; + repeated google.protobuf.DoubleValue repeated_double_wrapper = 217; + repeated google.protobuf.StringValue repeated_string_wrapper = 218; + repeated google.protobuf.BytesValue repeated_bytes_wrapper = 219; + + google.protobuf.Duration optional_duration = 301; + google.protobuf.Timestamp optional_timestamp = 302; + google.protobuf.FieldMask optional_field_mask = 303; + google.protobuf.Struct optional_struct = 304; + google.protobuf.Any optional_any = 305; + google.protobuf.Value optional_value = 306; + google.protobuf.NullValue optional_null_value = 307; + + repeated google.protobuf.Duration repeated_duration = 311; + repeated google.protobuf.Timestamp repeated_timestamp = 312; + repeated google.protobuf.FieldMask repeated_fieldmask = 313; + repeated google.protobuf.Struct repeated_struct = 324; + repeated google.protobuf.Any repeated_any = 315; + repeated google.protobuf.Value repeated_value = 316; + repeated google.protobuf.ListValue repeated_list_value = 317; + + // Test field-name-to-JSON-name convention. + // (protobuf says names can be any valid C/C++ identifier.) + int32 fieldname1 = 401; + int32 field_name2 = 402; + int32 _field_name3 = 403; + int32 field__name4_ = 404; + int32 field0name5 = 405; + int32 field_0_name6 = 406; + int32 fieldName7 = 407; + int32 FieldName8 = 408; + int32 field_Name9 = 409; + int32 Field_Name10 = 410; + int32 FIELD_NAME11 = 411; + int32 FIELD_name12 = 412; + int32 __field_name13 = 413; + int32 __Field_name14 = 414; + int32 field__name15 = 415; + int32 field__Name16 = 416; + int32 field_name17__ = 417; + int32 Field_name18__ = 418; + + // Reserved for testing unknown fields + reserved 501 to 510; +} + +message ForeignMessage { + int32 c = 1; +} + +enum ForeignEnum { + FOREIGN_FOO = 0; + FOREIGN_BAR = 1; + FOREIGN_BAZ = 2; +} + +message NullHypothesisProto3 {} + +message EnumOnlyProto3 { + enum Bool { + kFalse = 0; + kTrue = 1; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/timestamp.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/timestamp.proto new file mode 100644 index 00000000..fd0bc07d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/timestamp.proto @@ -0,0 +1,144 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/timestamppb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. +// +// # Examples +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// Example 5: Compute Timestamp from Java `Instant.now()`. +// +// Instant now = Instant.now(); +// +// Timestamp timestamp = +// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +// .setNanos(now.getNano()).build(); +// +// Example 6: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// # JSON Mapping +// +// In JSON format, the Timestamp type is encoded as a string in the +// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" +// where {year} is always expressed using four digits while {month}, {day}, +// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +// is required. A proto3 JSON serializer should always use UTC (as indicated by +// "Z") when printing the Timestamp type and a proto3 JSON parser should be +// able to accept both UTC and other timezones (as indicated by an offset). +// +// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +// 01:30 UTC on January 15, 2017. +// +// In JavaScript, one can convert a Date object to this format using the +// standard +// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +// method. In Python, a standard `datetime.datetime` object can be converted +// to this format using +// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with +// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() +// ) to obtain a formatter capable of generating timestamps in this format. +// +message Timestamp { + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/type.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/type.proto new file mode 100644 index 00000000..48cb11e7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/type.proto @@ -0,0 +1,193 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/any.proto"; +import "google/protobuf/source_context.proto"; + +option cc_enable_arenas = true; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TypeProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "google.golang.org/protobuf/types/known/typepb"; + +// A protocol buffer message type. +message Type { + // The fully qualified message name. + string name = 1; + // The list of fields. + repeated Field fields = 2; + // The list of types appearing in `oneof` definitions in this type. + repeated string oneofs = 3; + // The protocol buffer options. + repeated Option options = 4; + // The source context. + SourceContext source_context = 5; + // The source syntax. + Syntax syntax = 6; + // The source edition string, only valid when syntax is SYNTAX_EDITIONS. + string edition = 7; +} + +// A single field of a message type. +message Field { + // Basic field types. + enum Kind { + // Field type unknown. + TYPE_UNKNOWN = 0; + // Field type double. + TYPE_DOUBLE = 1; + // Field type float. + TYPE_FLOAT = 2; + // Field type int64. + TYPE_INT64 = 3; + // Field type uint64. + TYPE_UINT64 = 4; + // Field type int32. + TYPE_INT32 = 5; + // Field type fixed64. + TYPE_FIXED64 = 6; + // Field type fixed32. + TYPE_FIXED32 = 7; + // Field type bool. + TYPE_BOOL = 8; + // Field type string. + TYPE_STRING = 9; + // Field type group. Proto2 syntax only, and deprecated. + TYPE_GROUP = 10; + // Field type message. + TYPE_MESSAGE = 11; + // Field type bytes. + TYPE_BYTES = 12; + // Field type uint32. + TYPE_UINT32 = 13; + // Field type enum. + TYPE_ENUM = 14; + // Field type sfixed32. + TYPE_SFIXED32 = 15; + // Field type sfixed64. + TYPE_SFIXED64 = 16; + // Field type sint32. + TYPE_SINT32 = 17; + // Field type sint64. + TYPE_SINT64 = 18; + } + + // Whether a field is optional, required, or repeated. + enum Cardinality { + // For fields with unknown cardinality. + CARDINALITY_UNKNOWN = 0; + // For optional fields. + CARDINALITY_OPTIONAL = 1; + // For required fields. Proto2 syntax only. + CARDINALITY_REQUIRED = 2; + // For repeated fields. + CARDINALITY_REPEATED = 3; + } + + // The field type. + Kind kind = 1; + // The field cardinality. + Cardinality cardinality = 2; + // The field number. + int32 number = 3; + // The field name. + string name = 4; + // The field type URL, without the scheme, for message or enumeration + // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. + string type_url = 6; + // The index of the field type in `Type.oneofs`, for message or enumeration + // types. The first type has index 1; zero means the type is not in the list. + int32 oneof_index = 7; + // Whether to use alternative packed wire representation. + bool packed = 8; + // The protocol buffer options. + repeated Option options = 9; + // The field JSON name. + string json_name = 10; + // The string value of the default value of this field. Proto2 syntax only. + string default_value = 11; +} + +// Enum type definition. +message Enum { + // Enum type name. + string name = 1; + // Enum value definitions. + repeated EnumValue enumvalue = 2; + // Protocol buffer options. + repeated Option options = 3; + // The source context. + SourceContext source_context = 4; + // The source syntax. + Syntax syntax = 5; + // The source edition string, only valid when syntax is SYNTAX_EDITIONS. + string edition = 6; +} + +// Enum value definition. +message EnumValue { + // Enum value name. + string name = 1; + // Enum value number. + int32 number = 2; + // Protocol buffer options. + repeated Option options = 3; +} + +// A protocol buffer option, which can be attached to a message, field, +// enumeration, etc. +message Option { + // The option's name. For protobuf built-in options (options defined in + // descriptor.proto), this is the short name. For example, `"map_entry"`. + // For custom options, it should be the fully-qualified name. For example, + // `"google.api.http"`. + string name = 1; + // The option's value packed in an Any message. If the value is a primitive, + // the corresponding wrapper type defined in google/protobuf/wrappers.proto + // should be used. If the value is an enum, it should be stored as an int32 + // value using the google.protobuf.Int32Value type. + Any value = 2; +} + +// The syntax in which a protocol buffer element is defined. +enum Syntax { + // Syntax `proto2`. + SYNTAX_PROTO2 = 0; + // Syntax `proto3`. + SYNTAX_PROTO3 = 1; + // Syntax `editions`. + SYNTAX_EDITIONS = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest.proto new file mode 100644 index 00000000..6e97be2f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest.proto @@ -0,0 +1,1886 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file we will use for unit testing. +// +// LINT: ALLOW_GROUPS, LEGACY_NAMES + +syntax = "proto2"; + +// Some generic_services option(s) added automatically. +// See: http://go/proto2-generic-services-default +option cc_generic_services = true; // auto-added +option java_generic_services = true; // auto-added +option py_generic_services = true; // auto-added +option cc_enable_arenas = true; + +import "google/protobuf/unittest_import.proto"; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In test_util.h we do "using namespace unittest = protobuf_unittest". +package protobuf_unittest; + +// Protos optimized for SPEED use a strict superset of the generated code +// of equivalent ones optimized for CODE_SIZE, so we should optimize all our +// tests for speed unless explicitly testing code size optimization. +option optimize_for = SPEED; + +option java_outer_classname = "UnittestProto"; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + optional int32 bb = 1; + } + + enum NestedEnum { + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + + optional group OptionalGroup = 16 { + optional int32 a = 17; + } + + optional NestedMessage optional_nested_message = 18; + optional ForeignMessage optional_foreign_message = 19; + optional protobuf_unittest_import.ImportMessage optional_import_message = 20; + + optional NestedEnum optional_nested_enum = 21; + optional ForeignEnum optional_foreign_enum = 22; + optional protobuf_unittest_import.ImportEnum optional_import_enum = 23; + + optional string optional_string_piece = 24 [ctype=STRING_PIECE]; + optional string optional_cord = 25 [ctype=CORD]; + + // Defined in unittest_import_public.proto + optional protobuf_unittest_import.PublicImportMessage + optional_public_import_message = 26; + + optional NestedMessage optional_lazy_message = 27 [lazy=true]; + optional NestedMessage optional_unverified_lazy_message = 28 [unverified_lazy=true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated group RepeatedGroup = 46 { + optional int32 a = 47; + } + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessage repeated_import_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53; + + repeated string repeated_string_piece = 54 [ctype=STRING_PIECE]; + repeated string repeated_cord = 55 [ctype=CORD]; + + repeated NestedMessage repeated_lazy_message = 57 [lazy=true]; + + // Singular with defaults + optional int32 default_int32 = 61 [default = 41 ]; + optional int64 default_int64 = 62 [default = 42 ]; + optional uint32 default_uint32 = 63 [default = 43 ]; + optional uint64 default_uint64 = 64 [default = 44 ]; + optional sint32 default_sint32 = 65 [default = -45 ]; + optional sint64 default_sint64 = 66 [default = 46 ]; + optional fixed32 default_fixed32 = 67 [default = 47 ]; + optional fixed64 default_fixed64 = 68 [default = 48 ]; + optional sfixed32 default_sfixed32 = 69 [default = 49 ]; + optional sfixed64 default_sfixed64 = 70 [default = -50 ]; + optional float default_float = 71 [default = 51.5 ]; + optional double default_double = 72 [default = 52e3 ]; + optional bool default_bool = 73 [default = true ]; + optional string default_string = 74 [default = "hello"]; + optional bytes default_bytes = 75 [default = "world"]; + + optional NestedEnum default_nested_enum = 81 [default = BAR ]; + optional ForeignEnum default_foreign_enum = 82 [default = FOREIGN_BAR]; + optional protobuf_unittest_import.ImportEnum + default_import_enum = 83 [default = IMPORT_BAR]; + + optional string default_string_piece = 84 [ctype=STRING_PIECE,default="abc"]; + optional string default_cord = 85 [ctype=CORD,default="123"]; + + // For oneof test + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + string oneof_cord = 115 [ctype=CORD]; + string oneof_string_piece = 116 [ctype=STRING_PIECE]; + NestedMessage oneof_lazy_nested_message = 117 [lazy=true]; + } +} + +// This proto includes a recursively nested message. +message NestedTestAllTypes { + optional NestedTestAllTypes child = 1; + optional TestAllTypes payload = 2; + repeated NestedTestAllTypes repeated_child = 3; + optional NestedTestAllTypes lazy_child = 4 [lazy=true]; + optional TestAllTypes eager_child = 5 [lazy=false]; +} + +message TestDeprecatedFields { + optional int32 deprecated_int32 = 1 [deprecated=true]; + repeated string deprecated_repeated_string = 4 [deprecated=true]; + optional TestAllTypes.NestedMessage deprecated_message = 3 [deprecated=true]; + oneof oneof_fields { + int32 deprecated_int32_in_oneof = 2 [deprecated=true]; + } + optional TestDeprecatedFields nested = 5; +} + +message TestDeprecatedMessage { + option deprecated = true; +} + +// Define these after TestAllTypes to make sure the compiler can handle +// that. +message ForeignMessage { + optional int32 c = 1; + optional int32 d = 2; +} + +enum ForeignEnum { + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; + FOREIGN_BAX = 32; // (1 << 32) to generate a 64b bitmask would be incorrect. + FOREIGN_LARGE = 123456; // Large enough to escape the Boxed Integer cache. +} + +enum TestDeprecatedEnum { + option deprecated = true; + TEST_DEPRECATED_ENUM_UNSPECIFIED = 0; + TEST_DEPRECATED_ENUM_VALUE1 = 1; + TEST_DEPRECATED_ENUM_VALUE2 = 2; +} + +message TestReservedFields { + reserved 2, 15, 9 to 11; + reserved "bar", "baz"; +} + +enum TestReservedEnumFields { + UNKNOWN = 0; + reserved 2, 15, 9 to 11; + reserved "bar", "baz"; +} + +message TestAllExtensions { + extensions 1 to max; +} + +extend TestAllExtensions { + // Singular + optional int32 optional_int32_extension = 1; + optional int64 optional_int64_extension = 2; + optional uint32 optional_uint32_extension = 3; + optional uint64 optional_uint64_extension = 4; + optional sint32 optional_sint32_extension = 5; + optional sint64 optional_sint64_extension = 6; + optional fixed32 optional_fixed32_extension = 7; + optional fixed64 optional_fixed64_extension = 8; + optional sfixed32 optional_sfixed32_extension = 9; + optional sfixed64 optional_sfixed64_extension = 10; + optional float optional_float_extension = 11; + optional double optional_double_extension = 12; + optional bool optional_bool_extension = 13; + optional string optional_string_extension = 14; + optional bytes optional_bytes_extension = 15; + + optional group OptionalGroup_extension = 16 { + optional int32 a = 17; + } + + optional TestAllTypes.NestedMessage optional_nested_message_extension = 18; + optional ForeignMessage optional_foreign_message_extension = 19; + optional protobuf_unittest_import.ImportMessage + optional_import_message_extension = 20; + + optional TestAllTypes.NestedEnum optional_nested_enum_extension = 21; + optional ForeignEnum optional_foreign_enum_extension = 22; + optional protobuf_unittest_import.ImportEnum + optional_import_enum_extension = 23; + + optional string optional_string_piece_extension = 24 [ctype=STRING_PIECE]; + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + optional string optional_cord_extension = 25; + + optional protobuf_unittest_import.PublicImportMessage + optional_public_import_message_extension = 26; + + optional TestAllTypes.NestedMessage + optional_lazy_message_extension = 27 [lazy=true]; + optional TestAllTypes.NestedMessage + optional_unverified_lazy_message_extension = 28 [unverified_lazy=true]; + + // Repeated + repeated int32 repeated_int32_extension = 31; + repeated int64 repeated_int64_extension = 32; + repeated uint32 repeated_uint32_extension = 33; + repeated uint64 repeated_uint64_extension = 34; + repeated sint32 repeated_sint32_extension = 35; + repeated sint64 repeated_sint64_extension = 36; + repeated fixed32 repeated_fixed32_extension = 37; + repeated fixed64 repeated_fixed64_extension = 38; + repeated sfixed32 repeated_sfixed32_extension = 39; + repeated sfixed64 repeated_sfixed64_extension = 40; + repeated float repeated_float_extension = 41; + repeated double repeated_double_extension = 42; + repeated bool repeated_bool_extension = 43; + repeated string repeated_string_extension = 44; + repeated bytes repeated_bytes_extension = 45; + + repeated group RepeatedGroup_extension = 46 { + optional int32 a = 47; + } + + repeated TestAllTypes.NestedMessage repeated_nested_message_extension = 48; + repeated ForeignMessage repeated_foreign_message_extension = 49; + repeated protobuf_unittest_import.ImportMessage + repeated_import_message_extension = 50; + + repeated TestAllTypes.NestedEnum repeated_nested_enum_extension = 51; + repeated ForeignEnum repeated_foreign_enum_extension = 52; + repeated protobuf_unittest_import.ImportEnum + repeated_import_enum_extension = 53; + + repeated string repeated_string_piece_extension = 54 [ctype=STRING_PIECE]; + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + repeated string repeated_cord_extension = 55; + + repeated TestAllTypes.NestedMessage + repeated_lazy_message_extension = 57 [lazy=true]; + + // Singular with defaults + optional int32 default_int32_extension = 61 [default = 41 ]; + optional int64 default_int64_extension = 62 [default = 42 ]; + optional uint32 default_uint32_extension = 63 [default = 43 ]; + optional uint64 default_uint64_extension = 64 [default = 44 ]; + optional sint32 default_sint32_extension = 65 [default = -45 ]; + optional sint64 default_sint64_extension = 66 [default = 46 ]; + optional fixed32 default_fixed32_extension = 67 [default = 47 ]; + optional fixed64 default_fixed64_extension = 68 [default = 48 ]; + optional sfixed32 default_sfixed32_extension = 69 [default = 49 ]; + optional sfixed64 default_sfixed64_extension = 70 [default = -50 ]; + optional float default_float_extension = 71 [default = 51.5 ]; + optional double default_double_extension = 72 [default = 52e3 ]; + optional bool default_bool_extension = 73 [default = true ]; + optional string default_string_extension = 74 [default = "hello"]; + optional bytes default_bytes_extension = 75 [default = "world"]; + + optional TestAllTypes.NestedEnum + default_nested_enum_extension = 81 [default = BAR]; + optional ForeignEnum + default_foreign_enum_extension = 82 [default = FOREIGN_BAR]; + optional protobuf_unittest_import.ImportEnum + default_import_enum_extension = 83 [default = IMPORT_BAR]; + + optional string default_string_piece_extension = 84 [ctype=STRING_PIECE, + default="abc"]; + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + optional string default_cord_extension = 85 [default="123"]; + + // For oneof test + optional uint32 oneof_uint32_extension = 111; + optional TestAllTypes.NestedMessage oneof_nested_message_extension = 112; + optional string oneof_string_extension = 113; + optional bytes oneof_bytes_extension = 114; +} + +message TestMixedFieldsAndExtensions { + optional int32 a = 1; + repeated fixed32 b = 3; + extensions 2, 4; + extend TestMixedFieldsAndExtensions { + optional int32 c = 2; + repeated fixed32 d = 4; + } +} + +message TestGroup { + optional group OptionalGroup = 16 { + optional int32 a = 17; + optional int32 zz = 89; // fast table size must be at least 16, for this + // field to be parsed by the fast parser, since + // 89 - 17 = 72 is a multiple of 8. + } + optional ForeignEnum optional_foreign_enum = 22; +} + +message TestGroupExtension { + extensions 1 to max; +} + +message TestNestedExtension { + extend TestAllExtensions { + // Check for bug where string extensions declared in tested scope did not + // compile. + optional string test = 1002 [default="test"]; + // Used to test if generated extension name is correct when there are + // underscores. + optional string nested_string_extension = 1003; + } + + extend TestGroupExtension { + optional group OptionalGroup_extension = 16 { + optional int32 a = 17; + } + optional ForeignEnum optional_foreign_enum_extension = 22; + } +} + +message TestChildExtension { + optional string a = 1; + optional string b = 2; + optional TestAllExtensions optional_extension = 3; +} + +// Emulates wireformat data of TestChildExtension with dynamic extension +// (DynamicExtension). +message TestChildExtensionData { + message NestedTestAllExtensionsData { + message NestedDynamicExtensions { + optional int32 a = 1; + optional int32 b = 2; + } + optional NestedDynamicExtensions dynamic = 409707008; + } + optional string a = 1; + optional string b = 2; + optional NestedTestAllExtensionsData optional_extension = 3; +} + +message TestNestedChildExtension { + optional int32 a = 1; + optional TestChildExtension child = 2; +} + +// Emulates wireformat data of TestNestedChildExtension with dynamic extension +// (DynamicExtension). +message TestNestedChildExtensionData { + optional int32 a = 1; + optional TestChildExtensionData child = 2; +} + +// Required and closed enum fields are considered unknown fields if the value is +// not valid. We need to make sure it functions as expected. +message TestRequiredEnum { + required ForeignEnum required_enum = 1; + + // A dummy optional field. + optional int32 a = 2; +} + +// TestRequiredEnum + using enum values that won't fit to 64 bitmask. +message TestRequiredEnumNoMask { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 2; + BAR = 100; + BAZ = -1; // Intentionally negative. + } + + required NestedEnum required_enum = 1; + + // A dummy optional field. + optional int32 a = 2; +} + +message TestRequiredEnumMulti { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 100; + } + + // Intentionally placed in descending field number to force sorting in closed + // enum verification. + required NestedEnum required_enum_4 = 4; + optional int32 a_3 = 3; + required NestedEnum required_enum_2 = 2; + required ForeignEnum required_enum_1 = 1; +} + +message TestRequiredNoMaskMulti { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 100; + } + + // Intentionally placed in descending field number to force sorting in closed + // enum verification. Also, using large field numbers to use tag only + // matching for required fields. + required fixed32 required_fixed32_80 = 80; + required fixed32 required_fixed32_70 = 70; + + required NestedEnum required_enum_64 = 64; + required NestedEnum required_enum_4 = 4; + optional int32 a_3 = 3; + required NestedEnum required_enum_2 = 2; + required ForeignEnum required_enum_1 = 1; +} + +// We have separate messages for testing required fields because it's +// annoying to have to fill in required fields in TestProto in order to +// do anything with it. Note that we don't need to test every type of +// required filed because the code output is basically identical to +// optional fields for all types. +message TestRequired { + required int32 a = 1; + optional int32 dummy2 = 2; + required int32 b = 3; + + extend TestAllExtensions { + optional TestRequired single = 1000; + repeated TestRequired multi = 1001; + } + + // Pad the field count to 32 so that we can test that IsInitialized() + // properly checks multiple elements of has_bits_. + optional int32 dummy4 = 4; + optional int32 dummy5 = 5; + optional int32 dummy6 = 6; + optional int32 dummy7 = 7; + optional int32 dummy8 = 8; + optional int32 dummy9 = 9; + optional int32 dummy10 = 10; + optional int32 dummy11 = 11; + optional int32 dummy12 = 12; + optional int32 dummy13 = 13; + optional int32 dummy14 = 14; + optional int32 dummy15 = 15; + optional int32 dummy16 = 16; + optional int32 dummy17 = 17; + optional int32 dummy18 = 18; + optional int32 dummy19 = 19; + optional int32 dummy20 = 20; + optional int32 dummy21 = 21; + optional int32 dummy22 = 22; + optional int32 dummy23 = 23; + optional int32 dummy24 = 24; + optional int32 dummy25 = 25; + optional int32 dummy26 = 26; + optional int32 dummy27 = 27; + optional int32 dummy28 = 28; + optional int32 dummy29 = 29; + optional int32 dummy30 = 30; + optional int32 dummy31 = 31; + optional int32 dummy32 = 32; + + required int32 c = 33; + + // Add an optional child message to make this non-trivial for go/pdlazy. + optional ForeignMessage optional_foreign = 34; +} + +message TestRequiredForeign { + optional TestRequired optional_message = 1; + repeated TestRequired repeated_message = 2; + optional int32 dummy = 3; + + // Missing required fields must not affect verification of child messages. + optional NestedTestAllTypes optional_lazy_message = 4 [lazy = true]; +} + +message TestRequiredMessage { + optional TestRequired optional_message = 1; + repeated TestRequired repeated_message = 2; + required TestRequired required_message = 3; +} + +message TestNestedRequiredForeign { + optional TestNestedRequiredForeign child = 1; + optional TestRequiredForeign payload = 2; + optional int32 dummy = 3; + // optional message to test required closed enum. + optional TestRequiredEnum required_enum = 5; + optional TestRequiredEnumNoMask required_enum_no_mask = 6; + optional TestRequiredEnumMulti required_enum_multi = 7; + optional TestRequiredNoMaskMulti required_no_mask = 9; +} + +// Test that we can use NestedMessage from outside TestAllTypes. +message TestForeignNested { + optional TestAllTypes.NestedMessage foreign_nested = 1; +} + +// TestEmptyMessage is used to test unknown field support. +message TestEmptyMessage { +} + +// Like above, but declare all field numbers as potential extensions. No +// actual extensions should ever be defined for this type. +message TestEmptyMessageWithExtensions { + extensions 1 to max; +} + +// Needed for a Python test. +message TestPickleNestedMessage { + message NestedMessage { + optional int32 bb = 1; + message NestedNestedMessage { + optional int32 cc = 1; + } + } +} + +message TestMultipleExtensionRanges { + extensions 42; + extensions 4143 to 4243; + extensions 65536 to max; +} + +// Test that really large tag numbers don't break anything. +message TestReallyLargeTagNumber { + // The largest possible tag number is 2^28 - 1, since the wire format uses + // three bits to communicate wire type. + optional int32 a = 1; + optional int32 bb = 268435455; +} + +message TestRecursiveMessage { + optional TestRecursiveMessage a = 1; + optional int32 i = 2; +} + +// Test that mutual recursion works. +message TestMutualRecursionA { + message SubMessage { + optional TestMutualRecursionB b = 1; + } + optional TestMutualRecursionB bb = 1; + optional group SubGroup = 2 { + optional SubMessage sub_message = 3; // Needed because of bug in javatest + optional TestAllTypes not_in_this_scc = 4; + } + repeated group SubGroupR = 5 { + optional TestAllTypes payload = 6; + } +} + +message TestMutualRecursionB { + optional TestMutualRecursionA a = 1; + optional int32 optional_int32 = 2; +} + +message TestIsInitialized { + message SubMessage { + optional group SubGroup = 1 { + required int32 i = 2; + } + } + optional SubMessage sub_message = 1; +} + +// Test that groups have disjoint field numbers from their siblings and +// parents. This is NOT possible in proto1; only google.protobuf. When attempting +// to compile with proto1, this will emit an error; so we only include it +// in protobuf_unittest_proto. +message TestDupFieldNumber { // NO_PROTO1 + optional int32 a = 1; // NO_PROTO1 + optional group Foo = 2 { optional int32 a = 1; } // NO_PROTO1 + optional group Bar = 3 { optional int32 a = 1; } // NO_PROTO1 +} // NO_PROTO1 + +// Additional messages for testing lazy fields. +message TestEagerMessage { + optional TestAllTypes sub_message = 1 [lazy=false]; +} +message TestLazyMessage { + optional TestAllTypes sub_message = 1 [lazy=true]; +} +message TestLazyMessageRepeated { + repeated TestLazyMessage repeated_message = 1; +} +message TestEagerMaybeLazy { + message NestedMessage { + optional TestPackedTypes packed = 1; + } + optional TestAllTypes message_foo = 1; + optional TestAllTypes message_bar = 2; + optional NestedMessage message_baz = 3; +} +// Needed for a Python test. +message TestNestedMessageHasBits { + message NestedMessage { + repeated int32 nestedmessage_repeated_int32 = 1; + repeated ForeignMessage nestedmessage_repeated_foreignmessage = 2; + } + optional NestedMessage optional_nested_message = 1; +} + + +// Test an enum that has multiple values with the same number. +enum TestEnumWithDupValue { + option allow_alias = true; + + FOO1 = 1; + BAR1 = 2; + BAZ = 3; + FOO2 = 1; + BAR2 = 2; +} + +// Test an enum with large, unordered values. +enum TestSparseEnum { + SPARSE_A = 123; + SPARSE_B = 62374; + SPARSE_C = 12589234; + SPARSE_D = -15; + SPARSE_E = -53452; + SPARSE_F = 0; + SPARSE_G = 2; +} + +// Test message with CamelCase field names. This violates Protocol Buffer +// standard style. +message TestCamelCaseFieldNames { + optional int32 PrimitiveField = 1; + optional string StringField = 2; + optional ForeignEnum EnumField = 3; + optional ForeignMessage MessageField = 4; + optional string StringPieceField = 5 [ctype=STRING_PIECE]; + optional string CordField = 6 [ctype=CORD]; + + repeated int32 RepeatedPrimitiveField = 7; + repeated string RepeatedStringField = 8; + repeated ForeignEnum RepeatedEnumField = 9; + repeated ForeignMessage RepeatedMessageField = 10; + repeated string RepeatedStringPieceField = 11 [ctype=STRING_PIECE]; + repeated string RepeatedCordField = 12 [ctype=CORD]; +} + + +// We list fields out of order, to ensure that we're using field number and not +// field index to determine serialization order. +message TestFieldOrderings { + optional string my_string = 11; + extensions 2 to 10; + optional int64 my_int = 1; + extensions 12 to 100; + optional float my_float = 101; + message NestedMessage { + optional int64 oo = 2; + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + optional int32 bb = 1; + } + + optional NestedMessage optional_nested_message = 200; +} + +extend TestFieldOrderings { + optional string my_extension_string = 50; + optional int32 my_extension_int = 5; +} + +message TestExtensionOrderings1 { + extend TestFieldOrderings { + optional TestExtensionOrderings1 test_ext_orderings1 = 13; + } + optional string my_string = 1; +} + +message TestExtensionOrderings2 { + extend TestFieldOrderings { + optional TestExtensionOrderings2 test_ext_orderings2 = 12; + } + message TestExtensionOrderings3 { + extend TestFieldOrderings { + optional TestExtensionOrderings3 test_ext_orderings3 = 14; + } + optional string my_string = 1; + } + optional string my_string = 1; +} + +message TestExtremeDefaultValues { + optional bytes escaped_bytes = 1 [default = "\0\001\a\b\f\n\r\t\v\\\'\"\xfe"]; + optional uint32 large_uint32 = 2 [default = 0xFFFFFFFF]; + optional uint64 large_uint64 = 3 [default = 0xFFFFFFFFFFFFFFFF]; + optional int32 small_int32 = 4 [default = -0x7FFFFFFF]; + optional int64 small_int64 = 5 [default = -0x7FFFFFFFFFFFFFFF]; + optional int32 really_small_int32 = 21 [default = -0x80000000]; + optional int64 really_small_int64 = 22 [default = -0x8000000000000000]; + + // The default value here is UTF-8 for "\u1234". (We could also just type + // the UTF-8 text directly into this text file rather than escape it, but + // lots of people use editors that would be confused by this.) + optional string utf8_string = 6 [default = "\341\210\264"]; + + // Tests for single-precision floating-point values. + optional float zero_float = 7 [default = 0]; + optional float one_float = 8 [default = 1]; + optional float small_float = 9 [default = 1.5]; + optional float negative_one_float = 10 [default = -1]; + optional float negative_float = 11 [default = -1.5]; + // Using exponents + optional float large_float = 12 [default = 2E8]; + optional float small_negative_float = 13 [default = -8e-28]; + + // Text for nonfinite floating-point values. + optional double inf_double = 14 [default = inf]; + optional double neg_inf_double = 15 [default = -inf]; + optional double nan_double = 16 [default = nan]; + optional float inf_float = 17 [default = inf]; + optional float neg_inf_float = 18 [default = -inf]; + optional float nan_float = 19 [default = nan]; + + // Tests for C++ trigraphs. + // Trigraphs should be escaped in C++ generated files, but they should not be + // escaped for other languages. + // Note that in .proto file, "\?" is a valid way to escape ? in string + // literals. + optional string cpp_trigraph = 20 [default = "? \? ?? \?? \??? ??/ ?\?-"]; + + // String defaults containing the character '\000' + optional string string_with_zero = 23 [default = "hel\000lo"]; + optional bytes bytes_with_zero = 24 [default = "wor\000ld"]; + optional string string_piece_with_zero = 25 [ctype=STRING_PIECE, + default="ab\000c"]; + optional string cord_with_zero = 26 [ctype=CORD, + default="12\0003"]; + optional string replacement_string = 27 [default="${unknown}"]; +} + +message SparseEnumMessage { + optional TestSparseEnum sparse_enum = 1; +} + +// Test String and Bytes: string is for valid UTF-8 strings +message OneString { + optional string data = 1; +} + +message MoreString { + repeated string data = 1; +} + +message OneBytes { + optional bytes data = 1; +} + +message MoreBytes { + repeated bytes data = 1; +} + +message ManyOptionalString { + optional string str1 = 1; + optional string str2 = 2; + optional string str3 = 3; + optional string str4 = 4; + optional string str5 = 5; + optional string str6 = 6; + optional string str7 = 7; + optional string str8 = 8; + optional string str9 = 9; + optional string str10 = 10; + optional string str11 = 11; + optional string str12 = 12; + optional string str13 = 13; + optional string str14 = 14; + optional string str15 = 15; + optional string str16 = 16; + optional string str17 = 17; + optional string str18 = 18; + optional string str19 = 19; + optional string str20 = 20; + optional string str21 = 21; + optional string str22 = 22; + optional string str23 = 23; + optional string str24 = 24; + optional string str25 = 25; + optional string str26 = 26; + optional string str27 = 27; + optional string str28 = 28; + optional string str29 = 29; + optional string str30 = 30; + optional string str31 = 31; + optional string str32 = 32; +} + +// Test int32, uint32, int64, uint64, and bool are all compatible +message Int32Message { + optional int32 data = 1; +} + +message Uint32Message { + optional uint32 data = 1; +} + +message Int64Message { + optional int64 data = 1; +} + +message Uint64Message { + optional uint64 data = 1; +} + +message BoolMessage { + optional bool data = 1; +} + +// Test oneofs. +message TestOneof { + oneof foo { + int32 foo_int = 1; + string foo_string = 2; + TestAllTypes foo_message = 3; + group FooGroup = 4 { + optional int32 a = 5; + optional string b = 6; + } + } +} + +message TestOneofBackwardsCompatible { + optional int32 foo_int = 1; + optional string foo_string = 2; + optional TestAllTypes foo_message = 3; + optional group FooGroup = 4 { + optional int32 a = 5; + optional string b = 6; + } +} + +message TestOneof2 { + oneof foo { + int32 foo_int = 1; + string foo_string = 2; + string foo_cord = 3 [ctype=CORD]; + string foo_string_piece = 4 [ctype=STRING_PIECE]; + bytes foo_bytes = 5; + NestedEnum foo_enum = 6; + NestedMessage foo_message = 7; + group FooGroup = 8 { + optional int32 a = 9; + optional string b = 10; + } + NestedMessage foo_lazy_message = 11 [lazy=true]; + bytes foo_bytes_cord = 30 [ctype=CORD]; + } + + oneof bar { + int32 bar_int = 12 [default = 5]; + string bar_string = 13 [default = "STRING"]; + string bar_cord = 14 [ctype=CORD, default = "CORD"]; + string bar_string_piece = 15 [ctype=STRING_PIECE, default = "SPIECE"]; + bytes bar_bytes = 16 [default = "BYTES"]; + NestedEnum bar_enum = 17 [default = BAR]; + string bar_string_with_empty_default = 20 [default = ""]; + string bar_cord_with_empty_default = 21 [ctype=CORD, default = ""]; + string bar_string_piece_with_empty_default = 22 [ctype=STRING_PIECE, default = ""]; + bytes bar_bytes_with_empty_default = 23 [default = ""]; + } + + optional int32 baz_int = 18; + optional string baz_string = 19 [default = "BAZ"]; + + message NestedMessage { + optional int64 moo_int = 1; + repeated int32 corge_int = 2; + optional NestedMessage child = 3; + } + + enum NestedEnum { + FOO = 1; + BAR = 2; + BAZ = 3; + } +} + +message TestRequiredOneof { + oneof foo { + int32 foo_int = 1; + string foo_string = 2; + NestedMessage foo_message = 3; + NestedMessage foo_lazy_message = 4 [lazy = true]; + } + message NestedMessage { + required double required_double = 1; + } +} + +// Test messages for packed fields + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +// A message with the same fields as TestPackedTypes, but without packing. Used +// to test packed <-> unpacked wire compatibility. +message TestUnpackedTypes { + repeated int32 unpacked_int32 = 90 [packed = false]; + repeated int64 unpacked_int64 = 91 [packed = false]; + repeated uint32 unpacked_uint32 = 92 [packed = false]; + repeated uint64 unpacked_uint64 = 93 [packed = false]; + repeated sint32 unpacked_sint32 = 94 [packed = false]; + repeated sint64 unpacked_sint64 = 95 [packed = false]; + repeated fixed32 unpacked_fixed32 = 96 [packed = false]; + repeated fixed64 unpacked_fixed64 = 97 [packed = false]; + repeated sfixed32 unpacked_sfixed32 = 98 [packed = false]; + repeated sfixed64 unpacked_sfixed64 = 99 [packed = false]; + repeated float unpacked_float = 100 [packed = false]; + repeated double unpacked_double = 101 [packed = false]; + repeated bool unpacked_bool = 102 [packed = false]; + repeated ForeignEnum unpacked_enum = 103 [packed = false]; +} + +message TestPackedExtensions { + extensions 1 to max; +} + +extend TestPackedExtensions { + repeated int32 packed_int32_extension = 90 [packed = true]; + repeated int64 packed_int64_extension = 91 [packed = true]; + repeated uint32 packed_uint32_extension = 92 [packed = true]; + repeated uint64 packed_uint64_extension = 93 [packed = true]; + repeated sint32 packed_sint32_extension = 94 [packed = true]; + repeated sint64 packed_sint64_extension = 95 [packed = true]; + repeated fixed32 packed_fixed32_extension = 96 [packed = true]; + repeated fixed64 packed_fixed64_extension = 97 [packed = true]; + repeated sfixed32 packed_sfixed32_extension = 98 [packed = true]; + repeated sfixed64 packed_sfixed64_extension = 99 [packed = true]; + repeated float packed_float_extension = 100 [packed = true]; + repeated double packed_double_extension = 101 [packed = true]; + repeated bool packed_bool_extension = 102 [packed = true]; + repeated ForeignEnum packed_enum_extension = 103 [packed = true]; +} + +message TestUnpackedExtensions { + extensions 1 to max; +} + +extend TestUnpackedExtensions { + repeated int32 unpacked_int32_extension = 90 [packed = false]; + repeated int64 unpacked_int64_extension = 91 [packed = false]; + repeated uint32 unpacked_uint32_extension = 92 [packed = false]; + repeated uint64 unpacked_uint64_extension = 93 [packed = false]; + repeated sint32 unpacked_sint32_extension = 94 [packed = false]; + repeated sint64 unpacked_sint64_extension = 95 [packed = false]; + repeated fixed32 unpacked_fixed32_extension = 96 [packed = false]; + repeated fixed64 unpacked_fixed64_extension = 97 [packed = false]; + repeated sfixed32 unpacked_sfixed32_extension = 98 [packed = false]; + repeated sfixed64 unpacked_sfixed64_extension = 99 [packed = false]; + repeated float unpacked_float_extension = 100 [packed = false]; + repeated double unpacked_double_extension = 101 [packed = false]; + repeated bool unpacked_bool_extension = 102 [packed = false]; + repeated ForeignEnum unpacked_enum_extension = 103 [packed = false]; +} + +// Used by ExtensionSetTest/DynamicExtensions. The test actually builds +// a set of extensions to TestAllExtensions dynamically, based on the fields +// of this message type. +message TestDynamicExtensions { + enum DynamicEnumType { + DYNAMIC_FOO = 2200; + DYNAMIC_BAR = 2201; + DYNAMIC_BAZ = 2202; + } + message DynamicMessageType { + optional int32 dynamic_field = 2100; + } + + optional fixed32 scalar_extension = 2000; + optional ForeignEnum enum_extension = 2001; + optional DynamicEnumType dynamic_enum_extension = 2002; + + optional ForeignMessage message_extension = 2003; + optional DynamicMessageType dynamic_message_extension = 2004; + + repeated string repeated_extension = 2005; + repeated sint32 packed_extension = 2006 [packed = true]; +} + +message TestRepeatedString { + repeated string repeated_string1 = 1; + repeated string repeated_string2 = 2; + + repeated bytes repeated_bytes11 = 11; + repeated bytes repeated_bytes12 = 12; +} + +message TestRepeatedScalarDifferentTagSizes { + // Parsing repeated fixed size values used to fail. This message needs to be + // used in order to get a tag of the right size; all of the repeated fields + // in TestAllTypes didn't trigger the check. + repeated fixed32 repeated_fixed32 = 12; + // Check for a varint type, just for good measure. + repeated int32 repeated_int32 = 13; + + // These have two-byte tags. + repeated fixed64 repeated_fixed64 = 2046; + repeated int64 repeated_int64 = 2047; + + // Three byte tags. + repeated float repeated_float = 262142; + repeated uint64 repeated_uint64 = 262143; +} + +// Test that if an optional or required message/group field appears multiple +// times in the input, they need to be merged. +message TestParsingMerge { + // RepeatedFieldsGenerator defines matching field types as TestParsingMerge, + // except that all fields are repeated. In the tests, we will serialize the + // RepeatedFieldsGenerator to bytes, and parse the bytes to TestParsingMerge. + // Repeated fields in RepeatedFieldsGenerator are expected to be merged into + // the corresponding required/optional fields in TestParsingMerge. + message RepeatedFieldsGenerator { + repeated TestAllTypes field1 = 1; + repeated TestAllTypes field2 = 2; + repeated TestAllTypes field3 = 3; + repeated group Group1 = 10 { + optional TestAllTypes field1 = 11; + } + repeated group Group2 = 20 { + optional TestAllTypes field1 = 21; + } + repeated TestAllTypes ext1 = 1000; + repeated TestAllTypes ext2 = 1001; + } + required TestAllTypes required_all_types = 1; + optional TestAllTypes optional_all_types = 2; + repeated TestAllTypes repeated_all_types = 3; + optional group OptionalGroup = 10 { + optional TestAllTypes optional_group_all_types = 11; + } + repeated group RepeatedGroup = 20 { + optional TestAllTypes repeated_group_all_types = 21; + } + extensions 1000 to max; + extend TestParsingMerge { + optional TestAllTypes optional_ext = 1000; + repeated TestAllTypes repeated_ext = 1001; + } +} + +// Test that the correct exception is thrown by parseFrom in a corner case +// involving merging, extensions, and required fields. +message TestMergeException { + optional TestAllExtensions all_extensions = 1; +} + +message TestCommentInjectionMessage { + // */ <- This should not close the generated doc comment + optional string a = 1 [default="*/ <- Neither should this."]; +} + +// Used to check that the c++ code generator re-orders messages to reduce +// padding. +message TestMessageSize { + optional bool m1 = 1; + optional int64 m2 = 2; + optional bool m3 = 3; + optional string m4 = 4; + optional int32 m5 = 5; + optional int64 m6 = 6; +} + +// Test that RPC services work. +message FooRequest {} +message FooResponse {} + +message FooClientMessage {} +message FooServerMessage{} + +service TestService { + rpc Foo(FooRequest) returns (FooResponse); + rpc Bar(BarRequest) returns (BarResponse); +} + +message BarRequest {} +message BarResponse {} + +message TestJsonName { + optional int32 field_name1 = 1; + optional int32 fieldName2 = 2; + optional int32 FieldName3 = 3; + optional int32 _field_name4 = 4; + optional int32 FIELD_NAME5 = 5; + optional int32 field_name6 = 6 [json_name = "@type"]; + optional int32 fieldname7 = 7; +} + +message TestHugeFieldNumbers { + optional int32 optional_int32 = 536870000; + optional int32 fixed_32 = 536870001; + repeated int32 repeated_int32 = 536870002 [packed = false]; + repeated int32 packed_int32 = 536870003 [packed = true]; + + optional ForeignEnum optional_enum = 536870004; + optional string optional_string = 536870005; + optional bytes optional_bytes = 536870006; + optional ForeignMessage optional_message = 536870007; + + optional group OptionalGroup = 536870008 { + optional int32 group_a = 536870009; + } + + map string_string_map = 536870010; + + oneof oneof_field { + uint32 oneof_uint32 = 536870011; + TestAllTypes oneof_test_all_types = 536870012; + string oneof_string = 536870013; + bytes oneof_bytes = 536870014; + } + + extensions 536860000 to 536869999 [declaration = { + number: 536860000 + full_name: ".protobuf_unittest.test_all_types" + type: ".protobuf_unittest.TestAllTypes" + }]; +} + +extend TestHugeFieldNumbers { + optional TestAllTypes test_all_types = 536860000; +} + +message TestExtensionInsideTable { + optional int32 field1 = 1; + optional int32 field2 = 2; + optional int32 field3 = 3; + optional int32 field4 = 4; + extensions 5 to 5; + optional int32 field6 = 6; + optional int32 field7 = 7; + optional int32 field8 = 8; + optional int32 field9 = 9; + optional int32 field10 = 10; +} + +extend TestExtensionInsideTable { + optional int32 test_extension_inside_table_extension = 5; +} + +// NOTE: Intentionally nested to mirror go/glep. +message TestNestedGroupExtensionOuter { + optional group Layer1OptionalGroup = 1 { + repeated group Layer2RepeatedGroup = 2 { + extensions 3 + // NOTE: extension metadata is not supported due to targets such as + // `//google/protobuf_legacy_opensource/src:shell_scripts_test`, + // eee https://screenshot.googleplex.com/Axz2QD8nxjdpyFF + //[metadata = { + // NOTE: can't write type there due to some clever build gen code at + // http://google3/google/protobuf/BUILD;l=1247;rcl=411090862 + // type: "protobuf_unittest.TestNestedGroupExtensionInnerExtension", + // name: "inner", + // }] + ; + optional string another_field = 6; + } + repeated group Layer2AnotherOptionalRepeatedGroup = 4 { + optional string but_why_tho = 5; + } + } +} + +message TestNestedGroupExtensionInnerExtension { + optional string inner_name= 1; +} + +extend TestNestedGroupExtensionOuter.Layer1OptionalGroup.Layer2RepeatedGroup { + optional TestNestedGroupExtensionInnerExtension inner = 3; +} + +enum VeryLargeEnum { + ENUM_LABEL_DEFAULT = 0; + ENUM_LABEL_1 = 1; + ENUM_LABEL_2 = 2; + ENUM_LABEL_3 = 3; + ENUM_LABEL_4 = 4; + ENUM_LABEL_5 = 5; + ENUM_LABEL_6 = 6; + ENUM_LABEL_7 = 7; + ENUM_LABEL_8 = 8; + ENUM_LABEL_9 = 9; + ENUM_LABEL_10 = 10; + ENUM_LABEL_11 = 11; + ENUM_LABEL_12 = 12; + ENUM_LABEL_13 = 13; + ENUM_LABEL_14 = 14; + ENUM_LABEL_15 = 15; + ENUM_LABEL_16 = 16; + ENUM_LABEL_17 = 17; + ENUM_LABEL_18 = 18; + ENUM_LABEL_19 = 19; + ENUM_LABEL_20 = 20; + ENUM_LABEL_21 = 21; + ENUM_LABEL_22 = 22; + ENUM_LABEL_23 = 23; + ENUM_LABEL_24 = 24; + ENUM_LABEL_25 = 25; + ENUM_LABEL_26 = 26; + ENUM_LABEL_27 = 27; + ENUM_LABEL_28 = 28; + ENUM_LABEL_29 = 29; + ENUM_LABEL_30 = 30; + ENUM_LABEL_31 = 31; + ENUM_LABEL_32 = 32; + ENUM_LABEL_33 = 33; + ENUM_LABEL_34 = 34; + ENUM_LABEL_35 = 35; + ENUM_LABEL_36 = 36; + ENUM_LABEL_37 = 37; + ENUM_LABEL_38 = 38; + ENUM_LABEL_39 = 39; + ENUM_LABEL_40 = 40; + ENUM_LABEL_41 = 41; + ENUM_LABEL_42 = 42; + ENUM_LABEL_43 = 43; + ENUM_LABEL_44 = 44; + ENUM_LABEL_45 = 45; + ENUM_LABEL_46 = 46; + ENUM_LABEL_47 = 47; + ENUM_LABEL_48 = 48; + ENUM_LABEL_49 = 49; + ENUM_LABEL_50 = 50; + ENUM_LABEL_51 = 51; + ENUM_LABEL_52 = 52; + ENUM_LABEL_53 = 53; + ENUM_LABEL_54 = 54; + ENUM_LABEL_55 = 55; + ENUM_LABEL_56 = 56; + ENUM_LABEL_57 = 57; + ENUM_LABEL_58 = 58; + ENUM_LABEL_59 = 59; + ENUM_LABEL_60 = 60; + ENUM_LABEL_61 = 61; + ENUM_LABEL_62 = 62; + ENUM_LABEL_63 = 63; + ENUM_LABEL_64 = 64; + ENUM_LABEL_65 = 65; + ENUM_LABEL_66 = 66; + ENUM_LABEL_67 = 67; + ENUM_LABEL_68 = 68; + ENUM_LABEL_69 = 69; + ENUM_LABEL_70 = 70; + ENUM_LABEL_71 = 71; + ENUM_LABEL_72 = 72; + ENUM_LABEL_73 = 73; + ENUM_LABEL_74 = 74; + ENUM_LABEL_75 = 75; + ENUM_LABEL_76 = 76; + ENUM_LABEL_77 = 77; + ENUM_LABEL_78 = 78; + ENUM_LABEL_79 = 79; + ENUM_LABEL_80 = 80; + ENUM_LABEL_81 = 81; + ENUM_LABEL_82 = 82; + ENUM_LABEL_83 = 83; + ENUM_LABEL_84 = 84; + ENUM_LABEL_85 = 85; + ENUM_LABEL_86 = 86; + ENUM_LABEL_87 = 87; + ENUM_LABEL_88 = 88; + ENUM_LABEL_89 = 89; + ENUM_LABEL_90 = 90; + ENUM_LABEL_91 = 91; + ENUM_LABEL_92 = 92; + ENUM_LABEL_93 = 93; + ENUM_LABEL_94 = 94; + ENUM_LABEL_95 = 95; + ENUM_LABEL_96 = 96; + ENUM_LABEL_97 = 97; + ENUM_LABEL_98 = 98; + ENUM_LABEL_99 = 99; + ENUM_LABEL_100 = 100; +}; + +message TestExtensionRangeSerialize { + optional int32 foo_one = 1; + + extensions 2 to 2; + extensions 3 to 4; + + optional int32 foo_two = 6; + optional int32 foo_three = 7; + + extensions 9 to 10; + + optional int32 foo_four = 13; + + extensions 15 to 15; + extensions 17 to 17; + extensions 19 to 19; + + extend TestExtensionRangeSerialize { + optional int32 bar_one = 2; + optional int32 bar_two = 4; + + optional int32 bar_three = 10; + + optional int32 bar_four = 15; + optional int32 bar_five = 19; + } +} + +message TestVerifyInt32Simple { + optional int32 optional_int32_1 = 1; + optional int32 optional_int32_2 = 2; + optional int32 optional_int32_63 = 63; + optional int32 optional_int32_64 = 64; +} + +message TestVerifyInt32 { + optional int32 optional_int32_1 = 1; + optional int32 optional_int32_2 = 2; + optional int32 optional_int32_63 = 63; + optional int32 optional_int32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyMostlyInt32 { + optional int64 optional_int64_30 = 30; + + optional int32 optional_int32_1 = 1; + optional int32 optional_int32_2 = 2; + optional int32 optional_int32_3 = 3; + optional int32 optional_int32_4 = 4; + optional int32 optional_int32_63 = 63; + optional int32 optional_int32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyMostlyInt32BigFieldNumber { + optional int64 optional_int64_30 = 30; + optional int32 optional_int32_300 = 300; + + optional int32 optional_int32_1 = 1; + optional int32 optional_int32_2 = 2; + optional int32 optional_int32_3 = 3; + optional int32 optional_int32_4 = 4; + optional int32 optional_int32_63 = 63; + optional int32 optional_int32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyUint32Simple { + optional uint32 optional_uint32_1 = 1; + optional uint32 optional_uint32_2 = 2; + optional uint32 optional_uint32_63 = 63; + optional uint32 optional_uint32_64 = 64; +} + +message TestVerifyUint32 { + optional uint32 optional_uint32_1 = 1; + optional uint32 optional_uint32_2 = 2; + optional uint32 optional_uint32_63 = 63; + optional uint32 optional_uint32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyOneUint32 { + optional uint32 optional_uint32_1 = 1; + optional int32 optional_int32_2 = 2; + optional int32 optional_int32_63 = 63; + optional int32 optional_int32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyOneInt32BigFieldNumber { + optional int32 optional_int32_65 = 65; + + optional int64 optional_int64_1 = 1; + optional int64 optional_int64_2 = 2; + optional int64 optional_int64_63 = 63; + optional int64 optional_int64_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyInt32BigFieldNumber { + optional int32 optional_int32_1000 = 1000; + optional int32 optional_int32_65 = 65; + + optional int32 optional_int32_1 = 1; + optional int32 optional_int32_2 = 2; + optional int32 optional_int32_63 = 63; + optional int32 optional_int32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyUint32BigFieldNumber { + optional uint32 optional_uint32_1000 = 1000; + optional uint32 optional_uint32_65 = 65; + + optional uint32 optional_uint32_1 = 1; + optional uint32 optional_uint32_2 = 2; + optional uint32 optional_uint32_63 = 63; + optional uint32 optional_uint32_64 = 64; + + optional TestAllTypes optional_all_types = 9; + repeated TestAllTypes repeated_all_types = 10; +} + +message TestVerifyBigFieldNumberUint32 { + message Nested { + optional uint32 optional_uint32_5000 = 5000; + optional uint32 optional_uint32_1000 = 1000; + optional uint32 optional_uint32_66 = 66; + optional uint32 optional_uint32_65 = 65; + + optional uint32 optional_uint32_1 = 1; + optional uint32 optional_uint32_2 = 2; + optional uint32 optional_uint32_63 = 63; + optional uint32 optional_uint32_64 = 64; + + optional Nested optional_nested = 9; + repeated Nested repeated_nested = 10; + } + optional Nested optional_nested = 1; +} + +// This message contains different kind of enums to exercise the different +// parsers in table-driven. +message EnumParseTester { + enum SeqSmall0 { + SEQ_SMALL_0_DEFAULT = 0; + SEQ_SMALL_0_1 = 1; + SEQ_SMALL_0_2 = 2; + }; + optional SeqSmall0 optional_seq_small_0_lowfield = 1; + optional SeqSmall0 optional_seq_small_0_midfield = 1001; + optional SeqSmall0 optional_seq_small_0_hifield = 1000001; + repeated SeqSmall0 repeated_seq_small_0_lowfield = 2; + repeated SeqSmall0 repeated_seq_small_0_midfield = 1002; + repeated SeqSmall0 repeated_seq_small_0_hifield = 1000002; + repeated SeqSmall0 packed_seq_small_0_lowfield = 3 [packed = true]; + repeated SeqSmall0 packed_seq_small_0_midfield = 1003 [packed = true]; + repeated SeqSmall0 packed_seq_small_0_hifield = 1000003 [packed = true]; + + enum SeqSmall1 { + SEQ_SMALL_1_DEFAULT = 1; + SEQ_SMALL_1_2 = 2; + SEQ_SMALL_1_3 = 3; + }; + optional SeqSmall1 optional_seq_small_1_lowfield = 4; + optional SeqSmall1 optional_seq_small_1_midfield = 1004; + optional SeqSmall1 optional_seq_small_1_hifield = 1000004; + repeated SeqSmall1 repeated_seq_small_1_lowfield = 5; + repeated SeqSmall1 repeated_seq_small_1_midfield = 1005; + repeated SeqSmall1 repeated_seq_small_1_hifield = 1000005; + repeated SeqSmall1 packed_seq_small_1_lowfield = 6 [packed = true]; + repeated SeqSmall1 packed_seq_small_1_midfield = 1006 [packed = true]; + repeated SeqSmall1 packed_seq_small_1_hifield = 1000006 [packed = true]; + + enum SeqLarge { + SEQ_LARGE_DEFAULT = -1; + SEQ_LARGE_0 = 0; + SEQ_LARGE_1 = 1; + SEQ_LARGE_2 = 2; + SEQ_LARGE_3 = 3; + SEQ_LARGE_4 = 4; + SEQ_LARGE_5 = 5; + SEQ_LARGE_6 = 6; + SEQ_LARGE_7 = 7; + SEQ_LARGE_8 = 8; + SEQ_LARGE_9 = 9; + SEQ_LARGE_10 = 10; + SEQ_LARGE_11 = 11; + SEQ_LARGE_12 = 12; + SEQ_LARGE_13 = 13; + SEQ_LARGE_14 = 14; + SEQ_LARGE_15 = 15; + SEQ_LARGE_16 = 16; + SEQ_LARGE_17 = 17; + SEQ_LARGE_18 = 18; + SEQ_LARGE_19 = 19; + SEQ_LARGE_20 = 20; + SEQ_LARGE_21 = 21; + SEQ_LARGE_22 = 22; + SEQ_LARGE_23 = 23; + SEQ_LARGE_24 = 24; + SEQ_LARGE_25 = 25; + SEQ_LARGE_26 = 26; + SEQ_LARGE_27 = 27; + SEQ_LARGE_28 = 28; + SEQ_LARGE_29 = 29; + SEQ_LARGE_30 = 30; + SEQ_LARGE_31 = 31; + SEQ_LARGE_32 = 32; + SEQ_LARGE_33 = 33; + }; + optional SeqLarge optional_seq_large_lowfield = 7; + optional SeqLarge optional_seq_large_midfield = 1007; + optional SeqLarge optional_seq_large_hifield = 1000007; + repeated SeqLarge repeated_seq_large_lowfield = 8; + repeated SeqLarge repeated_seq_large_midfield = 1008; + repeated SeqLarge repeated_seq_large_hifield = 1000008; + repeated SeqLarge packed_seq_large_lowfield = 9 [packed = true]; + repeated SeqLarge packed_seq_large_midfield = 1009 [packed = true]; + repeated SeqLarge packed_seq_large_hifield = 1000009 [packed = true]; + + enum Arbitrary { + ARBITRARY_DEFAULT = -123123; + ARBITRARY_1 = -123; + ARBITRARY_2 = 213; + ARBITRARY_3 = 213213; + ARBITRARY_MIN = -2147483648; + ARBITRARY_MAX = 2147483647; + }; + optional Arbitrary optional_arbitrary_lowfield = 10; + optional Arbitrary optional_arbitrary_midfield = 1010; + optional Arbitrary optional_arbitrary_hifield = 1000010; + repeated Arbitrary repeated_arbitrary_lowfield = 11; + repeated Arbitrary repeated_arbitrary_midfield = 1011; + repeated Arbitrary repeated_arbitrary_hifield = 1000011; + repeated Arbitrary packed_arbitrary_lowfield = 12 [packed = true]; + repeated Arbitrary packed_arbitrary_midfield = 1012 [packed = true]; + repeated Arbitrary packed_arbitrary_hifield = 1000012 [packed = true]; + + extensions 2000000 to max; + extend EnumParseTester { + optional Arbitrary optional_arbitrary_ext = 2000000; + repeated Arbitrary repeated_arbitrary_ext = 2000001; + repeated Arbitrary packed_arbitrary_ext = 2000002 [packed = true]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + optional int32 other_field = 99; +} + +// This message contains different kind of bool fields to exercise the different +// parsers in table-drived. +message BoolParseTester { + optional bool optional_bool_lowfield = 1; + optional bool optional_bool_midfield = 1001; + optional bool optional_bool_hifield = 1000001; + repeated bool repeated_bool_lowfield = 2; + repeated bool repeated_bool_midfield = 1002; + repeated bool repeated_bool_hifield = 1000002; + repeated bool packed_bool_lowfield = 3 [packed = true]; + repeated bool packed_bool_midfield = 1003 [packed = true]; + repeated bool packed_bool_hifield = 1000003 [packed = true]; + + extensions 2000000 to max; + extend BoolParseTester { + optional bool optional_bool_ext = 2000000; + repeated bool repeated_bool_ext = 2000001; + repeated bool packed_bool_ext = 2000002 [packed = true]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + optional int32 other_field = 99; +} + +message Int32ParseTester { + optional int32 optional_int32_lowfield = 1; + optional int32 optional_int32_midfield = 1001; + optional int32 optional_int32_hifield = 1000001; + repeated int32 repeated_int32_lowfield = 2; + repeated int32 repeated_int32_midfield = 1002; + repeated int32 repeated_int32_hifield = 1000002; + repeated int32 packed_int32_lowfield = 3 [packed = true]; + repeated int32 packed_int32_midfield = 1003 [packed = true]; + repeated int32 packed_int32_hifield = 1000003 [packed = true]; + + extensions 2000000 to max; + extend Int32ParseTester { + optional int32 optional_int32_ext = 2000000; + repeated int32 repeated_int32_ext = 2000001; + repeated int32 packed_int32_ext = 2000002 [packed = true]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + optional int32 other_field = 99; +} + +message Int64ParseTester { + optional int64 optional_int64_lowfield = 1; + optional int64 optional_int64_midfield = 1001; + optional int64 optional_int64_hifield = 1000001; + repeated int64 repeated_int64_lowfield = 2; + repeated int64 repeated_int64_midfield = 1002; + repeated int64 repeated_int64_hifield = 1000002; + repeated int64 packed_int64_lowfield = 3 [packed = true]; + repeated int64 packed_int64_midfield = 1003 [packed = true]; + repeated int64 packed_int64_hifield = 1000003 [packed = true]; + + extensions 2000000 to max; + extend Int64ParseTester { + optional int64 optional_int64_ext = 2000000; + repeated int64 repeated_int64_ext = 2000001; + repeated int64 packed_int64_ext = 2000002 [packed = true]; + } + + // An arbitrary field we can append to to break the runs of repeated fields. + optional int32 other_field = 99; +} + +message InlinedStringIdxRegressionProto { + // We mix data to make sure aux ids and inlined string idx do not match. + // aux_idx == inlined_string_idx == 1 + optional string str1 = 1; + // aux_idx == 2 + optional InlinedStringIdxRegressionProto sub = 2; + // aux_idx == 3, inlined_string_idx == 2 + optional string str2 = 3; + // aux_idx == 4, inlined_string_idx == 3 + optional bytes str3 = 4; +} + +message StringParseTester { + optional string optional_string_lowfield = 1; + optional string optional_string_midfield = 1001; + optional string optional_string_hifield = 1000001; + repeated string repeated_string_lowfield = 2; + repeated string repeated_string_midfield = 1002; + repeated string repeated_string_hifield = 1000002; + + extensions 2000000 to max; + extend StringParseTester { + optional string optional_string_ext = 2000000; + repeated string repeated_string_ext = 2000001; + } +} + +message BadFieldNames{ + optional int32 OptionalInt32 = 1; + optional int32 for = 2; +} + +message TestNestedMessageRedaction { + optional string optional_unredacted_nested_string = 1; + optional string optional_redacted_nested_string = 2 [debug_redact = true]; +} + +message RedactedFields { + optional string optional_redacted_string = 1 [debug_redact = true]; + optional string optional_unredacted_string = 2; + repeated string repeated_redacted_string = 3 [debug_redact = true]; + repeated string repeated_unredacted_string = 4; + optional TestNestedMessageRedaction optional_redacted_message = 5 [debug_redact = true]; + optional TestNestedMessageRedaction optional_unredacted_message = 6; + repeated TestNestedMessageRedaction repeated_redacted_message = 7 + [debug_redact = true]; + repeated TestNestedMessageRedaction repeated_unredacted_message = 8; + map map_redacted_string = 9 [debug_redact = true]; + map map_unredacted_string = 10; + optional string optional_redacted_false_string = 11 [debug_redact = false]; + extensions 20 to 30; +} + +extend RedactedFields { + optional string redacted_extension = 20 [debug_redact = true]; +} + +message TestCord{ + optional bytes optional_bytes_cord = 1 [ctype=CORD]; + optional bytes optional_bytes_cord_default = 2 [ctype=CORD, default = "hello"]; +} + +message TestPackedEnumSmallRange { + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + } + repeated NestedEnum vals = 1 [packed = true]; +} + +message EnumsForBenchmark { + enum Flat { + A0 = 0; + A1 = 1; + A2 = 2; + A3 = 3; + A4 = 4; + A5 = 5; + A6 = 6; + A7 = 7; + A8 = 8; + A9 = 9; + A10 = 10; + A11 = 11; + A12 = 12; + A13 = 13; + A14 = 14; + A15 = 15; + } + // Has a few holes, bitmap can be used. + enum AlmostFlat { + B0 = 0; + B1 = 1; + B2 = 2; + B3 = 3; + B5 = 5; + B6 = 6; + B7 = 7; + B8 = 8; + B9 = 9; + B11 = 11; + B12 = 12; + B13 = 13; + B14 = 14; + B15 = 15; + B17 = 17; + B19 = 19; + } + enum Sparse { + C536 = 536; + C8387 = 8387; + C9673 = 9673; + C10285 = 10285; + C13318 = 13318; + C15963 = 15963; + C16439 = 16439; + C18197 = 18197; + C19430 = 19430; + C20361 = 20361; + C20706 = 20706; + C21050 = 21050; + C21906 = 21906; + C27265 = 27265; + C30109 = 30109; + C31670 = 31670; + } +} + +message TestMessageWithManyRepeatedPtrFields { + repeated string repeated_string_1 = 1; + repeated string repeated_string_2 = 2; + repeated string repeated_string_3 = 3; + repeated string repeated_string_4 = 4; + repeated string repeated_string_5 = 5; + repeated string repeated_string_6 = 6; + repeated string repeated_string_7 = 7; + repeated string repeated_string_8 = 8; + repeated string repeated_string_9 = 9; + repeated string repeated_string_10 = 10; + repeated string repeated_string_11 = 11; + repeated string repeated_string_12 = 12; + repeated string repeated_string_13 = 13; + repeated string repeated_string_14 = 14; + repeated string repeated_string_15 = 15; + repeated string repeated_string_16 = 16; + repeated string repeated_string_17 = 17; + repeated string repeated_string_18 = 18; + repeated string repeated_string_19 = 19; + repeated string repeated_string_20 = 20; + repeated string repeated_string_21 = 21; + repeated string repeated_string_22 = 22; + repeated string repeated_string_23 = 23; + repeated string repeated_string_24 = 24; + repeated string repeated_string_25 = 25; + repeated string repeated_string_26 = 26; + repeated string repeated_string_27 = 27; + repeated string repeated_string_28 = 28; + repeated string repeated_string_29 = 29; + repeated string repeated_string_30 = 30; + repeated string repeated_string_31 = 31; + repeated string repeated_string_32 = 32; +} + +message MessageCreatorZeroInit { + optional int32 i = 1; + optional double d = 2; + optional MessageCreatorZeroInit m = 3; + oneof one { + string os = 10; + string oc = 11 [ctype=CORD]; + fixed64 of = 12; + MessageCreatorZeroInit ol = 13 [lazy=true]; + } +} + +message MessageCreatorMemcpy { + optional string s = 1; + repeated int32 i = 2 [packed=true]; + optional MessageCreatorMemcpy m = 3 [lazy=true]; + map m2 = 4; +} + +message MessageCreatorFunc { + // This one is ArenaDtorNeeds::kRequired so we must run the constructor. + optional string c = 3 [ctype=CORD]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_arena.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_arena.proto new file mode 100644 index 00000000..d70e489c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_arena.proto @@ -0,0 +1,22 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +package proto2_arena_unittest; + +// Use expanded encoding for repeated fields by default (proto2 behavior). +option features.repeated_field_encoding = EXPANDED; +option cc_enable_arenas = true; + +message NestedMessage { + int32 d = 1; +} + +message ArenaMessage { + repeated NestedMessage repeated_nested_message = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_custom_options.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_custom_options.proto new file mode 100644 index 00000000..70750127 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_custom_options.proto @@ -0,0 +1,463 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: benjy@google.com (Benjy Weinberger) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file used to test the "custom options" feature of google.protobuf. + +syntax = "proto2"; + +// Some generic_services option(s) added automatically. +// See: http://go/proto2-generic-services-default +option cc_generic_services = true; // auto-added +option java_generic_services = true; // auto-added +option py_generic_services = true; + +// A custom file option (defined below). +option (file_opt1) = 9876543210; + +import "google/protobuf/any.proto"; +import "google/protobuf/descriptor.proto"; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +package protobuf_unittest; + +// Some simple test custom options of various types. + +extend google.protobuf.FileOptions { + optional uint64 file_opt1 = 7736974; +} + +extend google.protobuf.MessageOptions { + optional int32 message_opt1 = 7739036; +} + +extend google.protobuf.FieldOptions { + optional fixed64 field_opt1 = 7740936; + // This is useful for testing that we correctly register default values for + // extension options. + optional int32 field_opt2 = 7753913 [default = 42]; +} + +extend google.protobuf.OneofOptions { + optional int32 oneof_opt1 = 7740111; +} + +extend google.protobuf.EnumOptions { + optional sfixed32 enum_opt1 = 7753576; +} + +extend google.protobuf.EnumValueOptions { + optional int32 enum_value_opt1 = 1560678; +} + +extend google.protobuf.ServiceOptions { + optional sint64 service_opt1 = 7887650; +} + +enum MethodOpt1 { + METHODOPT1_VAL1 = 1; + METHODOPT1_VAL2 = 2; +} + +extend google.protobuf.MethodOptions { + optional MethodOpt1 method_opt1 = 7890860; +} + +// A test message with custom options at all possible locations (and also some +// regular options, to make sure they interact nicely). +message TestMessageWithCustomOptions { + option message_set_wire_format = false; + option (message_opt1) = -56; + + optional string field1 = 1 [ctype = CORD, (field_opt1) = 8765432109]; + + oneof AnOneof { + option (oneof_opt1) = -99; + + int32 oneof_field = 2; + } + + map map_field = 3 [(field_opt1) = 12345]; + + enum AnEnum { + option (enum_opt1) = -789; + + ANENUM_VAL1 = 1; + ANENUM_VAL2 = 2 [(enum_value_opt1) = 123]; + } +} + +// A test RPC service with custom options at all possible locations (and also +// some regular options, to make sure they interact nicely). +message CustomOptionFooRequest {} + +message CustomOptionFooResponse {} + +message CustomOptionFooClientMessage {} + +message CustomOptionFooServerMessage {} + +service TestServiceWithCustomOptions { + option (service_opt1) = -9876543210; + + rpc Foo(CustomOptionFooRequest) returns (CustomOptionFooResponse) { + option (method_opt1) = METHODOPT1_VAL2; + } +} + +// Options of every possible field type, so we can test them all exhaustively. + +message DummyMessageContainingEnum { + enum TestEnumType { + TEST_OPTION_ENUM_TYPE1 = 22; + TEST_OPTION_ENUM_TYPE2 = -23; + } +} + +message DummyMessageInvalidAsOptionType {} + +extend google.protobuf.MessageOptions { + optional bool bool_opt = 7706090; + optional int32 int32_opt = 7705709; + optional int64 int64_opt = 7705542; + optional uint32 uint32_opt = 7704880; + optional uint64 uint64_opt = 7702367; + optional sint32 sint32_opt = 7701568; + optional sint64 sint64_opt = 7700863; + optional fixed32 fixed32_opt = 7700307; + optional fixed64 fixed64_opt = 7700194; + optional sfixed32 sfixed32_opt = 7698645; + optional sfixed64 sfixed64_opt = 7685475; + optional float float_opt = 7675390; + optional double double_opt = 7673293; + optional string string_opt = 7673285; + optional bytes bytes_opt = 7673238; + optional DummyMessageContainingEnum.TestEnumType enum_opt = 7673233; + optional DummyMessageInvalidAsOptionType message_type_opt = 7665967; +} + +message CustomOptionMinIntegerValues { + option (bool_opt) = false; + option (int32_opt) = -0x80000000; + option (int64_opt) = -0x8000000000000000; + option (uint32_opt) = 0; + option (uint64_opt) = 0; + option (sint32_opt) = -0x80000000; + option (sint64_opt) = -0x8000000000000000; + option (fixed32_opt) = 0; + option (fixed64_opt) = 0; + option (sfixed32_opt) = -0x80000000; + option (sfixed64_opt) = -0x8000000000000000; +} + +message CustomOptionMaxIntegerValues { + option (bool_opt) = true; + option (int32_opt) = 0x7FFFFFFF; + option (int64_opt) = 0x7FFFFFFFFFFFFFFF; + option (uint32_opt) = 0xFFFFFFFF; + option (uint64_opt) = 0xFFFFFFFFFFFFFFFF; + option (sint32_opt) = 0x7FFFFFFF; + option (sint64_opt) = 0x7FFFFFFFFFFFFFFF; + option (fixed32_opt) = 0xFFFFFFFF; + option (fixed64_opt) = 0xFFFFFFFFFFFFFFFF; + option (sfixed32_opt) = 0x7FFFFFFF; + option (sfixed64_opt) = 0x7FFFFFFFFFFFFFFF; +} + +message CustomOptionOtherValues { + option (int32_opt) = -100; // To test sign-extension. + option (float_opt) = 12.3456789; + option (double_opt) = 1.234567890123456789; + option (string_opt) = "Hello, \"World\""; + option (bytes_opt) = "Hello\0World"; + option (enum_opt) = TEST_OPTION_ENUM_TYPE2; +} + +message SettingRealsFromPositiveInts { + option (float_opt) = 12; + option (double_opt) = 154; +} + +message SettingRealsFromNegativeInts { + option (float_opt) = -12; + option (double_opt) = -154; +} + +message SettingRealsFromInf { + option (float_opt) = inf; + option (double_opt) = inf; +} + +message SettingRealsFromNegativeInf { + option (float_opt) = -inf; + option (double_opt) = -inf; +} + +message SettingRealsFromNan { + option (float_opt) = nan; + option (double_opt) = nan; +} + +message SettingRealsFromNegativeNan { + option (float_opt) = -nan; + option (double_opt) = -nan; +} + +// Options of complex message types, themselves combined and extended in +// various ways. + +message ComplexOptionType1 { + optional int32 foo = 1; + optional int32 foo2 = 2; + optional int32 foo3 = 3; + repeated int32 foo4 = 4; + + extensions 100 to max; +} + +message ComplexOptionType2 { + optional ComplexOptionType1 bar = 1; + optional int32 baz = 2; + + message ComplexOptionType4 { + optional int32 waldo = 1; + + extend google.protobuf.MessageOptions { + optional ComplexOptionType4 complex_opt4 = 7633546; + } + } + + optional ComplexOptionType4 fred = 3; + repeated ComplexOptionType4 barney = 4; + + extensions 100 to max; +} + +message ComplexOptionType3 { + optional int32 moo = 1; + + optional group ComplexOptionType5 = 2 { + optional int32 plugh = 3; + } +} + +extend ComplexOptionType1 { + optional int32 mooo = 7663707; + optional ComplexOptionType3 corge = 7663442; +} + +extend ComplexOptionType2 { + optional int32 grault = 7650927; + optional ComplexOptionType1 garply = 7649992; +} + +extend google.protobuf.MessageOptions { + optional protobuf_unittest.ComplexOptionType1 complex_opt1 = 7646756; + optional ComplexOptionType2 complex_opt2 = 7636949; + optional ComplexOptionType3 complex_opt3 = 7636463; + optional group ComplexOpt6 = 7595468 { + optional int32 xyzzy = 7593951; + } +} + +// Note that we try various different ways of naming the same extension. +message VariousComplexOptions { + option (.protobuf_unittest.complex_opt1).foo = 42; + option (protobuf_unittest.complex_opt1).(.protobuf_unittest.mooo) = 324; + option (.protobuf_unittest.complex_opt1).(protobuf_unittest.corge).moo = 876; + option (protobuf_unittest.complex_opt1).foo4 = 99; + option (protobuf_unittest.complex_opt1).foo4 = 88; + option (complex_opt2).baz = 987; + option (complex_opt2).(grault) = 654; + option (complex_opt2).bar.foo = 743; + option (complex_opt2).bar.(mooo) = 1999; + option (complex_opt2).bar.(protobuf_unittest.corge).moo = 2008; + option (complex_opt2).(garply).foo = 741; + option (complex_opt2).(garply).(.protobuf_unittest.mooo) = 1998; + option (complex_opt2).(protobuf_unittest.garply).(corge).moo = 2121; + option (ComplexOptionType2.ComplexOptionType4.complex_opt4).waldo = 1971; + option (complex_opt2).fred.waldo = 321; + option (complex_opt2).barney = { + waldo: 101 + }; + option (complex_opt2).barney = { + waldo: 212 + }; + option (protobuf_unittest.complex_opt3).moo = 9; + option (complex_opt3).complexoptiontype5.plugh = 22; + option (complexopt6).xyzzy = 24; +} + +// ------------------------------------------------------ +// Definitions for testing aggregate option parsing. +// See descriptor_unittest.cc. + +message AggregateMessageSet { + option message_set_wire_format = true; + + extensions 4 to max; +} + +message AggregateMessageSetElement { + extend AggregateMessageSet { + optional AggregateMessageSetElement message_set_extension = 15447542; + } + optional string s = 1; +} + +// A helper type used to test aggregate option parsing +message Aggregate { + optional int32 i = 1; + optional string s = 2; + + // A nested object + optional Aggregate sub = 3; + + // To test the parsing of extensions inside aggregate values + optional google.protobuf.FileOptions file = 4; + extend google.protobuf.FileOptions { + optional Aggregate nested = 15476903; + } + + // An embedded message set + optional AggregateMessageSet mset = 5; + + // An any + optional google.protobuf.Any any = 6; +} + +// Allow Aggregate to be used as an option at all possible locations +// in the .proto grammar. +extend google.protobuf.FileOptions { + optional Aggregate fileopt = 15478479; +} +extend google.protobuf.MessageOptions { + optional Aggregate msgopt = 15480088; +} +extend google.protobuf.FieldOptions { + optional Aggregate fieldopt = 15481374; +} +extend google.protobuf.EnumOptions { + optional Aggregate enumopt = 15483218; +} +extend google.protobuf.EnumValueOptions { + optional Aggregate enumvalopt = 15486921; +} +extend google.protobuf.ServiceOptions { + optional Aggregate serviceopt = 15497145; +} +extend google.protobuf.MethodOptions { + optional Aggregate methodopt = 15512713; +} + +// Try using AggregateOption at different points in the proto grammar +option (fileopt) = { + s: 'FileAnnotation' + // Also test the handling of comments + /* of both types */ + i: 100 + + sub { s: 'NestedFileAnnotation' } + + // Include a google.protobuf.FileOptions and recursively extend it with + // another fileopt. + file { + [protobuf_unittest.fileopt] { s: 'FileExtensionAnnotation' } + } + + // A message set inside an option value + mset { + [protobuf_unittest.AggregateMessageSetElement.message_set_extension] { + s: 'EmbeddedMessageSetElement' + } + } + + any { + [type.googleapis.com/protobuf_unittest.AggregateMessageSetElement] { + s: 'EmbeddedMessageSetElement' + } + } +}; + +message AggregateMessage { + option (msgopt) = { + i: 101 + s: 'MessageAnnotation' + }; + + optional int32 fieldname = 1 [(fieldopt) = { s: 'FieldAnnotation' }]; +} + +service AggregateService { + option (serviceopt) = { + s: 'ServiceAnnotation' + }; + + rpc Method(AggregateMessage) returns (AggregateMessage) { + option (methodopt) = { + s: 'MethodAnnotation' + }; + } +} + +enum AggregateEnum { + option (enumopt) = { + s: 'EnumAnnotation' + }; + + VALUE = 1 [(enumvalopt) = { s: 'EnumValueAnnotation' }]; +} + +// Test custom options for nested type. +message NestedOptionType { + message NestedMessage { + option (message_opt1) = 1001; + + optional int32 nested_field = 1 [(field_opt1) = 1002]; + } + enum NestedEnum { + option (enum_opt1) = 1003; + + NESTED_ENUM_VALUE = 1 [(enum_value_opt1) = 1004]; + } + extend google.protobuf.FileOptions { + optional int32 nested_extension = 7912573 [(field_opt2) = 1005]; + } +} + +// Custom message option that has a required enum field. +// WARNING: this is strongly discouraged! +message OldOptionType { + enum TestEnum { + OLD_VALUE = 0; + } + required TestEnum value = 1; +} + +// Updated version of the custom option above. +message NewOptionType { + enum TestEnum { + OLD_VALUE = 0; + NEW_VALUE = 1; + } + required TestEnum value = 1; +} + +extend google.protobuf.MessageOptions { + optional OldOptionType required_enum_opt = 106161807; +} + +// Test message using the "required_enum_opt" option defined above. +message TestMessageWithRequiredEnumOption { + option (required_enum_opt) = { + value: OLD_VALUE + }; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_delimited.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_delimited.proto new file mode 100644 index 00000000..6c69cf07 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_delimited.proto @@ -0,0 +1,77 @@ +edition = "2023"; + +package editions_unittest; + +import "google/protobuf/unittest_delimited_import.proto"; + +option java_multiple_files = true; + +// Test various scenarios that are now possible in edition 2023 that weren't in +// google.protobuf. + +message LengthPrefixed { + int32 a = 1; + int32 b = 2; +} + +message NotGroupLikeScope { + int32 a = 1; + int32 b = 2; +} + +message GroupLikeFileScope { + int32 a = 1; + int32 b = 2; +} + +message TestDelimited { + message LengthPrefixed { + int32 a = 1; + int32 b = 2; + } + // Non-delimited field that otherwise looks group-like. + LengthPrefixed lengthprefixed = 1; + + // Nested field for nested tests. + TestDelimited nested = 2 [features.message_encoding = DELIMITED]; + + message GroupLike { + int32 a = 1; + int32 b = 2; + } + + // Truly group-like field. + GroupLike grouplike = 3 [features.message_encoding = DELIMITED]; + + // Delimited field that isn't group-like solely because of its name. + GroupLike notgrouplike = 4 [features.message_encoding = DELIMITED]; + + // Delimited field that isn't group-like because of the scope of its type. + NotGroupLikeScope notgrouplikescope = 5 + [features.message_encoding = DELIMITED]; + + // Delimited field that's grouplike except that it's an imported type. + MessageImport messageimport = 6 [features.message_encoding = DELIMITED]; + + extensions 1000 to max; +} + +extend TestDelimited { + // Non-delimited field that otherwise looks group-like. + LengthPrefixed lengthprefixed = 1004; + + // Truly group-like extension. + GroupLikeFileScope grouplikefilescope = 1000 + [features.message_encoding = DELIMITED]; + + // Delimited extension that isn't group-like because of its name. + NotGroupLikeScope not_group_like_scope = 1001 + [features.message_encoding = DELIMITED]; + + // Delimited extension that isn't group-like because of the scope of its type. + TestDelimited.GroupLike grouplike = 1002 + [features.message_encoding = DELIMITED]; + + // Delimited extension that's grouplike except that it's an imported type. + MessageImport messageimport = 1003 [features.message_encoding = DELIMITED]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_delimited_import.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_delimited_import.proto new file mode 100644 index 00000000..5dc1a21f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_delimited_import.proto @@ -0,0 +1,10 @@ +edition = "2023"; + +package editions_unittest; + +option java_multiple_files = true; + +message MessageImport { + int32 a = 1; + int32 b = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_drop_unknown_fields.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_drop_unknown_fields.proto new file mode 100644 index 00000000..10a62048 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_drop_unknown_fields.proto @@ -0,0 +1,37 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +package unittest_drop_unknown_fields; + +// Treat all fields as implicit present by default (proto3 behavior). +option features.field_presence = IMPLICIT; +option objc_class_prefix = "DropUnknowns"; +option csharp_namespace = "Google.Protobuf.TestProtos"; + +message Foo { + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + } + int32 int32_value = 1; + NestedEnum enum_value = 2; +} + +message FooWithExtraFields { + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + MOO = 3; + } + int32 int32_value = 1; + NestedEnum enum_value = 2; + int32 extra_int32_value = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_embed_optimize_for.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_embed_optimize_for.proto new file mode 100644 index 00000000..f4f2f894 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_embed_optimize_for.proto @@ -0,0 +1,29 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file which imports a proto file that uses optimize_for = CODE_SIZE. + +syntax = "proto2"; + +package protobuf_unittest; + +import "google/protobuf/unittest_optimize_for.proto"; + +// We optimize for speed here, but we are importing a proto that is optimized +// for code size. +option optimize_for = SPEED; + +message TestEmbedOptimizedForSize { + // Test that embedding a message which has optimize_for = CODE_SIZE into + // one optimized for speed works. + optional TestOptimizedForSize optional_message = 1; + repeated TestOptimizedForSize repeated_message = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_empty.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_empty.proto new file mode 100644 index 00000000..f2411781 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_empty.proto @@ -0,0 +1,18 @@ +// NOLINT(no_package_specified): Test proto with no package + +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd +// +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file intentionally left blank. (At one point this wouldn't compile +// correctly.) + +syntax = "proto2"; + diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_enormous_descriptor.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_enormous_descriptor.proto new file mode 100644 index 00000000..a8b6452a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_enormous_descriptor.proto @@ -0,0 +1,1028 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Copyright 2009 Google Inc. All rights reserved. +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file that has an extremely large descriptor. Used to test that +// descriptors over 64k don't break language-specific limits in generated code, +// such as the string literal length limit in Java. + +syntax = "proto2"; + +package protobuf_unittest; +option java_package = "com.google.protobuf"; + +// Avoid generating insanely long methods. +option optimize_for = CODE_SIZE; + +// clang-format off +message TestEnormousDescriptor { + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_1 = 1 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_2 = 2 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_3 = 3 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_4 = 4 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_5 = 5 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_6 = 6 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_7 = 7 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_8 = 8 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_9 = 9 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_10 = 10 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_11 = 11 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_12 = 12 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_13 = 13 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_14 = 14 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_15 = 15 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_16 = 16 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_17 = 17 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_18 = 18 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_19 = 19 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_20 = 20 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_21 = 21 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_22 = 22 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_23 = 23 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_24 = 24 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_25 = 25 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_26 = 26 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_27 = 27 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_28 = 28 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_29 = 29 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_30 = 30 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_31 = 31 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_32 = 32 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_33 = 33 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_34 = 34 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_35 = 35 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_36 = 36 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_37 = 37 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_38 = 38 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_39 = 39 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_40 = 40 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_41 = 41 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_42 = 42 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_43 = 43 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_44 = 44 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_45 = 45 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_46 = 46 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_47 = 47 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_48 = 48 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_49 = 49 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_50 = 50 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_51 = 51 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_52 = 52 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_53 = 53 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_54 = 54 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_55 = 55 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_56 = 56 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_57 = 57 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_58 = 58 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_59 = 59 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_60 = 60 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_61 = 61 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_62 = 62 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_63 = 63 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_64 = 64 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_65 = 65 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_66 = 66 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_67 = 67 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_68 = 68 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_69 = 69 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_70 = 70 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_71 = 71 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_72 = 72 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_73 = 73 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_74 = 74 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_75 = 75 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_76 = 76 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_77 = 77 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_78 = 78 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_79 = 79 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_80 = 80 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_81 = 81 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_82 = 82 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_83 = 83 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_84 = 84 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_85 = 85 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_86 = 86 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_87 = 87 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_88 = 88 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_89 = 89 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_90 = 90 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_91 = 91 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_92 = 92 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_93 = 93 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_94 = 94 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_95 = 95 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_96 = 96 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_97 = 97 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_98 = 98 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_99 = 99 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_100 = 100 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_101 = 101 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_102 = 102 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_103 = 103 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_104 = 104 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_105 = 105 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_106 = 106 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_107 = 107 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_108 = 108 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_109 = 109 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_110 = 110 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_111 = 111 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_112 = 112 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_113 = 113 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_114 = 114 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_115 = 115 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_116 = 116 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_117 = 117 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_118 = 118 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_119 = 119 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_120 = 120 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_121 = 121 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_122 = 122 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_123 = 123 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_124 = 124 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_125 = 125 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_126 = 126 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_127 = 127 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_128 = 128 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_129 = 129 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_130 = 130 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_131 = 131 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_132 = 132 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_133 = 133 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_134 = 134 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_135 = 135 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_136 = 136 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_137 = 137 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_138 = 138 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_139 = 139 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_140 = 140 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_141 = 141 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_142 = 142 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_143 = 143 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_144 = 144 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_145 = 145 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_146 = 146 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_147 = 147 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_148 = 148 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_149 = 149 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_150 = 150 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_151 = 151 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_152 = 152 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_153 = 153 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_154 = 154 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_155 = 155 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_156 = 156 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_157 = 157 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_158 = 158 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_159 = 159 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_160 = 160 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_161 = 161 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_162 = 162 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_163 = 163 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_164 = 164 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_165 = 165 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_166 = 166 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_167 = 167 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_168 = 168 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_169 = 169 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_170 = 170 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_171 = 171 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_172 = 172 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_173 = 173 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_174 = 174 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_175 = 175 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_176 = 176 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_177 = 177 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_178 = 178 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_179 = 179 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_180 = 180 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_181 = 181 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_182 = 182 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_183 = 183 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_184 = 184 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_185 = 185 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_186 = 186 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_187 = 187 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_188 = 188 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_189 = 189 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_190 = 190 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_191 = 191 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_192 = 192 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_193 = 193 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_194 = 194 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_195 = 195 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_196 = 196 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_197 = 197 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_198 = 198 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_199 = 199 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_200 = 200 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_201 = 201 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_202 = 202 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_203 = 203 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_204 = 204 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_205 = 205 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_206 = 206 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_207 = 207 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_208 = 208 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_209 = 209 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_210 = 210 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_211 = 211 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_212 = 212 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_213 = 213 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_214 = 214 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_215 = 215 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_216 = 216 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_217 = 217 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_218 = 218 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_219 = 219 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_220 = 220 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_221 = 221 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_222 = 222 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_223 = 223 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_224 = 224 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_225 = 225 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_226 = 226 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_227 = 227 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_228 = 228 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_229 = 229 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_230 = 230 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_231 = 231 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_232 = 232 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_233 = 233 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_234 = 234 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_235 = 235 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_236 = 236 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_237 = 237 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_238 = 238 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_239 = 239 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_240 = 240 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_241 = 241 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_242 = 242 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_243 = 243 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_244 = 244 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_245 = 245 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_246 = 246 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_247 = 247 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_248 = 248 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_249 = 249 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_250 = 250 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_251 = 251 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_252 = 252 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_253 = 253 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_254 = 254 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_255 = 255 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_256 = 256 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_257 = 257 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_258 = 258 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_259 = 259 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_260 = 260 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_261 = 261 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_262 = 262 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_263 = 263 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_264 = 264 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_265 = 265 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_266 = 266 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_267 = 267 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_268 = 268 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_269 = 269 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_270 = 270 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_271 = 271 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_272 = 272 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_273 = 273 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_274 = 274 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_275 = 275 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_276 = 276 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_277 = 277 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_278 = 278 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_279 = 279 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_280 = 280 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_281 = 281 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_282 = 282 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_283 = 283 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_284 = 284 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_285 = 285 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_286 = 286 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_287 = 287 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_288 = 288 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_289 = 289 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_290 = 290 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_291 = 291 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_292 = 292 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_293 = 293 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_294 = 294 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_295 = 295 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_296 = 296 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_297 = 297 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_298 = 298 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_299 = 299 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_300 = 300 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_301 = 301 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_302 = 302 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_303 = 303 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_304 = 304 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_305 = 305 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_306 = 306 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_307 = 307 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_308 = 308 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_309 = 309 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_310 = 310 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_311 = 311 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_312 = 312 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_313 = 313 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_314 = 314 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_315 = 315 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_316 = 316 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_317 = 317 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_318 = 318 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_319 = 319 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_320 = 320 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_321 = 321 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_322 = 322 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_323 = 323 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_324 = 324 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_325 = 325 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_326 = 326 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_327 = 327 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_328 = 328 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_329 = 329 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_330 = 330 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_331 = 331 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_332 = 332 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_333 = 333 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_334 = 334 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_335 = 335 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_336 = 336 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_337 = 337 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_338 = 338 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_339 = 339 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_340 = 340 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_341 = 341 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_342 = 342 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_343 = 343 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_344 = 344 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_345 = 345 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_346 = 346 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_347 = 347 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_348 = 348 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_349 = 349 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_350 = 350 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_351 = 351 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_352 = 352 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_353 = 353 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_354 = 354 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_355 = 355 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_356 = 356 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_357 = 357 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_358 = 358 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_359 = 359 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_360 = 360 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_361 = 361 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_362 = 362 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_363 = 363 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_364 = 364 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_365 = 365 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_366 = 366 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_367 = 367 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_368 = 368 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_369 = 369 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_370 = 370 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_371 = 371 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_372 = 372 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_373 = 373 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_374 = 374 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_375 = 375 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_376 = 376 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_377 = 377 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_378 = 378 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_379 = 379 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_380 = 380 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_381 = 381 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_382 = 382 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_383 = 383 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_384 = 384 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_385 = 385 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_386 = 386 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_387 = 387 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_388 = 388 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_389 = 389 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_390 = 390 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_391 = 391 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_392 = 392 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_393 = 393 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_394 = 394 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_395 = 395 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_396 = 396 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_397 = 397 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_398 = 398 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_399 = 399 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_400 = 400 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_401 = 401 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_402 = 402 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_403 = 403 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_404 = 404 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_405 = 405 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_406 = 406 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_407 = 407 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_408 = 408 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_409 = 409 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_410 = 410 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_411 = 411 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_412 = 412 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_413 = 413 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_414 = 414 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_415 = 415 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_416 = 416 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_417 = 417 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_418 = 418 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_419 = 419 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_420 = 420 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_421 = 421 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_422 = 422 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_423 = 423 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_424 = 424 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_425 = 425 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_426 = 426 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_427 = 427 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_428 = 428 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_429 = 429 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_430 = 430 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_431 = 431 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_432 = 432 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_433 = 433 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_434 = 434 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_435 = 435 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_436 = 436 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_437 = 437 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_438 = 438 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_439 = 439 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_440 = 440 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_441 = 441 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_442 = 442 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_443 = 443 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_444 = 444 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_445 = 445 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_446 = 446 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_447 = 447 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_448 = 448 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_449 = 449 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_450 = 450 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_451 = 451 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_452 = 452 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_453 = 453 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_454 = 454 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_455 = 455 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_456 = 456 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_457 = 457 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_458 = 458 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_459 = 459 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_460 = 460 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_461 = 461 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_462 = 462 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_463 = 463 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_464 = 464 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_465 = 465 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_466 = 466 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_467 = 467 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_468 = 468 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_469 = 469 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_470 = 470 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_471 = 471 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_472 = 472 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_473 = 473 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_474 = 474 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_475 = 475 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_476 = 476 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_477 = 477 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_478 = 478 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_479 = 479 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_480 = 480 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_481 = 481 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_482 = 482 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_483 = 483 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_484 = 484 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_485 = 485 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_486 = 486 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_487 = 487 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_488 = 488 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_489 = 489 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_490 = 490 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_491 = 491 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_492 = 492 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_493 = 493 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_494 = 494 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_495 = 495 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_496 = 496 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_497 = 497 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_498 = 498 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_499 = 499 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_500 = 500 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_501 = 501 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_502 = 502 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_503 = 503 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_504 = 504 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_505 = 505 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_506 = 506 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_507 = 507 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_508 = 508 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_509 = 509 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_510 = 510 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_511 = 511 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_512 = 512 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_513 = 513 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_514 = 514 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_515 = 515 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_516 = 516 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_517 = 517 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_518 = 518 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_519 = 519 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_520 = 520 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_521 = 521 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_522 = 522 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_523 = 523 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_524 = 524 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_525 = 525 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_526 = 526 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_527 = 527 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_528 = 528 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_529 = 529 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_530 = 530 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_531 = 531 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_532 = 532 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_533 = 533 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_534 = 534 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_535 = 535 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_536 = 536 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_537 = 537 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_538 = 538 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_539 = 539 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_540 = 540 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_541 = 541 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_542 = 542 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_543 = 543 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_544 = 544 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_545 = 545 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_546 = 546 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_547 = 547 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_548 = 548 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_549 = 549 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_550 = 550 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_551 = 551 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_552 = 552 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_553 = 553 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_554 = 554 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_555 = 555 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_556 = 556 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_557 = 557 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_558 = 558 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_559 = 559 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_560 = 560 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_561 = 561 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_562 = 562 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_563 = 563 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_564 = 564 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_565 = 565 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_566 = 566 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_567 = 567 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_568 = 568 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_569 = 569 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_570 = 570 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_571 = 571 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_572 = 572 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_573 = 573 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_574 = 574 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_575 = 575 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_576 = 576 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_577 = 577 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_578 = 578 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_579 = 579 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_580 = 580 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_581 = 581 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_582 = 582 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_583 = 583 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_584 = 584 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_585 = 585 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_586 = 586 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_587 = 587 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_588 = 588 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_589 = 589 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_590 = 590 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_591 = 591 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_592 = 592 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_593 = 593 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_594 = 594 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_595 = 595 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_596 = 596 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_597 = 597 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_598 = 598 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_599 = 599 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_600 = 600 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_601 = 601 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_602 = 602 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_603 = 603 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_604 = 604 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_605 = 605 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_606 = 606 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_607 = 607 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_608 = 608 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_609 = 609 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_610 = 610 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_611 = 611 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_612 = 612 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_613 = 613 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_614 = 614 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_615 = 615 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_616 = 616 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_617 = 617 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_618 = 618 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_619 = 619 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_620 = 620 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_621 = 621 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_622 = 622 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_623 = 623 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_624 = 624 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_625 = 625 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_626 = 626 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_627 = 627 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_628 = 628 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_629 = 629 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_630 = 630 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_631 = 631 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_632 = 632 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_633 = 633 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_634 = 634 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_635 = 635 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_636 = 636 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_637 = 637 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_638 = 638 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_639 = 639 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_640 = 640 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_641 = 641 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_642 = 642 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_643 = 643 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_644 = 644 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_645 = 645 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_646 = 646 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_647 = 647 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_648 = 648 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_649 = 649 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_650 = 650 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_651 = 651 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_652 = 652 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_653 = 653 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_654 = 654 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_655 = 655 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_656 = 656 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_657 = 657 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_658 = 658 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_659 = 659 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_660 = 660 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_661 = 661 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_662 = 662 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_663 = 663 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_664 = 664 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_665 = 665 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_666 = 666 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_667 = 667 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_668 = 668 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_669 = 669 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_670 = 670 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_671 = 671 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_672 = 672 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_673 = 673 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_674 = 674 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_675 = 675 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_676 = 676 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_677 = 677 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_678 = 678 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_679 = 679 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_680 = 680 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_681 = 681 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_682 = 682 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_683 = 683 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_684 = 684 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_685 = 685 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_686 = 686 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_687 = 687 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_688 = 688 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_689 = 689 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_690 = 690 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_691 = 691 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_692 = 692 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_693 = 693 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_694 = 694 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_695 = 695 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_696 = 696 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_697 = 697 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_698 = 698 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_699 = 699 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_700 = 700 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_701 = 701 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_702 = 702 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_703 = 703 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_704 = 704 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_705 = 705 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_706 = 706 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_707 = 707 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_708 = 708 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_709 = 709 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_710 = 710 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_711 = 711 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_712 = 712 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_713 = 713 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_714 = 714 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_715 = 715 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_716 = 716 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_717 = 717 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_718 = 718 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_719 = 719 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_720 = 720 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_721 = 721 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_722 = 722 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_723 = 723 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_724 = 724 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_725 = 725 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_726 = 726 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_727 = 727 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_728 = 728 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_729 = 729 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_730 = 730 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_731 = 731 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_732 = 732 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_733 = 733 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_734 = 734 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_735 = 735 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_736 = 736 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_737 = 737 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_738 = 738 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_739 = 739 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_740 = 740 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_741 = 741 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_742 = 742 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_743 = 743 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_744 = 744 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_745 = 745 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_746 = 746 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_747 = 747 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_748 = 748 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_749 = 749 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_750 = 750 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_751 = 751 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_752 = 752 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_753 = 753 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_754 = 754 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_755 = 755 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_756 = 756 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_757 = 757 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_758 = 758 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_759 = 759 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_760 = 760 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_761 = 761 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_762 = 762 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_763 = 763 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_764 = 764 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_765 = 765 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_766 = 766 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_767 = 767 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_768 = 768 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_769 = 769 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_770 = 770 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_771 = 771 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_772 = 772 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_773 = 773 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_774 = 774 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_775 = 775 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_776 = 776 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_777 = 777 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_778 = 778 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_779 = 779 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_780 = 780 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_781 = 781 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_782 = 782 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_783 = 783 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_784 = 784 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_785 = 785 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_786 = 786 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_787 = 787 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_788 = 788 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_789 = 789 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_790 = 790 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_791 = 791 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_792 = 792 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_793 = 793 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_794 = 794 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_795 = 795 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_796 = 796 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_797 = 797 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_798 = 798 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_799 = 799 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_800 = 800 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_801 = 801 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_802 = 802 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_803 = 803 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_804 = 804 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_805 = 805 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_806 = 806 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_807 = 807 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_808 = 808 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_809 = 809 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_810 = 810 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_811 = 811 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_812 = 812 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_813 = 813 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_814 = 814 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_815 = 815 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_816 = 816 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_817 = 817 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_818 = 818 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_819 = 819 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_820 = 820 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_821 = 821 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_822 = 822 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_823 = 823 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_824 = 824 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_825 = 825 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_826 = 826 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_827 = 827 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_828 = 828 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_829 = 829 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_830 = 830 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_831 = 831 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_832 = 832 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_833 = 833 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_834 = 834 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_835 = 835 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_836 = 836 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_837 = 837 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_838 = 838 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_839 = 839 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_840 = 840 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_841 = 841 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_842 = 842 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_843 = 843 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_844 = 844 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_845 = 845 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_846 = 846 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_847 = 847 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_848 = 848 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_849 = 849 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_850 = 850 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_851 = 851 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_852 = 852 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_853 = 853 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_854 = 854 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_855 = 855 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_856 = 856 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_857 = 857 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_858 = 858 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_859 = 859 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_860 = 860 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_861 = 861 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_862 = 862 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_863 = 863 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_864 = 864 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_865 = 865 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_866 = 866 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_867 = 867 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_868 = 868 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_869 = 869 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_870 = 870 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_871 = 871 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_872 = 872 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_873 = 873 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_874 = 874 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_875 = 875 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_876 = 876 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_877 = 877 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_878 = 878 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_879 = 879 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_880 = 880 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_881 = 881 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_882 = 882 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_883 = 883 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_884 = 884 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_885 = 885 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_886 = 886 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_887 = 887 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_888 = 888 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_889 = 889 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_890 = 890 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_891 = 891 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_892 = 892 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_893 = 893 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_894 = 894 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_895 = 895 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_896 = 896 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_897 = 897 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_898 = 898 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_899 = 899 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_900 = 900 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_901 = 901 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_902 = 902 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_903 = 903 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_904 = 904 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_905 = 905 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_906 = 906 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_907 = 907 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_908 = 908 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_909 = 909 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_910 = 910 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_911 = 911 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_912 = 912 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_913 = 913 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_914 = 914 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_915 = 915 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_916 = 916 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_917 = 917 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_918 = 918 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_919 = 919 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_920 = 920 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_921 = 921 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_922 = 922 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_923 = 923 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_924 = 924 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_925 = 925 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_926 = 926 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_927 = 927 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_928 = 928 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_929 = 929 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_930 = 930 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_931 = 931 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_932 = 932 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_933 = 933 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_934 = 934 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_935 = 935 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_936 = 936 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_937 = 937 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_938 = 938 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_939 = 939 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_940 = 940 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_941 = 941 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_942 = 942 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_943 = 943 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_944 = 944 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_945 = 945 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_946 = 946 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_947 = 947 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_948 = 948 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_949 = 949 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_950 = 950 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_951 = 951 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_952 = 952 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_953 = 953 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_954 = 954 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_955 = 955 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_956 = 956 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_957 = 957 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_958 = 958 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_959 = 959 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_960 = 960 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_961 = 961 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_962 = 962 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_963 = 963 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_964 = 964 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_965 = 965 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_966 = 966 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_967 = 967 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_968 = 968 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_969 = 969 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_970 = 970 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_971 = 971 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_972 = 972 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_973 = 973 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_974 = 974 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_975 = 975 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_976 = 976 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_977 = 977 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_978 = 978 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_979 = 979 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_980 = 980 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_981 = 981 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_982 = 982 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_983 = 983 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_984 = 984 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_985 = 985 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_986 = 986 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_987 = 987 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_988 = 988 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_989 = 989 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_990 = 990 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_991 = 991 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_992 = 992 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_993 = 993 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_994 = 994 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_995 = 995 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_996 = 996 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_997 = 997 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_998 = 998 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_999 = 999 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; + optional string long_field_name_is_looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong_1000 = 1000 [default="long default value is also loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong"]; +} +// clang-format on diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_extension_set.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_extension_set.proto new file mode 100644 index 00000000..0aa923c3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_extension_set.proto @@ -0,0 +1,28 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains messages for testing extensions. + +syntax = "proto2"; + +package protobuf_unittest; + +option optimize_for = SPEED; +option csharp_namespace = "Google.ProtocolBuffers.TestProtos"; + +// A message with message_set_wire_format. +message TestExtensionSet { + extensions 4 to max; +} + +message TestExtensionSetContainer { + optional TestExtensionSet extension = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_features.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_features.proto new file mode 100644 index 00000000..ddf510c6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_features.proto @@ -0,0 +1,202 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2023 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +package pb; + +import "google/protobuf/descriptor.proto"; + +extend google.protobuf.FeatureSet { + optional TestFeatures test = 9999; +} + +message TestMessage { + extend google.protobuf.FeatureSet { + optional TestFeatures test_message = 9998; + } + message Nested { + extend google.protobuf.FeatureSet { + optional TestFeatures test_nested = 9997; + } + } +} + +enum EnumFeature { + TEST_ENUM_FEATURE_UNKNOWN = 0; + VALUE1 = 1; + VALUE2 = 2; + VALUE3 = 3; + VALUE4 = 4; + VALUE5 = 5; + VALUE6 = 6; + VALUE7 = 7; + VALUE8 = 8; + VALUE9 = 9; + VALUE10 = 10; + VALUE11 = 11; + VALUE12 = 12; + VALUE13 = 13; + VALUE14 = 14; + VALUE15 = 15; + VALUE_EMPTY_SUPPORT = 98 [feature_support = {}]; + VALUE_FUTURE = 99 [feature_support = { + edition_introduced: EDITION_99997_TEST_ONLY + edition_deprecated: EDITION_99998_TEST_ONLY + deprecation_warning: "Custom feature deprecation warning" + edition_removed: EDITION_99999_TEST_ONLY + }]; +} + +message TestFeatures { + optional EnumFeature file_feature = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FILE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" }, + edition_defaults = { edition: EDITION_PROTO3, value: "VALUE2" }, + edition_defaults = { edition: EDITION_2023, value: "VALUE3" }, + edition_defaults = { edition: EDITION_99997_TEST_ONLY, value: "VALUE4" }, + edition_defaults = { edition: EDITION_99998_TEST_ONLY, value: "VALUE5" } + ]; + optional EnumFeature extension_range_feature = 2 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_EXTENSION_RANGE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature message_feature = 3 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_MESSAGE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature field_feature = 4 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature oneof_feature = 5 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ONEOF, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature enum_feature = 6 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ENUM, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature enum_entry_feature = 7 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_ENUM_ENTRY, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature service_feature = 8 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_SERVICE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature method_feature = 9 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_METHOD, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + optional EnumFeature multiple_feature = 10 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FILE, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_ENUM_ENTRY, + targets = TARGET_TYPE_SERVICE, + targets = TARGET_TYPE_METHOD, + targets = TARGET_TYPE_ONEOF, + targets = TARGET_TYPE_EXTENSION_RANGE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + + optional bool bool_field_feature = 11 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "false" }, + edition_defaults = { edition: EDITION_99997_TEST_ONLY, value: "true" } + ]; + + optional EnumFeature source_feature = 15 [ + retention = RETENTION_SOURCE, + targets = TARGET_TYPE_FILE, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_ENUM_ENTRY, + targets = TARGET_TYPE_SERVICE, + targets = TARGET_TYPE_METHOD, + targets = TARGET_TYPE_ONEOF, + targets = TARGET_TYPE_EXTENSION_RANGE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + + optional EnumFeature source_feature2 = 16 [ + retention = RETENTION_SOURCE, + targets = TARGET_TYPE_FILE, + targets = TARGET_TYPE_FIELD, + targets = TARGET_TYPE_MESSAGE, + targets = TARGET_TYPE_ENUM, + targets = TARGET_TYPE_ENUM_ENTRY, + targets = TARGET_TYPE_SERVICE, + targets = TARGET_TYPE_METHOD, + targets = TARGET_TYPE_ONEOF, + targets = TARGET_TYPE_EXTENSION_RANGE, + feature_support.edition_introduced = EDITION_2023, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" } + ]; + + optional EnumFeature removed_feature = 17 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FILE, + targets = TARGET_TYPE_FIELD, + feature_support = { + edition_introduced: EDITION_2023 + edition_deprecated: EDITION_2023 + deprecation_warning: "Custom feature deprecation warning" + edition_removed: EDITION_2024 + }, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" }, + edition_defaults = { edition: EDITION_2023, value: "VALUE2" }, + edition_defaults = { edition: EDITION_2024, value: "VALUE3" } + ]; + + optional EnumFeature future_feature = 18 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FILE, + targets = TARGET_TYPE_FIELD, + feature_support = { edition_introduced: EDITION_2024 }, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" }, + edition_defaults = { edition: EDITION_2024, value: "VALUE2" } + ]; + + optional EnumFeature legacy_feature = 19 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FILE, + targets = TARGET_TYPE_FIELD, + feature_support = { + edition_introduced: EDITION_PROTO3 + edition_removed: EDITION_2023 + }, + edition_defaults = { edition: EDITION_LEGACY, value: "VALUE1" }, + edition_defaults = { edition: EDITION_2023, value: "VALUE2" } + ]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import.proto new file mode 100644 index 00000000..23fa9a8f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import.proto @@ -0,0 +1,49 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file which is imported by unittest.proto to test importing. + +syntax = "proto2"; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In test_util.h we do +// "using namespace unittest_import = protobuf_unittest_import". +package protobuf_unittest_import; + +option optimize_for = SPEED; +option cc_enable_arenas = true; + +// Exercise the java_package option. +option java_package = "com.google.protobuf.test"; + +// Do not set a java_outer_classname here to verify that Proto2 works without +// one. + +// Test public import +import public "google/protobuf/unittest_import_public.proto"; + +message ImportMessage { + optional int32 d = 1; +} + +enum ImportEnum { + IMPORT_FOO = 7; + IMPORT_BAR = 8; + IMPORT_BAZ = 9; +} + +// To use an enum in a map, it must has the first value as 0. +enum ImportEnumForMap { + UNKNOWN = 0; + FOO = 1; + BAR = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_lite.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_lite.proto new file mode 100644 index 00000000..88cce299 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_lite.proto @@ -0,0 +1,31 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// +// This is like unittest_import.proto but with optimize_for = LITE_RUNTIME. + +edition = "2023"; + +package protobuf_unittest_import; + +import public "google/protobuf/unittest_import_public_lite.proto"; + +option optimize_for = LITE_RUNTIME; +option java_package = "com.google.protobuf"; + +message ImportMessageLite { + int32 d = 1; +} + +enum ImportEnumLite { + option features.enum_type = CLOSED; + + IMPORT_LITE_FOO = 7; + IMPORT_LITE_BAR = 8; + IMPORT_LITE_BAZ = 9; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_public.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_public.proto new file mode 100644 index 00000000..ff428143 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_public.proto @@ -0,0 +1,18 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: liujisi@google.com (Pherl Liu) + +syntax = "proto2"; + +package protobuf_unittest_import; + +option java_package = "com.google.protobuf.test"; + +message PublicImportMessage { + optional int32 e = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_public_lite.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_public_lite.proto new file mode 100644 index 00000000..30172833 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_import_public_lite.proto @@ -0,0 +1,19 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: liujisi@google.com (Pherl Liu) + +edition = "2023"; + +package protobuf_unittest_import; + +option optimize_for = LITE_RUNTIME; +option java_package = "com.google.protobuf"; + +message PublicImportMessageLite { + int32 e = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_invalid_features.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_invalid_features.proto new file mode 100644 index 00000000..aaecbf48 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_invalid_features.proto @@ -0,0 +1,24 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2023 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +package pb; + +import "google/protobuf/descriptor.proto"; + +extend google.protobuf.FeatureSet { + optional TestInvalidFeatures test_invalid = 9996; +} + +message TestInvalidFeatures { + repeated int32 repeated_feature = 1 [ + retention = RETENTION_RUNTIME, + targets = TARGET_TYPE_FIELD, + edition_defaults = { edition: EDITION_2023, value: "3" } + ]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies.proto new file mode 100644 index 00000000..5df67c77 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies.proto @@ -0,0 +1,51 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: trafacz@google.com (Todd Rafacz) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file we will use for unit testing. + +edition = "2023"; + +import "google/protobuf/unittest_lazy_dependencies_custom_option.proto"; + +// Some generic_services option(s) added automatically. +// See: http://go/proto2-generic-services-default +option cc_generic_services = true; // auto-added +option java_generic_services = true; // auto-added +option py_generic_services = true; // auto-added +option cc_enable_arenas = true; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In test_util.h we do "using namespace unittest = protobuf_unittest". +package protobuf_unittest.lazy_imports; + +// Protos optimized for SPEED use a strict superset of the generated code +// of equivalent ones optimized for CODE_SIZE, so we should optimize all our +// tests for speed unless explicitly testing code size optimization. +option optimize_for = SPEED; + +option java_outer_classname = "UnittestLazyImportsProto"; + +// The following are used to test that the proto file +// with the definition of the following field types is +// not built when this proto file is built. Then test +// that calling message_type() etc will build the correct +// descriptor lazily and return it. + +message ImportedMessage { + LazyMessage lazy_message = 1; +} + +message MessageCustomOption {} + +message MessageCustomOption2 { + option (lazy_enum_option) = LAZY_ENUM_0; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies_custom_option.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies_custom_option.proto new file mode 100644 index 00000000..3b055dc6 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies_custom_option.proto @@ -0,0 +1,44 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: trafacz@google.com (Todd Rafacz) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file we will use for unit testing. + +edition = "2023"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/unittest_lazy_dependencies_enum.proto"; + +// Some generic_services option(s) added automatically. +// See: http://go/proto2-generic-services-default +option cc_generic_services = true; // auto-added +option java_generic_services = true; // auto-added +option py_generic_services = true; // auto-added +option cc_enable_arenas = true; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In test_util.h we do "using namespace unittest = protobuf_unittest". +package protobuf_unittest.lazy_imports; + +// Protos optimized for SPEED use a strict superset of the generated code +// of equivalent ones optimized for CODE_SIZE, so we should optimize all our +// tests for speed unless explicitly testing code size optimization. +option optimize_for = SPEED; + +option java_outer_classname = "UnittestLazyImportsCustomOptionProto"; + +message LazyMessage { + int32 a = 1; +} + +extend google.protobuf.MessageOptions { + LazyEnum lazy_enum_option = 138596335 [default = LAZY_ENUM_1]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies_enum.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies_enum.proto new file mode 100644 index 00000000..851abc42 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lazy_dependencies_enum.proto @@ -0,0 +1,41 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: trafacz@google.com (Todd Rafacz) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file we will use for unit testing. + +edition = "2023"; + +// Treat all enums as closed by default (proto2 behavior). +option features.enum_type = CLOSED; + +// Some generic_services option(s) added automatically. +// See: http://go/proto2-generic-services-default +option cc_generic_services = true; // auto-added +option java_generic_services = true; // auto-added +option py_generic_services = true; // auto-added +option cc_enable_arenas = true; + +// We don't put this in a package within proto2 because we need to make sure +// that the generated code doesn't depend on being in the proto2 namespace. +// In test_util.h we do "using namespace unittest = protobuf_unittest". +package protobuf_unittest.lazy_imports; + +// Protos optimized for SPEED use a strict superset of the generated code +// of equivalent ones optimized for CODE_SIZE, so we should optimize all our +// tests for speed unless explicitly testing code size optimization. +option optimize_for = SPEED; + +option java_outer_classname = "UnittestLazyImportsEnumProto"; + +enum LazyEnum { + LAZY_ENUM_0 = 0; + LAZY_ENUM_1 = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_legacy_features.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_legacy_features.proto new file mode 100644 index 00000000..77a72da8 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_legacy_features.proto @@ -0,0 +1,18 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Test that features with legacy descriptor helpers get properly converted. + +edition = "2023"; + +package legacy_features_unittest; + +message TestEditionsMessage { + int32 required_field = 1 [features.field_presence = LEGACY_REQUIRED]; + TestEditionsMessage delimited_field = 2 + [features.message_encoding = DELIMITED]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite.proto new file mode 100644 index 00000000..4bc78c4d --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite.proto @@ -0,0 +1,631 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// +// This is like unittest.proto but with optimize_for = LITE_RUNTIME. + +edition = "2023"; + +package protobuf_unittest; + +import "google/protobuf/unittest_import_lite.proto"; + +option features.enum_type = CLOSED; +option features.repeated_field_encoding = EXPANDED; +option features.utf8_validation = NONE; +option cc_enable_arenas = true; +option optimize_for = LITE_RUNTIME; +option java_package = "com.google.protobuf"; + +// Same as TestAllTypes but with the lite runtime. +message TestAllTypesLite { + message NestedMessage { + int32 bb = 1; + int64 cc = 2; + repeated int32 dd = 3 [features.repeated_field_encoding = PACKED]; + } + + message NestedMessage2 { + int32 dd = 1; + } + + enum NestedEnum { + FOO = 1; + BAR = 2; + BAZ = 3; + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + message OptionalGroup { + int32 a = 17; + } + + OptionalGroup optionalgroup = 16 [features.message_encoding = DELIMITED]; + + NestedMessage optional_nested_message = 18; + ForeignMessageLite optional_foreign_message = 19; + protobuf_unittest_import.ImportMessageLite optional_import_message = 20; + NestedEnum optional_nested_enum = 21; + ForeignEnumLite optional_foreign_enum = 22; + protobuf_unittest_import.ImportEnumLite optional_import_enum = 23; + string optional_string_piece = 24 [ctype = STRING_PIECE]; + + string optional_cord = 25 [ctype = CORD]; + + // Defined in unittest_import_public.proto + protobuf_unittest_import.PublicImportMessageLite + optional_public_import_message = 26; + NestedMessage optional_lazy_message = 27 [lazy = true]; + + NestedMessage optional_unverified_lazy_message = 28 [unverified_lazy = true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + message RepeatedGroup { + int32 a = 47; + } + + repeated RepeatedGroup repeatedgroup = 46 + [features.message_encoding = DELIMITED]; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessageLite repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessageLite repeated_import_message = + 50; + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnumLite repeated_foreign_enum = 52; + repeated protobuf_unittest_import.ImportEnumLite repeated_import_enum = 53; + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + + repeated string repeated_cord = 55 [ctype = CORD]; + + repeated NestedMessage repeated_lazy_message = 57; + + // Singular with defaults + int32 default_int32 = 61 [default = 41]; + + int64 default_int64 = 62 [default = 42]; + + uint32 default_uint32 = 63 [default = 43]; + + uint64 default_uint64 = 64 [default = 44]; + + sint32 default_sint32 = 65 [default = -45]; + + sint64 default_sint64 = 66 [default = 46]; + + fixed32 default_fixed32 = 67 [default = 47]; + + fixed64 default_fixed64 = 68 [default = 48]; + + sfixed32 default_sfixed32 = 69 [default = 49]; + + sfixed64 default_sfixed64 = 70 [default = -50]; + + float default_float = 71 [default = 51.5]; + + double default_double = 72 [default = 5.2e4]; + + bool default_bool = 73 [default = true]; + + string default_string = 74 [default = "hello"]; + + bytes default_bytes = 75 [default = "world"]; + + NestedEnum default_nested_enum = 81 [default = BAR]; + + ForeignEnumLite default_foreign_enum = 82 [default = FOREIGN_LITE_BAR]; + + protobuf_unittest_import.ImportEnumLite default_import_enum = 83 + [default = IMPORT_LITE_BAR]; + + string default_string_piece = 84 [ctype = STRING_PIECE, default = "abc"]; + + string default_cord = 85 [ctype = CORD, default = "123"]; + + // For oneof test + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + NestedMessage oneof_lazy_nested_message = 115 [lazy = true]; + + NestedMessage2 oneof_nested_message2 = 117; + } + + // Tests toString for non-repeated fields with a list suffix + int32 deceptively_named_list = 116; +} + +message ForeignMessageLite { + int32 c = 1; +} + +enum ForeignEnumLite { + FOREIGN_LITE_FOO = 4; + FOREIGN_LITE_BAZ = 6; + FOREIGN_LITE_BAR = 5; +} + +message TestPackedTypesLite { + repeated int32 packed_int32 = 90 [features.repeated_field_encoding = PACKED]; + + repeated int64 packed_int64 = 91 [features.repeated_field_encoding = PACKED]; + + repeated uint32 packed_uint32 = 92 + [features.repeated_field_encoding = PACKED]; + + repeated uint64 packed_uint64 = 93 + [features.repeated_field_encoding = PACKED]; + + repeated sint32 packed_sint32 = 94 + [features.repeated_field_encoding = PACKED]; + + repeated sint64 packed_sint64 = 95 + [features.repeated_field_encoding = PACKED]; + + repeated fixed32 packed_fixed32 = 96 + [features.repeated_field_encoding = PACKED]; + + repeated fixed64 packed_fixed64 = 97 + [features.repeated_field_encoding = PACKED]; + + repeated sfixed32 packed_sfixed32 = 98 + [features.repeated_field_encoding = PACKED]; + + repeated sfixed64 packed_sfixed64 = 99 + [features.repeated_field_encoding = PACKED]; + + repeated float packed_float = 100 [features.repeated_field_encoding = PACKED]; + + repeated double packed_double = 101 + [features.repeated_field_encoding = PACKED]; + + repeated bool packed_bool = 102 [features.repeated_field_encoding = PACKED]; + + repeated ForeignEnumLite packed_enum = 103 + [features.repeated_field_encoding = PACKED]; +} + +message TestAllExtensionsLite { + extensions 1 to max; +} + +extend TestAllExtensionsLite { + // Singular + int32 optional_int32_extension_lite = 1; + int64 optional_int64_extension_lite = 2; + uint32 optional_uint32_extension_lite = 3; + uint64 optional_uint64_extension_lite = 4; + sint32 optional_sint32_extension_lite = 5; + sint64 optional_sint64_extension_lite = 6; + fixed32 optional_fixed32_extension_lite = 7; + fixed64 optional_fixed64_extension_lite = 8; + sfixed32 optional_sfixed32_extension_lite = 9; + sfixed64 optional_sfixed64_extension_lite = 10; + float optional_float_extension_lite = 11; + double optional_double_extension_lite = 12; + bool optional_bool_extension_lite = 13; + string optional_string_extension_lite = 14; + bytes optional_bytes_extension_lite = 15; + OptionalGroup_extension_lite optionalgroup_extension_lite = 16 + [features.message_encoding = DELIMITED]; + + TestAllTypesLite.NestedMessage optional_nested_message_extension_lite = 18; + ForeignMessageLite optional_foreign_message_extension_lite = 19; + protobuf_unittest_import.ImportMessageLite + optional_import_message_extension_lite = 20; + TestAllTypesLite.NestedEnum optional_nested_enum_extension_lite = 21; + ForeignEnumLite optional_foreign_enum_extension_lite = 22; + protobuf_unittest_import.ImportEnumLite optional_import_enum_extension_lite = + 23; + string optional_string_piece_extension_lite = 24 [ctype = STRING_PIECE]; + + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + string optional_cord_extension_lite = 25; + protobuf_unittest_import.PublicImportMessageLite + optional_public_import_message_extension_lite = 26; + TestAllTypesLite.NestedMessage optional_lazy_message_extension_lite = 27 + [lazy = true]; + + TestAllTypesLite.NestedMessage + optional_unverified_lazy_message_extension_lite = 28 + [unverified_lazy = true]; + + // Repeated + repeated int32 repeated_int32_extension_lite = 31; + repeated int64 repeated_int64_extension_lite = 32; + repeated uint32 repeated_uint32_extension_lite = 33; + repeated uint64 repeated_uint64_extension_lite = 34; + repeated sint32 repeated_sint32_extension_lite = 35; + repeated sint64 repeated_sint64_extension_lite = 36; + repeated fixed32 repeated_fixed32_extension_lite = 37; + repeated fixed64 repeated_fixed64_extension_lite = 38; + repeated sfixed32 repeated_sfixed32_extension_lite = 39; + repeated sfixed64 repeated_sfixed64_extension_lite = 40; + repeated float repeated_float_extension_lite = 41; + repeated double repeated_double_extension_lite = 42; + repeated bool repeated_bool_extension_lite = 43; + repeated string repeated_string_extension_lite = 44; + repeated bytes repeated_bytes_extension_lite = 45; + repeated RepeatedGroup_extension_lite repeatedgroup_extension_lite = 46 + [features.message_encoding = DELIMITED]; + + repeated TestAllTypesLite.NestedMessage + repeated_nested_message_extension_lite = 48; + repeated ForeignMessageLite repeated_foreign_message_extension_lite = 49; + repeated protobuf_unittest_import.ImportMessageLite + repeated_import_message_extension_lite = 50; + repeated TestAllTypesLite.NestedEnum repeated_nested_enum_extension_lite = 51; + repeated ForeignEnumLite repeated_foreign_enum_extension_lite = 52; + repeated protobuf_unittest_import.ImportEnumLite + repeated_import_enum_extension_lite = 53; + repeated string repeated_string_piece_extension_lite = 54 + [ctype = STRING_PIECE]; + + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + repeated string repeated_cord_extension_lite = 55; + repeated TestAllTypesLite.NestedMessage repeated_lazy_message_extension_lite = + 57 [lazy = true]; + + // Singular with defaults + int32 default_int32_extension_lite = 61 [default = 41]; + + int64 default_int64_extension_lite = 62 [default = 42]; + + uint32 default_uint32_extension_lite = 63 [default = 43]; + + uint64 default_uint64_extension_lite = 64 [default = 44]; + + sint32 default_sint32_extension_lite = 65 [default = -45]; + + sint64 default_sint64_extension_lite = 66 [default = 46]; + + fixed32 default_fixed32_extension_lite = 67 [default = 47]; + + fixed64 default_fixed64_extension_lite = 68 [default = 48]; + + sfixed32 default_sfixed32_extension_lite = 69 [default = 49]; + + sfixed64 default_sfixed64_extension_lite = 70 [default = -50]; + + float default_float_extension_lite = 71 [default = 51.5]; + + double default_double_extension_lite = 72 [default = 5.2e4]; + + bool default_bool_extension_lite = 73 [default = true]; + + string default_string_extension_lite = 74 [default = "hello"]; + + bytes default_bytes_extension_lite = 75 [default = "world"]; + + TestAllTypesLite.NestedEnum default_nested_enum_extension_lite = 81 + [default = BAR]; + + ForeignEnumLite default_foreign_enum_extension_lite = 82 + [default = FOREIGN_LITE_BAR]; + + protobuf_unittest_import.ImportEnumLite default_import_enum_extension_lite = 83 + [default = IMPORT_LITE_BAR]; + + string default_string_piece_extension_lite = 84 + [ctype = STRING_PIECE, default = "abc"]; + + // TODO: ctype=CORD is not supported for extension. Add + // ctype=CORD option back after it is supported. + string default_cord_extension_lite = 85 [default = "123"]; + + // For oneof test + uint32 oneof_uint32_extension_lite = 111; + TestAllTypesLite.NestedMessage oneof_nested_message_extension_lite = 112; + string oneof_string_extension_lite = 113; + bytes oneof_bytes_extension_lite = 114; +} + +message OptionalGroup_extension_lite { + int32 a = 17; +} + +message RepeatedGroup_extension_lite { + int32 a = 47; +} + +message TestPackedExtensionsLite { + extensions 1 to max; +} + +extend TestPackedExtensionsLite { + repeated int32 packed_int32_extension_lite = 90 + [features.repeated_field_encoding = PACKED]; + + repeated int64 packed_int64_extension_lite = 91 + [features.repeated_field_encoding = PACKED]; + + repeated uint32 packed_uint32_extension_lite = 92 + [features.repeated_field_encoding = PACKED]; + + repeated uint64 packed_uint64_extension_lite = 93 + [features.repeated_field_encoding = PACKED]; + + repeated sint32 packed_sint32_extension_lite = 94 + [features.repeated_field_encoding = PACKED]; + + repeated sint64 packed_sint64_extension_lite = 95 + [features.repeated_field_encoding = PACKED]; + + repeated fixed32 packed_fixed32_extension_lite = 96 + [features.repeated_field_encoding = PACKED]; + + repeated fixed64 packed_fixed64_extension_lite = 97 + [features.repeated_field_encoding = PACKED]; + + repeated sfixed32 packed_sfixed32_extension_lite = 98 + [features.repeated_field_encoding = PACKED]; + + repeated sfixed64 packed_sfixed64_extension_lite = 99 + [features.repeated_field_encoding = PACKED]; + + repeated float packed_float_extension_lite = 100 + [features.repeated_field_encoding = PACKED]; + + repeated double packed_double_extension_lite = 101 + [features.repeated_field_encoding = PACKED]; + + repeated bool packed_bool_extension_lite = 102 + [features.repeated_field_encoding = PACKED]; + + repeated ForeignEnumLite packed_enum_extension_lite = 103 + [features.repeated_field_encoding = PACKED]; +} + +message TestNestedExtensionLite { + extend TestAllExtensionsLite { + int32 nested_extension = 12345; + } +} + +// Test that deprecated fields work. We only verify that they compile (at one +// point this failed). +message TestDeprecatedLite { + int32 deprecated_field = 1 [deprecated = true]; + + int32 deprecated_field2 = 2 + [features.field_presence = LEGACY_REQUIRED, deprecated = true]; + + string deprecated_field3 = 3 [deprecated = true]; + + TestDeprecatedLite deprecated_field4 = 4 [deprecated = true]; +} + +// See the comments of the same type in unittest.proto. +message TestParsingMergeLite { + message RepeatedFieldsGenerator { + repeated TestAllTypesLite field1 = 1; + repeated TestAllTypesLite field2 = 2; + repeated TestAllTypesLite field3 = 3; + + message Group1 { + TestAllTypesLite field1 = 11; + } + + repeated Group1 group1 = 10 [features.message_encoding = DELIMITED]; + + message Group2 { + TestAllTypesLite field1 = 21; + } + + repeated Group2 group2 = 20 [features.message_encoding = DELIMITED]; + + repeated TestAllTypesLite ext1 = 1000; + repeated TestAllTypesLite ext2 = 1001; + } + + TestAllTypesLite required_all_types = 1 + [features.field_presence = LEGACY_REQUIRED]; + + TestAllTypesLite optional_all_types = 2; + repeated TestAllTypesLite repeated_all_types = 3; + + message OptionalGroup { + TestAllTypesLite optional_group_all_types = 11; + } + + OptionalGroup optionalgroup = 10 [features.message_encoding = DELIMITED]; + + message RepeatedGroup { + TestAllTypesLite repeated_group_all_types = 21; + } + + repeated RepeatedGroup repeatedgroup = 20 + [features.message_encoding = DELIMITED]; + + extensions 1000 to max; + + extend TestParsingMergeLite { + TestAllTypesLite optional_ext = 1000; + repeated TestAllTypesLite repeated_ext = 1001; + } +} + +// Test that the correct exception is thrown by parseFrom in a corner case +// involving merging, extensions, and required fields. +message TestMergeExceptionLite { + TestAllExtensionsLite all_extensions = 1; +} + +// TestEmptyMessageLite is used to test unknown fields support in lite mode. +message TestEmptyMessageLite {} + +// Like above, but declare all field numbers as potential extensions. No +// actual extensions should ever be defined for this type. +message TestEmptyMessageWithExtensionsLite { + extensions 1 to max; +} + +enum V1EnumLite { + V1_FIRST = 1; +} + +enum V2EnumLite { + V2_FIRST = 1; + V2_SECOND = 2; +} + +message V1MessageLite { + int32 int_field = 1 [features.field_presence = LEGACY_REQUIRED]; + + V1EnumLite enum_field = 2 [default = V1_FIRST]; +} + +message V2MessageLite { + int32 int_field = 1 [features.field_presence = LEGACY_REQUIRED]; + + V2EnumLite enum_field = 2 [default = V2_FIRST]; +} + +message TestHugeFieldNumbersLite { + int32 optional_int32 = 536870000; + int32 fixed_32 = 536870001; + repeated int32 repeated_int32 = 536870002; + repeated int32 packed_int32 = 536870003 + [features.repeated_field_encoding = PACKED]; + + ForeignEnumLite optional_enum = 536870004; + string optional_string = 536870005; + bytes optional_bytes = 536870006; + ForeignMessageLite optional_message = 536870007; + + message OptionalGroup { + int32 group_a = 536870009; + } + + OptionalGroup optionalgroup = 536870008 + [features.message_encoding = DELIMITED]; + + map string_string_map = 536870010; + + oneof oneof_field { + uint32 oneof_uint32 = 536870011; + TestAllTypesLite oneof_test_all_types = 536870012; + string oneof_string = 536870013; + bytes oneof_bytes = 536870014; + } + + extensions 536860000 to 536869999 [declaration = { + number: 536860000 + full_name: ".protobuf_unittest.test_all_types_lite" + type: ".protobuf_unittest.TestAllTypesLite" + }]; +} + +extend TestHugeFieldNumbersLite { + TestAllTypesLite test_all_types_lite = 536860000; +} + +message TestOneofParsingLite { + oneof oneof_field { + int32 oneof_int32 = 1; + TestAllTypesLite oneof_submessage = 2; + string oneof_string = 3; + bytes oneof_bytes = 4 [default = "default bytes"]; + + string oneof_string_cord = 5 [ctype = CORD, default = "default Cord"]; + + bytes oneof_bytes_cord = 6 [ctype = CORD]; + + string oneof_string_string_piece = 7 [ctype = STRING_PIECE]; + + bytes oneof_bytes_string_piece = 8 + [ctype = STRING_PIECE, default = "default StringPiece"]; + + V2EnumLite oneof_enum = 9; + } +} + +message TestMessageSetLite { + option message_set_wire_format = true; + + extensions 100 to max; +} + +// The following four messages are set up to test for wire compatibility between +// packed and non-packed repeated fields. We use the field number 2048, because +// that is large enough to require a 3-byte varint for the tag. +message PackedInt32 { + repeated int32 repeated_int32 = 2048 + [features.repeated_field_encoding = PACKED]; +} + +message NonPackedInt32 { + repeated int32 repeated_int32 = 2048; +} + +message PackedFixed32 { + repeated fixed32 repeated_fixed32 = 2048 + [features.repeated_field_encoding = PACKED]; +} + +message NonPackedFixed32 { + repeated fixed32 repeated_fixed32 = 2048; +} + +// Test an enum that has multiple values with the same number. +message DupEnum { + enum TestEnumWithDupValueLite { + option allow_alias = true; + + FOO1 = 1; + BAR1 = 2; + BAZ = 3; + FOO2 = 1; + BAR2 = 2; + } +} + +message RecursiveMessage { + RecursiveMessage recurse = 1; + bytes payload = 2; +} + +message RecursiveGroup { + RecursiveGroup recurse = 1 [features.message_encoding = DELIMITED]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite_edition_2024.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite_edition_2024.proto new file mode 100644 index 00000000..b56f7d02 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite_edition_2024.proto @@ -0,0 +1,10 @@ +edition = "2024"; + +package protobuf_unittest; + +option optimize_for = LITE_RUNTIME; + +enum EnumNameStringView { + ENUM_NAME_STRING_VIEW_DEFAULT = 0; + ENUM_NAME_STRING_VIEW_ANOTHER_VALUE = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite_imports_nonlite.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite_imports_nonlite.proto new file mode 100644 index 00000000..681e6a87 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_lite_imports_nonlite.proto @@ -0,0 +1,25 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// +// Tests that a "lite" message can import a regular message. + +syntax = "proto2"; + +package protobuf_unittest; + +import "google/protobuf/unittest.proto"; + +option optimize_for = LITE_RUNTIME; + +message TestLiteImportsNonlite { + optional TestAllTypes message = 1; + + // Verifies that transitive required fields generates valid code. + optional TestRequired message_with_required = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_mset.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_mset.proto new file mode 100644 index 00000000..8c7a7b15 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_mset.proto @@ -0,0 +1,81 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file is similar to unittest_mset_wire_format.proto, but does not +// have a TestMessageSet, so it can be downgraded to proto1. + +syntax = "proto2"; + +import "google/protobuf/unittest_mset_wire_format.proto"; + +package protobuf_unittest; + +option cc_enable_arenas = true; +option optimize_for = SPEED; + +message TestMessageSetContainer { + optional proto2_wireformat_unittest.TestMessageSet message_set = 1; +} + +message NestedTestMessageSetContainer { + optional TestMessageSetContainer container = 1; + optional NestedTestMessageSetContainer child = 2; + optional NestedTestMessageSetContainer lazy_child = 3 [lazy = true]; +} + +message NestedTestInt { + optional fixed32 a = 1; + optional int32 b = 3; + optional NestedTestInt child = 2; +} + +message TestMessageSetExtension1 { + extend proto2_wireformat_unittest.TestMessageSet { + optional TestMessageSetExtension1 message_set_extension = 1545008; + } + optional int32 i = 15; + optional proto2_wireformat_unittest.TestMessageSet recursive = 16; + optional string test_aliasing = 17 [ctype = STRING_PIECE]; +} + +message TestMessageSetExtension2 { + extend proto2_wireformat_unittest.TestMessageSet { + optional TestMessageSetExtension2 message_set_extension = 1547769; + } + optional string str = 25; +} + +message TestMessageSetExtension3 { + extend proto2_wireformat_unittest.TestMessageSet { + optional TestMessageSetExtension3 message_set_extension = 195273129; + } + optional NestedTestInt msg = 35; + required int32 required_int = 36; +} + +// This message was used to generate +// //net/proto2/python/internal/testdata/message_set_message, but is commented +// out since it must not actually exist in code, to simulate an "unknown" +// extension. +// message TestMessageSetUnknownExtension { +// extend TestMessageSet { +// optional TestMessageSetUnknownExtension message_set_extension = 56141421; +// } +// optional int64 a = 1; +// } + +// MessageSet wire format is equivalent to this. +message RawMessageSet { + repeated group Item = 1 { + required int32 type_id = 2; + required bytes message = 3; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_mset_wire_format.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_mset_wire_format.proto new file mode 100644 index 00000000..548e248e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_mset_wire_format.proto @@ -0,0 +1,38 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains messages for testing message_set_wire_format. + +syntax = "proto2"; + +package proto2_wireformat_unittest; + +option cc_enable_arenas = true; +option optimize_for = SPEED; +option csharp_namespace = "Google.ProtocolBuffers.TestProtos"; + +// A message with message_set_wire_format. +message TestMessageSet { + option message_set_wire_format = true; + + extensions 4 to 529999999; + + extensions 530000000 to max + [declaration = { + number: 1952731290, + full_name: ".protobuf_unittest_v1api.TestMessageSetExtension3.message_set_extension", + type: ".protobuf_unittest_v1api.TestMessageSetExtension3" + }]; +} + +message TestMessageSetWireFormatContainer { + optional TestMessageSet message_set = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_no_field_presence.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_no_field_presence.proto new file mode 100644 index 00000000..cc02acc9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_no_field_presence.proto @@ -0,0 +1,125 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// A proto file used to test a message type with no explicit field presence. + +edition = "2023"; + +// Treat all fields as implicit present by default (proto3 behavior). +option features.field_presence = IMPLICIT; + +// We want to test embedded proto2 messages, so include some proto2 types. +package proto2_nofieldpresence_unittest; + +import "google/protobuf/unittest.proto"; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + int32 bb = 1; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + } + + // Singular + // TODO: remove 'optional' labels as soon as CL 69188077 is LGTM'd to make + // 'optional' optional. + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + protobuf_unittest.TestAllTypes optional_proto2_message = 20; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + // N.B.: proto2-enum-type fields not allowed, because their default values + // might not be zero. + // optional protobuf_unittest.ForeignEnum optional_proto2_enum = + // 23; + + string optional_string_piece = 24 [ctype = STRING_PIECE]; + string optional_cord = 25 [ctype = CORD]; + + NestedMessage optional_lazy_message = 30 [lazy = true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest.TestAllTypes repeated_proto2_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + repeated NestedMessage repeated_lazy_message = 57; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + NestedEnum oneof_enum = 114; + } +} + +message TestProto2Required { + protobuf_unittest.TestRequired proto2 = 1; +} + +// Define these after TestAllTypes to make sure the compiler can handle +// that. +message ForeignMessage { + int32 c = 1; +} + +// Same as ForeignMessage, but all fields have explicit presence. +// It can be useful for testing explicit-implicit presence interop behaviour. +message ExplicitForeignMessage { + int32 c = 1 [features.field_presence = EXPLICIT]; +} + +enum ForeignEnum { + FOREIGN_FOO = 0; + FOREIGN_BAR = 1; + FOREIGN_BAZ = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_no_generic_services.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_no_generic_services.proto new file mode 100644 index 00000000..af3ecb57 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_no_generic_services.proto @@ -0,0 +1,32 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) + +syntax = "proto2"; + +package protobuf_unittest.no_generic_services_test; + + +// *_generic_services are false by default. + +message TestMessage { + optional int32 a = 1; + extensions 1000 to max; +} + +enum TestEnum { + FOO = 1; +} + +extend TestMessage { + optional int32 test_extension = 1000; +} + +service TestService { + rpc Foo(TestMessage) returns (TestMessage); +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_optimize_for.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_optimize_for.proto new file mode 100644 index 00000000..c5e17072 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_optimize_for.proto @@ -0,0 +1,45 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// A proto file which uses optimize_for = CODE_SIZE. + +syntax = "proto2"; + +package protobuf_unittest; + +import "google/protobuf/unittest.proto"; + +option optimize_for = CODE_SIZE; + +message TestOptimizedForSize { + optional int32 i = 1; + optional ForeignMessage msg = 19; + + extensions 1000 to max; + + extend TestOptimizedForSize { + optional int32 test_extension = 1234; + optional TestRequiredOptimizedForSize test_extension2 = 1235; + } + + oneof foo { + int32 integer_field = 2; + string string_field = 3; + } +} + +message TestRequiredOptimizedForSize { + required int32 x = 1; +} + +message TestOptionalOptimizedForSize { + optional TestRequiredOptimizedForSize o = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_preserve_unknown_enum.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_preserve_unknown_enum.proto new file mode 100644 index 00000000..d289741b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_preserve_unknown_enum.proto @@ -0,0 +1,50 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +package proto3_preserve_unknown_enum_unittest; + +// Treat all fields as implicit present by default (proto3 behavior). +option features.field_presence = IMPLICIT; +option objc_class_prefix = "UnknownEnums"; +option csharp_namespace = "Google.Protobuf.TestProtos"; + +enum MyEnum { + FOO = 0; + BAR = 1; + BAZ = 2; +} + +enum MyEnumPlusExtra { + E_FOO = 0; + E_BAR = 1; + E_BAZ = 2; + E_EXTRA = 3; +} + +message MyMessage { + MyEnum e = 1; + repeated MyEnum repeated_e = 2; + repeated MyEnum repeated_packed_e = 3; + repeated MyEnumPlusExtra repeated_packed_unexpected_e = 4; // not packed + oneof o { + MyEnum oneof_e_1 = 5; + MyEnum oneof_e_2 = 6; + } +} + +message MyMessagePlusExtra { + MyEnumPlusExtra e = 1; + repeated MyEnumPlusExtra repeated_e = 2; + repeated MyEnumPlusExtra repeated_packed_e = 3; + repeated MyEnumPlusExtra repeated_packed_unexpected_e = 4; + oneof o { + MyEnumPlusExtra oneof_e_1 = 5; + MyEnumPlusExtra oneof_e_2 = 6; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_preserve_unknown_enum2.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_preserve_unknown_enum2.proto new file mode 100644 index 00000000..2d14f17f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_preserve_unknown_enum2.proto @@ -0,0 +1,33 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +package proto2_preserve_unknown_enum_unittest; + +// Treat all enums as closed and use expanded encoding for repeated fields by +// default (proto2 behavior). +option features.enum_type = CLOSED; +option features.repeated_field_encoding = EXPANDED; + +enum MyEnum { + FOO = 0; + BAR = 1; + BAZ = 2; +} + +message MyMessage { + MyEnum e = 1; + repeated MyEnum repeated_e = 2; + repeated MyEnum repeated_packed_e = 3 + [features.repeated_field_encoding = PACKED]; + repeated MyEnum repeated_packed_unexpected_e = 4; // not packed + oneof o { + MyEnum oneof_e_1 = 5; + MyEnum oneof_e_2 = 6; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3.proto new file mode 100644 index 00000000..d88521af --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3.proto @@ -0,0 +1,283 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package proto3_unittest; + +import "google/protobuf/unittest_import.proto"; + +option optimize_for = SPEED; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + int32 bb = 1; + } + + enum NestedEnum { + ZERO = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + // Groups are not allowed in proto3. + // optional group OptionalGroup = 16 { + // optional int32 a = 17; + // } + + optional NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + protobuf_unittest_import.ImportMessage optional_import_message = 20; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // optional protobuf_unittest_import.ImportEnum optional_import_enum = 23; + + string optional_string_piece = 24 [ctype = STRING_PIECE]; + string optional_cord = 25 [ctype = CORD]; + + // Defined in unittest_import_public.proto + protobuf_unittest_import.PublicImportMessage optional_public_import_message = + 26; + + NestedMessage optional_lazy_message = 27 [lazy = true]; + NestedMessage optional_unverified_lazy_message = 28 [unverified_lazy = true]; + protobuf_unittest_import.ImportMessage optional_lazy_import_message = 115 + [lazy = true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + // Groups are not allowed in proto3. + // repeated group RepeatedGroup = 46 { + // optional int32 a = 47; + // } + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessage repeated_import_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + repeated NestedMessage repeated_lazy_message = 57; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + } +} + +// Test messages for packed fields + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +// Explicitly set packed to false +message TestUnpackedTypes { + repeated int32 repeated_int32 = 1 [packed = false]; + repeated int64 repeated_int64 = 2 [packed = false]; + repeated uint32 repeated_uint32 = 3 [packed = false]; + repeated uint64 repeated_uint64 = 4 [packed = false]; + repeated sint32 repeated_sint32 = 5 [packed = false]; + repeated sint64 repeated_sint64 = 6 [packed = false]; + repeated fixed32 repeated_fixed32 = 7 [packed = false]; + repeated fixed64 repeated_fixed64 = 8 [packed = false]; + repeated sfixed32 repeated_sfixed32 = 9 [packed = false]; + repeated sfixed64 repeated_sfixed64 = 10 [packed = false]; + repeated float repeated_float = 11 [packed = false]; + repeated double repeated_double = 12 [packed = false]; + repeated bool repeated_bool = 13 [packed = false]; + repeated TestAllTypes.NestedEnum repeated_nested_enum = 14 [packed = false]; +} + +// This proto includes a recursively nested message. +message NestedTestAllTypes { + NestedTestAllTypes child = 1; + TestAllTypes payload = 2; +} + +// Define these after TestAllTypes to make sure the compiler can handle +// that. +message ForeignMessage { + int32 c = 1; +} + +enum ForeignEnum { + FOREIGN_ZERO = 0; + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; + FOREIGN_LARGE = 123456; // Large enough to escape the Boxed Integer cache. +} + +// TestEmptyMessage is used to test behavior of unknown fields. +message TestEmptyMessage {} + +// TestMessageWithDummy is also used to test behavior of unknown fields. +message TestMessageWithDummy { + // This field is only here for triggering copy-on-write; it's not intended to + // be serialized. + bool dummy = 536870911; +} + +// Same layout as TestOneof2 in unittest.proto to test unknown enum value +// parsing behavior in oneof. +message TestOneof2 { + oneof foo { + NestedEnum foo_enum = 6; + } + + enum NestedEnum { + UNKNOWN = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + } +} + +// If bool fields are incorrectly assumed to have hasbits, InternalSwap would +// result in swapping N more 32bit hasbits incorrectly. Considering padding, we +// need many bool fields to stress this. +message TestHasbits { + bool b1 = 1; + bool b2 = 2; + bool b3 = 3; + bool b4 = 4; + bool b5 = 5; + bool b6 = 6; + bool b7 = 7; + bool b8 = 8; + bool b9 = 9; + bool b10 = 10; + bool b11 = 11; + bool b12 = 12; + bool b13 = 13; + bool b14 = 14; + bool b15 = 15; + bool b16 = 16; + bool b17 = 17; + bool b18 = 18; + bool b19 = 19; + bool b20 = 20; + bool b21 = 21; + bool b22 = 22; + bool b23 = 23; + bool b24 = 24; + bool b25 = 25; + bool b26 = 26; + bool b27 = 27; + bool b28 = 28; + bool b29 = 29; + bool b30 = 30; + bool b31 = 31; + bool b32 = 32; + bool b33 = 33; + bool b34 = 34; + bool b35 = 35; + bool b36 = 36; + bool b37 = 37; + bool b38 = 38; + bool b39 = 39; + bool b40 = 40; + bool b41 = 41; + bool b42 = 42; + bool b43 = 43; + bool b44 = 44; + bool b45 = 45; + bool b46 = 46; + bool b47 = 47; + bool b48 = 48; + bool b49 = 49; + bool b50 = 50; + bool b51 = 51; + bool b52 = 52; + bool b53 = 53; + bool b54 = 54; + bool b55 = 55; + bool b56 = 56; + bool b57 = 57; + bool b58 = 58; + bool b59 = 59; + bool b60 = 60; + bool b61 = 61; + bool b62 = 62; + bool b63 = 63; + bool b64 = 64; + bool b65 = 65; + bool b66 = 66; + bool b67 = 67; + bool b68 = 68; + bool b69 = 69; + TestAllTypes child = 100; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_arena.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_arena.proto new file mode 100644 index 00000000..96a9ea85 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_arena.proto @@ -0,0 +1,215 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +option cc_enable_arenas = true; + +import "google/protobuf/unittest_import.proto"; + +package proto3_arena_unittest; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + int32 bb = 1; + } + + enum NestedEnum { + ZERO = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + // Groups are not allowed in proto3. + // optional group OptionalGroup = 16 { + // optional int32 a = 17; + // } + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + protobuf_unittest_import.ImportMessage optional_import_message = 20; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // optional protobuf_unittest_import.ImportEnum optional_import_enum = 23; + + string optional_string_piece = 24 [ctype=STRING_PIECE]; + string optional_cord = 25 [ctype=CORD]; + + // Defined in unittest_import_public.proto + protobuf_unittest_import.PublicImportMessage + optional_public_import_message = 26; + + NestedMessage optional_lazy_message = 27 [lazy=true]; + NestedMessage optional_unverified_lazy_message = 28 [unverified_lazy=true]; + protobuf_unittest_import.ImportMessage optional_lazy_import_message = 115 + [lazy = true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + // Optional + optional int32 proto3_optional_int32 = 116; + optional int64 proto3_optional_int64 = 117; + optional uint32 proto3_optional_uint32 = 118; + optional uint64 proto3_optional_uint64 = 119; + optional sint32 proto3_optional_sint32 = 120; + optional sint64 proto3_optional_sint64 = 121; + optional fixed32 proto3_optional_fixed32 = 122; + optional fixed64 proto3_optional_fixed64 = 123; + optional sfixed32 proto3_optional_sfixed32 = 124; + optional sfixed64 proto3_optional_sfixed64 = 125; + optional float proto3_optional_float = 126; + optional double proto3_optional_double = 127; + optional bool proto3_optional_bool = 128; + optional string proto3_optional_string = 129; + optional bytes proto3_optional_bytes = 130; + + // Groups are not allowed in proto3. + // repeated group RepeatedGroup = 46 { + // optional int32 a = 47; + // } + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessage repeated_import_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53; + + repeated string repeated_string_piece = 54 [ctype=STRING_PIECE]; + repeated string repeated_cord = 55 [ctype=CORD]; + + repeated NestedMessage repeated_lazy_message = 57 ; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + } +} + +// Test messages for packed fields + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +// Explicitly set packed to false +message TestUnpackedTypes { + repeated int32 repeated_int32 = 1 [packed = false]; + repeated int64 repeated_int64 = 2 [packed = false]; + repeated uint32 repeated_uint32 = 3 [packed = false]; + repeated uint64 repeated_uint64 = 4 [packed = false]; + repeated sint32 repeated_sint32 = 5 [packed = false]; + repeated sint64 repeated_sint64 = 6 [packed = false]; + repeated fixed32 repeated_fixed32 = 7 [packed = false]; + repeated fixed64 repeated_fixed64 = 8 [packed = false]; + repeated sfixed32 repeated_sfixed32 = 9 [packed = false]; + repeated sfixed64 repeated_sfixed64 = 10 [packed = false]; + repeated float repeated_float = 11 [packed = false]; + repeated double repeated_double = 12 [packed = false]; + repeated bool repeated_bool = 13 [packed = false]; + repeated TestAllTypes.NestedEnum repeated_nested_enum = 14 [packed = false]; +} + +// This proto includes a recursively nested message. +message NestedTestAllTypes { + NestedTestAllTypes child = 1; + TestAllTypes payload = 2; + repeated NestedTestAllTypes repeated_child = 3; + TestAllTypes lazy_payload = 4 [lazy = true]; +} + +// Define these after TestAllTypes to make sure the compiler can handle +// that. +message ForeignMessage { + int32 c = 1; +} + +enum ForeignEnum { + FOREIGN_ZERO = 0; + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; + FOREIGN_LARGE = 123456; // Large enough to escape the Boxed Integer cache. +} + +// TestEmptyMessage is used to test behavior of unknown fields. +message TestEmptyMessage { +} + +// Needed for a Python test. +message TestPickleNestedMessage { + message NestedMessage { + int32 bb = 1; + message NestedNestedMessage { + int32 cc = 1; + } + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_arena_lite.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_arena_lite.proto new file mode 100644 index 00000000..9c736756 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_arena_lite.proto @@ -0,0 +1,182 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package proto3_arena_lite_unittest; + +import "google/protobuf/unittest_import.proto"; + +option cc_enable_arenas = true; +option optimize_for = LITE_RUNTIME; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + int32 bb = 1; + } + + enum NestedEnum { + ZERO = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + // Groups are not allowed in proto3. + // optional group OptionalGroup = 16 { + // optional int32 a = 17; + // } + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + protobuf_unittest_import.ImportMessage optional_import_message = 20; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // optional protobuf_unittest_import.ImportEnum optional_import_enum = 23; + + string optional_string_piece = 24 [ctype = STRING_PIECE]; + string optional_cord = 25 [ctype = CORD]; + + // Defined in unittest_import_public.proto + protobuf_unittest_import.PublicImportMessage optional_public_import_message = + 26; + + NestedMessage optional_lazy_message = 27 [lazy = true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + // Groups are not allowed in proto3. + // repeated group RepeatedGroup = 46 { + // optional int32 a = 47; + // } + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessage repeated_import_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + repeated NestedMessage repeated_lazy_message = 57 ; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + } +} + +// Test messages for packed fields + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +// Explicitly set packed to false +message TestUnpackedTypes { + repeated int32 repeated_int32 = 1 [packed = false]; + repeated int64 repeated_int64 = 2 [packed = false]; + repeated uint32 repeated_uint32 = 3 [packed = false]; + repeated uint64 repeated_uint64 = 4 [packed = false]; + repeated sint32 repeated_sint32 = 5 [packed = false]; + repeated sint64 repeated_sint64 = 6 [packed = false]; + repeated fixed32 repeated_fixed32 = 7 [packed = false]; + repeated fixed64 repeated_fixed64 = 8 [packed = false]; + repeated sfixed32 repeated_sfixed32 = 9 [packed = false]; + repeated sfixed64 repeated_sfixed64 = 10 [packed = false]; + repeated float repeated_float = 11 [packed = false]; + repeated double repeated_double = 12 [packed = false]; + repeated bool repeated_bool = 13 [packed = false]; + repeated TestAllTypes.NestedEnum repeated_nested_enum = 14 [packed = false]; +} + +// This proto includes a recursively nested message. +message NestedTestAllTypes { + NestedTestAllTypes child = 1; + TestAllTypes payload = 2; +} + +// Define these after TestAllTypes to make sure the compiler can handle +// that. +message ForeignMessage { + int32 c = 1; +} + +enum ForeignEnum { + FOREIGN_ZERO = 0; + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; +} + +// TestEmptyMessage is used to test behavior of unknown fields. +message TestEmptyMessage {} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_bad_macros.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_bad_macros.proto new file mode 100644 index 00000000..14fbcde2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_bad_macros.proto @@ -0,0 +1,75 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2023 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package protobuf_unittest; + +option csharp_namespace = "ProtobufUnittest"; +option java_multiple_files = true; +option java_package = "com.google.protobuf.testing.proto"; + +// `google/protobuf/port_def.inc` #undef's a number of inconvenient macros +// defined in system headers under varying circumstances. The code generated +// from this file will not compile if those `#undef` calls are accidentally +// removed. + +// This generates `GID_MAX`, which is a macro in some circumstances. +enum GID { + GID_UNUSED = 0; +} + +// This generates `UID_MAX`, which is a mcro in some circumstances. +enum UID { + UID_UNUSED = 0; +} + +// Just a container for bad macro names. Some of these do not follow the normal +// naming conventions, this is intentional, we just want to trigger a build +// failure if the macro is left defined. +enum BadNames { + // autoheader defines this in some circumstances. + PACKAGE = 0; + // The comment says "a few common headers define this". + PACKED = 1; + // Defined in many Linux system headers. + linux = 2; + // This is often a macro in ``. + DOMAIN = 3; + // These are defined in both Windows and macOS headers. + TRUE = 4; + FALSE = 5; + // Sometimes defined in Windows system headers. + CREATE_NEW = 6; + DELETE = 7; + DOUBLE_CLICK = 8; + ERROR = 9; + ERROR_BUSY = 10; + ERROR_INSTALL_FAILED = 11; + ERROR_NOT_FOUND = 12; + GetClassName = 13; + GetCurrentTime = 14; + GetMessage = 15; + GetObject = 16; + IGNORE = 17; + IN = 18; + INPUT_KEYBOARD = 19; + NO_ERROR = 20; + OUT = 21; + OPTIONAL = 22; + NEAR = 23; + NO_DATA = 24; + REASON_UNKNOWN = 25; + SERVICE_DISABLED = 26; + SEVERITY_ERROR = 27; + STATUS_PENDING = 28; + STRICT = 29; + // Sometimed defined in macOS system headers. + TYPE_BOOL = 30; + // Defined in macOS, Windows, and Linux headers. + DEBUG = 31; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_extensions.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_extensions.proto new file mode 100644 index 00000000..a59c43e7 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_extensions.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package protobuf_unittest; + +import "google/protobuf/descriptor.proto"; + +option java_outer_classname = "UnittestProto3Extensions"; + +// For testing proto3 extension behaviors. +message Proto3FileExtensions { + extend google.protobuf.FileOptions { + int32 singular_int = 1001; + repeated int32 repeated_int = 1002; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_lite.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_lite.proto new file mode 100644 index 00000000..ffc6681b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_lite.proto @@ -0,0 +1,181 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package proto3_lite_unittest; + +import "google/protobuf/unittest_import.proto"; + +option optimize_for = LITE_RUNTIME; + +// This proto includes every type of field in both singular and repeated +// forms. +message TestAllTypes { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + int32 bb = 1; + } + + enum NestedEnum { + ZERO = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + int32 optional_int32 = 1; + int64 optional_int64 = 2; + uint32 optional_uint32 = 3; + uint64 optional_uint64 = 4; + sint32 optional_sint32 = 5; + sint64 optional_sint64 = 6; + fixed32 optional_fixed32 = 7; + fixed64 optional_fixed64 = 8; + sfixed32 optional_sfixed32 = 9; + sfixed64 optional_sfixed64 = 10; + float optional_float = 11; + double optional_double = 12; + bool optional_bool = 13; + string optional_string = 14; + bytes optional_bytes = 15; + + // Groups are not allowed in proto3. + // optional group OptionalGroup = 16 { + // optional int32 a = 17; + // } + + NestedMessage optional_nested_message = 18; + ForeignMessage optional_foreign_message = 19; + protobuf_unittest_import.ImportMessage optional_import_message = 20; + + NestedEnum optional_nested_enum = 21; + ForeignEnum optional_foreign_enum = 22; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // optional protobuf_unittest_import.ImportEnum optional_import_enum = 23; + + string optional_string_piece = 24 [ctype = STRING_PIECE]; + string optional_cord = 25 [ctype = CORD]; + + // Defined in unittest_import_public.proto + protobuf_unittest_import.PublicImportMessage optional_public_import_message = + 26; + + NestedMessage optional_lazy_message = 27 [lazy = true]; + + // Repeated + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + // Groups are not allowed in proto3. + // repeated group RepeatedGroup = 46 { + // optional int32 a = 47; + // } + + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated protobuf_unittest_import.ImportMessage repeated_import_message = 50; + + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + + // Omitted (compared to unittest.proto) because proto2 enums are not allowed + // inside proto2 messages. + // + // repeated protobuf_unittest_import.ImportEnum repeated_import_enum = 53; + + repeated string repeated_string_piece = 54 [ctype = STRING_PIECE]; + repeated string repeated_cord = 55 [ctype = CORD]; + + repeated NestedMessage repeated_lazy_message = 57 ; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + } +} + +// Test messages for packed fields + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +// Explicitly set packed to false +message TestUnpackedTypes { + repeated int32 repeated_int32 = 1 [packed = false]; + repeated int64 repeated_int64 = 2 [packed = false]; + repeated uint32 repeated_uint32 = 3 [packed = false]; + repeated uint64 repeated_uint64 = 4 [packed = false]; + repeated sint32 repeated_sint32 = 5 [packed = false]; + repeated sint64 repeated_sint64 = 6 [packed = false]; + repeated fixed32 repeated_fixed32 = 7 [packed = false]; + repeated fixed64 repeated_fixed64 = 8 [packed = false]; + repeated sfixed32 repeated_sfixed32 = 9 [packed = false]; + repeated sfixed64 repeated_sfixed64 = 10 [packed = false]; + repeated float repeated_float = 11 [packed = false]; + repeated double repeated_double = 12 [packed = false]; + repeated bool repeated_bool = 13 [packed = false]; + repeated TestAllTypes.NestedEnum repeated_nested_enum = 14 [packed = false]; +} + +// This proto includes a recursively nested message. +message NestedTestAllTypes { + NestedTestAllTypes child = 1; + TestAllTypes payload = 2; +} + +// Define these after TestAllTypes to make sure the compiler can handle +// that. +message ForeignMessage { + int32 c = 1; +} + +enum ForeignEnum { + FOREIGN_ZERO = 0; + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; +} + +// TestEmptyMessage is used to test behavior of unknown fields. +message TestEmptyMessage {} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_optional.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_optional.proto new file mode 100644 index 00000000..1169847f --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_proto3_optional.proto @@ -0,0 +1,78 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package protobuf_unittest; + +import "google/protobuf/descriptor.proto"; + +option csharp_namespace = "ProtobufUnittest"; +option java_multiple_files = true; +option java_package = "com.google.protobuf.testing.proto"; + +message TestProto3Optional { + message NestedMessage { + // The field name "b" fails to compile in proto1 because it conflicts with + // a local variable named "b" in one of the generated methods. Doh. + // This file needs to compile in proto1 to test backwards-compatibility. + optional int32 bb = 1; + } + + enum NestedEnum { + UNSPECIFIED = 0; + FOO = 1; + BAR = 2; + BAZ = 3; + NEG = -1; // Intentionally negative. + } + + // Singular + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + optional string optional_cord = 16 [ctype = CORD]; + + optional NestedMessage optional_nested_message = 18; + optional NestedMessage lazy_nested_message = 19 [lazy = true]; + optional NestedEnum optional_nested_enum = 21; + + // Add some non-optional fields to verify we can mix them. + int32 singular_int32 = 22; + int64 singular_int64 = 23; +} + +message TestProto3OptionalMessage { + message NestedMessage { + string s = 1; + } + + NestedMessage nested_message = 1; + optional NestedMessage optional_nested_message = 2; +} + +message Proto3OptionalExtensions { + option (protobuf_unittest.Proto3OptionalExtensions.ext_no_optional) = 8; + option (protobuf_unittest.Proto3OptionalExtensions.ext_with_optional) = 16; + + extend google.protobuf.MessageOptions { + int32 ext_no_optional = 355886728; + optional int32 ext_with_optional = 355886729; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_retention.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_retention.proto new file mode 100644 index 00000000..99983638 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_retention.proto @@ -0,0 +1,185 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto2"; + +package protobuf_unittest; + +import "google/protobuf/descriptor.proto"; + +option csharp_namespace = "ProtobufUnittest"; + +// Retention attributes set directly on custom options +extend google.protobuf.FileOptions { + optional int32 plain_option = 505092806; + optional int32 runtime_retention_option = 505039132 + [retention = RETENTION_RUNTIME]; + optional int32 source_retention_option = 504878676 + [retention = RETENTION_SOURCE]; +} + +option (plain_option) = 1; +option (runtime_retention_option) = 2; +option (source_retention_option) = 3; + +// Retention attributes set on fields nested within a message +message OptionsMessage { + optional int32 plain_field = 1; + optional int32 runtime_retention_field = 2 [retention = RETENTION_RUNTIME]; + optional int32 source_retention_field = 3 [retention = RETENTION_SOURCE]; +} + +extend google.protobuf.FileOptions { + optional OptionsMessage file_option = 504871168; +} + +option (file_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 +}; + +// Retention attribute nested inside a repeated message field +extend google.protobuf.FileOptions { + repeated OptionsMessage repeated_options = 504823570; +} + +option (repeated_options) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 +}; + +extend google.protobuf.ExtensionRangeOptions { + optional OptionsMessage extension_range_option = 504822148; +} + +extend google.protobuf.MessageOptions { + optional OptionsMessage message_option = 504820819; +} + +extend google.protobuf.FieldOptions { + optional OptionsMessage field_option = 504589219; +} + +extend google.protobuf.OneofOptions { + optional OptionsMessage oneof_option = 504479153; +} + +extend google.protobuf.EnumOptions { + optional OptionsMessage enum_option = 504451567; +} + +extend google.protobuf.EnumValueOptions { + optional OptionsMessage enum_entry_option = 504450522; +} + +extend google.protobuf.ServiceOptions { + optional OptionsMessage service_option = 504387709; +} + +extend google.protobuf.MethodOptions { + optional OptionsMessage method_option = 504349420; +} + +message Extendee { + extensions 1, 2; +} + +extend Extendee { + optional int32 i = 1 [(field_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }]; +} + +message TopLevelMessage { + option (message_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + + message NestedMessage { + option (message_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + } + + enum NestedEnum { + option (enum_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + + NESTED_UNKNOWN = 0; + } + + optional float f = 1 [(field_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }]; + + oneof o { + option (oneof_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + + int64 i = 2; + } + + extensions 10 to 100 [(extension_range_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }]; + + extend Extendee { + optional string s = 2 [(field_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }]; + } +} + +enum TopLevelEnum { + option (enum_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + + TOP_LEVEL_UNKNOWN = 0 [(enum_entry_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }]; +} + +service Service { + option (service_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + + rpc DoStuff(TopLevelMessage) returns (TopLevelMessage) { + option (method_option) = { + plain_field: 1 + runtime_retention_field: 2 + source_retention_field: 3 + }; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_string_type.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_string_type.proto new file mode 100644 index 00000000..611588f1 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_string_type.proto @@ -0,0 +1,16 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +edition = "2023"; + +package protobuf_unittest; + +import "google/protobuf/cpp_features.proto"; + +message EntryProto { + bytes value = 3 [features.(pb.cpp).string_type = CORD]; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_string_view.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_string_view.proto new file mode 100644 index 00000000..543ef7c2 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_string_view.proto @@ -0,0 +1,18 @@ +edition = "2023"; + +package protobuf_unittest; + +import "google/protobuf/cpp_features.proto"; + +option java_multiple_files = true; +option optimize_for = SPEED; +option features.(pb.cpp).string_type = VIEW; + +// NEXT_TAG = 5; +message TestStringView { + string singular_string = 1; + bytes singular_bytes = 2; + + repeated string repeated_string = 3; + repeated bytes repeated_bytes = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_well_known_types.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_well_known_types.proto new file mode 100644 index 00000000..05f25d6a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/unittest_well_known_types.proto @@ -0,0 +1,121 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file or at +// https://developers.google.com/open-source/licenses/bsd + +syntax = "proto3"; + +package protobuf_unittest; + +option csharp_namespace = "Google.Protobuf.TestProtos"; +option java_multiple_files = true; +option java_package = "com.google.protobuf.test"; + +import "google/protobuf/any.proto"; +import "google/protobuf/api.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/source_context.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/type.proto"; +import "google/protobuf/wrappers.proto"; + +// Test that we can include all well-known types. +// Each wrapper type is included separately, as languages +// map handle different wrappers in different ways. +message TestWellKnownTypes { + google.protobuf.Any any_field = 1; + google.protobuf.Api api_field = 2; + google.protobuf.Duration duration_field = 3; + google.protobuf.Empty empty_field = 4; + google.protobuf.FieldMask field_mask_field = 5; + google.protobuf.SourceContext source_context_field = 6; + google.protobuf.Struct struct_field = 7; + google.protobuf.Timestamp timestamp_field = 8; + google.protobuf.Type type_field = 9; + google.protobuf.DoubleValue double_field = 10; + google.protobuf.FloatValue float_field = 11; + google.protobuf.Int64Value int64_field = 12; + google.protobuf.UInt64Value uint64_field = 13; + google.protobuf.Int32Value int32_field = 14; + google.protobuf.UInt32Value uint32_field = 15; + google.protobuf.BoolValue bool_field = 16; + google.protobuf.StringValue string_field = 17; + google.protobuf.BytesValue bytes_field = 18; + // Part of struct, but useful to be able to test separately + google.protobuf.Value value_field = 19; +} + +// A repeated field for each well-known type. +message RepeatedWellKnownTypes { + repeated google.protobuf.Any any_field = 1; + repeated google.protobuf.Api api_field = 2; + repeated google.protobuf.Duration duration_field = 3; + repeated google.protobuf.Empty empty_field = 4; + repeated google.protobuf.FieldMask field_mask_field = 5; + repeated google.protobuf.SourceContext source_context_field = 6; + repeated google.protobuf.Struct struct_field = 7; + repeated google.protobuf.Timestamp timestamp_field = 8; + repeated google.protobuf.Type type_field = 9; + // These don't actually make a lot of sense, but they're not prohibited... + repeated google.protobuf.DoubleValue double_field = 10; + repeated google.protobuf.FloatValue float_field = 11; + repeated google.protobuf.Int64Value int64_field = 12; + repeated google.protobuf.UInt64Value uint64_field = 13; + repeated google.protobuf.Int32Value int32_field = 14; + repeated google.protobuf.UInt32Value uint32_field = 15; + repeated google.protobuf.BoolValue bool_field = 16; + repeated google.protobuf.StringValue string_field = 17; + repeated google.protobuf.BytesValue bytes_field = 18; +} + +message OneofWellKnownTypes { + oneof oneof_field { + google.protobuf.Any any_field = 1; + google.protobuf.Api api_field = 2; + google.protobuf.Duration duration_field = 3; + google.protobuf.Empty empty_field = 4; + google.protobuf.FieldMask field_mask_field = 5; + google.protobuf.SourceContext source_context_field = 6; + google.protobuf.Struct struct_field = 7; + google.protobuf.Timestamp timestamp_field = 8; + google.protobuf.Type type_field = 9; + google.protobuf.DoubleValue double_field = 10; + google.protobuf.FloatValue float_field = 11; + google.protobuf.Int64Value int64_field = 12; + google.protobuf.UInt64Value uint64_field = 13; + google.protobuf.Int32Value int32_field = 14; + google.protobuf.UInt32Value uint32_field = 15; + google.protobuf.BoolValue bool_field = 16; + google.protobuf.StringValue string_field = 17; + google.protobuf.BytesValue bytes_field = 18; + } +} + +// A map field for each well-known type. We only +// need to worry about the value part of the map being the +// well-known types, as messages can't be map keys. +message MapWellKnownTypes { + map any_field = 1; + map api_field = 2; + map duration_field = 3; + map empty_field = 4; + map field_mask_field = 5; + map source_context_field = 6; + map struct_field = 7; + map timestamp_field = 8; + map type_field = 9; + map double_field = 10; + map float_field = 11; + map int64_field = 12; + map uint64_field = 13; + map int32_field = 14; + map uint32_field = 15; + map bool_field = 16; + map string_field = 17; + map bytes_field = 18; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/wrappers.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/wrappers.proto new file mode 100644 index 00000000..1959fa55 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/protobuf/wrappers.proto @@ -0,0 +1,123 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Wrappers for primitive (non-message) types. These types are useful +// for embedding primitives in the `google.protobuf.Any` type and for places +// where we need to distinguish between the absence of a primitive +// typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. + +syntax = "proto3"; + +package google.protobuf; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/protobuf/types/known/wrapperspb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "WrappersProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +message DoubleValue { + // The double value. + double value = 1; +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +message FloatValue { + // The float value. + float value = 1; +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +message Int64Value { + // The int64 value. + int64 value = 1; +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +message UInt64Value { + // The uint64 value. + uint64 value = 1; +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +message Int32Value { + // The int32 value. + int32 value = 1; +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +message UInt32Value { + // The uint32 value. + uint32 value = 1; +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +message BoolValue { + // The bool value. + bool value = 1; +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +message StringValue { + // The string value. + string value = 1; +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +message BytesValue { + // The bytes value. + bytes value = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/BUILD.bazel new file mode 100644 index 00000000..18835afa --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/BUILD.bazel @@ -0,0 +1,153 @@ +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +proto_library( + name = "code_proto", + srcs = ["code.proto"], + deps = [], +) + +proto_library( + name = "error_details_proto", + srcs = ["error_details.proto"], + deps = [ + "@com_google_protobuf//:duration_proto", + ], +) + +proto_library( + name = "status_proto", + srcs = ["status.proto"], + deps = [ + "@com_google_protobuf//:any_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", +) + +java_proto_library( + name = "rpc_java_proto", + deps = [ + ":code_proto", + ":error_details_proto", + ":status_proto", + ], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-rpc-java", + transport = "grpc+rest", + deps = [ + "error_details_proto", + "status_proto", + ":code_proto", + ":rpc_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "go_proto_library") + +go_proto_library( + name = "code_go_proto", + importpath = "google.golang.org/genproto/googleapis/rpc/code", + protos = [":code_proto"], +) + +go_proto_library( + name = "errdetails_go_proto", + importpath = "google.golang.org/genproto/googleapis/rpc/errdetails", + protos = [":error_details_proto"], +) + +go_proto_library( + name = "status_go_proto", + importpath = "google.golang.org/genproto/googleapis/rpc/status", + protos = [":status_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_proto_library", +) + +cc_proto_library( + name = "code_cc_proto", + deps = [":code_proto"], +) + +cc_proto_library( + name = "error_details_cc_proto", + deps = [":error_details_proto"], +) + +cc_proto_library( + name = "status_cc_proto", + deps = [":status_proto"], +) + +############################################################################## +# Python +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "py_proto_library") + +py_proto_library( + name = "code_py_proto", + deps = [":code_proto"], +) + +py_proto_library( + name = "error_details_py_proto", + deps = [":error_details_proto"], +) + +py_proto_library( + name = "status_py_proto", + deps = [":status_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "rpc_php_proto", + deps = [ + ":code_proto", + ":error_details_proto", + ":status_proto", + ], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate php files for these protos. +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-rpc-php", + deps = [":rpc_php_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/README.md new file mode 100644 index 00000000..b4775007 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/README.md @@ -0,0 +1,18 @@ +## 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/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/code.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/code.proto new file mode 100644 index 00000000..ba8f2bf9 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/code.proto @@ -0,0 +1,186 @@ +// Copyright 2024 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 allowlist, + // `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. For + // example, 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. For example, 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/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/BUILD.bazel new file mode 100644 index 00000000..46c13095 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/BUILD.bazel @@ -0,0 +1,221 @@ +# This file was automatically generated by BuildFileGenerator + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") + +proto_library( + name = "attribute_context_proto", + srcs = [ + "attribute_context.proto", + ], + deps = [ + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +# Manually added target. See b/274975612 for why. +proto_library( + name = "audit_context_proto", + srcs = [ + "audit_context.proto", + ], + deps = [ + "@com_google_protobuf//:struct_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", +) + +java_proto_library( + name = "attribute_context_java_proto", + deps = [":attribute_context_proto"], +) + +# Manually added target. See b/274975612 for why. +java_proto_library( + name = "audit_context_java_proto", + deps = [":audit_context_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-context-java", + transport = "grpc+rest", + deps = [ + ":attribute_context_java_proto", + ":attribute_context_proto", + # Manually added. See b/274975612 for why. + ":audit_context_java_proto", + ":audit_context_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_proto_library", +) + +go_proto_library( + name = "attribute_context_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/rpc/context/attribute_context", + protos = [":attribute_context_proto"], + deps = [], +) + +# Manually added target. See b/274975612 for why. +go_proto_library( + name = "audit_context_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/rpc/context;context", + protos = [":audit_context_proto"], + deps = [], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "moved_proto_library", + "py_proto_library", +) + +moved_proto_library( + name = "attribute_context_moved_proto", + srcs = [":attribute_context_proto"], + deps = [ + "@com_google_protobuf//:any_proto", + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:struct_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +py_proto_library( + name = "attribute_context_py_proto", + deps = [":attribute_context_moved_proto"], +) + +# Manually added target. See b/274975612 for why. +moved_proto_library( + name = "audit_context_moved_proto", + srcs = [":audit_context_proto"], + deps = [ + "@com_google_protobuf//:struct_proto", + ], +) + +# Manually added target. See b/274975612 for why. +py_proto_library( + name = "audit_context_py_proto", + deps = [":audit_context_moved_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "attribute_context_php_proto", + deps = [":attribute_context_proto"], +) + +# Manually added target. See b/274975612 for why. +php_proto_library( + name = "audit_context_php_proto", + deps = [":audit_context_proto"], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate PHP files for these protos. +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-context-php", + deps = [ + ":attribute_context_php_proto", + ":audit_context_php_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_proto_library", +) + +ruby_proto_library( + name = "attribute_context_ruby_proto", + deps = [":attribute_context_proto"], +) + +# Manually added target. See b/274975612 for why. +ruby_proto_library( + name = "audit_context_ruby_proto", + deps = [":audit_context_proto"], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "attribute_context_csharp_proto", + deps = [":attribute_context_proto"], +) + +# Manually added target. See b/274975612 for why. +csharp_proto_library( + name = "audit_context_csharp_proto", + deps = [":audit_context_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_proto_library", +) + +cc_proto_library( + name = "attribute_context_cc_proto", + deps = [":attribute_context_proto"], +) + +# Manually added target. See b/274975612 for why. +cc_proto_library( + name = "audit_context_cc_proto", + deps = [":audit_context_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/attribute_context.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/attribute_context.proto new file mode 100644 index 00000000..d6871eb4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/attribute_context.proto @@ -0,0 +1,344 @@ +// Copyright 2024 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/any.proto"; +import "google/protobuf/duration.proto"; +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 labels = 6; + + // The identity of this peer. Similar to `Request.auth.principal`, but + // relative to the peer instead of the request. For example, the + // identity associated with a load balancer that forwarded 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. For example, + // ["https://pubsub.googleapis.com/", "https://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 headers = 3; + + // The HTTP URL path, excluding the query parameters. + 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 last 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 headers = 3; + + // The timestamp when the `destination` service sends the last byte of + // the response. + google.protobuf.Timestamp time = 4; + + // The amount of time it takes the backend service to fully respond to a + // request. Measured from when the destination service starts to send the + // request to the backend until when the destination service receives the + // complete response from the backend. + google.protobuf.Duration backend_latency = 5; + } + + // 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}", such as + // "pubsub.googleapis.com/Topic". + string type = 3; + + // The labels or tags on the resource, such as AWS resource tags and + // Kubernetes resource labels. + map labels = 4; + + // The unique identifier of the resource. UID is unique in the time + // and space for this resource within the scope of the service. It is + // typically generated by the server on successful creation of a resource + // and must not be changed. UID is used to uniquely identify resources + // with resource name reuses. This should be a UUID4. + string uid = 5; + + // Annotations is an unstructured key-value map stored with a resource that + // may be set by external tools to store and retrieve arbitrary metadata. + // They are not queryable and should be preserved when modifying objects. + // + // More info: https://kubernetes.io/docs/user-guide/annotations + map annotations = 6; + + // Mutable. The display name set by clients. Must be <= 63 characters. + string display_name = 7; + + // Output only. The timestamp when the resource was created. This may + // be either the time creation was initiated or when it was completed. + google.protobuf.Timestamp create_time = 8; + + // Output only. The timestamp when the resource was last updated. Any + // change to the resource made by users must refresh this value. + // Changes to a resource made by the service should refresh this value. + google.protobuf.Timestamp update_time = 9; + + // Output only. The timestamp when the resource was deleted. + // If the resource is not deleted, this must be empty. + google.protobuf.Timestamp delete_time = 10; + + // Output only. An opaque value that uniquely identifies a version or + // generation of a resource. It can be used to confirm that the client + // and server agree on the ordering of a resource being written. + string etag = 11; + + // Immutable. The location of the resource. The location encoding is + // specific to the service provider, and new encoding may be introduced + // as the service evolves. + // + // For Google Cloud products, the encoding is what is used by Google Cloud + // APIs, such as `us-east1`, `aws-us-east-1`, and `azure-eastus2`. The + // semantics of `location` is identical to the + // `cloud.googleapis.com/location` label used by some Google Cloud APIs. + string location = 12; + } + + // 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; + + // Supports extensions for advanced use cases, such as logs and metrics. + repeated google.protobuf.Any extensions = 8; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/audit_context.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/audit_context.proto new file mode 100644 index 00000000..74945cd4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/context/audit_context.proto @@ -0,0 +1,49 @@ +// Copyright 2024 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"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/rpc/context;context"; +option java_multiple_files = true; +option java_outer_classname = "AuditContextProto"; +option java_package = "com.google.rpc.context"; + +// `AuditContext` provides information that is needed for audit logging. +message AuditContext { + // Serialized audit log. + bytes audit_log = 1; + + // An API request message that is scrubbed based on the method annotation. + // This field should only be filled if audit_log field is present. + // Service Control will use this to assemble a complete log for Cloud Audit + // Logs and Google internal audit logs. + google.protobuf.Struct scrubbed_request = 2; + + // An API response message that is scrubbed based on the method annotation. + // This field should only be filled if audit_log field is present. + // Service Control will use this to assemble a complete log for Cloud Audit + // Logs and Google internal audit logs. + google.protobuf.Struct scrubbed_response = 3; + + // Number of scrubbed response items. + int32 scrubbed_response_item_count = 4; + + // Audit resource name which is scrubbed. + string target_resource = 5; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/error_details.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/error_details.proto new file mode 100644 index 00000000..c06afd48 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/error_details.proto @@ -0,0 +1,285 @@ +// Copyright 2024 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 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 + // regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents + // UPPER_SNAKE_CASE. + string reason = 1; + + // The logical grouping to which the "reason" belongs. The error domain + // is typically the registered service name of the tool or product that + // generates the error. Example: "pubsub.googleapis.com". If the error is + // generated by some common infrastructure, the error domain must be a + // globally unique value that identifies the infrastructure. For Google API + // infrastructure, the error domain is "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 metadata = 3; +} + +// 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:" or "project:". + 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 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 that leads to a field in the request body. The value will be a + // sequence of dot-separated identifiers that identify a protocol buffer + // field. + // + // Consider the following: + // + // message CreateContactRequest { + // message EmailAddress { + // enum Type { + // TYPE_UNSPECIFIED = 0; + // HOME = 1; + // WORK = 2; + // } + // + // optional string email = 1; + // repeated EmailType type = 2; + // } + // + // string full_name = 1; + // repeated EmailAddress email_addresses = 2; + // } + // + // In this example, in proto `field` could take one of the following values: + // + // * `full_name` for a violation in the `full_name` value + // * `email_addresses[1].email` for a violation in the `email` field of the + // first `email_addresses` message + // * `email_addresses[3].type[2]` for a violation in the second `type` + // value in the third `email_addresses` message. + // + // In JSON, the same values are represented as: + // + // * `fullName` for a violation in the `fullName` value + // * `emailAddresses[1].email` for a violation in the `email` field of the + // first `emailAddresses` message + // * `emailAddresses[3].type[2]` for a violation in the second `type` + // value in the third `emailAddresses` message. + 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:" or "project:". + 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 + // https://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/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/http.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/http.proto new file mode 100644 index 00000000..11688ea4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/http.proto @@ -0,0 +1,64 @@ +// Copyright 2024 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/http;http"; +option java_multiple_files = true; +option java_outer_classname = "HttpProto"; +option java_package = "com.google.rpc"; +option objc_class_prefix = "RPC"; + +// Represents an HTTP request. +message HttpRequest { + // The HTTP request method. + string method = 1; + + // The HTTP request URI. + string uri = 2; + + // The HTTP request headers. The ordering of the headers is significant. + // Multiple headers with the same key may present for the request. + repeated HttpHeader headers = 3; + + // The HTTP request body. If the body is not expected, it should be empty. + bytes body = 4; +} + +// Represents an HTTP response. +message HttpResponse { + // The HTTP status code, such as 200 or 404. + int32 status = 1; + + // The HTTP reason phrase, such as "OK" or "Not Found". + string reason = 2; + + // The HTTP response headers. The ordering of the headers is significant. + // Multiple headers with the same key may present for the response. + repeated HttpHeader headers = 3; + + // The HTTP response body. If the body is not expected, it should be empty. + bytes body = 4; +} + +// Represents an HTTP header. +message HttpHeader { + // The HTTP header key. It is case insensitive. + string key = 1; + + // The HTTP header value. + string value = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/rpc_publish.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/rpc_publish.yaml new file mode 100644 index 00000000..90a91e07 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/rpc_publish.yaml @@ -0,0 +1,28 @@ +type: google.api.Service +config_version: 1 +name: rpc.googleapis.com +title: Google RPC Types + +types: +- name: google.rpc.Status +- name: google.rpc.RetryInfo +- name: google.rpc.DebugInfo +- name: google.rpc.QuotaFailure +- name: google.rpc.BadRequest +- name: google.rpc.PreconditionFailure +- name: google.rpc.RequestInfo +- name: google.rpc.ResourceInfo +- name: google.rpc.Help +- name: google.rpc.LocalizedMessage + +enums: +- name: google.rpc.Code + +documentation: + summary: Defines RPC types. + overview: |- + # Google RPC + + This package contains type definitions for general RPC systems. While + [gRPC](https://github.com/grpc) is using these defintions, they are not + designed specifically to support gRPC. diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/status.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/status.proto new file mode 100644 index 00000000..90b70ddf --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/rpc/status.proto @@ -0,0 +1,49 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/BUILD.bazel b/pkgs/appengine/lib/src/grpc_api/protos/google/type/BUILD.bazel new file mode 100644 index 00000000..4374eb98 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/BUILD.bazel @@ -0,0 +1,578 @@ +load("@rules_proto//proto:defs.bzl", "proto_library") + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +proto_library( + name = "calendar_period_proto", + srcs = ["calendar_period.proto"], +) + +proto_library( + name = "color_proto", + srcs = ["color.proto"], + deps = [ + "@com_google_protobuf//:wrappers_proto", + ], +) + +proto_library( + name = "date_proto", + srcs = ["date.proto"], +) + +proto_library( + name = "datetime_proto", + srcs = ["datetime.proto"], + deps = [ + "@com_google_protobuf//:duration_proto", + ], +) + +proto_library( + name = "dayofweek_proto", + srcs = ["dayofweek.proto"], +) + +proto_library( + name = "decimal_proto", + srcs = ["decimal.proto"], +) + +proto_library( + name = "expr_proto", + srcs = ["expr.proto"], +) + +proto_library( + name = "fraction_proto", + srcs = ["fraction.proto"], +) + +proto_library( + name = "interval_proto", + srcs = ["interval.proto"], + deps = [ + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library( + name = "latlng_proto", + srcs = ["latlng.proto"], +) + +proto_library( + name = "localized_text_proto", + srcs = ["localized_text.proto"], +) + +proto_library( + name = "money_proto", + srcs = ["money.proto"], +) + +proto_library( + name = "month_proto", + srcs = ["month.proto"], +) + +proto_library( + name = "phone_number_proto", + srcs = ["phone_number.proto"], +) + +proto_library( + name = "postal_address_proto", + srcs = ["postal_address.proto"], +) + +proto_library( + name = "quaternion_proto", + srcs = ["quaternion.proto"], +) + +proto_library( + name = "timeofday_proto", + srcs = ["timeofday.proto"], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_proto_library", +) + +java_proto_library( + name = "type_java_proto", + deps = [ + ":calendar_period_proto", + ":color_proto", + ":date_proto", + ":datetime_proto", + ":dayofweek_proto", + ":decimal_proto", + ":expr_proto", + ":fraction_proto", + ":interval_proto", + ":latlng_proto", + ":localized_text_proto", + ":money_proto", + ":month_proto", + ":phone_number_proto", + ":postal_address_proto", + ":quaternion_proto", + ":timeofday_proto", + ], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate java files for these protos. +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-type-java", + transport = "grpc+rest", + deps = [ + ":calendar_period_proto", + ":color_proto", + ":date_proto", + ":datetime_proto", + ":dayofweek_proto", + ":decimal_proto", + ":expr_proto", + ":fraction_proto", + ":interval_proto", + ":latlng_proto", + ":localized_text_proto", + ":money_proto", + ":month_proto", + ":phone_number_proto", + ":postal_address_proto", + ":quaternion_proto", + ":timeofday_proto", + ":type_java_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load("@com_google_googleapis_imports//:imports.bzl", "go_proto_library") + +go_proto_library( + name = "calendar_period_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/calendarperiod", + protos = [":calendar_period_proto"], +) + +go_proto_library( + name = "color_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/color", + protos = [":color_proto"], +) + +go_proto_library( + name = "date_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/date", + protos = [":date_proto"], +) + +go_proto_library( + name = "datetime_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/datetime", + protos = [":datetime_proto"], +) + +go_proto_library( + name = "dayofweek_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/dayofweek", + protos = [":dayofweek_proto"], +) + +go_proto_library( + name = "decimal_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/decimal", + protos = [":decimal_proto"], +) + +go_proto_library( + name = "expr_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/expr", + protos = [":expr_proto"], +) + +go_proto_library( + name = "fraction_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/fraction", + protos = [":fraction_proto"], +) + +go_proto_library( + name = "interval_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/interval", + protos = [":interval_proto"], +) + +go_proto_library( + name = "latlng_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/latlng", + protos = [":latlng_proto"], +) + +go_proto_library( + name = "localized_text_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/localized_text", + protos = [":localized_text_proto"], +) + +go_proto_library( + name = "money_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/money", + protos = [":money_proto"], +) + +go_proto_library( + name = "month_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/month", + protos = [":month_proto"], +) + +go_proto_library( + name = "phone_number_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/phone_number", + protos = [":phone_number_proto"], +) + +go_proto_library( + name = "postaladdress_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/postaladdress", + protos = [":postal_address_proto"], +) + +go_proto_library( + name = "quaternion_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/quaternion", + protos = [":quaternion_proto"], +) + +go_proto_library( + name = "timeofday_go_proto", + importpath = "google.golang.org/genproto/googleapis/type/timeofday", + protos = [":timeofday_proto"], +) + +############################################################################## +# C++ +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "cc_proto_library", +) + +cc_proto_library( + name = "calendar_period_cc_proto", + deps = [":calendar_period_proto"], +) + +cc_proto_library( + name = "color_cc_proto", + deps = [":color_proto"], +) + +cc_proto_library( + name = "date_cc_proto", + deps = [":date_proto"], +) + +cc_proto_library( + name = "datetime_cc_proto", + deps = [":datetime_proto"], +) + +cc_proto_library( + name = "dayofweek_cc_proto", + deps = [":dayofweek_proto"], +) + +cc_proto_library( + name = "decimal_cc_proto", + deps = [":decimal_proto"], +) + +cc_proto_library( + name = "expr_cc_proto", + deps = [":expr_proto"], +) + +cc_proto_library( + name = "fraction_cc_proto", + deps = [":fraction_proto"], +) + +cc_proto_library( + name = "interval_cc_proto", + deps = [":interval_proto"], +) + +cc_proto_library( + name = "latlng_cc_proto", + deps = [":latlng_proto"], +) + +cc_proto_library( + name = "money_cc_proto", + deps = [":money_proto"], +) + +cc_proto_library( + name = "month_cc_proto", + deps = [":month_proto"], +) + +cc_proto_library( + name = "phone_number_cc_proto", + deps = [":phone_number_proto"], +) + +cc_proto_library( + name = "postal_address_cc_proto", + deps = [":postal_address_proto"], +) + +cc_proto_library( + name = "quaternion_cc_proto", + deps = [":quaternion_proto"], +) + +cc_proto_library( + name = "timeofday_cc_proto", + deps = [":timeofday_proto"], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_proto_library", +) + +py_proto_library( + name = "calendar_period_py_proto", + deps = [":calendar_period_proto"], +) + +py_proto_library( + name = "color_py_proto", + deps = [":color_proto"], +) + +py_proto_library( + name = "date_py_proto", + deps = [":date_proto"], +) + +py_proto_library( + name = "datetime_py_proto", + deps = [":datetime_proto"], +) + +py_proto_library( + name = "dayofweek_py_proto", + deps = [":dayofweek_proto"], +) + +py_proto_library( + name = "decimal_py_proto", + deps = [":decimal_proto"], +) + +py_proto_library( + name = "expr_py_proto", + deps = [":expr_proto"], +) + +py_proto_library( + name = "fraction_py_proto", + deps = [":fraction_proto"], +) + +py_proto_library( + name = "interval_py_proto", + deps = [":interval_proto"], +) + +py_proto_library( + name = "latlng_py_proto", + deps = [":latlng_proto"], +) + +py_proto_library( + name = "localized_text_py_proto", + deps = [":localized_text_proto"], +) + +py_proto_library( + name = "money_py_proto", + deps = [":money_proto"], +) + +py_proto_library( + name = "month_py_proto", + deps = [":month_proto"], +) + +py_proto_library( + name = "phone_number_py_proto", + deps = [":phone_number_proto"], +) + +py_proto_library( + name = "postal_address_py_proto", + deps = [":postal_address_proto"], +) + +py_proto_library( + name = "quaternion_py_proto", + deps = [":quaternion_proto"], +) + +py_proto_library( + name = "timeofday_py_proto", + deps = [":timeofday_proto"], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_proto_library", +) + +php_proto_library( + name = "type_php_proto", + deps = [ + ":calendar_period_proto", + ":color_proto", + ":date_proto", + ":datetime_proto", + ":dayofweek_proto", + ":decimal_proto", + ":expr_proto", + ":fraction_proto", + ":interval_proto", + ":latlng_proto", + ":localized_text_proto", + ":money_proto", + ":month_proto", + ":phone_number_proto", + ":postal_address_proto", + ":quaternion_proto", + ":timeofday_proto", + ], +) + +# Please DO-NOT-REMOVE this section. +# This is required to generate PHP files for these protos. +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-type-php", + deps = [":type_php_proto"], +) + +############################################################################## +# C# +############################################################################## + +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_proto_library", +) + +csharp_proto_library( + name = "calendar_period_csharp_proto", + deps = [":calendar_period_proto"], +) + +csharp_proto_library( + name = "color_csharp_proto", + deps = [":color_proto"], +) + +csharp_proto_library( + name = "date_csharp_proto", + deps = [":date_proto"], +) + +csharp_proto_library( + name = "datetime_csharp_proto", + deps = [":datetime_proto"], +) + +csharp_proto_library( + name = "dayofweek_csharp_proto", + deps = [":dayofweek_proto"], +) + +csharp_proto_library( + name = "decimal_csharp_proto", + deps = [":decimal_proto"], +) + +csharp_proto_library( + name = "expr_csharp_proto", + deps = [":expr_proto"], +) + +csharp_proto_library( + name = "fraction_csharp_proto", + deps = [":fraction_proto"], +) + +csharp_proto_library( + name = "interval_csharp_proto", + deps = [":interval_proto"], +) + +csharp_proto_library( + name = "latlng_csharp_proto", + deps = [":latlng_proto"], +) + +csharp_proto_library( + name = "localized_text_csharp_proto", + deps = [":localized_text_proto"], +) + +csharp_proto_library( + name = "money_csharp_proto", + deps = [":money_proto"], +) + +csharp_proto_library( + name = "month_csharp_proto", + deps = [":month_proto"], +) + +csharp_proto_library( + name = "phone_number_csharp_proto", + deps = [":phone_number_proto"], +) + +csharp_proto_library( + name = "postal_address_csharp_proto", + deps = [":postal_address_proto"], +) + +csharp_proto_library( + name = "quaternion_csharp_proto", + deps = [":quaternion_proto"], +) diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/README.md b/pkgs/appengine/lib/src/grpc_api/protos/google/type/README.md new file mode 100644 index 00000000..adf1563a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/README.md @@ -0,0 +1,7 @@ +## 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/calendar_period.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/calendar_period.proto new file mode 100644 index 00000000..25a8f644 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/calendar_period.proto @@ -0,0 +1,56 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/color.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/color.proto new file mode 100644 index 00000000..3e57c1fb --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/color.proto @@ -0,0 +1,174 @@ +// Copyright 2024 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. +// +// This reference page doesn't 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. +// +// When color equality needs to be decided, implementations, unless +// documented otherwise, treat two colors as equal if all their red, +// green, blue, and alpha values each differ by at most 1e-5. +// +// 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 rendered as a solid color + // (as if the alpha value had been explicitly given a value of 1.0). + google.protobuf.FloatValue alpha = 4; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/date.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/date.proto new file mode 100644 index 00000000..6370cd86 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/date.proto @@ -0,0 +1,52 @@ +// Copyright 2024 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, such as a birthday. The time of +// day and time zone are either specified elsewhere or are insignificant. The +// date is relative to the Gregorian Calendar. This can represent one of the +// following: +// +// * A full date, with non-zero year, month, and day values +// * A month and day value, with a zero year, such as an anniversary +// * A year on its own, with zero month and day values +// * A year and month value, with a zero day, such as a credit card expiration +// date +// +// Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and +// `google.protobuf.Timestamp`. +message Date { + // Year of the date. Must be from 1 to 9999, or 0 to specify a date without + // a year. + int32 year = 1; + + // Month of a year. Must be from 1 to 12, or 0 to specify a year without a + // month and day. + int32 month = 2; + + // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 + // to specify a year by itself or a year and month where the day isn't + // significant. + int32 day = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/datetime.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/datetime.proto new file mode 100644 index 00000000..a363a41e --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/datetime.proto @@ -0,0 +1,104 @@ +// Copyright 2024 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 (or occasionally physical time). +// +// This type can represent a 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 may also be used to represent a physical time if all the date and +// time fields are set and either case of the `time_offset` oneof is set. +// Consider using `Timestamp` message for physical time instead. If your use +// case also would like to store the user's timezone, that can be done in +// another field. +// +// 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/dayofweek.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/dayofweek.proto new file mode 100644 index 00000000..e16c1946 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/dayofweek.proto @@ -0,0 +1,50 @@ +// Copyright 2024 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 the week. +enum DayOfWeek { + // The day of the week is unspecified. + DAY_OF_WEEK_UNSPECIFIED = 0; + + // Monday + MONDAY = 1; + + // Tuesday + TUESDAY = 2; + + // Wednesday + WEDNESDAY = 3; + + // Thursday + THURSDAY = 4; + + // Friday + FRIDAY = 5; + + // Saturday + SATURDAY = 6; + + // Sunday + SUNDAY = 7; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/decimal.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/decimal.proto new file mode 100644 index 00000000..293d0827 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/decimal.proto @@ -0,0 +1,95 @@ +// Copyright 2024 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/decimal;decimal"; +option java_multiple_files = true; +option java_outer_classname = "DecimalProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + +// A representation of a decimal value, such as 2.5. Clients may convert values +// into language-native decimal formats, such as Java's [BigDecimal][] or +// Python's [decimal.Decimal][]. +// +// [BigDecimal]: +// https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html +// [decimal.Decimal]: https://docs.python.org/3/library/decimal.html +message Decimal { + // The decimal value, as a string. + // + // The string representation consists of an optional sign, `+` (`U+002B`) + // or `-` (`U+002D`), followed by a sequence of zero or more decimal digits + // ("the integer"), optionally followed by a fraction, optionally followed + // by an exponent. + // + // The fraction consists of a decimal point followed by zero or more decimal + // digits. The string must contain at least one digit in either the integer + // or the fraction. The number formed by the sign, the integer and the + // fraction is referred to as the significand. + // + // The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`) + // followed by one or more decimal digits. + // + // Services **should** normalize decimal values before storing them by: + // + // - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). + // - Replacing a zero-length integer value with `0` (`.5` -> `0.5`). + // - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`). + // - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`). + // + // Services **may** perform additional normalization based on its own needs + // and the internal decimal implementation selected, such as shifting the + // decimal point and exponent value together (example: `2.5e-1` <-> `0.25`). + // Additionally, services **may** preserve trailing zeroes in the fraction + // to indicate increased precision, but are not required to do so. + // + // Note that only the `.` character is supported to divide the integer + // and the fraction; `,` **should not** be supported regardless of locale. + // Additionally, thousand separators **should not** be supported. If a + // service does support them, values **must** be normalized. + // + // The ENBF grammar is: + // + // DecimalString = + // [Sign] Significand [Exponent]; + // + // Sign = '+' | '-'; + // + // Significand = + // Digits ['.'] [Digits] | [Digits] '.' Digits; + // + // Exponent = ('e' | 'E') [Sign] Digits; + // + // Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' }; + // + // Services **should** clearly document the range of supported values, the + // maximum supported precision (total number of digits), and, if applicable, + // the scale (number of digits after the decimal point), as well as how it + // behaves when receiving out-of-bounds values. + // + // Services **may** choose to accept values passed as input even when the + // value has a higher precision or scale than the service supports, and + // **should** round the value to fit the supported scale. Alternatively, the + // service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) + // if precision would be lost. + // + // Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in + // gRPC) if the service receives a value outside of the supported range. + string value = 1; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/expr.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/expr.proto new file mode 100644 index 00000000..544e6687 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/expr.proto @@ -0,0 +1,73 @@ +// Copyright 2024 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 a textual expression in the Common Expression Language (CEL) +// syntax. CEL is a C-like expression language. The syntax and semantics of CEL +// are documented at https://github.com/google/cel-spec. +// +// Example (Comparison): +// +// title: "Summary size limit" +// description: "Determines if a summary is less than 100 chars" +// expression: "document.summary.size() < 100" +// +// Example (Equality): +// +// title: "Requestor is owner" +// description: "Determines if requestor is the document owner" +// expression: "document.owner == request.auth.claims.email" +// +// Example (Logic): +// +// title: "Public documents" +// description: "Determine whether the document should be publicly visible" +// expression: "document.type != 'private' && document.type != 'internal'" +// +// Example (Data Manipulation): +// +// title: "Notification string" +// description: "Create a notification string with a timestamp." +// expression: "'New message received at ' + string(document.create_time)" +// +// The exact variables and functions that may be referenced within an expression +// are determined by the service that evaluates it. See the service +// documentation for additional information. +message Expr { + // Textual representation of an expression in Common Expression Language + // syntax. + string expression = 1; + + // 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; + + // 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; + + // 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/fraction.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/fraction.proto new file mode 100644 index 00000000..06f07232 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/fraction.proto @@ -0,0 +1,33 @@ +// Copyright 2024 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 numerator in the fraction, 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/interval.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/interval.proto new file mode 100644 index 00000000..fcf94c86 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/interval.proto @@ -0,0 +1,46 @@ +// Copyright 2024 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/timestamp.proto"; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/type/interval;interval"; +option java_multiple_files = true; +option java_outer_classname = "IntervalProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + +// Represents a time interval, encoded as a Timestamp start (inclusive) and a +// Timestamp end (exclusive). +// +// The start must be less than or equal to the end. +// When the start equals the end, the interval is empty (matches no time). +// When both start and end are unspecified, the interval matches any time. +message Interval { + // Optional. Inclusive start of the interval. + // + // If specified, a Timestamp matching this interval will have to be the same + // or after the start. + google.protobuf.Timestamp start_time = 1; + + // Optional. Exclusive end of the interval. + // + // If specified, a Timestamp matching this interval will have to be before the + // end. + google.protobuf.Timestamp end_time = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/latlng.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/latlng.proto new file mode 100644 index 00000000..daeba48b --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/latlng.proto @@ -0,0 +1,37 @@ +// Copyright 2024 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 +// WGS84 +// standard. 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/localized_text.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/localized_text.proto new file mode 100644 index 00000000..82d083c4 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/localized_text.proto @@ -0,0 +1,36 @@ +// Copyright 2024 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/localized_text;localized_text"; +option java_multiple_files = true; +option java_outer_classname = "LocalizedTextProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + +// Localized variant of a text in a particular language. +message LocalizedText { + // Localized string in the language corresponding to `language_code' below. + string text = 1; + + // The text's BCP-47 language code, such as "en-US" or "sr-Latn". + // + // For more information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + string language_code = 2; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/money.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/money.proto new file mode 100644 index 00000000..c6109433 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/money.proto @@ -0,0 +1,42 @@ +// Copyright 2024 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 three-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/pkgs/appengine/lib/src/grpc_api/protos/google/type/month.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/month.proto new file mode 100644 index 00000000..19982cb5 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/month.proto @@ -0,0 +1,65 @@ +// Copyright 2024 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 unspecified 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/phone_number.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/phone_number.proto new file mode 100644 index 00000000..370d1623 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/phone_number.proto @@ -0,0 +1,113 @@ +// Copyright 2024 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/phone_number;phone_number"; +option java_multiple_files = true; +option java_outer_classname = "PhoneNumberProto"; +option java_package = "com.google.type"; +option objc_class_prefix = "GTP"; + +// An object representing a phone number, suitable as an API wire format. +// +// This representation: +// +// - should not be used for locale-specific formatting of a phone number, such +// as "+1 (650) 253-0000 ext. 123" +// +// - is not designed for efficient storage +// - may not be suitable for dialing - specialized libraries (see references) +// should be used to parse the number for that purpose +// +// To do something meaningful with this number, such as format it for various +// use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first. +// +// For instance, in Java this would be: +// +// com.google.type.PhoneNumber wireProto = +// com.google.type.PhoneNumber.newBuilder().build(); +// com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = +// PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ"); +// if (!wireProto.getExtension().isEmpty()) { +// phoneNumber.setExtension(wireProto.getExtension()); +// } +// +// Reference(s): +// - https://github.com/google/libphonenumber +message PhoneNumber { + // An object representing a short code, which is a phone number that is + // typically much shorter than regular phone numbers and can be used to + // address messages in MMS and SMS systems, as well as for abbreviated dialing + // (e.g. "Text 611 to see how many minutes you have remaining on your plan."). + // + // Short codes are restricted to a region and are not internationally + // dialable, which means the same short code can exist in different regions, + // with different usage and pricing, even if those regions share the same + // country calling code (e.g. US and CA). + message ShortCode { + // Required. The BCP-47 region code of the location where calls to this + // short code can be made, such as "US" and "BB". + // + // Reference(s): + // - http://www.unicode.org/reports/tr35/#unicode_region_subtag + string region_code = 1; + + // Required. The short code digits, without a leading plus ('+') or country + // calling code, e.g. "611". + string number = 2; + } + + // Required. Either a regular number, or a short code. New fields may be + // added to the oneof below in the future, so clients should ignore phone + // numbers for which none of the fields they coded against are set. + oneof kind { + // The phone number, represented as a leading plus sign ('+'), followed by a + // phone number that uses a relaxed ITU E.164 format consisting of the + // country calling code (1 to 3 digits) and the subscriber number, with no + // additional spaces or formatting, e.g.: + // - correct: "+15552220123" + // - incorrect: "+1 (555) 222-01234 x123". + // + // The ITU E.164 format limits the latter to 12 digits, but in practice not + // all countries respect that, so we relax that restriction here. + // National-only numbers are not allowed. + // + // References: + // - https://www.itu.int/rec/T-REC-E.164-201011-I + // - https://en.wikipedia.org/wiki/E.164. + // - https://en.wikipedia.org/wiki/List_of_country_calling_codes + string e164_number = 1; + + // A short code. + // + // Reference(s): + // - https://en.wikipedia.org/wiki/Short_code + ShortCode short_code = 2; + } + + // The phone number's extension. The extension is not standardized in ITU + // recommendations, except for being defined as a series of numbers with a + // maximum length of 40 digits. Other than digits, some other dialing + // characters such as ',' (indicating a wait) or '#' may be stored here. + // + // Note that no regions currently use extensions with short codes, so this + // field is normally only set in conjunction with an E.164 number. It is held + // separately from the E.164 number to allow for short code extensions in the + // future. + string extension = 3; +} diff --git a/pkgs/appengine/lib/src/grpc_api/protos/google/type/postal_address.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/postal_address.proto new file mode 100644 index 00000000..7023a9b3 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/postal_address.proto @@ -0,0 +1,134 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/quaternion.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/quaternion.proto new file mode 100644 index 00000000..416de30c --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/quaternion.proto @@ -0,0 +1,94 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/timeofday.proto b/pkgs/appengine/lib/src/grpc_api/protos/google/type/timeofday.proto new file mode 100644 index 00000000..3735745a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/timeofday.proto @@ -0,0 +1,44 @@ +// Copyright 2024 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/pkgs/appengine/lib/src/grpc_api/protos/google/type/type.yaml b/pkgs/appengine/lib/src/grpc_api/protos/google/type/type.yaml new file mode 100644 index 00000000..d5c71364 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api/protos/google/type/type.yaml @@ -0,0 +1,40 @@ +type: google.api.Service +config_version: 3 +name: type.googleapis.com +title: Common Types + +types: +- name: google.type.Color +- name: google.type.Date +- name: google.type.DateTime +- name: google.type.Decimal +- name: google.type.Expr +- name: google.type.Fraction +- name: google.type.Interval +- name: google.type.LatLng +- name: google.type.LocalizedText +- name: google.type.Money +- name: google.type.PhoneNumber +- name: google.type.PostalAddress +- name: google.type.Quaternion +- name: google.type.TimeOfDay + +enums: +- name: google.type.CalendarPeriod +- name: google.type.DayOfWeek +- name: google.type.Month + +documentation: + summary: Defines common types for Google APIs. + overview: |- + # 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#. + + NOTE: Some common types are defined in the package `google.protobuf` + as they are directly supported by Protocol Buffers compiler and + runtime. Those types are called Well-Known Types. diff --git a/pkgs/appengine/lib/src/grpc_api_impl/auth_utils.dart b/pkgs/appengine/lib/src/grpc_api_impl/auth_utils.dart new file mode 100644 index 00000000..64dba6ba --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api_impl/auth_utils.dart @@ -0,0 +1,100 @@ +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +// TODO(kustermann): At some point we should integrate this library +// into `package:googleapis_auth`. +library auth_utils; + +import 'dart:async'; + +import 'package:googleapis_auth/auth_io.dart' as auth; +import 'package:http/http.dart' as http; + +/// Base class for a on-demand provider of oauth2 access tokens. +abstract class AccessTokenProvider { + Future obtainAccessToken(); + Future close(); +} + +/// Provides oauth2 access tokens by using service account credentials from +/// the Compute Engine metadata server. +/// +/// For more information see the Compute Engine documentation about service +/// accounts for VMs: +/// +/// https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances +/// +class MetadataAccessTokenProvider implements AccessTokenProvider { + final http.Client _httpClient = http.Client(); + + @override + Future obtainAccessToken() async { + final auth.AccessCredentials credentials = + await auth.obtainAccessCredentialsViaMetadataServer(_httpClient); + return credentials.accessToken; + } + + @override + Future close() async { + _httpClient.close(); + } +} + +/// Provides oauth2 access tokens by using the provided service account +/// credentials. +class ServiceAccountTokenProvider implements AccessTokenProvider { + final http.Client _httpClient = http.Client(); + final auth.ServiceAccountCredentials _serviceAccount; + final List _scopes; + + ServiceAccountTokenProvider(this._serviceAccount, this._scopes); + + @override + Future obtainAccessToken() async { + final auth.AccessCredentials credentials = + await auth.obtainAccessCredentialsViaServiceAccount( + _serviceAccount, _scopes, _httpClient); + return credentials.accessToken; + } + + @override + Future close() async { + _httpClient.close(); + } +} + +/// Wraps an existing [AccessTokenProvider] and rate-limits the call to it +/// by ensuring there is at most one outstanding request. +/// +/// If several callers try to obtain access tokens at the same time, then only +/// the first request will trigger a request to the underlying token provider +/// and the resulting access token (or an error) will be delivered to all +/// callers. +class LimitOutstandingRequests implements AccessTokenProvider { + final AccessTokenProvider _provider; + Completer? _completer; + + LimitOutstandingRequests(this._provider); + + @override + Future obtainAccessToken() { + if (_completer != null) { + return _completer!.future.then((value) => value as auth.AccessToken); + } + + _completer = Completer(); + _provider.obtainAccessToken().then((auth.AccessToken token) { + _completer!.complete(token); + _completer = null; + }, onError: (error, stack) { + _completer!.completeError(error, stack); + _completer = null; + }); + + return _completer!.future.then((value) => value as auth.AccessToken); + } + + @override + Future close() => _provider.close(); +} diff --git a/pkgs/appengine/lib/src/grpc_api_impl/datastore_impl.dart b/pkgs/appengine/lib/src/grpc_api_impl/datastore_impl.dart new file mode 100644 index 00000000..0e7fac96 --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api_impl/datastore_impl.dart @@ -0,0 +1,619 @@ +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library grpc_datastore; + +import 'dart:async'; + +import 'package:gcloud/common.dart'; +import 'package:gcloud/datastore.dart' as raw; +import 'package:grpc/grpc.dart' as grpc; + +import '../errors.dart' as errors; +import '../grpc_api/datastore_api.dart'; + +const List OAuth2Scopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/datastore', +]; + +// TODO(kustermann): Currently we only convert service specific errors to +// different exceptions (e.g. transaction aborted). +// Maybe we want to wrap all grpc.BaseException exceptions and convert them to +// appengine specific ones. +class GrpcDatastoreImpl implements raw.Datastore { + final DatastoreClient _clientRPCStub; + final _Codec _codec; + final String _projectId; + + GrpcDatastoreImpl( + grpc.ClientChannel clientChannel, + grpc.HttpBasedAuthenticator authenticator, + String project, + ) : _clientRPCStub = DatastoreClient( + clientChannel, + options: authenticator.toCallOptions, + ), + _codec = _Codec(project), + _projectId = project; + + @override + Future> allocateIds(List keys) async { + final request = AllocateIdsRequest()..projectId = _projectId; + request.keys + .addAll(keys.map((key) => _codec.encodeKey(key, enforceId: false))); + try { + final response = await _clientRPCStub.allocateIds(request); + return response.keys.map(_codec.decodeKey).toList(); + } on grpc.GrpcError catch (_) { + rethrow; + } + } + + @override + Future beginTransaction( + {bool crossEntityGroup = false}) async { + final request = BeginTransactionRequest()..projectId = _projectId; + + try { + final response = await _clientRPCStub.beginTransaction(request); + return _TransactionImpl(response.transaction); + } on grpc.GrpcError catch (_) { + rethrow; + } + } + + @override + Future commit( + {List? inserts, + List? autoIdInserts, + List? deletes, + raw.Transaction? transaction}) async { + final request = CommitRequest()..projectId = _projectId; + + if (transaction != null) { + request + ..transaction = (transaction as _TransactionImpl)._rpcTransaction + ..mode = CommitRequest_Mode.TRANSACTIONAL; + } else { + request.mode = CommitRequest_Mode.NON_TRANSACTIONAL; + } + + if (autoIdInserts != null) { + for (final raw.Entity insert in autoIdInserts) { + request.mutations.add( + Mutation()..insert = _codec.encodeEntity(insert, enforceId: false)); + } + } + if (inserts != null) { + for (final raw.Entity insert in inserts) { + request.mutations.add(Mutation()..upsert = _codec.encodeEntity(insert)); + } + } + if (deletes != null) { + for (final raw.Key delete in deletes) { + request.mutations.add(Mutation()..delete = _codec.encodeKey(delete)); + } + } + try { + final CommitResponse response = await _clientRPCStub.commit(request); + + var allocatedKeys = []; + if (autoIdInserts?.isNotEmpty ?? false) { + allocatedKeys = List.generate(autoIdInserts!.length, (i) { + return _codec.decodeKey(response.mutationResults[i].key); + }); + } + return raw.CommitResult(allocatedKeys); + } on grpc.GrpcError catch (error) { + if (error.code == grpc.StatusCode.aborted) { + throw raw.TransactionAbortedError(); + } else if (error.code == grpc.StatusCode.invalidArgument) { + throw raw.ApplicationError(error.message ?? 'Unknown error'); + } else { + rethrow; + } + } + } + + @override + Future rollback(raw.Transaction transaction) async { + final request = RollbackRequest() + ..projectId = _projectId + ..transaction = (transaction as _TransactionImpl)._rpcTransaction; + + try { + await _clientRPCStub.rollback(request); + } on grpc.GrpcError catch (_) { + rethrow; + } + } + + @override + Future> lookup(List keys, + {raw.Transaction? transaction}) async { + final request = LookupRequest() + ..projectId = _projectId + ..readOptions = + (ReadOptions()..readConsistency = ReadOptions_ReadConsistency.STRONG); + if (transaction != null) { + request.readOptions.transaction = + (transaction as _TransactionImpl)._rpcTransaction; + } + + request.keys + .addAll(keys.map((key) => _codec.encodeKey(key, enforceId: true))); + + try { + final LookupResponse response = await _clientRPCStub.lookup(request); + if (response.deferred.isNotEmpty) { + throw raw.DatastoreError( + 'Could not successfully look up all keys due to resource ' + 'constraints.'); + } + + final Map entityLookupResult = {}; + for (final result in response.found) { + entityLookupResult[result.entity.key] = + _codec.decodeEntity(result.entity); + } + for (final result in response.missing) { + entityLookupResult[result.entity.key] = null; + } + final entities = List.filled(request.keys.length, null); + for (int i = 0; i < request.keys.length; i++) { + final key = request.keys[i]; + // The key needs to be in the map, but it's value might be `null`. + if (!entityLookupResult.containsKey(key)) { + throw raw.DatastoreError('Invalid server response: ' + 'Tried to lookup $key but entity was neither in ' + 'missing nor in found.\n$response'); + } + + entities[i] = entityLookupResult[key]; + } + return entities; + } on grpc.GrpcError catch (_) { + rethrow; + } + } + + @override + Future> query(raw.Query query, + {raw.Partition? partition, raw.Transaction? transaction}) async { + final request = RunQueryRequest()..projectId = _projectId; + + if (transaction != null) { + request.readOptions = ReadOptions() + ..transaction = (transaction as _TransactionImpl)._rpcTransaction + ..readConsistency = ReadOptions_ReadConsistency.STRONG; + } + + if (partition != null && partition.namespace != null) { + request.partitionId = PartitionId() + ..projectId = _projectId + ..namespaceId = partition.namespace!; + } + + final pbQuery = Query(); + if (query.kind != null) { + pbQuery.kind.add(KindExpression()..name = query.kind!); + } + if (query.offset != null) pbQuery.offset = query.offset!; + if (query.limit != null) pbQuery.limit = Int32Value()..value = query.limit!; + + // Build a list of property and ancestor query filters. The entries in this + // list will be combined with an AND filter. + final List filters = []; + if (query.filters != null && query.filters!.isNotEmpty) { + for (final filter in query.filters!) { + final operation = _Codec.FILTER_RELATION_MAPPING[filter.relation]!; + final value = filter.value; + final pbPropertyFilter = PropertyFilter() + ..property = (PropertyReference()..name = filter.name) + ..op = operation + ..value = _codec.encodeValue(value); + final pbFilter = Filter()..propertyFilter = pbPropertyFilter; + filters.add(pbFilter); + } + } + if (query.ancestorKey != null) { + final ancestorKey = _codec.encodeKey(query.ancestorKey!, enforceId: true); + final pbPropertyFilter = PropertyFilter() + ..property = (PropertyReference()..name = '__key__') + ..op = PropertyFilter_Operator.HAS_ANCESTOR + ..value = (Value()..keyValue = ancestorKey); + final pbFilter = Filter()..propertyFilter = pbPropertyFilter; + + filters.add(pbFilter); + } + if (filters.length == 1) { + pbQuery.filter = filters[0]; + } else if (filters.length > 1) { + final compositeFilter = CompositeFilter() + ..op = CompositeFilter_Operator.AND + ..filters.addAll(filters); + pbQuery.filter = Filter()..compositeFilter = compositeFilter; + } + + if (query.orders != null) { + for (final order in query.orders!) { + final pbOrder = PropertyOrder() + ..property = (PropertyReference()..name = order.propertyName) + ..direction = order.direction == raw.OrderDirection.Ascending + ? PropertyOrder_Direction.ASCENDING + : PropertyOrder_Direction.DESCENDING; + pbQuery.order.add(pbOrder); + } + } + + request.query = pbQuery; + + try { + final RunQueryResponse response = await _clientRPCStub.runQuery(request); + final QueryResultBatch batch = response.batch; + return _QueryPageImpl.fromQueryResult( + request, _clientRPCStub, _codec, query.offset, 0, query.limit, batch); + } on grpc.GrpcError catch (_) { + rethrow; + } + } +} + +class _QueryPageImpl implements Page { + final RunQueryRequest _request; + final DatastoreClient _clientGRPCStub; + final _Codec _codec; + final List _cursor; + + final List _entities; + final bool _isLast; + + // This is `Query.offset` and will be carried across page walking. + final int? _offset; + + // This is always non-`null` and contains the number of entities that were + // skiped so far. + final int _alreadySkipped; + + // If not `null` this will hold the remaining number of entities we are + // allowed to receive according to `Query.limit`. + final int? _remainingNumberOfEntities; + + _QueryPageImpl( + this._request, + this._clientGRPCStub, + this._codec, + this._cursor, + this._entities, + this._isLast, + this._offset, + this._alreadySkipped, + this._remainingNumberOfEntities); + + static _QueryPageImpl fromQueryResult( + RunQueryRequest request, + DatastoreClient clientGRPCStub, + _Codec codec, + int? offset, + int alreadySkipped, + int? remainingNumberOfEntities, + QueryResultBatch batch) { + // If we have an offset: Check that in total we haven't skipped too many. + if (offset != null && + offset > 0 && + batch.hasSkippedResults() && + batch.skippedResults > (offset - alreadySkipped)) { + throw raw.DatastoreError( + 'Datastore was supposed to skip $offset entities, ' + 'but response indicated ' + '${batch.skippedResults + alreadySkipped} entities were ' + 'skipped (which is more).'); + } + + // If we have a limit: Check that in total we haven't gotten too many. + if (remainingNumberOfEntities != null && + remainingNumberOfEntities > 0 && + batch.entityResults.length > remainingNumberOfEntities) { + throw raw.DatastoreError( + 'Datastore returned more entitites (${batch.entityResults.length}) ' + 'then the limit was ($remainingNumberOfEntities).'); + } + + // If we have a limit: Calculate the remaining limit. + int? remainingEntities; + if (remainingNumberOfEntities != null && remainingNumberOfEntities > 0) { + remainingEntities = + remainingNumberOfEntities - batch.entityResults.length; + } + + // Determine if this is the last query batch. + bool isLast; + if (!batch.hasMoreResults()) { + throw raw.DatastoreError( + 'Datastore was supposed to specify the "moreResults" field ' + 'in the query response, but it was missing.'); + } + if (batch.moreResults == + QueryResultBatch_MoreResultsType.MORE_RESULTS_AFTER_LIMIT || + batch.moreResults == + QueryResultBatch_MoreResultsType.MORE_RESULTS_AFTER_CURSOR || + batch.moreResults == QueryResultBatch_MoreResultsType.NO_MORE_RESULTS) { + isLast = true; + } else if (batch.moreResults == + QueryResultBatch_MoreResultsType.NOT_FINISHED) { + isLast = false; + } else { + throw raw.DatastoreError( + 'Datastore returned an unknown "moreResults" field in the query ' + 'response'); + } + + // If we have an offset: Calculate the new number of skipped entities. + int skipped = alreadySkipped; + if (offset != null && offset > 0 && batch.hasSkippedResults()) { + skipped += batch.skippedResults; + } + + final entities = batch.entityResults.map((EntityResult result) { + return codec.decodeEntity(result.entity); + }).toList(); + + return _QueryPageImpl(request, clientGRPCStub, codec, batch.endCursor, + entities, isLast, offset, skipped, remainingEntities); + } + + @override + bool get isLast => _isLast; + + @override + List get items => _entities; + + @override + Future> next({int? pageSize}) async { + if (isLast) { + throw ArgumentError('Cannot call next() on last page.'); + } + + // We start at the endCursor we got from the last query. + _request.query.startCursor = _cursor; + + // We modify the adjusted offset/limits. + if (_offset != null && (_offset! - _alreadySkipped) > 0) { + _request.query.offset = _offset! - _alreadySkipped; + } else { + _request.query.clearOffset(); + } + if (_remainingNumberOfEntities != null) { + _request.query.limit = Int32Value()..value = _remainingNumberOfEntities!; + } else { + _request.query.clearLimit(); + } + + // Maybe lower the number of entities we want to get back in one go. + if (pageSize != null && pageSize > 0) { + if (!_request.query.hasLimit()) { + _request.query.limit = Int32Value()..value = pageSize; + } else if (_request.query.limit.value >= pageSize) { + _request.query.limit.value = pageSize; + } + } + + try { + final response = await _clientGRPCStub.runQuery(_request); + return _QueryPageImpl.fromQueryResult(_request, _clientGRPCStub, _codec, + _offset, _alreadySkipped, _remainingNumberOfEntities, response.batch); + } on grpc.GrpcError catch (_) { + rethrow; + } + } +} + +class _TransactionImpl extends raw.Transaction { + final List _rpcTransaction; + + _TransactionImpl(this._rpcTransaction); +} + +class _Codec { + static const Map + FILTER_RELATION_MAPPING = { + raw.FilterRelation.LessThan: PropertyFilter_Operator.LESS_THAN, + raw.FilterRelation.LessThanOrEqual: + PropertyFilter_Operator.LESS_THAN_OR_EQUAL, + raw.FilterRelation.Equal: PropertyFilter_Operator.EQUAL, + // ignore: deprecated_member_use + raw.FilterRelation.GreatherThan: PropertyFilter_Operator.GREATER_THAN, + // ignore: deprecated_member_use + raw.FilterRelation.GreatherThanOrEqual: + PropertyFilter_Operator.GREATER_THAN_OR_EQUAL, + }; + + final String _projectId; + + _Codec(this._projectId); + + raw.Entity decodeEntity(Entity pb) { + final properties = {}; + final unIndexedProperties = {}; + + for (final name in pb.properties.keys) { + final value = decodeValue(pb.properties[name]!); + + if (pb.properties[name]!.hasExcludeFromIndexes() && + pb.properties[name]!.excludeFromIndexes) { + unIndexedProperties.add(name); + } + + // NOTE: This is a hackisch way of detecting whether to construct a list + // or not. We may be able to use the [propertyPb.multiple] flag, but + // we could run into issues if we get the same name twice where the flag + // is false. (Or the flag is sometimes set and sometimes not). + // + // The higher-level datastore API will let the user specify a list + // annotation, which will take care of converting 0/1/N valued properties + // to lists (no matter whether they are not present, a value or a list + // from this `properties` here). + if (!properties.containsKey(name)) { + properties[name] = decodeValue(pb.properties[name]!); + } else { + final oldValue = properties[name]; + if (oldValue is List) { + oldValue.add(value); + } else { + properties[name] = [oldValue, value]; + } + } + } + + return raw.Entity(decodeKey(pb.key), properties, + unIndexedProperties: unIndexedProperties); + } + + Object? decodeValue(Value value) { + if (value.hasBooleanValue()) { + return value.booleanValue; + } else if (value.hasStringValue()) { + return value.stringValue; + } else if (value.hasIntegerValue()) { + return value.integerValue.toInt(); + } else if (value.hasBlobValue()) { + return raw.BlobValue(value.blobValue); + } else if (value.hasDoubleValue()) { + return value.doubleValue; + } else if (value.hasKeyValue()) { + return decodeKey(value.keyValue); + } else if (value.hasNullValue()) { + return null; + } else if (value.hasTimestampValue()) { + final ts = value.timestampValue; + int us = ts.seconds.toInt() * 1000 * 1000; + if (ts.hasNanos()) us += ts.nanos ~/ 1000; + return DateTime.fromMicrosecondsSinceEpoch(us, isUtc: true); + } else if (value.hasArrayValue()) { + return value.arrayValue.values.map(decodeValue).toList(); + } else if (value.hasGeoPointValue()) { + throw UnimplementedError('GeoPoint values are not supported yet.'); + } else if (value.hasEntityValue()) { + throw UnimplementedError('Entity values are not supported yet.'); + } + + throw Exception('Unreachable'); + } + + raw.Key decodeKey(Key pb) { + final keyElements = List.filled(pb.path.length, null); + for (int i = 0; i < pb.path.length; i++) { + final part = pb.path[i]; + var id; + if (part.hasName()) { + id = part.name; + } else if (part.hasId()) { + id = part.id.toInt(); + } else { + throw const errors.ProtocolError('Neither name nor id present in Key.'); + } + keyElements[i] = raw.KeyElement(part.kind, id); + } + var partition; + if (pb.hasPartitionId()) { + final partitionId = pb.partitionId; + if (partitionId.hasNamespaceId()) { + partition = raw.Partition(partitionId.namespaceId); + } + } + partition ??= raw.Partition(null); + return raw.Key(keyElements.cast(), partition: partition); + } + + Entity encodeEntity(raw.Entity entity, {bool enforceId = true}) { + final pb = Entity()..key = encodeKey(entity.key, enforceId: enforceId); + + final Set unIndexedProperties = entity.unIndexedProperties; + entity.properties.forEach((String property, Object? value) { + final bool indexProperty = !unIndexedProperties.contains(property); + + pb.properties[property] = encodeValue(value, !indexProperty); + }); + return pb; + } + + Key encodeKey(raw.Key key, {bool enforceId = true}) { + final pbPartitionId = PartitionId()..projectId = _projectId; + final pb = Key()..partitionId = pbPartitionId; + + final partition = key.partition; + if (partition.namespace != null) { + pbPartitionId.namespaceId = partition.namespace!; + } + + for (final part in key.elements) { + final partPb = Key_PathElement()..kind = part.kind; + if (part.id != null) { + if (part.id is String) { + partPb.name = part.id; + } else if (part.id is int) { + partPb.id = Int64(part.id); + } else { + throw raw.ApplicationError( + 'Only strings and integers are supported as IDs ' + '(was: ${part.id.runtimeType}).'); + } + } else { + if (enforceId) { + throw raw.ApplicationError( + 'Error while encoding entity key: id was null.'); + } + } + pb.path.add(partPb); + } + + return pb; + } + + Value encodeValue(value, [bool excludeFromIndexes = false]) { + final pb = Value(); + if (value is bool) { + pb.booleanValue = value; + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is String) { + pb.stringValue = value; + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is int) { + pb.integerValue = Int64(value); + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is raw.BlobValue) { + pb.blobValue = value.bytes; + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is double) { + pb.doubleValue = value; + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is raw.Key) { + pb.keyValue = encodeKey(value, enforceId: true); + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value == null) { + pb.nullValue = NullValue.NULL_VALUE; + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is DateTime) { + final int ms = value.millisecondsSinceEpoch; + final int seconds = ms ~/ 1000; + final int ns = 1000 * (value.microsecond + (ms % 1000) * 1000); + pb.timestampValue = Timestamp() + ..seconds = (Int64(seconds)) + ..nanos = ns; + if (excludeFromIndexes) pb.excludeFromIndexes = true; + } else if (value is List) { + // For [ArrayValue]s we need to set the indexing-bit on the individual + // values, not on the array! + pb.arrayValue = ArrayValue() + ..values.addAll(value.map((value) { + return encodeValue(value, excludeFromIndexes); + })); + } else { + throw raw.ApplicationError( + 'Cannot encode unsupported ${value.runtimeType} type.'); + } + return pb; + } +} diff --git a/pkgs/appengine/lib/src/grpc_api_impl/logging_impl.dart b/pkgs/appengine/lib/src/grpc_api_impl/logging_impl.dart new file mode 100644 index 00000000..e0ad2c1a --- /dev/null +++ b/pkgs/appengine/lib/src/grpc_api_impl/logging_impl.dart @@ -0,0 +1,470 @@ +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library grpc_logging; + +import 'dart:async'; +import 'dart:io'; +import 'package:grpc/grpc.dart' as grpc; +import 'package:stack_trace/stack_trace.dart' show Trace; + +import '../grpc_api/dart/google/appengine/logging/v1/request_log.pb.dart' + as gae_log; +import '../grpc_api/logging_api.dart' as api; +import '../logging.dart'; +import '../logging_impl.dart'; + +const List OAuth2Scopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/logging.write', +]; + +/// A [appengine.Logging] adapter which groups request-specific logging +/// entries and sends them off via the [SharedLoggingService]. +/// +/// The `package:appengine` framework is responsible for calling [finish] +/// once the request is done in order to flush all logs and send the combined +/// log entry. +/// +/// It uses an embedded AppEngine-compatible protobuf message in order to group +/// logging messages together. +class GrpcRequestLoggingImpl extends LoggingImpl { + static const int logEntryBaseLimit = 150; + static const int logEntrySizeLimit = 40 * 1024; + + final SharedLoggingService _sharedLoggingService; + final String _httpMethod; + final String _httpResource; + final String _userAgent; + final String _host; + final String _ip; + final String? _traceId; + final String _referrer; + final int _startTimestamp; + final List _gaeLogLines = []; + + late api.LogSeverity _currentSeverity; + late int _estimatedSize; + late bool _isFirst; + + GrpcRequestLoggingImpl( + this._sharedLoggingService, + this._httpMethod, + this._httpResource, + this._userAgent, + this._host, + this._ip, + this._traceId, + this._referrer) + : _startTimestamp = DateTime.now().toUtc().millisecondsSinceEpoch { + _resetState(); + _isFirst = true; + } + + @override + void log( + LogLevel level, + String message, { + DateTime? timestamp, + }) { + final api.LogSeverity severity = _severityFromLogLevel(level); + + // The severity of the combined log entry will be the highest severity + // of the individual log lines. + if (severity.value > _currentSeverity.value) { + _currentSeverity = severity; + } + + // We'll send out not-yet-finished entries if they become too big (there + // are limits on how big individual log entries and combined log-write RPCs + // can be, we're using conservative estimates). + _estimatedSize += 25 + message.length; + + final timestampInMs = + (timestamp ?? DateTime.now().toUtc()).millisecondsSinceEpoch; + final api.Timestamp startTimestamp = + _protobufTimestampFromMilliseconds(timestampInMs); + + final logLine = gae_log.LogLine() + ..time = startTimestamp + ..severity = _currentSeverity + ..logMessage = message; + + _gaeLogLines.add(logLine); + + // NOTE: We could consider starting a timer here, so we're guaranteed + // to flush the logs. Currently we assume that the framework will call + // [finish] when the http request is done. + if (_estimatedSize > logEntrySizeLimit) { + _enqueue(finish: false); + } + } + + /// Flushes the so-far collected loglines to the underlying + /// [SharedLoggingService]. There is no guarantee that it will immediately be + /// sent to the server. + @override + Future flush() async { + if (_gaeLogLines.isNotEmpty) { + _enqueue(finish: false); + } + } + + /// Finishes the request-specific logs with the given HTTP [responseStatus] + /// and [responseSize]. + @override + void finish(int responseStatus, int responseSize) { + if (_gaeLogLines.isNotEmpty) { + _enqueue( + finish: true, + responseStatus: responseStatus, + responseSize: responseSize); + } + } + + @override + void reportError( + LogLevel level, + Object error, + StackTrace stackTrace, { + DateTime? timestamp, + }) { + final api.LogSeverity severity = _severityFromLogLevel(level); + timestamp ??= DateTime.now(); + + final int now = timestamp.toUtc().millisecondsSinceEpoch; + final api.Timestamp nowTimestamp = _protobufTimestampFromMilliseconds(now); + + final gaeResource = api.MonitoredResource() + ..type = 'gae_app' + ..labels.addAll(_sharedLoggingService.resourceLabels); + + final logEntry = api.LogEntry() + ..textPayload = _formatStackTrace(error, stackTrace) + ..resource = gaeResource + ..timestamp = nowTimestamp + ..severity = severity + // Write to stderr log, see: + // https://cloud.google.com/error-reporting/docs/setup/app-engine-flexible-environment + ..logName = _sharedLoggingService.backgroundLogName; + + if (_traceId != null) { + _addLabel(logEntry, 'appengine.googleapis.com/trace_id', _traceId!); + } + + _sharedLoggingService.enqueue(logEntry); + } + + /// Builds up the combined [api.LogEntry] and enqueues it in the underlying + /// [SharedLoggingService]. + void _enqueue({bool finish = false, int? responseStatus, int? responseSize}) { + final api.Timestamp startTimestamp = + _protobufTimestampFromMilliseconds(_startTimestamp); + + final int now = DateTime.now().toUtc().millisecondsSinceEpoch; + final api.Timestamp nowTimestamp = _protobufTimestampFromMilliseconds(now); + + final protoPayload = api.Any() + ..typeUrl = 'type.googleapis.com/google.appengine.logging.v1.RequestLog'; + + final gaeResource = api.MonitoredResource() + ..type = 'gae_app' + ..labels.addAll(_sharedLoggingService.resourceLabels); + + final logEntry = api.LogEntry() + ..protoPayload = protoPayload + ..resource = gaeResource + ..timestamp = nowTimestamp + ..severity = _currentSeverity + ..logName = _sharedLoggingService.requestLogName; + + final appengineRequestLog = gae_log.RequestLog() + ..appId = 's~${_sharedLoggingService.projectId}' + ..versionId = _sharedLoggingService.versionId + ..method = _httpMethod + ..resource = _httpResource + ..startTime = startTimestamp + ..userAgent = _userAgent + ..host = _host + ..ip = _ip + ..line.addAll(_gaeLogLines) + ..first = _isFirst + ..finished = finish; + + if (_sharedLoggingService.instanceId != null) { + appengineRequestLog.instanceId = _sharedLoggingService.instanceId!; + } + + if (_traceId != null) { + appengineRequestLog.traceId = _traceId!; + _addLabel(logEntry, 'appengine.googleapis.com/trace_id', _traceId!); + } + + appengineRequestLog.referrer = _referrer; + _resetState(); + + if (finish) { + final int diff = now - _startTimestamp; + final latency = api.Duration() + ..seconds = api.Int64(diff ~/ 1000) + ..nanos = 1000 * 1000 * (diff % 1000); + + appengineRequestLog + ..endTime = nowTimestamp + ..latency = latency + ..status = responseStatus!; + + if (responseSize != null) { + appengineRequestLog.responseSize = api.Int64(responseSize); + } + + final httpRequest = api.HttpRequest()..status = responseStatus; + + logEntry.httpRequest = httpRequest; + } + + protoPayload.value = appengineRequestLog.writeToBuffer(); + + _sharedLoggingService.enqueue(logEntry); + } + + void _resetState() { + _isFirst = false; + _gaeLogLines.clear(); + _currentSeverity = api.LogSeverity.DEBUG; + _estimatedSize = logEntryBaseLimit; + } +} + +/// A [appengine.Logging] adapter which sends log entries off via the +/// [SharedLoggingService]. +class GrpcBackgroundLoggingImpl extends LoggingBase { + final SharedLoggingService _sharedLoggingService; + + GrpcBackgroundLoggingImpl(this._sharedLoggingService); + + @override + void log(LogLevel level, String message, {DateTime? timestamp}) { + final api.LogSeverity severity = _severityFromLogLevel(level); + + final int now = DateTime.now().toUtc().millisecondsSinceEpoch; + final api.Timestamp nowTimestamp = _protobufTimestampFromMilliseconds(now); + + final gaeResource = api.MonitoredResource() + ..type = 'gae_app' + ..labels.addAll(_sharedLoggingService.resourceLabels); + + final logEntry = api.LogEntry() + ..textPayload = message + ..resource = gaeResource + ..timestamp = nowTimestamp + ..severity = severity + ..logName = _sharedLoggingService.backgroundLogName; + + _sharedLoggingService.enqueue(logEntry); + } + + @override + void reportError( + LogLevel level, + Object error, + StackTrace stackTrace, { + DateTime? timestamp, + }) { + final api.LogSeverity severity = _severityFromLogLevel(level); + timestamp ??= DateTime.now(); + + final int now = timestamp.toUtc().millisecondsSinceEpoch; + final api.Timestamp nowTimestamp = _protobufTimestampFromMilliseconds(now); + + final gaeResource = api.MonitoredResource() + ..type = 'gae_app' + ..labels.addAll(_sharedLoggingService.resourceLabels); + + final logEntry = api.LogEntry() + ..textPayload = _formatStackTrace(error, stackTrace) + ..resource = gaeResource + ..timestamp = nowTimestamp + ..severity = severity + // Write to stderr log, see: + // https://cloud.google.com/error-reporting/docs/setup/app-engine-flexible-environment + ..logName = _sharedLoggingService.backgroundLogName; + + _sharedLoggingService.enqueue(logEntry); + } + + @override + Future flush() => Future.value(); +} + +/// A [appengine.Logging] adapter which uses the gRPC logging API to send +/// logs asynchronously to the Stackdriver logging service. +class SharedLoggingService { + static const Duration FLUSH_DURATION = Duration(seconds: 3); + static const int MAX_LOGENTRIES = 25; + + final api.LoggingServiceV2Client _clientStub; + final String projectId; + final String serviceId; + final String versionId; + final String? instanceId; + final String _instanceName; + final Map resourceLabels; + final String requestLogName; + final String backgroundLogName; + + final List _entries = []; + Timer? _timer; + + Completer? _closeCompleter; + int _outstandingRequests = 0; + + SharedLoggingService( + grpc.ClientChannel clientChannel, + grpc.HttpBasedAuthenticator authenticator, + this.projectId, + this.serviceId, + this.versionId, + String zoneId, + this._instanceName, + this.instanceId) + : _clientStub = api.LoggingServiceV2Client(clientChannel, + options: authenticator.toCallOptions), + resourceLabels = { + 'project_id': projectId, + 'version_id': versionId, + 'module_id': serviceId, + 'zone': zoneId, + }, + requestLogName = + 'projects/$projectId/logs/appengine.googleapis.com%2Frequest_log', + backgroundLogName = + 'projects/$projectId/logs/appengine.googleapis.com%2Fstderr'; + + void enqueue(api.LogEntry entry) { + _addLabel(entry, 'appengine.googleapis.com/instance_name', _instanceName); + + _entries.add(entry); + + // If all entries have maximum size we should send them once we have 25 in + // order to avoid hitting the size limit for the RPC request. + if (_entries.length > 25) { + flush(); + } else { + _timer ??= Timer(FLUSH_DURATION, flush); + } + } + + void flush() { + if (_timer != null) { + _timer!.cancel(); + _timer = null; + } + if (_entries.isEmpty) { + return; + } + + _outstandingRequests++; + final request = api.WriteLogEntriesRequest() + ..entries.addAll(_entries) + ..partialSuccess = + false /* for now we want to get notified if something goes wrong */; + _entries.clear(); + unawaited(() async { + try { + await _clientStub.writeLogEntries(request); + } catch (error, stack) { + // In case the logging API failed, we'll write the error message to + // stderr. The logging daemon on the VM will make another attempt at + // uploading stderr via the logging API. + stderr.writeln('An error occured while writing log entries:\n' + 'Error:$error\n' + '$stack'); + } finally { + _outstandingRequests--; + _maybeClose(); + } + }()); + } + + Future close() { + assert(_closeCompleter == null); + _closeCompleter = Completer(); + + // Trigger a last flush which will write out remaining data (if necessary) + // and try to complete the completer if all work was already done. + flush(); + _maybeClose(); + + return _closeCompleter!.future; + } + + void _maybeClose() { + if (_outstandingRequests == 0 && + _closeCompleter != null && + !_closeCompleter!.isCompleted) { + _closeCompleter!.complete(null); + } + } +} + +void _addLabel(api.LogEntry entry, String key, String value) { + entry.labels[key] = value; +} + +api.Timestamp _protobufTimestampFromMilliseconds(int ms) { + return api.Timestamp() + ..seconds = api.Int64(ms ~/ 1000) + ..nanos = 1000 * 1000 * (ms % 1000); +} + +api.LogSeverity _severityFromLogLevel(LogLevel level) { + switch (level) { + case LogLevel.CRITICAL: + return api.LogSeverity.CRITICAL; + case LogLevel.ERROR: + return api.LogSeverity.ERROR; + case LogLevel.WARNING: + return api.LogSeverity.WARNING; + case LogLevel.INFO: + return api.LogSeverity.INFO; + case LogLevel.DEBUG: + return api.LogSeverity.DEBUG; + } + throw ArgumentError('Unknown logevel $level'); +} + +/// Returns a V8-style formatted stack trace. +/// +/// This returns a [String] of the this [Trace] formatted using the stack +/// trace format used by V8 in `Error.stack`, regardless of what platform is +/// being used. The first line of this string will always be `'Error:\n'` as +/// this [Trace] doesn't know which [Exception] was thrown. +/// +/// This can be useful for submitting stack traces to error correlation +/// services that can parse V8 stack traces, but no Dart stack traces. +/// Though it might be useful to replace the first line with +/// [Exception.toString()] or [Error.toString()] depending what is being +/// reported. +/// +/// See: https://cloud.google.com/error-reporting/docs/formatting-error-messages +String _formatStackTrace(Object error, StackTrace stackTrace) => + 'Error: $error\n' + + Trace.from(stackTrace).frames.map((f) { + // Find member + String? member = f.member; + if (member == '') { + member = ''; + } + + // Find a location + String loc = 'unknown location'; + if (f.isCore) { + loc = 'native'; + } else if (f.line != null) { + loc = '${f.uri}:${f.line}:${f.column ?? 0}'; + } + + return ' at $member ($loc)\n'; + }).join(''); diff --git a/pkgs/appengine/lib/src/logging.dart b/pkgs/appengine/lib/src/logging.dart new file mode 100644 index 00000000..658e7c3c --- /dev/null +++ b/pkgs/appengine/lib/src/logging.dart @@ -0,0 +1,70 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.api.logging; + +import 'dart:async'; + +import 'package:gcloud/service_scope.dart' as ss; + +class LogLevel { + static const LogLevel CRITICAL = LogLevel._('Critical', 4); + static const LogLevel ERROR = LogLevel._('Error', 3); + static const LogLevel WARNING = LogLevel._('Warning', 2); + static const LogLevel INFO = LogLevel._('Info', 1); + static const LogLevel DEBUG = LogLevel._('Debug', 0); + + final String name; + final int level; + + const LogLevel._(this.name, this.level); + + @override + String toString() => name; +} + +abstract class Logging { + void critical(String string, {DateTime timestamp}); + void error(String string, {DateTime timestamp}); + void warning(String string, {DateTime timestamp}); + void info(String string, {DateTime timestamp}); + void debug(String string, {DateTime timestamp}); + + /// Report an error, may print the error to log or report it to stackdriver + /// error reporting if [stackTrace] is given and running on appengine, not + /// localhost. + /// + /// Notice that Stackdriver Error Reporting only collects errors if [level] is + /// either [LogLevel.ERROR] or [LogLevel.CRITICAL]. + void reportError( + LogLevel level, + Object error, + StackTrace stackTrace, { + DateTime timestamp, + }); + + void log( + LogLevel level, + String message, { + DateTime timestamp, + }); + + Future flush(); +} + +/// Register a new [Logging] object. +/// +/// Calling this outside of a service scope or calling it more than once inside +/// the same service scope will result in an error. +/// +/// See the `package:gcloud/service_scope.dart` library for more information. +void registerLoggingService(Logging service) { + ss.register(#appengine.logging, service); +} + +/// The logging service. +/// +/// Request handlers will be run inside a service scope which contains the +/// modules service. +Logging get loggingService => ss.lookup(#appengine.logging) as Logging; diff --git a/pkgs/appengine/lib/src/logging_impl.dart b/pkgs/appengine/lib/src/logging_impl.dart new file mode 100644 index 00000000..1f036792 --- /dev/null +++ b/pkgs/appengine/lib/src/logging_impl.dart @@ -0,0 +1,72 @@ +import 'logging.dart'; + +abstract class LoggingBase extends Logging { + @override + void critical(String string, {DateTime? timestamp}) { + if (timestamp != null) { + log(LogLevel.CRITICAL, string, timestamp: timestamp); + } else { + log(LogLevel.CRITICAL, string); + } + } + + @override + void error(String string, {DateTime? timestamp}) { + if (timestamp != null) { + log(LogLevel.ERROR, string, timestamp: timestamp); + } else { + log(LogLevel.ERROR, string); + } + } + + @override + void warning(String string, {DateTime? timestamp}) { + if (timestamp != null) { + log(LogLevel.WARNING, string, timestamp: timestamp); + } else { + log(LogLevel.WARNING, string); + } + } + + @override + void info(String string, {DateTime? timestamp}) { + if (timestamp != null) { + log(LogLevel.INFO, string, timestamp: timestamp); + } else { + log(LogLevel.INFO, string); + } + } + + @override + void debug(String string, {DateTime? timestamp}) { + if (timestamp != null) { + log(LogLevel.DEBUG, string, timestamp: timestamp); + } else { + log(LogLevel.DEBUG, string); + } + } + + /// Report an error, may print the error to log or report it to stackdriver + /// error reporting if [stackTrace] is given and running on appengine, not + /// localhost. + /// + /// Notice that Stackdriver Error Reporting only collects errors if [level] is + /// either [LogLevel.ERROR] or [LogLevel.CRITICAL]. + @override + void reportError( + LogLevel level, + Object error, + StackTrace stackTrace, { + DateTime? timestamp, + }) { + if (timestamp != null) { + log(level, 'Error: $error\n$stackTrace', timestamp: timestamp); + } else { + log(level, 'Error: $error\n$stackTrace'); + } + } +} + +abstract class LoggingImpl extends LoggingBase { + void finish(int responseStatus, int responseSize); +} diff --git a/pkgs/appengine/lib/src/server/context_registry.dart b/pkgs/appengine/lib/src/server/context_registry.dart new file mode 100644 index 00000000..d10a663f --- /dev/null +++ b/pkgs/appengine/lib/src/server/context_registry.dart @@ -0,0 +1,142 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.context_registry; + +import 'dart:async'; +import 'dart:io'; + +import 'package:gcloud/db.dart' as db; +import 'package:gcloud/storage.dart' as storage; + +import '../appengine_context.dart'; +import '../client_context.dart'; +import '../logging.dart'; +import '../logging_impl.dart'; + +abstract class LoggerFactory { + LoggingImpl newRequestSpecificLogger( + String method, + String resource, + String userAgent, + String host, + String ip, + String? traceId, + String referrer); + Logging newBackgroundLogger(); +} + +class ContextRegistry { + final LoggerFactory _loggingFactory; + final db.DatastoreDB _db; + final storage.Storage _storage; + final AppEngineContext _appengineContext; + + final Map _request2context = {}; + + ContextRegistry( + this._loggingFactory, this._db, this._storage, this._appengineContext); + + bool get isDevelopmentEnvironment { + return _appengineContext.isDevelopmentEnvironment; + } + + ClientContext add(HttpRequest request) { + String? traceId; + // See https://cloud.google.com/trace/docs/support + final traceHeader = _headerOrEmptyString( + request.headers, + 'X-Cloud-Trace-Context', + ); + if (traceHeader != '') { + traceId = traceHeader.split('/')[0]; + } + + final services = _getServices(request, traceId); + final context = _ClientContextImpl(services, _appengineContext, traceId); + _request2context[request] = context; + + request.response.done.whenComplete(() { + final int responseSize = request.response.headers.contentLength; + (services.logging as LoggingImpl) + .finish(request.response.statusCode, responseSize); + }); + + return context; + } + + ClientContext? lookup(HttpRequest request) { + return _request2context[request]; + } + + Future remove(HttpRequest request) { + _request2context.remove(request); + return Future.value(); + } + + Services newBackgroundServices() => _getServices(null, null); + + Services _getServices(HttpRequest? request, String? traceId) { + Logging loggingService; + if (request != null) { + final uri = request.requestedUri; + final resource = uri.hasQuery ? '${uri.path}?${uri.query}' : uri.path; + final List? forwardedFor = request.headers['x-forwarded-for']; + + String ip; + if (forwardedFor != null && forwardedFor.isNotEmpty) { + // It seems that, in general, if `x-forwarded-for` has multiple values + // it is sent as a single header value separated by commas. + // To ensure only one value for IP is provided, we join all of the + // `x-forwarded-for` headers into a single string, split on comma, + // then use the first value. + ip = forwardedFor.join(',').split(',').first.trim(); + } else { + ip = request.connectionInfo!.remoteAddress.host; + } + + loggingService = _loggingFactory.newRequestSpecificLogger( + request.method, + resource, + _headerOrEmptyString(request.headers, HttpHeaders.userAgentHeader), + uri.host, + ip, + traceId, + _headerOrEmptyString(request.headers, HttpHeaders.refererHeader), + ); + } else { + loggingService = _loggingFactory.newBackgroundLogger(); + } + + return Services(_db, _storage, loggingService); + } +} + +class _ClientContextImpl implements ClientContext { + _ClientContextImpl(this.services, this.applicationContext, this.traceId); + + @override + final Services services; + + @override + final AppEngineContext applicationContext; + + @override + final String? traceId; + + @override + bool get isDevelopmentEnvironment => + applicationContext.isDevelopmentEnvironment; + + @override + bool get isProductionEnvironment => !isDevelopmentEnvironment; +} + +String _headerOrEmptyString(HttpHeaders headers, String headerName) { + final elements = headers[headerName]; + if (elements != null && elements.isNotEmpty) { + return elements.first; + } + return ''; +} diff --git a/pkgs/appengine/lib/src/server/logging_package_adaptor.dart b/pkgs/appengine/lib/src/server/logging_package_adaptor.dart new file mode 100644 index 00000000..1c471841 --- /dev/null +++ b/pkgs/appengine/lib/src/server/logging_package_adaptor.dart @@ -0,0 +1,66 @@ +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library appengine.server.logging_package_adaptor; + +import 'package:logging/logging.dart'; + +import '../logging.dart'; + +final Map _loggingLevel2AppengineLoggingLevel = { + Level.OFF: null, + Level.ALL: LogLevel.DEBUG, + Level.FINEST: LogLevel.DEBUG, + Level.FINER: LogLevel.DEBUG, + Level.FINE: LogLevel.DEBUG, + Level.CONFIG: LogLevel.INFO, + Level.INFO: LogLevel.INFO, + Level.WARNING: LogLevel.WARNING, + Level.SEVERE: LogLevel.ERROR, + Level.SHOUT: LogLevel.CRITICAL, +}; + +void setupAppEngineLogging() { + Logger.root.onRecord.listen((LogRecord record) { + record.zone!.run(() { + Logging? logging; + try { + logging = loggingService; + } on StateError { + // If there is no active service scope, we'll get a `StateError` and we + // will treat it the same way as if the logging service was `null`. + } + + if (logging != null) { + final level = _loggingLevel2AppengineLoggingLevel[record.level]; + if (level != null) { + var message = record.message; + + if (record.loggerName.isNotEmpty) { + message = '${record.loggerName}: $message'; + } + + addBlock(String header, String body) { + body = body.replaceAll('\n', '\n '); + message = '$message\n\n$header:\n $body'; + } + + if (record.error != null) addBlock('Error', '${record.error}'); + if (record.stackTrace != null) { + addBlock('Stack', '${record.stackTrace}'); + } + + logging.log( + level, + message, + timestamp: record.time, + ); + if (record.error != null && record.stackTrace != null) { + logging.reportError(level, record.error!, record.stackTrace!); + } + } + } + }); + }); +} diff --git a/pkgs/appengine/lib/src/server/server.dart b/pkgs/appengine/lib/src/server/server.dart new file mode 100644 index 00000000..b485b157 --- /dev/null +++ b/pkgs/appengine/lib/src/server/server.dart @@ -0,0 +1,131 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library application; + +import 'dart:async'; +import 'dart:convert' show utf8; +import 'dart:io'; + +import '../client_context.dart'; +import 'context_registry.dart'; + +void _info(String message) { + final formattedMessage = '${DateTime.now()}: $message'; + stderr.writeln(formattedMessage); +} + +class AppEngineHttpServer { + final ContextRegistry _contextRegistry; + + final String _hostname; + final int _port; + final bool _shared; + + final Completer _shutdownCompleter = Completer(); + int _pendingRequests = 0; + + HttpServer? _httpServer; + + AppEngineHttpServer(this._contextRegistry, + {String hostname = '0.0.0.0', int port = 8080, bool shared = false}) + : _hostname = hostname, + _port = port, + _shared = shared; + + Future get done => _shutdownCompleter.future; + + void run( + applicationHandler(HttpRequest request, ClientContext context), { + void onAcceptingConnections(InternetAddress address, int port)?, + }) { + final serviceHandlers = { + '/_ah/start': _start, + '/_ah/health': _health, + '/_ah/stop': _stop + }; + + HttpServer.bind(_hostname, _port, shared: _shared) + .then((HttpServer server) { + _httpServer = server; + if (onAcceptingConnections != null) { + onAcceptingConnections(server.address, server.port); + } + + server.listen((HttpRequest request) { + // Default handling is sending the request to the application. + dynamic Function(HttpRequest, ClientContext)? handler = applicationHandler; + + // Check if the request path is one of the service handlers. + final String path = request.uri.path; + for (final pattern in serviceHandlers.keys) { + if (path.startsWith(pattern)) { + handler = serviceHandlers[pattern]; + break; + } + } + + _pendingRequests++; + final context = _contextRegistry.add(request); + request.response.done.whenComplete(() { + _contextRegistry.remove(request); + }); + + request.response.done.catchError((error) { + if (!_contextRegistry.isDevelopmentEnvironment) { + _info('Error while handling response: $error'); + } + _pendingRequests--; + _checkShutdown(); + }); + + handler!(request, context); + }); + }); + } + + void _start(HttpRequest request, _) { + request.drain().then((_) { + _sendResponse(request.response, HttpStatus.ok, 'ok'); + }); + } + + void _health(HttpRequest request, _) { + request.drain().then((_) { + _sendResponse(request.response, HttpStatus.ok, 'ok'); + }); + } + + void _stop(HttpRequest request, _) { + request.drain().then((_) { + if (_httpServer != null) { + _httpServer!.close().then((_) { + _httpServer = null; + _sendResponse(request.response, HttpStatus.ok, 'ok'); + }); + } else { + _sendResponse(request.response, HttpStatus.conflict, 'fail'); + } + }); + } + + void _checkShutdown() { + if (_pendingRequests == 0 && _httpServer == null) { + _shutdownCompleter.complete(); + } + } + + void _sendResponse(HttpResponse response, int statusCode, String message) { + final data = utf8.encode(message); + response.headers.contentType = + ContentType('text', 'plain', charset: 'utf-8'); + response.headers.set('Cache-Control', 'no-cache'); + response.headers.set('Server', _hostname); + response + ..contentLength = data.length + ..statusCode = statusCode + ..add(data) + ..close(); + } +} diff --git a/pkgs/appengine/pubspec.yaml b/pkgs/appengine/pubspec.yaml new file mode 100644 index 00000000..e4e85c38 --- /dev/null +++ b/pkgs/appengine/pubspec.yaml @@ -0,0 +1,29 @@ +name: appengine +version: 0.13.9-wip +description: > + Support for using Dart as a custom runtime on Google App Engine Flexible + Environment +repository: https://github.com/dart-lang/labs/tree/main/pkgs/appengine + +topics: + - cloud + - gcp + +environment: + sdk: '>=2.19.0 <3.0.0' + +dependencies: + fixnum: ^1.0.0 + gcloud: ^0.8.10 + googleapis_auth: ^1.1.0 + grpc: ^3.1.0 + http: '>=0.13.3 <2.0.0' + logging: ^1.0.1 + path: ^1.8.0 + protobuf: ^3.1.0 + stack_trace: ^1.10.0 + +dev_dependencies: + pedantic: ^1.11.0 + protoc_plugin: ^21.1.2 + test: ^1.17.5 diff --git a/pkgs/appengine/test/enable_logging_package_test.dart b/pkgs/appengine/test/enable_logging_package_test.dart new file mode 100644 index 00000000..0b53f73f --- /dev/null +++ b/pkgs/appengine/test/enable_logging_package_test.dart @@ -0,0 +1,214 @@ +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'dart:async'; + +import 'package:test/test.dart'; + +import 'package:appengine/src/logging_impl.dart' show LoggingBase; +import 'package:appengine/appengine.dart'; +import 'package:gcloud/service_scope.dart'; +import 'package:logging/logging.dart'; + +class LoggingMock extends LoggingBase { + late Function _logFunctionMock; + late Function _reportErrorFunctionMock; + + LoggingMock(); + + void log(LogLevel level, String message, {DateTime? timestamp}) { + _logFunctionMock(level, message, timestamp); + } + + void reportError(LogLevel level, Object error, StackTrace stackTrace, + {DateTime? timestamp}) { + _reportErrorFunctionMock( + level, + error, + stackTrace, + timestamp ?? DateTime.now(), + ); + } + + void expectReportError( + void func( + LogLevel level, Object error, StackTrace stackTrace, DateTime c)) { + _reportErrorFunctionMock = expectAsync4(func); + } + + void expectNoReportErrorCall() { + _reportErrorFunctionMock = (_, __, ___, ____) { + throw StateError('Unexpected reportError() call'); + }; + } + + void expectLog(void func(LogLevel a, String b, DateTime c)) { + _logFunctionMock = expectAsync3(func); + } + + void expectNoLogCall() { + _logFunctionMock = (_, __, ___) { + throw StateError('Unexpected log() call'); + }; + } + + Future flush() { + throw "Unexpected method call"; + } +} + +class CustomStackTrace implements StackTrace { + String toString() => 'custom-stack-trace'; +} + +void main() { + group('enable_logging_package_test', () { + test('not_registered', () { + fork(expectAsync0(() async { + var logger = Logger('a.b'); + var mock = LoggingMock(); + + mock.expectNoLogCall(); + mock.expectNoReportErrorCall(); + logger.info('abc'); + + return Future.value(); + })); + }); + + test('logging_adaptor_not_enabled', () { + fork(expectAsync0(() async { + var logger = Logger('a.b'); + var mock = LoggingMock(); + registerLoggingService(mock); + + mock.expectNoLogCall(); + mock.expectNoReportErrorCall(); + logger.info('abc'); + })); + }); + + group('use_logging_adaptor', () { + test('enable_logging_adaptor', () { + // This is a global setting. We rely on the test runner executing tests + // in sequence. + useLoggingPackageAdaptor(); + }); + + test('root logger', () { + var logger = Logger.root; + var mock = LoggingMock(); + + return fork(expectAsync0(() async { + registerLoggingService(mock); + + var level = Level.INFO; + var appengineLevel = LogLevel.INFO; + + mock.expectLog((LogLevel level, String message, DateTime ts) { + expect(level, equals(appengineLevel)); + expect(message, equals('abc')); + }); + mock.expectNoReportErrorCall(); + logger.log(level, 'abc'); + })); + }); + + test('different_zone', () { + var logger = Logger('a.b'); + var mock = LoggingMock(); + + var testZone = Zone.current; + fork(expectAsync0(() async { + registerLoggingService(mock); + + mock.expectNoLogCall(); + mock.expectNoReportErrorCall(); + return testZone.run(() { + logger.info('abc'); + }); + })); + }); + + test('test_level', () { + var logger = Logger('a.b'); + var mock = LoggingMock(); + + return fork(expectAsync0(() async { + registerLoggingService(mock); + + mock.expectNoReportErrorCall(); + var logLevelMapping = { + Level.OFF: null, + Level.ALL: LogLevel.DEBUG, + Level.FINEST: LogLevel.DEBUG, + Level.FINER: LogLevel.DEBUG, + Level.FINE: LogLevel.DEBUG, + Level.CONFIG: LogLevel.INFO, + Level.INFO: LogLevel.INFO, + Level.WARNING: LogLevel.WARNING, + Level.SEVERE: LogLevel.ERROR, + Level.SHOUT: LogLevel.CRITICAL, + }; + logLevelMapping.forEach((level, appengineLevel) { + if (logger.isLoggable(level)) { + if (appengineLevel != null) { + mock.expectLog((LogLevel level, String message, DateTime ts) { + expect(level, equals(appengineLevel)); + expect(message, equals('a.b: abc')); + }); + } + } else { + mock.expectNoLogCall(); + } + logger.log(level, 'abc'); + }); + })); + }); + + test('test_error', () { + var logger = Logger('a.b'); + var mock = LoggingMock(); + + return fork(expectAsync0(() async { + registerLoggingService(mock); + mock.expectNoReportErrorCall(); + mock.expectLog((LogLevel level, String message, DateTime ts) { + expect(level, equals(LogLevel.INFO)); + expect(message, equals('a.b: abc\n\nError:\n error')); + }); + logger.log(Level.INFO, 'abc', 'error'); + })); + }); + + test('test_error_stack', () { + var logger = Logger('a.b'); + var mock = LoggingMock(); + + return fork(expectAsync0(() async { + registerLoggingService(mock); + mock.expectReportError(( + LogLevel level, + Object e, + StackTrace st, + DateTime ts, + ) { + expect(level, equals(LogLevel.INFO)); + expect(e, equals('error')); + expect(st, isA()); + }); + mock.expectLog((LogLevel level, String message, DateTime ts) { + expect(level, equals(LogLevel.INFO)); + expect( + message, + equals('a.b: abc\n\n' + 'Error:\n error\n\n' + 'Stack:\n custom-stack-trace')); + }); + logger.log(Level.INFO, 'abc', 'error', CustomStackTrace()); + })); + }); + }); + }); +} diff --git a/pkgs/appengine/test/integration/common_e2e.dart b/pkgs/appengine/test/integration/common_e2e.dart new file mode 100644 index 00000000..e06074c3 --- /dev/null +++ b/pkgs/appengine/test/integration/common_e2e.dart @@ -0,0 +1,113 @@ +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library test.integration.common_e2e; + +import 'dart:async'; +import 'dart:io'; + +import 'package:googleapis_auth/auth_io.dart' as auth; +import 'package:grpc/grpc.dart' as grpc; +import 'package:appengine/src/grpc_api_impl/datastore_impl.dart' + as grpc_datastore_impl; + +// Environment variables for specifying the cloud project to use and the +// location of the service account key for that project. +const String PROJECT_ENV = 'E2E_TEST_PROJECT'; +const String SERVICE_KEY_LOCATION_ENV = 'E2E_TEST_KEY'; + +// Default project and service key location used when running on the package +// bot. +const String DEFAULT_PROJECT = 'dart-gcloud-e2e'; +const String DEFAULT_KEY_LOCATION = + 'gs://dart-archive-internal/keys/dart-gcloud-e2e.json'; + +bool onBot() { + // Check for GitHub Actions. + if (Platform.environment['CI'] == 'true') { + return true; + } + + // Redundent GitHub Actions check. + if (Platform.environment.containsKey('GITHUB_ACTION')) { + return true; + } + + // Chromium LUCI check. + final name = Platform.isWindows ? 'USERNAME' : 'USER'; + return Platform.environment[name] == 'chrome-bot'; +} + +Future withServiceAccount( + Future callback( + String project, auth.ServiceAccountCredentials creds)) async { + var project = Platform.environment[PROJECT_ENV]; + var serviceKeyLocation = Platform.environment[SERVICE_KEY_LOCATION_ENV]; + + if (!onBot() && (project == null || serviceKeyLocation == null)) { + throw Exception( + 'Environment variables $PROJECT_ENV and $SERVICE_KEY_LOCATION_ENV ' + 'required when not running on the package bot'); + } + + project ??= DEFAULT_PROJECT; + serviceKeyLocation ??= DEFAULT_KEY_LOCATION; + + final keyJson = await _serviceKeyJson(serviceKeyLocation); + final creds = auth.ServiceAccountCredentials.fromJson(keyJson); + return callback(project, creds); +} + +Future withAuthenticator( + List scopes, + Future callback(String project, grpc.HttpBasedAuthenticator authenticator), +) async { + var project = Platform.environment[PROJECT_ENV]; + var serviceKeyLocation = Platform.environment[SERVICE_KEY_LOCATION_ENV]; + + if (!onBot() && project == null) { + throw Exception( + 'Environment variables $PROJECT_ENV and $SERVICE_KEY_LOCATION_ENV ' + 'required when not running on the package bot'); + } + + // Use ADC + if (!onBot() && project != null && serviceKeyLocation == null) { + final authenticator = await grpc.applicationDefaultCredentialsAuthenticator( + grpc_datastore_impl.OAuth2Scopes, + ); + return callback(project, authenticator); + } + + project ??= DEFAULT_PROJECT; + serviceKeyLocation ??= DEFAULT_KEY_LOCATION; + + final keyJson = await (_serviceKeyJson(serviceKeyLocation)); + final authenticator = grpc.ServiceAccountAuthenticator(keyJson!, scopes); + return callback(project, authenticator); +} + +Future _serviceKeyJson(String serviceKeyLocation) async { + if (!serviceKeyLocation.startsWith('gs://')) { + return File(serviceKeyLocation).readAsString(); + } else { + ProcessResult result; + if (onBot()) { + // Use gsutil.py from depot_tools on the bots. + final gsutilPath = Platform.operatingSystem == 'windows' + ? 'E:\\b\\depot_tools\\gsutil.py' + : '/b/depot_tools/gsutil.py'; + result = await Process.run( + 'python', [gsutilPath, 'cat', serviceKeyLocation], + runInShell: true); + } else { + final gsutil = Platform.isWindows ? 'gsutil.cmd' : 'gsutil'; + result = await Process.run(gsutil, ['cat', serviceKeyLocation]); + } + if (result.exitCode != 0) { + throw Exception('Failed to run gsutil, ${result.stderr}'); + } + return result.stdout; + } +} diff --git a/pkgs/appengine/test/integration/db/db_tests.dart b/pkgs/appengine/test/integration/db/db_tests.dart new file mode 100644 index 00000000..79861f10 --- /dev/null +++ b/pkgs/appengine/test/integration/db/db_tests.dart @@ -0,0 +1,688 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library db_impl_test; + +/// NOTE: In order to run these tests, the following datastore indices must +/// exist: +/// $ cat index.yaml +/// indexes: +/// - kind: User +/// ancestor: no +/// properties: +/// - name: name +/// direction: asc +/// - name: nickname +/// direction: desc +/// +/// - kind: User +/// ancestor: no +/// properties: +/// - name: name +/// direction: desc +/// - name: nickname +/// direction: desc +/// +/// - kind: User +/// ancestor: no +/// properties: +/// - name: name +/// direction: desc +/// - name: nickname +/// direction: asc +/// +/// - kind: User +/// ancestor: no +/// properties: +/// - name: language +/// direction: asc +/// - name: name +/// direction: asc +/// +/// $ gcloud preview datastore create-indexes . +/// 02:19 PM Host: appengine.google.com +/// 02:19 PM Uploading index definitions. + +import 'dart:async'; + +import 'package:test/test.dart'; + +import 'package:gcloud/db.dart' as db; + +@db.Kind() +class Person extends db.Model { + @db.StringProperty() + String? name; + + @db.IntProperty() + int? age; + + @db.ModelKeyProperty(propertyName: 'mangledWife') + db.Key? wife; + + operator ==(Object other) => sameAs(other); + + sameAs(Object other) { + return other is Person && + id == other.id && + parentKey == other.parentKey && + name == other.name && + age == other.age && + wife == other.wife; + } + + String toString() => 'Person(id: $id, name: $name, age: $age)'; +} + +bool areStringListsEqual(List? a, List? b) { + if (a == null) { + if (b == null) return true; + return false; + } + if (b == null) return false; + + if (a.length != b.length) return false; + + for (int i = 0; i < a.length; i++) { + if (a[i] != b[i]) return false; + } + + return true; +} + +@db.Kind() +class User extends Person { + @db.StringProperty() + String? nickname; + + @db.StringListProperty(propertyName: 'language') + List languages = const []; + + @db.StringListProperty(indexed: false) + List hobbies = const []; + + sameAs(Object other) { + if (!(super.sameAs(other) && other is User && nickname == other.nickname)) { + return false; + } + + User user = other; + return areStringListsEqual(languages, user.languages) && + areStringListsEqual(hobbies, user.hobbies); + } + + String toString() => 'User(${super.toString()}, ' + 'nickname: $nickname, ' + 'languages: $languages, ' + 'hobbies: $hobbies)'; +} + +@db.Kind() +class ExpandoPerson extends db.ExpandoModel { + @db.StringProperty() + String? name; + + @db.StringProperty(propertyName: 'NN') + String? nickname; + + operator ==(Object other) { + if (other is ExpandoPerson && id == other.id && name == other.name) { + if (additionalProperties.length != other.additionalProperties.length) { + return false; + } + for (var key in additionalProperties.keys) { + if (additionalProperties[key] != other.additionalProperties[key]) { + return false; + } + } + return true; + } + return false; + } +} + +Future sleep(Duration duration) => Future.delayed(duration); + +runTests(db.DatastoreDB store, String namespace) { + var partition = store.newPartition(namespace); + + void compareModels(List expectedModels, List models, + {bool anyOrder = false}) { + expect(models.length, equals(expectedModels.length)); + if (anyOrder) { + // Do expensive O(n^2) search. + for (var searchModel in expectedModels) { + bool found = false; + for (var m in models) { + if (m == searchModel) { + found = true; + break; + } + } + expect(found, isTrue); + } + } else { + for (var i = 0; i < expectedModels.length; i++) { + expect(models[i], equals(expectedModels[i])); + } + } + } + + Future testInsertLookupDelete(List objects, + {bool transactional = false}) { + var keys = objects.map((db.Model obj) => obj.key).toList(); + + if (transactional) { + return store.withTransaction((db.Transaction commitTransaction) { + commitTransaction.queueMutations(inserts: objects); + return commitTransaction.commit(); + }).then((_) { + return store.withTransaction((db.Transaction deleteTransaction) { + return deleteTransaction.lookup(keys).then((List models) { + compareModels(objects, models); + deleteTransaction.queueMutations(deletes: keys); + return deleteTransaction.commit(); + }); + }); + }); + } else { + return store.commit(inserts: objects).then(expectAsync1((_) { + return store.lookup(keys).then(expectAsync1((List models) { + compareModels(objects, models); + return store.commit(deletes: keys).then(expectAsync1((_) { + return store + .lookup(keys) + .then(expectAsync1((List models) { + for (var i = 0; i < models.length; i++) { + expect(models[i], isNull); + } + })); + })); + })); + })); + } + } + + group('key', () { + test('equal_and_hashcode', () { + var k1 = store.emptyKey.append(User, id: 10).append(Person, id: 12); + var k2 = store.defaultPartition.emptyKey + .append(User, id: 10) + .append(Person, id: 12); + expect(k1, equals(k2)); + expect(k1.hashCode, equals(k2.hashCode)); + }); + }); + + group('e2e_db', () { + group('insert_lookup_delete', () { + test('persons', () { + var root = partition.emptyKey; + var persons = []; + for (var i = 1; i <= 10; i++) { + persons.add(Person() + ..id = i + ..parentKey = root + ..age = 42 + i + ..name = 'user$i'); + } + persons.first.wife = persons.last.key; + return testInsertLookupDelete(persons); + }); + test('users', () { + var root = partition.emptyKey; + var users = []; + for (var i = 1; i <= 10; i++) { + users.add(User() + ..id = i + ..parentKey = root + ..age = 42 + i + ..name = 'user$i' + ..nickname = 'nickname${i % 3}'); + } + return testInsertLookupDelete(users); + }); + test('expando_insert', () { + var root = partition.emptyKey; + var expandoPersons = []; + for (var i = 1; i <= 10; i++) { + dynamic expandoPerson = ExpandoPerson() + ..parentKey = root + ..id = i + ..name = 'user$i'; + expandoPerson.foo = 'foo$i'; + expandoPerson.bar = i; + expect(expandoPerson.additionalProperties['foo'], equals('foo$i')); + expect(expandoPerson.additionalProperties['bar'], equals(i)); + expandoPersons.add(expandoPerson); + } + return testInsertLookupDelete(expandoPersons); + }); + test('transactional_insert', () { + var root = partition.emptyKey; + var models = []; + + models.add(Person() + ..id = 1 + ..parentKey = root + ..age = 1 + ..name = 'user1'); + models.add(User() + ..id = 2 + ..parentKey = root + ..age = 2 + ..name = 'user2' + ..nickname = 'nickname2'); + dynamic expandoPerson = ExpandoPerson() + ..parentKey = root + ..id = 3 + ..name = 'user1'; + expandoPerson.foo = 'foo1'; + expandoPerson.bar = 2; + + return testInsertLookupDelete(models, transactional: true); + }); + + test('parent_key', () { + var root = partition.emptyKey; + var users = []; + for (var i = 333; i <= 334; i++) { + users.add(User() + ..id = i + ..parentKey = root + ..age = 42 + i + ..name = 'user$i' + ..nickname = 'nickname${i % 3}'); + } + var persons = []; + for (var i = 335; i <= 336; i++) { + persons.add(Person() + ..id = i + ..parentKey = root + ..age = 42 + i + ..name = 'person$i'); + } + + // We test that we can insert + lookup + // users[0], (persons[0] + users[0] as parent) + // persons[1], (users[1] + persons[0] as parent) + persons[0].parentKey = users[0].key; + users[1].parentKey = persons[1].key; + + return testInsertLookupDelete([]..addAll(users)..addAll(persons)); + }); + + test('auto_ids', () { + var root = partition.emptyKey; + var persons = []; + persons.add(Person() + ..id = 42 + ..parentKey = root + ..age = 80 + ..name = 'user80'); + // Auto id person with parentKey + persons.add(Person() + ..parentKey = root + ..age = 81 + ..name = 'user81'); + // Auto id person with non-root parentKey + var fatherKey = persons.first.parentKey; + persons.add(Person() + ..parentKey = fatherKey + ..age = 82 + ..name = 'user82'); + persons.add(Person() + ..id = 43 + ..parentKey = root + ..age = 83 + ..name = 'user83'); + return store.commit(inserts: persons).then(expectAsync1((_) { + // At this point, autoIds are allocated and are reflected in the + // models (as well as parentKey if it was empty). + + var keys = persons.map((db.Model obj) => obj.key).toList(); + + for (var i = 0; i < persons.length; i++) { + expect(persons[i].age, equals(80 + i)); + expect(persons[i].name, equals('user${80 + i}')); + } + + expect(persons[0].id, equals(42)); + expect(persons[0].parentKey, equals(root)); + + expect(persons[1].id, isNotNull); + expect(persons[1].id is int, isTrue); + expect(persons[1].parentKey, equals(root)); + + expect(persons[2].id, isNotNull); + expect(persons[2].id is int, isTrue); + expect(persons[2].parentKey, equals(fatherKey)); + + expect(persons[3].id, equals(43)); + expect(persons[3].parentKey, equals(root)); + + expect(persons[1].id != persons[2].id, isTrue); + // NOTE: We can't make assumptions about the id of persons[3], + // because an id doesn't need to be globally unique, only under + // entities with the same parent. + + return store.lookup(keys).then(expectAsync1((List models) { + // Since the id/parentKey fields are set after commit and a lookup + // returns new model instances, we can do full model comparison + // here. + compareModels(persons, models); + return store.commit(deletes: keys).then(expectAsync1((_) { + return store.lookup(keys).then(expectAsync1((List models) { + for (var i = 0; i < models.length; i++) { + expect(models[i], isNull); + } + })); + })); + })); + })); + }); + }); + + test('query', () async { + var root = partition.emptyKey; + var users = []; + for (var i = 1; i <= 10; i++) { + var languages = []; + var hobbies = ['running', 'swimming']; + if (i == 9) { + languages = ['foo']; + } else if (i == 10) { + languages = ['foo', 'bar']; + } + users.add(User() + ..id = i + ..parentKey = root + ..wife = root.append(User, id: 42 + i) + ..age = 42 + i + ..name = 'user$i' + ..nickname = 'nickname${i % 3}' + ..languages = languages + ..hobbies = hobbies); + } + + var expandoPersons = []; + for (var i = 1; i <= 3; i++) { + dynamic expandoPerson = ExpandoPerson() + ..parentKey = root + ..id = i + ..name = 'user$i' + ..nickname = 'nickuser$i'; + expandoPerson.foo = 'foo$i'; + expandoPerson.bar = i; + expect(expandoPerson.additionalProperties['foo'], equals('foo$i')); + expect(expandoPerson.additionalProperties['bar'], equals(i)); + expandoPersons.add(expandoPerson); + } + + var LOWER_BOUND = 'user2'; + + var usersSortedNameDescNicknameAsc = List.from(users); + usersSortedNameDescNicknameAsc.sort((User a, User b) { + var result = b.name!.compareTo(a.name!); + if (result == 0) return a.nickname!.compareTo(b.nickname!); + return result; + }); + + var usersSortedNameDescNicknameDesc = List.from(users); + usersSortedNameDescNicknameDesc.sort((User a, User b) { + var result = b.name!.compareTo(a.name!); + if (result == 0) return b.nickname!.compareTo(a.nickname!); + return result; + }); + + var usersSortedAndFilteredNameDescNicknameAsc = + usersSortedNameDescNicknameAsc.where((User u) { + return LOWER_BOUND.compareTo(u.name!) <= 0; + }).toList(); + + var usersSortedAndFilteredNameDescNicknameDesc = + usersSortedNameDescNicknameDesc.where((User u) { + return LOWER_BOUND.compareTo(u.name!) <= 0; + }).toList(); + + var fooUsers = + users.where((User u) => u.languages.contains('foo')).toList(); + var barUsers = + users.where((User u) => u.languages.contains('bar')).toList(); + var usersWithWife = users + .where((User u) => u.wife == root.append(User, id: 42 + 3)) + .toList(); + + var allInserts = []..addAll(users)..addAll(expandoPersons); + var allKeys = allInserts.map((model) => model.key).toList(); + List userKeys = users.map((model) => model.key).toList(); + List expandoPersonsKeys = + expandoPersons.map((model) => model.key).toList(); + await store.commit(inserts: allInserts); + await waitUntilEntitiesReady(store, userKeys, partition); + await waitUntilEntitiesReady( + store, expandoPersonsKeys, partition); + var tests = [ + // Queries for [Person] return no results, we only have [User] + // objects. + () { + return store + .query(partition: partition) + .run() + .toList() + .then((List models) { + compareModels([], models); + }); + }, + + // All users query + () { + return store + .query(partition: partition) + .run() + .toList() + .then((List models) { + compareModels(users, models, anyOrder: true); + }); + }, + + // Sorted query + () async { + var query = store.query(partition: partition) + ..order('-name') + ..order('nickname'); + var models = await runQueryWithExponentialBackoff( + query, usersSortedNameDescNicknameAsc.length); + compareModels(usersSortedNameDescNicknameAsc, models); + }, + () async { + var query = store.query(partition: partition) + ..order('-name') + ..order('-nickname') + ..run(); + var models = await runQueryWithExponentialBackoff( + query, usersSortedNameDescNicknameDesc.length); + compareModels(usersSortedNameDescNicknameDesc, models); + }, + + // Sorted query with filter + () async { + var query = store.query(partition: partition) + ..filter('name >=', LOWER_BOUND) + ..order('-name') + ..order('nickname'); + var models = await runQueryWithExponentialBackoff( + query, usersSortedAndFilteredNameDescNicknameAsc.length); + compareModels(usersSortedAndFilteredNameDescNicknameAsc, models); + }, + () async { + var query = store.query(partition: partition) + ..filter('name >=', LOWER_BOUND) + ..order('-name') + ..order('-nickname') + ..run(); + var models = await runQueryWithExponentialBackoff( + query, usersSortedAndFilteredNameDescNicknameDesc.length); + compareModels(usersSortedAndFilteredNameDescNicknameDesc, models); + }, + + // Filter lists + () async { + var query = store.query(partition: partition) + ..filter('languages =', 'foo') + ..order('name') + ..run(); + var models = + await runQueryWithExponentialBackoff(query, fooUsers.length); + compareModels(fooUsers, models, anyOrder: true); + }, + () async { + var query = store.query(partition: partition) + ..filter('languages =', 'bar') + ..order('name') + ..run(); + var models = + await runQueryWithExponentialBackoff(query, barUsers.length); + compareModels(barUsers, models, anyOrder: true); + }, + () async { + var query = store.query(partition: partition) + ..filter('hobbies =', 'swimming') + ..run(); + var models = await runQueryWithExponentialBackoff(query, 0); + expect(models, isEmpty); + }, + () async { + var query = store.query(partition: partition) + ..filter('hobbies =', 'running') + ..run(); + var models = await runQueryWithExponentialBackoff(query, 0); + expect(models, isEmpty); + }, + + // Filter equals + () async { + var wifeKey = root.append(User, id: usersWithWife.first.wife!.id); + var query = store.query(partition: partition) + ..filter('wife =', wifeKey) + ..run(); + var models = + await runQueryWithExponentialBackoff(query, usersWithWife.length); + compareModels(usersWithWife, models, anyOrder: true); + }, + + // Simple limit/offset test. + () async { + var query = store.query(partition: partition) + ..order('-name') + ..order('nickname') + ..offset(3) + ..limit(4); + var expectedModels = + usersSortedAndFilteredNameDescNicknameAsc.sublist(3, 7); + var models = await runQueryWithExponentialBackoff( + query, expectedModels.length); + compareModels(expectedModels, models); + }, + + // Expando queries: Filter on normal property. + () async { + var query = store.query(partition: partition) + ..filter('name =', expandoPersons.last.name) + ..run(); + var models = await runQueryWithExponentialBackoff(query, 1); + compareModels([expandoPersons.last], models); + }, + // Expando queries: Filter on expanded String property + () async { + var query = store.query(partition: partition) + ..filter('foo =', (expandoPersons.last as dynamic).foo) + ..run(); + var models = await runQueryWithExponentialBackoff(query, 1); + compareModels([expandoPersons.last], models); + }, + // Expando queries: Filter on expanded int property + () async { + var query = store.query(partition: partition) + ..filter('bar =', (expandoPersons.last as dynamic).bar) + ..run(); + var models = await runQueryWithExponentialBackoff(query, 1); + compareModels([expandoPersons.last], models); + }, + // Expando queries: Filter normal property with different + // propertyName (datastore name is 'NN'). + () async { + var query = store.query(partition: partition) + ..filter('nickname =', expandoPersons.last.nickname) + ..run(); + var models = await runQueryWithExponentialBackoff(query, 1); + compareModels([expandoPersons.last], models); + }, + + // Delete results + () => store.commit(deletes: allKeys), + + // Wait until the entity deletes are reflected in the indices. + () => waitUntilEntitiesGone(store, userKeys, partition), + () => waitUntilEntitiesGone( + store, expandoPersonsKeys, partition), + + // Make sure queries don't return results + () => store.lookup(allKeys).then((List models) { + expect(models.length, equals(allKeys.length)); + for (var model in models) { + expect(model, isNull); + } + }), + ]; + return Future.forEach(tests, (dynamic f) => f()); + }, timeout: Timeout(Duration(minutes: 5))); + }); +} + +Future> runQueryWithExponentialBackoff( + db.Query query, int expectedResults) async { + for (int i = 0; i <= 6; i++) { + if (i > 0) { + // Wait for 0.1s, 0.2s, ..., 12.8s + var duration = Duration(milliseconds: 100 * (2 << i)); + print("Running query did return less results than expected." + "Using exponential backoff: Sleeping for $duration."); + await sleep(duration); + } + + List models = await query.run().toList(); + if (models.length >= expectedResults) { + return models; + } + } + + throw Exception( + "Tried running a query with exponential backoff, giving up now."); +} + +Future waitUntilEntitiesReady( + db.DatastoreDB mdb, List keys, db.Partition partition) { + return waitUntilEntitiesHelper(mdb, keys, true, partition); +} + +Future waitUntilEntitiesGone( + db.DatastoreDB mdb, List keys, db.Partition partition) { + return waitUntilEntitiesHelper(mdb, keys, false, partition); +} + +/// Requires a list [keys] that contains only keys with Type T. +Future waitUntilEntitiesHelper(db.DatastoreDB mdb, + List keys, bool positive, db.Partition partition) async { + bool found = false; + do { + List models = await mdb.query(partition: partition).run().toList(); + for (var key in keys) { + for (var model in models) { + if (key == model.key) found = true; + } + } + } while ((positive && !found) || (!positive && found)); + return; +} diff --git a/pkgs/appengine/test/integration/db/metamodel_tests.dart b/pkgs/appengine/test/integration/db/metamodel_tests.dart new file mode 100644 index 00000000..d9a336cf --- /dev/null +++ b/pkgs/appengine/test/integration/db/metamodel_tests.dart @@ -0,0 +1,106 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library metamodel_test; + +import 'dart:async'; + +import 'package:test/test.dart'; + +import 'package:gcloud/datastore.dart'; +import 'package:gcloud/datastore.dart' show Key, Partition; +import 'package:gcloud/db.dart' as db; +import 'package:gcloud/db/metamodel.dart'; + +List buildEntitiesWithDifferentNamespaces(String uniquePostfix) { + newKey(String? namespace, String kind, int id) { + final partition = Partition(namespace); + return Key([KeyElement(kind, id)], partition: partition); + } + + newEntity(String? namespace, String kind, {int id = 1}) { + return Entity(newKey(namespace, kind, id), {'ping': 'pong'}); + } + + return [ + newEntity(null, 'NullKind$uniquePostfix', id: 1), + newEntity(null, 'NullKind$uniquePostfix', id: 2), + newEntity(null, 'NullKind2$uniquePostfix', id: 1), + newEntity(null, 'NullKind2$uniquePostfix', id: 2), + newEntity('FooNamespace', 'FooKind$uniquePostfix', id: 1), + newEntity('FooNamespace', 'FooKind$uniquePostfix', id: 2), + newEntity('FooNamespace', 'FooKind2$uniquePostfix', id: 1), + newEntity('FooNamespace', 'FooKind2$uniquePostfix', id: 2), + newEntity('BarNamespace', 'BarKind$uniquePostfix', id: 1), + newEntity('BarNamespace', 'BarKind$uniquePostfix', id: 2), + newEntity('BarNamespace', 'BarKind2$uniquePostfix', id: 1), + newEntity('BarNamespace', 'BarKind2$uniquePostfix', id: 2), + ]; +} + +runTests(datastore, db.DatastoreDB store, String uniquePostfix) { + final cond = predicate; + + group('e2e_db_metamodel', () { + test('namespaces__insert_lookup_delete', () async { + final entities = buildEntitiesWithDifferentNamespaces(uniquePostfix); + final keys = entities.map((e) => e.key).toList(); + + await datastore.commit(inserts: entities); + await Future.delayed(const Duration(seconds: 10)); + + final namespaceQuery = store.query(); + final List namespaces = + await namespaceQuery.run().cast().toList(); + + expect(namespaces.length, greaterThanOrEqualTo(3)); + expect(namespaces, contains(cond((dynamic ns) => ns.name == null))); + expect(namespaces, + contains(cond((dynamic ns) => ns.name == 'FooNamespace'))); + expect(namespaces, + contains(cond((dynamic ns) => ns.name == 'BarNamespace'))); + + try { + for (final namespace in [null, 'FooNamespace', 'BarNamespace']) { + // TODO: Partition.newPartition should be updated to accept null. + final partition = db.Partition(namespace); + final kindQuery = store.query(partition: partition); + final List kinds = await kindQuery.run().cast().toList(); + + expect(kinds.length, greaterThanOrEqualTo(2)); + if (namespace == null) { + expect( + kinds, + contains( + cond((dynamic k) => k.name == 'NullKind$uniquePostfix'))); + expect( + kinds, + contains( + cond((dynamic k) => k.name == 'NullKind2$uniquePostfix'))); + } else if (namespace == 'FooNamespace') { + expect( + kinds, + contains( + cond((dynamic k) => k.name == 'FooKind$uniquePostfix'))); + expect( + kinds, + contains( + cond((dynamic k) => k.name == 'FooKind2$uniquePostfix'))); + } else if (namespace == 'BarNamespace') { + expect( + kinds, + contains( + cond((dynamic k) => k.name == 'BarKind$uniquePostfix'))); + expect( + kinds, + contains( + cond((dynamic k) => k.name == 'BarKind2$uniquePostfix'))); + } + } + } finally { + await datastore.commit(deletes: keys); + } + }); + }); +} diff --git a/pkgs/appengine/test/integration/grpc_datastore_test.dart b/pkgs/appengine/test/integration/grpc_datastore_test.dart new file mode 100644 index 00000000..e6d559c3 --- /dev/null +++ b/pkgs/appengine/test/integration/grpc_datastore_test.dart @@ -0,0 +1,55 @@ +// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'dart:io'; + +import 'package:appengine/src/grpc_api_impl/datastore_impl.dart'; +import 'package:gcloud/db.dart' as db; +import 'package:grpc/grpc.dart' as grpc; +import 'package:test/test.dart' as test; +import 'db/db_tests.dart' as db_tests; +import 'db/metamodel_tests.dart' as metamodel_tests; + +import 'common_e2e.dart' show onBot, withAuthenticator; +import 'raw_datastore_test_impl.dart' as datastore_tests; + +main() async { + final endpoint = 'datastore.googleapis.com'; + + final String nsPrefix = Platform.operatingSystem; + + // Early exit if trying to run this integration test on the bot. + + if (onBot()) { + return; + } + + await withAuthenticator(OAuth2Scopes, + (String project, grpc.HttpBasedAuthenticator authenticator) async { + test.group('grpc datastore', () { + final clientChannel = grpc.ClientChannel(endpoint); + final datastore = + GrpcDatastoreImpl(clientChannel, authenticator, project); + // ignore: unused_local_variable + final dbService = db.DatastoreDB(datastore); + + // Once all tests are done we'll close the resources. + test.tearDownAll(() async { + await clientChannel.shutdown(); + }); + + // Run low-level datastore tests. + datastore_tests.runTests( + datastore, '${nsPrefix}${DateTime.now().millisecondsSinceEpoch}'); + + // Run high-level db tests. + db_tests.runTests( + dbService, '${nsPrefix}${DateTime.now().millisecondsSinceEpoch}'); + + // Run metamodel tests. + metamodel_tests.runTests(datastore, dbService, + '${nsPrefix}${DateTime.now().millisecondsSinceEpoch}'); + }, skip: onBot()); + }); +} diff --git a/pkgs/appengine/test/integration/index.yaml b/pkgs/appengine/test/integration/index.yaml new file mode 100644 index 00000000..37d4c321 --- /dev/null +++ b/pkgs/appengine/test/integration/index.yaml @@ -0,0 +1,35 @@ +# gcloud --project=$E2E_TEST_PROJECT datastore indexes create test/integration/index.yaml +indexes: +- kind: User + ancestor: no + properties: + - name: name + direction: asc + - name: nickname + direction: desc +- kind: User + ancestor: no + properties: + - name: name + direction: desc + - name: nickname + direction: desc +- kind: User + ancestor: no + properties: + - name: name + direction: desc + - name: nickname + direction: asc +- kind: User + ancestor: no + properties: + - name: language + direction: asc + - name: name + direction: asc +- kind: TestQueryKind + properties: + - name: listproperty + - name: test_property + direction: desc diff --git a/pkgs/appengine/test/integration/raw_datastore_test_impl.dart b/pkgs/appengine/test/integration/raw_datastore_test_impl.dart new file mode 100644 index 00000000..3ae744a4 --- /dev/null +++ b/pkgs/appengine/test/integration/raw_datastore_test_impl.dart @@ -0,0 +1,1123 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library raw_datastore_test_impl; + +/// NOTE: In order to run these tests, the following datastore indices must +/// exist: +/// $ cat index.yaml +/// indexes: +/// - kind: TestQueryKind +/// ancestor: no +/// properties: +/// - name: indexedProp +/// direction: asc +/// - name: blobPropertyIndexed +/// direction: asc +/// +/// - kind: TestQueryKind +/// ancestor: no +/// properties: +/// - name: listproperty +/// - name: test_property +/// direction: desc +/// $ gcloud preview datastore create-indexes . +/// 02:19 PM Host: appengine.google.com +/// 02:19 PM Uploading index definitions. + +import 'dart:async'; + +import 'package:gcloud/datastore.dart'; +import 'package:gcloud/common.dart'; +import 'package:test/test.dart'; + +import '../utils/error_matchers.dart'; +import '../utils/raw_datastore_test_utils.dart'; + +Future sleep(Duration duration) { + var completer = Completer(); + Timer(duration, completer.complete); + return completer.future; +} + +Future> consumePages(FirstPageProvider provider) { + return StreamFromPages(provider as Future> Function(int)) + .stream + .toList(); +} + +runTests(Datastore datastore, String namespace) { + Partition partition = Partition(namespace); + + Future withTransaction( + FutureOr Function(Transaction) fn, { + bool xg = false, + }) async { + final tx = await datastore.beginTransaction(crossEntityGroup: xg); + return await fn(tx); + } + + Future> insert(List entities, List autoIdEntities, + {bool transactional = true}) { + if (transactional) { + return withTransaction((Transaction transaction) { + return datastore + .commit( + inserts: entities, + autoIdInserts: autoIdEntities, + transaction: transaction) + .then((result) { + if (autoIdEntities.isNotEmpty) { + expect( + result.autoIdInsertKeys.length, equals(autoIdEntities.length)); + } + return result.autoIdInsertKeys; + }); + }, xg: true); + } else { + return datastore + .commit(inserts: entities, autoIdInserts: autoIdEntities) + .then((result) { + if (autoIdEntities.isNotEmpty) { + expect(result.autoIdInsertKeys.length, equals(autoIdEntities.length)); + } + return result.autoIdInsertKeys; + }); + } + } + + Future delete(List keys, {bool transactional = true}) { + if (transactional) { + return withTransaction((Transaction t) { + return datastore + .commit(deletes: keys, transaction: t) + .then((result) => null); + }, xg: true); + } else { + return datastore.commit(deletes: keys).then((_) => _); + } + } + + Future> lookup(List keys, {bool transactional = true}) { + if (transactional) { + return withTransaction((Transaction transaction) { + return datastore.lookup(keys, transaction: transaction); + }, xg: true); + } else { + return datastore.lookup(keys); + } + } + + bool isValidKey(Key key, {bool ignoreIds = false}) { + if (key.elements.isEmpty) return false; + + for (var element in key.elements) { + if (!ignoreIds) { + if (element.id == null || + (element.id is! String && element.id is! int)) { + return false; + } + } + } + return true; + } + + bool compareKey(Key a, Key b, {bool ignoreIds = false}) { + if (a.partition != b.partition) return false; + if (a.elements.length != b.elements.length) return false; + for (int i = 0; i < a.elements.length; i++) { + if (a.elements[i].kind != b.elements[i].kind) return false; + if (!ignoreIds && a.elements[i].id != b.elements[i].id) return false; + } + return true; + } + + bool compareEntity(Entity a, Entity b, {bool ignoreIds = false}) { + if (!compareKey(a.key, b.key, ignoreIds: ignoreIds)) return false; + if (a.properties.length != b.properties.length) return false; + for (var key in a.properties.keys) { + if (!b.properties.containsKey(key)) return false; + if (a.properties[key] != null && a.properties[key] is List) { + List aList = a.properties[key] as List; + List bList = b.properties[key] as List; + if (aList.length != bList.length) return false; + for (var i = 0; i < aList.length; i++) { + if (aList[i] != bList[i]) return false; + } + } else if (a.properties[key] is BlobValue) { + if (b.properties[key] is BlobValue) { + var b1 = (a.properties[key] as BlobValue).bytes; + var b2 = (b.properties[key] as BlobValue).bytes; + if (b1.length != b2.length) return false; + for (var i = 0; i < b1.length; i++) { + if (b1[i] != b2[i]) return false; + } + return true; + } + return false; + } else { + if (a.properties[key] != b.properties[key]) { + return false; + } + } + } + return true; + } + + group('e2e_datastore', () { + group('insert', () { + Future> testInsert(List entities, + {bool transactional = false, bool xg = false, bool unnamed = true}) { + Future> test(Transaction? transaction) { + Future f; + if (transaction != null) { + f = datastore.commit( + autoIdInserts: entities, transaction: transaction); + } else { + f = datastore.commit(autoIdInserts: entities); + } + return f.then((CommitResult result) { + expect(result.autoIdInsertKeys.length, equals(entities.length)); + + for (var i = 0; i < result.autoIdInsertKeys.length; i++) { + var key = result.autoIdInsertKeys[i]; + expect(isValidKey(key), isTrue); + if (unnamed) { + expect( + compareKey(key, entities[i].key, ignoreIds: true), isTrue); + } else { + expect(compareKey(key, entities[i].key), isTrue); + } + } + return result.autoIdInsertKeys; + }); + } + + if (transactional) { + return withTransaction(test, xg: xg); + } + return test(null); + } + + Future testInsertNegative(List entities, + {bool transactional = false, bool xg = false}) async { + test(Transaction? transaction) { + if (transaction != null) { + expect( + datastore.commit( + autoIdInserts: entities, transaction: transaction), + throwsA(isDatastoreApplicationError)); + } else { + expect(datastore.commit(autoIdInserts: entities), + throwsA(isDatastoreApplicationError)); + } + } + + if (transactional) { + await withTransaction(test, xg: xg); + } else { + test(null); + } + } + + var unnamedEntities1 = buildEntities(42, 43, partition: partition); + var unnamedEntities5 = buildEntities(1, 6, partition: partition); + var unnamedEntities26 = buildEntities(6, 32, partition: partition); + var named20000 = buildEntities(1000, 21001, + idFunction: (i) => 'named_${i}_of_10000', partition: partition); + + test('insert', () { + return testInsert(unnamedEntities5, transactional: false).then((keys) { + return delete(keys).then((_) { + return lookup(keys).then((List entities) { + entities.forEach((Entity? e) => expect(e, isNull)); + }); + }); + }); + }); + + test('insert_transactional', () { + return testInsert(unnamedEntities1, transactional: true).then((keys) { + return delete(keys).then((_) { + return lookup(keys).then((List entities) { + entities.forEach((Entity? e) => expect(e, isNull)); + }); + }); + }); + }); + + test('insert_transactional_xg', () { + return testInsert(unnamedEntities5, transactional: true, xg: true) + .then((keys) { + return delete(keys).then((_) { + return lookup(keys).then((List entities) { + entities.forEach((Entity? e) => expect(e, isNull)); + }); + }); + }); + }); + + test('negative_insert__incomplete_path', () { + expect(datastore.commit(inserts: unnamedEntities1), + throwsA(isDatastoreApplicationError)); + }); + + test('negative_insert_transactional_xg', () { + return testInsertNegative(unnamedEntities26, + transactional: true, xg: true); + }, + skip: 'With Firestore in Datastore mode, transactions are no longer ' + 'limited to 25 entity groups'); + + test('insert_20000_entities', () async { + // Maybe it should not be a [DataStoreError] here? + final result = await datastore.commit(inserts: named20000); + expect(result.autoIdInsertKeys.length, 0); + }); + + // TODO: test invalid inserts (like entities without key, ...) + }); + + group('allocate_ids', () { + test('allocate_ids_query', () { + compareResult(List keys, List completedKeys) { + expect(completedKeys.length, equals(keys.length)); + for (int i = 0; i < keys.length; i++) { + var insertedKey = keys[i]; + var completedKey = completedKeys[i]; + + expect(completedKey.elements.length, + equals(insertedKey.elements.length)); + for (int j = 0; j < insertedKey.elements.length - 1; j++) { + expect(completedKey.elements[j], equals(insertedKey.elements[j])); + } + for (int j = insertedKey.elements.length - 1; + j < insertedKey.elements.length; + j++) { + expect(completedKey.elements[j].kind, + equals(insertedKey.elements[j].kind)); + expect(completedKey.elements[j].id, isNotNull); + expect(completedKey.elements[j].id, isInt); + } + } + } + + var keys = buildKeys(1, 4, partition: partition); + return datastore.allocateIds(keys).then((List completedKeys) { + compareResult(keys, completedKeys); + // TODO: Make sure we can insert these keys + // FIXME: Insert currently doesn't through if entities already exist! + }); + }); + }); + + group('lookup', () { + Future testLookup(List keysToLookup, List entitiesToLookup, + {bool transactional = false, + bool xg = false, + bool negative = false, + bool named = false}) { + expect(keysToLookup.length, equals(entitiesToLookup.length)); + for (var i = 0; i < keysToLookup.length; i++) { + expect( + compareKey(keysToLookup[i], entitiesToLookup[i].key, + ignoreIds: !named), + isTrue); + } + + Future test(Transaction? transaction) { + return datastore + .lookup(keysToLookup) + .then((List entities) async { + expect(entities.length, equals(keysToLookup.length)); + if (negative) { + for (int i = 0; i < entities.length; i++) { + expect(entities[i], isNull); + } + } else { + for (var i = 0; i < entities.length; i++) { + expect(compareKey(entities[i]!.key, keysToLookup[i]), isTrue); + expect( + compareEntity(entities[i]!, entitiesToLookup[i], + ignoreIds: !named), + isTrue); + } + } + if (transaction != null) { + return datastore + .commit(transaction: transaction) + .then((_) => null); + } + }); + } + + if (transactional) { + return withTransaction(test, xg: xg); + } + return test(null); + } + + var unnamedEntities1 = buildEntities(42, 43, partition: partition); + var unnamedEntities5 = buildEntities(1, 6, partition: partition); + var unnamedEntities20 = buildEntities(6, 26, partition: partition); + var entitiesWithAllPropertyTypes = + buildEntityWithAllProperties(1, 6, partition: partition); + + test('lookup', () { + return insert([], unnamedEntities20, transactional: false).then((keys) { + keys.forEach((key) => expect(isValidKey(key), isTrue)); + return testLookup(keys, unnamedEntities20).then((_) { + return delete(keys, transactional: false); + }); + }); + }); + + test('lookup_with_all_properties', () { + return insert(entitiesWithAllPropertyTypes, [], transactional: false) + .then((_) { + var keys = entitiesWithAllPropertyTypes.map((e) => e.key).toList(); + return testLookup(keys, entitiesWithAllPropertyTypes).then((_) { + return delete(keys, transactional: false); + }); + }); + }); + + test('lookup_transactional', () { + return insert([], unnamedEntities1).then((keys) { + keys.forEach((key) => expect(isValidKey(key), isTrue)); + return testLookup(keys, unnamedEntities1, transactional: true) + .then((_) => delete(keys)); + }); + }); + + test('lookup_transactional_xg', () { + return insert([], unnamedEntities5).then((keys) { + keys.forEach((key) => expect(isValidKey(key), isTrue)); + return testLookup(keys, unnamedEntities5, + transactional: true, xg: true) + .then((_) { + return delete(keys); + }); + }); + }); + + // TODO: ancestor lookups, string id lookups + }); + + group('delete', () { + Future testDelete(List keys, + {bool transactional = false, bool xg = false}) { + Future test(Transaction? transaction) { + return datastore.commit(deletes: keys).then((_) { + if (transaction == null) { + return null; + } + return datastore.commit(transaction: transaction); + }); + } + + if (transactional) { + return withTransaction(test, xg: xg); + } + return test(null); + } + + var unnamedEntities99 = buildEntities(6, 106, partition: partition); + + test('delete', () { + return insert([], unnamedEntities99, transactional: false).then((keys) { + keys.forEach((key) => expect(isValidKey(key), isTrue)); + return lookup(keys, transactional: false).then((entities) { + entities.forEach((e) => expect(e, isNotNull)); + return testDelete(keys).then((_) { + return lookup(keys, transactional: false).then((entities) { + entities.forEach((e) => expect(e, isNull)); + }); + }); + }); + }); + }); + + // This should not work with [unamedEntities20], but is working! + // FIXME TODO FIXME : look into this. + test('delete_transactional', () { + return insert([], unnamedEntities99, transactional: false).then((keys) { + keys.forEach((key) => expect(isValidKey(key), isTrue)); + return lookup(keys, transactional: false).then((entities) { + entities.forEach((e) => expect(e, isNotNull)); + return testDelete(keys, transactional: true).then((_) { + return lookup(keys, transactional: false).then((entities) { + entities.forEach((e) => expect(e, isNull)); + }); + }); + }); + }); + }); + + test('delete_transactional_xg', () { + return insert([], unnamedEntities99, transactional: false).then((keys) { + keys.forEach((key) => expect(isValidKey(key), isTrue)); + return lookup(keys, transactional: false).then((entities) { + expect(entities.length, equals(unnamedEntities99.length)); + entities.forEach((e) => expect(e, isNotNull)); + return testDelete(keys, transactional: true, xg: true).then((_) { + return lookup(keys, transactional: false).then((entities) { + expect(entities.length, equals(unnamedEntities99.length)); + entities.forEach((e) => expect(e, isNull)); + }); + }); + }); + }); + }); + + // TODO: ancestor deletes, string id deletes + }); + + group('rollback', () { + Future testRollback(List keys, {bool xg = false}) { + return withTransaction((Transaction transaction) { + return datastore + .lookup(keys, transaction: transaction) + .then((List entities) { + return datastore.rollback(transaction); + }); + }, xg: xg); + } + + var namedEntities1 = + buildEntities(42, 43, idFunction: (i) => "i$i", partition: partition); + var namedEntities5 = + buildEntities(1, 6, idFunction: (i) => "i$i", partition: partition); + + var namedEntities1Keys = namedEntities1.map((e) => e.key).toList(); + var namedEntities5Keys = namedEntities5.map((e) => e.key).toList(); + + test('rollback', () { + return testRollback(namedEntities1Keys); + }); + + test('rollback_xg', () { + return testRollback(namedEntities5Keys, xg: true); + }); + }); + + group('empty_commit', () { + Future testEmptyCommit(List keys, + {bool transactional = false, bool xg = false}) { + Future test(Transaction? transaction) { + if (transaction != null) { + return datastore + .lookup(keys, transaction: transaction) + .then((List entities) { + return datastore.commit(transaction: transaction); + }); + } else { + return datastore.lookup(keys).then((List entities) { + return datastore.commit(); + }); + } + } + + if (transactional) { + return withTransaction(test, xg: xg); + } else { + return test(null); + } + } + + var namedEntities1 = + buildEntities(42, 43, idFunction: (i) => "i$i", partition: partition); + var namedEntities5 = + buildEntities(1, 6, idFunction: (i) => "i$i", partition: partition); + var namedEntities20 = + buildEntities(6, 26, idFunction: (i) => "i$i", partition: partition); + + var namedEntities1Keys = namedEntities1.map((e) => e.key).toList(); + var namedEntities5Keys = namedEntities5.map((e) => e.key).toList(); + var namedEntities20Keys = namedEntities20.map((e) => e.key).toList(); + + test('empty_commit', () { + return testEmptyCommit(namedEntities20Keys); + }); + + test('empty_commit_transactional', () { + return testEmptyCommit(namedEntities1Keys); + }); + + test('empty_commit_transactional_xg', () { + return testEmptyCommit(namedEntities5Keys); + }); + + test('negative_empty_commit_xg', () { + expect( + testEmptyCommit(namedEntities20Keys, transactional: true, xg: true), + throwsA(isApplicationError)); + }, skip: 'Existing failure'); + }); + + group('conflicting_transaction', () { + Future testConflictingTransaction(List entities, + {bool xg = false}) { + Future test(List entities, Transaction transaction, value) { + // Change entities: + var changedEntities = List.filled(entities.length, null); + for (int i = 0; i < entities.length; i++) { + var entity = entities[i]!; + var newProperties = Map.from(entity.properties); + for (var prop in newProperties.keys) { + newProperties[prop] = "${newProperties[prop]}conflict$value"; + } + changedEntities[i] = Entity(entity.key, newProperties); + } + return datastore.commit( + inserts: changedEntities.cast(), + transaction: transaction, + ); + } + + // Insert first + return insert(entities, [], transactional: true).then((_) { + var keys = entities.map((e) => e.key).toList(); + + var NUM_TRANSACTIONS = 10; + + // Start transactions + var transactions = >[]; + for (var i = 0; i < NUM_TRANSACTIONS; i++) { + transactions.add(datastore.beginTransaction(crossEntityGroup: xg)); + } + return Future.wait(transactions) + .then((List transactions) { + // Do a lookup for the entities in every transaction + List>> lookups = >>[]; + for (var transaction in transactions) { + lookups.add(datastore.lookup(keys, transaction: transaction)); + } + return Future.wait(lookups).then((List> results) { + // Do a conflicting commit in every transaction. + var commits = []; + for (var i = 0; i < transactions.length; i++) { + var transaction = transactions[i]; + commits.add(test(results[i], transaction, i)); + } + return Future.wait(commits); + }); + }); + }); + } + + var namedEntities1 = + buildEntities(42, 43, idFunction: (i) => "i$i", partition: partition); + var namedEntities5 = + buildEntities(1, 6, idFunction: (i) => "i$i", partition: partition); + + test('conflicting_transaction', () { + expect(testConflictingTransaction(namedEntities1), + throwsA(isTransactionAbortedError)); + }); + + test('conflicting_transaction_xg', () { + expect(testConflictingTransaction(namedEntities5, xg: true), + throwsA(isTransactionAbortedError)); + }); + }); + group('query', () { + Future> testQuery(String kind, + {List? filters, + List? orders, + bool transactional = false, + bool xg = false, + int? offset, + int? limit}) { + Future> test(Transaction? transaction) { + var query = Query( + kind: kind, + filters: filters, + orders: orders, + offset: offset, + limit: limit); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List entities) { + if (transaction != null) { + return datastore + .commit(transaction: transaction) + .then((_) => entities); + } + return entities; + }); + } + + if (transactional) { + return withTransaction(test, xg: xg); + } + return test(null); + } + + Future testQueryAndCompare(String kind, List expectedEntities, + {List? filters, + List? orders, + bool transactional = false, + bool xg = false, + bool correctOrder = true, + int? offset, + int? limit}) { + return testQuery(kind, + filters: filters, + orders: orders, + transactional: transactional, + xg: xg, + offset: offset, + limit: limit) + .then((List entities) { + expect(entities.length, equals(expectedEntities.length)); + + if (correctOrder) { + for (int i = 0; i < entities.length; i++) { + expect(compareEntity(entities[i], expectedEntities[i]), isTrue); + } + } else { + for (int i = 0; i < entities.length; i++) { + bool found = false; + for (int j = 0; j < expectedEntities.length; j++) { + if (compareEntity(entities[i], expectedEntities[i])) { + found = true; + } + } + expect(found, isTrue); + } + } + }); + } + + Future testOffsetLimitQuery(String kind, List expectedEntities, + {List? orders, bool transactional = false, bool xg = false}) { + // We query for all subsets of expectedEntities + // NOTE: This is O(0.5 * n^2) queries, but n is currently only 6. + List queryTests = []; + for (int start = 0; start < expectedEntities.length; start++) { + for (int end = start; end < expectedEntities.length; end++) { + int offset = start; + int limit = end - start; + var entities = expectedEntities.sublist(offset, offset + limit); + queryTests.add(() { + return testQueryAndCompare(kind, entities, + transactional: transactional, + xg: xg, + orders: orders, + offset: offset, + limit: limit); + }); + } + } + // Query with limit higher than the number of results. + queryTests.add(() { + return testQueryAndCompare(kind, expectedEntities, + transactional: transactional, + xg: xg, + orders: orders, + offset: 0, + limit: expectedEntities.length * 10); + }); + + return Future.forEach(queryTests, (dynamic f) => f()); + } + + const TEST_QUERY_KIND = 'TestQueryKind'; + var stringNamedEntities = buildEntities(1, 6, + idFunction: (i) => 'str$i', + kind: TEST_QUERY_KIND, + partition: partition); + var stringNamedKeys = stringNamedEntities.map((e) => e.key).toList(); + + var QUERY_KEY = TEST_PROPERTY_KEY_PREFIX; + var QUERY_UPPER_BOUND = "${TEST_PROPERTY_VALUE_PREFIX}4"; + var QUERY_LOWER_BOUND = "${TEST_PROPERTY_VALUE_PREFIX}1"; + var QUERY_LIST_ENTRY = '${TEST_LIST_VALUE}2'; + var QUERY_INDEX_VALUE = '${TEST_INDEXED_PROPERTY_VALUE_PREFIX}1'; + + var reverseOrderFunction = (Entity a, Entity b) { + // Reverse the order + return -1 * + (a.properties[QUERY_KEY] as String) + .compareTo(b.properties[QUERY_KEY] as String); + }; + + var filterFunction = (Entity entity) { + Comparable value = entity.properties[QUERY_KEY] as Comparable; + return value.compareTo(QUERY_UPPER_BOUND) == -1 && + value.compareTo(QUERY_LOWER_BOUND) == 1; + }; + var listFilterFunction = (Entity entity) { + List values = entity.properties[TEST_LIST_PROPERTY] as List; + return values.contains(QUERY_LIST_ENTRY); + }; + var indexFilterMatches = (Entity entity) { + return entity.properties[TEST_INDEXED_PROPERTY] == QUERY_INDEX_VALUE; + }; + + var sorted = stringNamedEntities.toList()..sort(reverseOrderFunction); + var filtered = stringNamedEntities.where(filterFunction).toList(); + var sortedAndFiltered = sorted.where(filterFunction).toList(); + var sortedAndListFiltered = sorted.where(listFilterFunction).toList(); + var indexedEntity = sorted.where(indexFilterMatches).toList(); + + // Cannot use `expect` outside of a test body – so... + if (indexedEntity.length != 1) { + throw 'Bad indexed entity!'; + } + + var filters = [ + // ignore: deprecated_member_use + Filter(FilterRelation.GreatherThan, QUERY_KEY, QUERY_LOWER_BOUND), + Filter(FilterRelation.LessThan, QUERY_KEY, QUERY_UPPER_BOUND), + ]; + var listFilters = [ + Filter(FilterRelation.Equal, TEST_LIST_PROPERTY, QUERY_LIST_ENTRY) + ]; + var indexedPropertyFilter = [ + Filter(FilterRelation.Equal, TEST_INDEXED_PROPERTY, QUERY_INDEX_VALUE), + Filter(FilterRelation.Equal, TEST_BLOB_INDEXED_PROPERTY, + TEST_BLOB_INDEXED_VALUE) + ]; + var unIndexedPropertyFilter = [ + Filter(FilterRelation.Equal, TEST_UNINDEXED_PROPERTY, QUERY_INDEX_VALUE) + ]; + + // ignore: deprecated_member_use + var orders = [Order(OrderDirection.Decending, QUERY_KEY)]; + + test('query', () { + return insert(stringNamedEntities, []).then((keys) { + return waitUntilEntitiesReady(datastore, stringNamedKeys, partition) + .then((_) { + var tests = [ + // EntityKind query + () => testQueryAndCompare(TEST_QUERY_KIND, stringNamedEntities, + transactional: false, correctOrder: false), + () => testQueryAndCompare(TEST_QUERY_KIND, stringNamedEntities, + transactional: true, correctOrder: false), + () => testQueryAndCompare(TEST_QUERY_KIND, stringNamedEntities, + transactional: true, correctOrder: false, xg: true), + + // EntityKind query with order + () => testQueryAndCompare(TEST_QUERY_KIND, sorted, + transactional: false, orders: orders), + () => testQueryAndCompare(TEST_QUERY_KIND, sorted, + transactional: true, orders: orders), + () => testQueryAndCompare(TEST_QUERY_KIND, sorted, + transactional: false, xg: true, orders: orders), + + // EntityKind query with filter + () => testQueryAndCompare(TEST_QUERY_KIND, filtered, + transactional: false, filters: filters), + () => testQueryAndCompare(TEST_QUERY_KIND, filtered, + transactional: true, filters: filters), + () => testQueryAndCompare(TEST_QUERY_KIND, filtered, + transactional: false, xg: true, filters: filters), + + // EntityKind query with filter + order + () => testQueryAndCompare(TEST_QUERY_KIND, sortedAndFiltered, + transactional: false, filters: filters, orders: orders), + () => testQueryAndCompare(TEST_QUERY_KIND, sortedAndFiltered, + transactional: true, filters: filters, orders: orders), + () => testQueryAndCompare(TEST_QUERY_KIND, sortedAndFiltered, + transactional: false, + xg: true, + filters: filters, + orders: orders), + + // EntityKind query with IN filter + order + () => testQueryAndCompare(TEST_QUERY_KIND, sortedAndListFiltered, + transactional: false, filters: listFilters, orders: orders), + () => testQueryAndCompare(TEST_QUERY_KIND, sortedAndListFiltered, + transactional: true, filters: listFilters, orders: orders), + () => testQueryAndCompare(TEST_QUERY_KIND, sortedAndListFiltered, + transactional: false, + xg: true, + filters: listFilters, + orders: orders), + + // Limit & Offset test + () => testOffsetLimitQuery(TEST_QUERY_KIND, sorted, + transactional: false, orders: orders), + () => testOffsetLimitQuery(TEST_QUERY_KIND, sorted, + transactional: true, orders: orders), + () => testOffsetLimitQuery(TEST_QUERY_KIND, sorted, + transactional: false, xg: true, orders: orders), + + // Query for indexed property + () => testQueryAndCompare(TEST_QUERY_KIND, indexedEntity, + transactional: false, filters: indexedPropertyFilter), + () => testQueryAndCompare(TEST_QUERY_KIND, indexedEntity, + transactional: true, filters: indexedPropertyFilter), + () => testQueryAndCompare(TEST_QUERY_KIND, indexedEntity, + transactional: false, + xg: true, + filters: indexedPropertyFilter), + + // Query for un-indexed property + () => testQueryAndCompare(TEST_QUERY_KIND, [], + transactional: false, filters: unIndexedPropertyFilter), + () => testQueryAndCompare(TEST_QUERY_KIND, [], + transactional: true, filters: unIndexedPropertyFilter), + () => testQueryAndCompare(TEST_QUERY_KIND, [], + transactional: false, + xg: true, + filters: unIndexedPropertyFilter), + + // Delete results + () => delete(stringNamedKeys, transactional: true), + + // Wait until the entity deletes are reflected in the indices. + () => + waitUntilEntitiesGone(datastore, stringNamedKeys, partition), + + // Make sure queries don't return results + () => testQueryAndCompare(TEST_QUERY_KIND, [], + transactional: false), + () => + testQueryAndCompare(TEST_QUERY_KIND, [], transactional: true), + () => testQueryAndCompare(TEST_QUERY_KIND, [], + transactional: true, xg: true), + () => testQueryAndCompare(TEST_QUERY_KIND, [], + transactional: false, filters: filters, orders: orders), + ]; + return Future.forEach(tests, (dynamic f) => f()); + }); + }); + + // TODO: query by multiple keys, multiple sort orders, ... + }); + + test('ancestor_query', () async { + /* + * This test creates an + * RootKind:1 -- This defines the entity group (no entity with that key) + * + SubKind:1 -- This a subpath (no entity with that key) + * + SubSubKind:1 -- This is a real entity of kind SubSubKind + * + SubSubKind2:1 -- This is a real entity of kind SubSubKind2 + */ + var rootKey = Key([KeyElement('RootKind', 1)], partition: partition); + var subKey = Key.fromParent('SubKind', 1, parent: rootKey); + var subSubKey = Key.fromParent('SubSubKind', 1, parent: subKey); + var subSubKey2 = Key.fromParent('SubSubKind2', 1, parent: subKey); + var properties = {'foo': 'bar'}; + + var entity = Entity(subSubKey, properties); + var entity2 = Entity(subSubKey2, properties); + + var orders = [Order(OrderDirection.Ascending, '__key__')]; + + return datastore.commit(inserts: [entity, entity2]).then((_) { + var futures = [ + // FIXME/TODO: Ancestor queries should be strongly consistent. + // We should not need to wait for them. + () { + return waitUntilEntitiesReady( + datastore, [subSubKey, subSubKey2], partition); + }, + // Test that lookup only returns inserted entities. + () { + return datastore + .lookup([rootKey, subKey, subSubKey, subSubKey2]).then( + (List entities) { + expect(entities.length, 4); + expect(entities[0], isNull); + expect(entities[1], isNull); + expect(entities[2], isNotNull); + expect(entities[3], isNotNull); + expect(compareEntity(entity, entities[2]!), isTrue); + expect(compareEntity(entity2, entities[3]!), isTrue); + }); + }, + + // Query by ancestor. + // - by [rootKey] + () { + var ancestorQuery = Query(ancestorKey: rootKey, orders: orders); + return consumePages((_) => + datastore.query(ancestorQuery, partition: partition)) + .then((results) { + expect(results.length, 2); + expect(compareEntity(entity, results[0]), isTrue); + expect(compareEntity(entity2, results[1]), isTrue); + }); + }, + // - by [subKey] + () { + var ancestorQuery = Query(ancestorKey: subKey, orders: orders); + return consumePages((_) => + datastore.query(ancestorQuery, partition: partition)) + .then((results) { + expect(results.length, 2); + expect(compareEntity(entity, results[0]), isTrue); + expect(compareEntity(entity2, results[1]), isTrue); + }); + }, + // - by [subSubKey] + () { + var ancestorQuery = Query(ancestorKey: subSubKey); + return consumePages((_) => + datastore.query(ancestorQuery, partition: partition)) + .then((results) { + expect(results.length, 1); + expect(compareEntity(entity, results[0]), isTrue); + }); + }, + // - by [subSubKey2] + () { + var ancestorQuery = Query(ancestorKey: subSubKey2); + return consumePages((_) => + datastore.query(ancestorQuery, partition: partition)) + .then((results) { + expect(results.length, 1); + expect(compareEntity(entity2, results[0]), isTrue); + }); + }, + + // Query by ancestor and kind. + // - by [rootKey] + 'SubSubKind' + () { + var query = Query(ancestorKey: rootKey, kind: 'SubSubKind'); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List results) { + expect(results.length, 1); + expect(compareEntity(entity, results[0]), isTrue); + }); + }, + // - by [rootKey] + 'SubSubKind2' + () { + var query = Query(ancestorKey: rootKey, kind: 'SubSubKind2'); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List results) { + expect(results.length, 1); + expect(compareEntity(entity2, results[0]), isTrue); + }); + }, + // - by [subSubKey] + 'SubSubKind' + () { + var query = Query(ancestorKey: subSubKey, kind: 'SubSubKind'); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List results) { + expect(results.length, 1); + expect(compareEntity(entity, results[0]), isTrue); + }); + }, + // - by [subSubKey2] + 'SubSubKind2' + () { + var query = Query(ancestorKey: subSubKey2, kind: 'SubSubKind2'); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List results) { + expect(results.length, 1); + expect(compareEntity(entity2, results[0]), isTrue); + }); + }, + // - by [subSubKey] + 'SubSubKind2' + () { + var query = Query(ancestorKey: subSubKey, kind: 'SubSubKind2'); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List results) { + expect(results.length, 0); + }); + }, + // - by [subSubKey2] + 'SubSubKind' + () { + var query = Query(ancestorKey: subSubKey2, kind: 'SubSubKind'); + return consumePages( + (_) => datastore.query(query, partition: partition)) + .then((List results) { + expect(results.length, 0); + }); + }, + + // Cleanup + () { + return datastore.commit(deletes: [subSubKey, subSubKey2]); + } + ]; + return Future.forEach(futures, (dynamic f) => f()) + .then(expectAsync1((_) {})); + }); + }); + }, timeout: Timeout(Duration(minutes: 2))); + }); +} + +Future cleanupDB(Datastore db, String namespace) { + Future> getKinds(String namespace) { + var partition = Partition(namespace); + var q = Query(kind: '__kind__'); + return consumePages((_) => db.query(q, partition: partition)) + .then((List entities) { + return entities + .map((Entity e) => e.key.elements.last.id as String?) + .where((String? kind) => !kind!.contains('__')) + .toList(); + }); + } + + // cleanup() will call itself again as long as the DB is not clean. + cleanup(String namespace, String? kind) { + var partition = Partition(namespace); + var q = Query(kind: kind, limit: 500); + return consumePages((_) => db.query(q, partition: partition)) + .then((List entities) { + if (entities.isEmpty) return null; + + print('[cleanupDB]: Removing left-over ${entities.length} entities'); + var deletes = entities.map((e) => e.key).toList(); + return db.commit(deletes: deletes).then((_) => cleanup(namespace, kind)); + }); + } + + return getKinds(namespace).then((List kinds) { + return Future.forEach(kinds, (String? kind) { + return cleanup(namespace, kind); + }); + }); +} + +Future waitUntilEntitiesReady(Datastore db, List keys, Partition p) { + return waitUntilEntitiesHelper(db, keys, true, p); +} + +Future waitUntilEntitiesGone(Datastore db, List keys, Partition p) { + return waitUntilEntitiesHelper(db, keys, false, p); +} + +Future waitUntilEntitiesHelper( + Datastore db, List keys, bool positive, Partition p) { + var keysByKind = >{}; + for (var key in keys) { + keysByKind.putIfAbsent(key.elements.last.kind, () => []).add(key); + } + + Future waitForKeys(String kind, List? keys) { + var q = Query(kind: kind); + return consumePages((_) => db.query(q, partition: p)).then((entities) { + for (var key in keys!) { + bool found = false; + for (var entity in entities) { + if (key == entity.key) found = true; + } + if (positive) { + if (!found) return waitForKeys(kind, keys); + } else { + if (found) return waitForKeys(kind, keys); + } + } + return null; + }); + } + + return Future.forEach(keysByKind.keys.toList(), (String kind) { + return waitForKeys(kind, keysByKind[kind]); + }); +} diff --git a/pkgs/appengine/test/utils/error_matchers.dart b/pkgs/appengine/test/utils/error_matchers.dart new file mode 100644 index 00000000..887b4672 --- /dev/null +++ b/pkgs/appengine/test/utils/error_matchers.dart @@ -0,0 +1,24 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library error_matchers; + +import 'package:test/test.dart'; + +import 'package:appengine/src/errors.dart'; +import 'package:gcloud/datastore.dart' as datastore; + +const isNetworkError = TypeMatcher(); +const isProtocolError = TypeMatcher(); +const isServiceError = TypeMatcher(); +const isApplicationError = TypeMatcher(); +const isAppEngineApplicationError = TypeMatcher(); + +const isDatastoreApplicationError = TypeMatcher(); +const isTransactionAbortedError = + TypeMatcher(); +const isNeedIndexError = TypeMatcher(); +const isTimeoutError = TypeMatcher(); + +const isInt = TypeMatcher(); diff --git a/pkgs/appengine/test/utils/raw_datastore_test_utils.dart b/pkgs/appengine/test/utils/raw_datastore_test_utils.dart new file mode 100644 index 00000000..0d346d45 --- /dev/null +++ b/pkgs/appengine/test/utils/raw_datastore_test_utils.dart @@ -0,0 +1,101 @@ +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +library raw_datastore_test_utils; + +import 'package:gcloud/datastore.dart'; + +const TEST_KIND = 'TestKind'; +const TEST_PROPERTY_KEY_PREFIX = 'test_property'; +const TEST_LIST_PROPERTY = 'listproperty'; +const TEST_LIST_VALUE = 'listvalue'; +const TEST_PROPERTY_VALUE_PREFIX = 'test_property'; + +const TEST_INDEXED_PROPERTY = 'indexedProp'; +const TEST_INDEXED_PROPERTY_VALUE_PREFIX = 'indexedValue'; +const TEST_UNINDEXED_PROPERTY = 'unindexedProp'; +const TEST_BLOB_INDEXED_PROPERTY = 'blobPropertyIndexed'; +final TEST_BLOB_INDEXED_VALUE = BlobValue([0xaa, 0xaa, 0xff, 0xff]); + +buildKey(int i, {Function? idFunction, String kind = TEST_KIND, Partition? p}) { + var path = [KeyElement(kind, idFunction == null ? null : idFunction(i))]; + if (p != null) { + return Key(path, partition: p); + } + return Key(path); +} + +Map buildProperties(int i) { + var listValues = [ + 'foo', + '$TEST_LIST_VALUE$i', + ]; + + return { + TEST_PROPERTY_KEY_PREFIX: '$TEST_PROPERTY_VALUE_PREFIX$i', + TEST_LIST_PROPERTY: listValues, + TEST_INDEXED_PROPERTY: '$TEST_INDEXED_PROPERTY_VALUE_PREFIX$i', + TEST_UNINDEXED_PROPERTY: '$TEST_INDEXED_PROPERTY_VALUE_PREFIX$i', + TEST_BLOB_INDEXED_PROPERTY: TEST_BLOB_INDEXED_VALUE, + }; +} + +List buildKeys(int from, int to, + {Function? idFunction, String kind = TEST_KIND, Partition? partition}) { + var keys = []; + for (var i = from; i < to; i++) { + keys.add(buildKey(i, idFunction: idFunction, kind: kind, p: partition!)); + } + return keys; +} + +List buildEntities(int from, int to, + {Function? idFunction, String kind = TEST_KIND, Partition? partition}) { + var entities = []; + var unIndexedProperties = Set(); + for (var i = from; i < to; i++) { + var key = buildKey(i, idFunction: idFunction, kind: kind, p: partition!); + var properties = buildProperties(i); + unIndexedProperties.add(TEST_UNINDEXED_PROPERTY); + entities + .add(Entity(key, properties, unIndexedProperties: unIndexedProperties)); + } + return entities; +} + +List buildEntityWithAllProperties(int from, int to, + {String kind = TEST_KIND, Partition? partition}) { + var us42 = const Duration(microseconds: 42); + var unIndexed = Set.from(['blobProperty']); + + Map buildProperties(int i) { + return { + 'nullValue': null, + 'boolProperty': true, + 'intProperty': 42, + 'doubleProperty': 4.2, + 'stringProperty': 'foobar', + 'blobProperty': BlobValue([0xff, 0xff, 0xaa, 0xaa]), + 'blobPropertyIndexed': BlobValue([0xaa, 0xaa, 0xff, 0xff]), + 'dateProperty': + DateTime.fromMillisecondsSinceEpoch(1, isUtc: true).add(us42), + 'keyProperty': buildKey(1, idFunction: (i) => 's$i', kind: kind), + 'listProperty': [ + 42, + 4.2, + 'foobar', + buildKey(1, idFunction: (i) => 's$i', kind: 'TestKind'), + ], + }; + } + + var entities = []; + for (var i = from; i < to; i++) { + var key = + buildKey(i, idFunction: (i) => 'allprop$i', kind: kind, p: partition!); + var properties = buildProperties(i); + entities.add(Entity(key, properties, unIndexedProperties: unIndexed)); + } + return entities; +} diff --git a/pkgs/appengine/tool/fetch_protos_and_generate_dart.sh b/pkgs/appengine/tool/fetch_protos_and_generate_dart.sh new file mode 100755 index 00000000..8d6b9da2 --- /dev/null +++ b/pkgs/appengine/tool/fetch_protos_and_generate_dart.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +# Unlike $0, $BASH_SOURCE points to the absolute path of this file. +ROOT="$(dirname $(dirname $BASH_SOURCE))" +DIR="$ROOT/lib/src/grpc_api" + +export PROTOBUF_DIR=tmp/protobuf-dir +export GOOGLEAPIS_DIR=tmp/googleapis-dir +mkdir -p $ROOT/tmp + +function run { + echo "Running $@" + $@ + + EXITCODE=$? + if [ $EXITCODE -ne 0 ]; then + echo " -> Command failed with exitcode $EXITCODE. Aborting ..." + exit $EXITCODE + fi +} + +# Clone the two repositories to tmp/ if they don't exist +[ ! -d "$PROTOBUF_DIR" ] && run git clone https://github.com/google/protobuf.git $PROTOBUF_DIR +[ ! -d "$GOOGLEAPIS_DIR" ] && run git clone https://github.com/googleapis/googleapis.git $GOOGLEAPIS_DIR + +# Bring both repositories up to date +for repo in "$GOOGLEAPIS_DIR" "$PROTOBUF_DIR"; do + FIRST_REMOTE=$(git -C "$repo" remote | grep origin || git remote | head -n 1) + # https://stackoverflow.com/a/62397081 + DEFAULT_BRANCH=$(git -C "$repo" rev-parse --abbrev-ref $FIRST_REMOTE/HEAD) + run git -C "$repo" fetch $FIRST_REMOTE + run git -C "$repo" checkout $DEFAULT_BRANCH + run git -C "$repo" reset --hard +done + +# Get rid of all old proto files & fetch new ones from protobuf/googleapis +# repositories. +run rm -rf $DIR/protos +run mkdir -p $DIR/protos/google/protobuf +run cp $PROTOBUF_DIR/src/google/protobuf/*.proto $DIR/protos/google/protobuf +# Note we only use protos from some subfolders, so we copy those in here. +run cp -R $GOOGLEAPIS_DIR/google/appengine $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/datastore $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/logging $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/api $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/iam $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/rpc $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/type $DIR/protos/google +run cp -R $GOOGLEAPIS_DIR/google/longrunning $DIR/protos/google + +# Generate the dart code. +run rm -rf $DIR/dart +run mkdir -p $DIR/dart + +FILES=$(find $DIR/protos -name '*proto' | grep -v unittest | grep -v 'sample_messages_edition\.proto') +PROTOC_PLUGIN=tool/protoc-gen-dart + +run protoc "-I$DIR/protos" "--dart_out=grpc:$DIR/dart" "$FILES" --plugin=$PROTOC_PLUGIN + +dart format $DIR diff --git a/pkgs/appengine/tool/protoc-gen-dart b/pkgs/appengine/tool/protoc-gen-dart new file mode 100755 index 00000000..f075d979 --- /dev/null +++ b/pkgs/appengine/tool/protoc-gen-dart @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +dart run protoc_plugin:protoc_plugin $* diff --git a/pkgs/appengine/tool/utils.sh b/pkgs/appengine/tool/utils.sh new file mode 100644 index 00000000..82d8733d --- /dev/null +++ b/pkgs/appengine/tool/utils.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +function start_phase { + echo "===============================================" + echo "= Phase: $1" + echo "===============================================" +} + +function error { + echo "===============================================" + echo "= Error: $1" + echo "===============================================" +} + +function die { + echo "$1" + exit 1 +} + +function check_env_variable { + NAME="$1" + env | grep "$NAME" &> /dev/null + if [ $? -ne 0 ]; then + die "Couldn't find environment variable '$NAME'!" + fi +} + +function test_file { + echo "Testing file '$1'." + "$DART_SDK/bin/dart" --checked "$1" + if [ $? -ne 0 ]; then + cd .. + error "Running tests in '$1' failed." + return 1 + fi + cd .. + return 0 +} +